@hinkal/common 0.2.21 → 0.2.23
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 +64 -256
- package/constants/activity.constants.cjs +1 -1
- package/constants/activity.constants.mjs +0 -1
- package/constants/addresses.constants.cjs +1 -1
- package/constants/addresses.constants.mjs +9 -10
- 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/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.d.ts +3 -3
- package/constants/contracts.constants.mjs +29 -29
- 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 +138 -35
- package/constants/tasks.constants.cjs +1 -1
- package/constants/tasks.constants.mjs +4 -5
- package/constants/vite.constants.cjs +1 -1
- package/constants/vite.constants.mjs +13 -36
- package/crypto/poseidon.cjs +1 -1
- package/crypto/poseidon.mjs +10 -10
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +86 -83
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +56 -45
- package/data-structures/Hinkal/Hinkal.mjs +348 -315
- package/data-structures/Hinkal/IHinkal.d.ts +56 -42
- 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 +19 -20
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.mjs +84 -89
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +96 -78
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +79 -75
- package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +1 -1
- package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +151 -140
- 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 +120 -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 -115
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +29 -30
- 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 +180 -154
- 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 +46 -50
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +50 -52
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -2
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +65 -69
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +77 -71
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +70 -72
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +78 -81
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +103 -106
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +54 -108
- 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 +79 -97
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +39 -43
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +31 -36
- package/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/data-structures/IndexedDB/signatures-db.mjs +40 -26
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +82 -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/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.mjs +45 -45
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +28 -27
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +10 -0
- package/data-structures/crypto-keys/keys.mjs +106 -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 +13 -13
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +2 -3
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +3 -3
- 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 +6 -2
- 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 +40 -40
- 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 +2 -2
- 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/presale/PresaleContractWrapper.cjs +1 -1
- package/data-structures/presale/PresaleContractWrapper.d.ts +3 -3
- package/data-structures/presale/PresaleContractWrapper.mjs +10 -10
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +16 -11
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +18 -18
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +9 -9
- 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 -22
- 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 +16 -17
- 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/getFlatFees.cjs +1 -1
- package/functions/pre-transaction/getFlatFees.mjs +2 -3
- package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/functions/pre-transaction/getSolanaCalldataHash.mjs +21 -21
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +36 -22
- package/functions/pre-transaction/interaction-to-action.cjs +1 -1
- package/functions/pre-transaction/interaction-to-action.mjs +2 -3
- 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 +12 -10
- package/functions/private-wallet/emporium.helpers.mjs +139 -102
- 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 +106 -103
- package/functions/private-wallet/opProducer.cjs +1 -1
- package/functions/private-wallet/opProducer.mjs +1 -1
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.mjs +21 -18
- 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 +11 -10
- 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 +11 -12
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.d.ts +1 -1
- package/functions/utils/cacheFunctions.mjs +55 -54
- package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
- package/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -5
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +2 -2
- package/functions/utils/create-provider.mjs +7 -11
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +9 -9
- package/functions/utils/ethers-formatter.utils.d.ts +1 -1
- package/functions/utils/external-action.utils.cjs +1 -1
- package/functions/utils/external-action.utils.mjs +2 -2
- 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/getContractAddress.cjs +1 -0
- package/functions/utils/getContractAddress.d.ts +2 -0
- package/functions/utils/getContractAddress.mjs +9 -0
- package/functions/utils/getDataFromTransaction.cjs +1 -1
- package/functions/utils/getDataFromTransaction.d.ts +0 -11
- package/functions/utils/getDataFromTransaction.mjs +26 -50
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
- package/functions/utils/getSignerFromContract.cjs +1 -0
- package/functions/utils/getSignerFromContract.d.ts +3 -0
- package/functions/utils/getSignerFromContract.mjs +16 -0
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.mjs +14 -15
- package/functions/utils/inLogicMetadata.cjs +1 -1
- package/functions/utils/inLogicMetadata.mjs +2 -2
- 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 -9
- 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.d.ts +1 -1
- package/functions/utils/publicBalance.utils.mjs +62 -57
- 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/rpc-int-encode.cjs +1 -1
- package/functions/utils/rpc-int-encode.d.ts +1 -2
- package/functions/utils/rpc-int-encode.mjs +3 -6
- package/functions/utils/solanaMint.utils.cjs +1 -1
- package/functions/utils/solanaMint.utils.mjs +6 -6
- 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/EIP-712.cjs +1 -1
- package/functions/web3/EIP-712.d.ts +4 -4
- package/functions/web3/EIP-712.mjs +1 -1
- package/functions/web3/etherFunctions.cjs +1 -1
- package/functions/web3/etherFunctions.mjs +32 -29
- package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedCustomHandler.mjs +4 -5
- package/functions/web3/events/balanceChangedHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedHandler.mjs +2 -3
- 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/getInputUtxosEnclave.cjs +1 -1
- package/functions/web3/events/getInputUtxosEnclave.mjs +20 -20
- 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.d.ts +3 -3
- package/functions/web3/events/getTransactionLogEvents.mjs +41 -40
- package/functions/web3/events/index.d.ts +0 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +1 -2
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +12 -16
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +6 -1
- package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -12
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.d.ts +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +68 -69
- 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/constructBatchCall.cjs +1 -1
- package/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
- package/functions/web3/functionCalls/constructBatchCall.mjs +10 -9
- 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 +29 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallDirect.mjs +47 -39
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +3 -3
- package/functions/web3/functionCalls/transactCallRelayer.mjs +54 -56
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.d.ts +1 -1
- package/functions/web3/getContractMetadata.mjs +21 -16
- package/functions/web3/getPublicAddressBalance.cjs +1 -1
- package/functions/web3/getPublicAddressBalance.d.ts +1 -1
- package/functions/web3/getPublicAddressBalance.mjs +7 -6
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +32 -31
- 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 +15 -3
- 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 -8
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.d.ts +6 -5
- package/functions/web3/runContractFunction.mjs +60 -46
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.d.ts +2 -2
- package/functions/web3/uniswapAPI.mjs +49 -38
- package/index.cjs +1 -1
- package/index.mjs +912 -914
- package/package.json +4 -6
- package/providers/CustomEthersProvider.d.ts +1 -1
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +21 -14
- package/providers/EthersProviderAdapter.mjs +86 -53
- package/providers/SolanaProviderAdapter.cjs +1 -1
- package/providers/SolanaProviderAdapter.d.ts +12 -8
- package/providers/SolanaProviderAdapter.mjs +31 -16
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +20 -14
- package/providers/WagmiProviderAdapter.mjs +126 -91
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.d.ts +2 -2
- package/providers/prepareEthersHinkal.mjs +9 -16
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +9 -17
- package/types/TransactionSimulator.types.d.ts +9 -2
- package/types/activities.types.d.ts +2 -5
- 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/big-intable.types.d.ts +3 -2
- 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 +10 -11
- 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/types/transactions.types.cjs +1 -1
- package/types/transactions.types.d.ts +2 -3
- package/types/transactions.types.mjs +6 -7
- 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/utxoWorker/utxoWorkerLogic.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.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/functions/web3/events/web3RetrieveEvents.cjs +0 -1
- package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
- package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
- 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
package/README.md
CHANGED
|
@@ -5,17 +5,11 @@ Hinkal is a privacy middleware and smart-contract SDK for public blockchains tha
|
|
|
5
5
|
The SDK allows wallets, dApps, and payment platforms to integrate protocol-level privacy on Ethereum, Solana, Polygon, Base, Arbitrum, and Optimis. It hides transaction history, wallet relationships, and asset flows on-chain while preserving public-chain finality and compliance.
|
|
6
6
|
|
|
7
7
|
With Hinkal SDK, developers can:
|
|
8
|
-
•
|
|
9
|
-
•
|
|
10
|
-
•
|
|
11
|
-
•
|
|
8
|
+
• Enable private sends between public wallets
|
|
9
|
+
• Perform confidential payouts and settlements
|
|
10
|
+
• Route transactions through Hinkal’s privacy contracts without exposing sender, recipient, or amounts
|
|
11
|
+
• Maintain non-custodial control with optional compliance visibility via viewing keys
|
|
12
12
|
|
|
13
|
-
## Compatibility
|
|
14
|
-
|
|
15
|
-
| Environment | Supported | Notes |
|
|
16
|
-
|-------------|-----------|-------|
|
|
17
|
-
| Node.js | ✅ | v18+ |
|
|
18
|
-
| Browser | ✅ | React, Next.js, vanilla JS |
|
|
19
13
|
|
|
20
14
|
## Installation
|
|
21
15
|
|
|
@@ -31,24 +25,18 @@ Or, yarn:
|
|
|
31
25
|
yarn add @hinkal/common
|
|
32
26
|
```
|
|
33
27
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### Initialization
|
|
28
|
+
### Usage
|
|
37
29
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Initializing the SDK creates a `Hinkal` object that encapsulates:
|
|
41
|
-
- The user's shielded balances
|
|
42
|
-
- Actions the user can perform, such as shielding (depositing), transfers, and swapping
|
|
43
|
-
- Cryptographic keys for privacy-preserving operations
|
|
30
|
+
#### Initialization
|
|
44
31
|
|
|
32
|
+
To get started with Hinkal, initialize it based on the Web3 connection library you’re using:
|
|
45
33
|
|
|
46
34
|
**ethers.js:**
|
|
47
35
|
|
|
48
36
|
```typescript
|
|
49
37
|
import { prepareEthersHinkal } from '@hinkal/common/providers/prepareEthersHinkal';
|
|
50
38
|
// signer: ethers.Signer
|
|
51
|
-
const hinkal = await prepareEthersHinkal(signer
|
|
39
|
+
const hinkal = await prepareEthersHinkal(signer);
|
|
52
40
|
```
|
|
53
41
|
|
|
54
42
|
**wagmi:**
|
|
@@ -56,308 +44,128 @@ const hinkal = await prepareEthersHinkal(signer, hinkalConfig);
|
|
|
56
44
|
```typescript
|
|
57
45
|
import { prepareWagmiHinkal } from '@hinkal/common/providers/prepareWagmiHinkal';
|
|
58
46
|
// connector: wagmi.Connector
|
|
59
|
-
//
|
|
60
|
-
const hinkal = await prepareWagmiHinkal(connector,
|
|
61
|
-
```
|
|
62
|
-
The `hinkalConfig` is defined as follows:
|
|
63
|
-
```typescript
|
|
64
|
-
type HinkalConfig = {
|
|
65
|
-
/** Disables caching in browser localStorage, storing data only in memory. Front-end only. Defaults to false. */
|
|
66
|
-
disableCaching?: boolean;
|
|
67
|
-
|
|
68
|
-
/** If true, allows caching in a file locally. Node.js only. Defaults to false. */
|
|
69
|
-
useFileCache?: boolean;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Path to the cache file used for storing temporary data. Node.js only.
|
|
73
|
-
* It should be a valid file path string. Defaults to hinkalCache.json in the current working directory.
|
|
74
|
-
*/
|
|
75
|
-
cacheFilePath?: string;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Indicator controlling wether the proof should be constructed remotely in secure enclave. Defaults to true.
|
|
79
|
-
*/
|
|
80
|
-
generateProofRemotely?: boolean;
|
|
81
|
-
};
|
|
47
|
+
// config: wagmi.Config
|
|
48
|
+
const hinkal = await prepareWagmiHinkal(connector, config);
|
|
82
49
|
```
|
|
83
50
|
|
|
84
|
-
|
|
51
|
+
#### Shielded balance
|
|
85
52
|
|
|
86
|
-
|
|
53
|
+
Once the Hinkal object is initialized, shielded balances become accessible and can be calculated as needed:
|
|
87
54
|
|
|
88
55
|
```typescript
|
|
89
|
-
const balances
|
|
56
|
+
const balances = await hinkal.getBalances();
|
|
90
57
|
```
|
|
91
58
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
### Shielding: depositing funds to the shielded balance
|
|
96
|
-
|
|
97
|
-
Shielding is the process of moving your tokens from a public blockchain address into a private, encrypted balance. Once shielded, your tokens are no longer visible on-chain to external observers. This provides privacy for your holdings and subsequent transactions.
|
|
59
|
+
#### Depositing funds to the shielded balance
|
|
98
60
|
|
|
99
61
|
A user can deposit funds to their shielded address using:
|
|
100
62
|
|
|
101
63
|
```typescript
|
|
102
|
-
function deposit(
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
where:
|
|
106
|
-
- `erc20Tokens` is an array of tokens to deposit
|
|
107
|
-
- `amountChanges` represents the corresponding token amounts for the deposit
|
|
108
|
-
|
|
109
|
-
The `ERC20Token` type is defined as follows:
|
|
110
|
-
|
|
111
|
-
```typescript
|
|
112
|
-
type ERC20Token = {
|
|
113
|
-
chainId: number;
|
|
114
|
-
erc20TokenAddress: string;
|
|
115
|
-
name: string;
|
|
116
|
-
symbol: string;
|
|
117
|
-
decimals: number;
|
|
118
|
-
};
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Private Send to Public Address: withdrawing funds from the shielded balance
|
|
122
|
-
|
|
123
|
-
Private Send to Public Address allows you to send tokens from your private, shielded balance directly to any public blockchain address. The sender's identity is not exposed during this transaction. The recipient receives the funds at their public address, where the tokens become visible on-chain. This is useful when you need to interact with public DeFi protocols, send funds to exchanges, or transfer to any public wallet while maintaining privacy for your shielded balance.
|
|
124
|
-
|
|
125
|
-
A user can withdraw funds from their shielded address to a public address using:
|
|
126
|
-
|
|
127
|
-
```typescript
|
|
128
|
-
function withdraw(
|
|
129
|
-
erc20Tokens: ERC20Token[],
|
|
130
|
-
deltaAmounts: bigint[],
|
|
131
|
-
recipientAddress: string,
|
|
132
|
-
isRelayerOff: boolean,
|
|
133
|
-
): Promise<RelayerTransaction>;
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
where:
|
|
137
|
-
- `recipientAddress` is the public address that will receive the withdrawn funds
|
|
138
|
-
- `isRelayerOff` determines whether to use a relayer for the transaction (when `false`, a relayer handles gas fees; when `true`, the user pays gas directly)
|
|
139
|
-
- `RelayerTransaction` type represents the transaction response from the relayer service.
|
|
140
|
-
|
|
141
|
-
### Private Send to Private Address: transfering funds from shielded balance
|
|
142
|
-
|
|
143
|
-
Private Send to Private Address enables fully confidential transfers between shielded balances. Both the sender and recipient remain anonymous, and the transaction amount is hidden from external observers. This is the most private way to transfer tokens, as neither party's identity nor the transaction details are exposed on-chain.
|
|
144
|
-
|
|
145
|
-
A user can transfer tokens from their shielded balance to another shielded address using:
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
function transfer(
|
|
149
|
-
erc20Tokens: ERC20Token[],
|
|
150
|
-
deltaAmounts: bigint[],
|
|
151
|
-
privateRecipientAddress: string,
|
|
152
|
-
): Promise<RelayerTransaction>;
|
|
153
|
-
```
|
|
154
|
-
where:
|
|
155
|
-
- `privateRecipientAddress` is the recipient's private address, formatted as a comma-separated string with five components:
|
|
156
|
-
- `randomization` - a random value for privacy
|
|
157
|
-
- `stealthAddress` - the recipient's stealth address (hex format starting with `0x`)
|
|
158
|
-
- `encryptionKey` - the recipient's encryption key (hex format starting with `0x`, 66 characters)
|
|
159
|
-
- `H0` - the first hash component of elliptic curve point for stealth address derivation
|
|
160
|
-
- `H1` - the second hash component of elliptic curve point for stealth address derivation
|
|
161
|
-
|
|
162
|
-
### Private Send from Public to Public addresses
|
|
163
|
-
|
|
164
|
-
Private Send from Public to Public addresses enables you to transfer tokens between two public addresses while using Hinkal's privacy infrastructure. The tokens are first shielded from the sender's public address, then unshielded to the recipient's public address either immediately or after some interval. This ensures there is no traceable connection between the sender and recipient on-chain, providing transaction privacy even when both parties use public addresses.
|
|
165
|
-
|
|
166
|
-
A user can perform a private transfer between public addresses using:
|
|
167
|
-
|
|
168
|
-
```typescript
|
|
169
|
-
function depositAndWithdraw(
|
|
170
|
-
erc20Token: ERC20Token,
|
|
171
|
-
recipientAmounts: bigint[],
|
|
172
|
-
recipientAddresses: string[],
|
|
173
|
-
txCompletionTime?: number,
|
|
174
|
-
): Promise<RelayerTransaction>;
|
|
64
|
+
function deposit(erc20addresses: string[], amountChanges: bigint[]): Promise<TransactionObject>;
|
|
175
65
|
```
|
|
176
66
|
|
|
177
|
-
where
|
|
178
|
-
- `erc20Token` is the token to transfer (only single token transfers are supported for this method)
|
|
179
|
-
- `recipientAmounts` is an array of amounts to send to each recipient (in the token's smallest unit)
|
|
180
|
-
- `recipientAddresses` is an array of public addresses that will receive the funds
|
|
181
|
-
- `txCompletionTime` (optional) specifies a delay in milliseconds before the withdrawal completes
|
|
67
|
+
where erc20Addresses is an array of token addresses, and amountChanges represents the token amounts for the deposit.
|
|
182
68
|
|
|
69
|
+
#### Interacting with smart contracts privately
|
|
183
70
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
Swapping allows you to exchange tokens directly from your shielded balance without revealing your identity. The swap is executed through integrated DEX protocols (Uniswap, 1Inch, Odos) while keeping your transaction private. Your tokens are withdrawn from your shielded balance, swapped through the specified protocol, and the resulting tokens are deposited back into your shielded balance—all in a single private transaction.
|
|
187
|
-
|
|
188
|
-
A user can swap tokens directly from their shielded balance using:
|
|
189
|
-
|
|
190
|
-
```typescript
|
|
191
|
-
function swap(
|
|
192
|
-
erc20Tokens: ERC20Token[],
|
|
193
|
-
deltaAmounts: bigint[],
|
|
194
|
-
externalActionId: ExternalActionId,
|
|
195
|
-
swapData: string,
|
|
196
|
-
): Promise<RelayerTransaction>;
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
where:
|
|
200
|
-
- `externalActionId` identifies the external swap protocol to use. Possible values include:
|
|
201
|
-
- `ExternalActionId.Uniswap` - for Uniswap swaps
|
|
202
|
-
- `ExternalActionId.OneInch` - for 1Inch swaps
|
|
203
|
-
- `ExternalActionId.Odos` - for Odos swaps
|
|
204
|
-
- `swapData` contains the encoded swap parameters specific to the chosen protocol
|
|
205
|
-
|
|
206
|
-
**Getting swap calldata:**
|
|
207
|
-
|
|
208
|
-
To obtain the swap calldata using the Hinkal SDK, you can use the built-in swap data generation utilities.
|
|
209
|
-
|
|
210
|
-
To get swap data for 1Inch, you can use the `getOneInchPrice` function. This function fetches a quote from the 1Inch aggregator and returns both the expected output amount and the encoded swap data that can be passed to the `swap` function:
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
**1Inch:**
|
|
214
|
-
```typescript
|
|
215
|
-
function getOneInchPrice(
|
|
216
|
-
chainId: number,
|
|
217
|
-
inSwapToken: ERC20Token,
|
|
218
|
-
outSwapToken: ERC20Token,
|
|
219
|
-
inSwapAmount: string,
|
|
220
|
-
slippagePercentage?: number,
|
|
221
|
-
): Promise<{
|
|
222
|
-
outSwapAmountValue: bigint;
|
|
223
|
-
oneInchDataValue: string;
|
|
224
|
-
}>
|
|
225
|
-
```
|
|
226
|
-
Similar functions are available for other supported swap protocols:
|
|
227
|
-
- **Uniswap:** `getUniswapPrice`
|
|
228
|
-
- **Odos:** `getOdosPrice`
|
|
229
|
-
- **LiFi:** `getLifiPrice`
|
|
230
|
-
|
|
231
|
-
### Interacting with smart contracts privately
|
|
232
|
-
|
|
233
|
-
The SDK lets you interact with any smart contract on the blockchain while keeping your identity private. When you initiate a private wallet action, your funds are first unshielded from your Hinkal shielded balance to an intermediary called an Emporium contract. The Emporium then executes your desired actions on-chain (such as swaps, staking, or other DeFi interactions) without exposing who initiated them. After the operations complete, the resulting tokens are automatically shielded back into your Hinkal shielded balance. This means you can use DeFi protocols, NFT marketplaces, or any other smart contract while maintaining full anonymity.
|
|
71
|
+
After a user’s shielded balance is updated, they can perform any smart contract interaction privately using:
|
|
234
72
|
|
|
235
73
|
```typescript
|
|
236
74
|
function actionPrivateWallet(
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
deltaAmounts: bigint[],
|
|
75
|
+
erc20Addresses: string[],
|
|
76
|
+
amountChanges: bigint[],
|
|
240
77
|
onChainCreation: boolean[],
|
|
241
78
|
ops: string[],
|
|
242
|
-
): Promise<
|
|
79
|
+
): Promise<TransactionObject>;
|
|
243
80
|
```
|
|
244
81
|
|
|
245
|
-
|
|
246
|
-
- `chainId` - the blockchain network identifier
|
|
247
|
-
- `onChainCreation` - array of booleans indicating the direction of token changes: `true` for positive changes (tokens received), `false` for negative changes (tokens spent)
|
|
248
|
-
- `ops` - array of encoded user operations to execute (see User operations below)
|
|
249
|
-
|
|
250
|
-
User operations (`ops`) are encoded instructions that tell the Emporium contract what actions to perform. Each operation specifies a target contract, the function to call, and any necessary parameters. For example, to stake ETH with Lido, you would create an operation that calls Lido's `submit` function with the appropriate value.
|
|
82
|
+
where onChainCreation indicates the amounts of tokens that are uncertain before the transaction is executed on-chain. The ops array contains encoded user operations.
|
|
251
83
|
|
|
252
|
-
|
|
84
|
+
##### User operations
|
|
253
85
|
|
|
86
|
+
To generate user operations (`ops`) you will need the `emporiumOp` function.
|
|
254
87
|
```typescript
|
|
255
|
-
|
|
256
|
-
contract: ethers.Contract | string;
|
|
257
|
-
func?: string;
|
|
258
|
-
args?: any[];
|
|
259
|
-
callDataString?: string;
|
|
260
|
-
invokeWallet?: boolean;
|
|
261
|
-
value?: bigint;
|
|
262
|
-
): Promise<RelayerTransaction>;
|
|
88
|
+
import {emporiumOp} from "@hinkal/common";
|
|
263
89
|
```
|
|
264
90
|
|
|
265
91
|
The function accepts the following arguments:
|
|
266
|
-
1. `
|
|
267
|
-
2. `func`
|
|
268
|
-
3. `args`
|
|
269
|
-
4. `
|
|
270
|
-
5. `
|
|
271
|
-
6. `value` _(optional)_ - the value field to the user operation call.
|
|
92
|
+
1. `endpoint` *(required)* - target address or contract instance (with address). The contract instance will be used to properly encode the call function, if any, in the custom operation.
|
|
93
|
+
2. `func` *(optional)* - the name of the function to be called on the target address.
|
|
94
|
+
3. `args` *(optional)* - arguments of the function to be called on the target address.
|
|
95
|
+
4. `invokeWallet` *(optional)* - bool flag that determines the type of transaction. There are two types: stateful and stateless interaction. The default is false (stateless).
|
|
96
|
+
5. `value` *(optional)* - the amount of native currency to transfer to the target address.
|
|
272
97
|
|
|
98
|
+
The `emporiumOp` function will generate data for subsequent calls, supporting both stateful interaction (with state preservation) and stateless interaction (without state preservation). This is determined by the `invokeWallet` flag.
|
|
273
99
|
|
|
274
|
-
|
|
275
|
-
|
|
100
|
+
To execute on a smart contract, the user operation will be received in the following format:
|
|
276
101
|
```solidity
|
|
277
102
|
(address endpoint, bool invokeWallet, uint256 value, bytes data)
|
|
278
103
|
```
|
|
279
104
|
|
|
280
|
-
This
|
|
281
|
-
|
|
105
|
+
This will make it possible to make that kind of call:
|
|
282
106
|
```solidity
|
|
283
107
|
(bool success, bytes memory err) = endpoint.call{value: value}(data);
|
|
284
108
|
```
|
|
285
109
|
|
|
286
|
-
|
|
110
|
+
##### Stateless and stateful
|
|
287
111
|
|
|
288
|
-
|
|
112
|
+
The best way to demonstrate how this works is with an example.
|
|
289
113
|
|
|
290
|
-
|
|
114
|
+
**Stateless interaction**
|
|
115
|
+
|
|
116
|
+
Let's say we need to exchange USDC for ETH using DEX.
|
|
291
117
|
|
|
292
118
|
```typescript
|
|
293
119
|
const operations = [
|
|
294
|
-
emporiumOp(
|
|
295
|
-
emporiumOp(
|
|
296
|
-
emporiumOp(
|
|
120
|
+
emporiumOp(usdcContractInstance, 'approve', [swapRouterAddress, amountIn]),
|
|
121
|
+
emporiumOp(swapRouterContractInstance, 'exactInputSingle', [swapSingleParams]),
|
|
122
|
+
emporiumOp(wethContractInstance, 'withdraw', [amountOut]),
|
|
297
123
|
];
|
|
298
124
|
```
|
|
299
|
-
In this example:
|
|
300
|
-
- First operation approves the swap router to spend USDC tokens
|
|
301
|
-
- Second operation executes the swap from USDC to WETH
|
|
302
|
-
- Third operation unwraps WETH to ETH
|
|
303
125
|
|
|
126
|
+
To perform a DEX swap, DEX does not need to know historical data about the calling party (e.g. when and what swaps have been performed from this account in the past). It only needs the current token balance for the exchange.
|
|
304
127
|
|
|
305
|
-
|
|
128
|
+
In this case it will be **stateless interaction**, so there is no need to change the default value of the `invokeWallet` flag.
|
|
306
129
|
|
|
307
|
-
|
|
130
|
+
**Stateful interaction**
|
|
308
131
|
|
|
309
|
-
|
|
132
|
+
Another example is when the protocol with which an account interacts needs to know what actions this account has done before, for example, to gain rewards. In this case, some account state will be required.
|
|
133
|
+
|
|
134
|
+
Let's imagine that you already have Curve LP tokens and need to make a stake.
|
|
135
|
+
|
|
136
|
+
```solidity
|
|
310
137
|
const operations = [
|
|
311
|
-
emporiumOp(
|
|
312
|
-
emporiumOp(
|
|
138
|
+
emporiumOp(lpTokenInstance, 'approve', [gaugeAddressInstance, amount]), // without flag, because is's stateless interaction
|
|
139
|
+
emporiumOp(gaugeAddressInstance, 'deposit', [amount, invokeWalletAddress], true), // with flag, because it's stateful interaction
|
|
313
140
|
];
|
|
314
141
|
```
|
|
315
|
-
In this example:
|
|
316
|
-
- First operation approves the gauge contract to spend LP tokens, executed from the persistent wallet
|
|
317
|
-
- Second operation deposits LP tokens into the gauge, with the wallet address as the recipient for reward tracking
|
|
318
142
|
|
|
319
|
-
|
|
143
|
+
As you can see, in this case `approve` is a stateless interaction, but `deposit` is a stateful interaction, because under the hood Curve will record this address and timestamp in order to calculate the checkpoint correctly in the future.
|
|
320
144
|
|
|
321
|
-
Access
|
|
145
|
+
### Access Tokens
|
|
322
146
|
|
|
323
|
-
Before
|
|
147
|
+
Before interacting with Hinkal smart contracts, users need to mint an access token after passing compliance checks.
|
|
324
148
|
|
|
325
|
-
To check whether a user already has an access token
|
|
149
|
+
To check whether a user already has an access token, use the checkAccessToken function:
|
|
326
150
|
|
|
327
151
|
```typescript
|
|
328
152
|
function checkAccessToken(): Promise<boolean>;
|
|
329
153
|
```
|
|
330
154
|
|
|
331
|
-
If the user does not have an access token, they
|
|
155
|
+
If the user does not have an access token, they must use one of the compliance providers to pass the check. To view the available providers:
|
|
332
156
|
|
|
333
|
-
To get a list of all available compliance providers that can be used for verification:
|
|
334
157
|
```typescript
|
|
335
158
|
function getSupportedPassportLinks(): string[];
|
|
336
159
|
```
|
|
337
160
|
|
|
338
|
-
After passing the compliance check
|
|
339
|
-
|
|
340
|
-
## Supported Chains
|
|
161
|
+
After passing the compliance check, the user can mint an access token using:
|
|
341
162
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
| Ethereum | 1 | ✅ Live |
|
|
347
|
-
| Polygon | 137 | ✅ Live |
|
|
348
|
-
| Base | 8453 | ✅ Live |
|
|
349
|
-
| Arbitrum | 42161 | ✅ Live |
|
|
350
|
-
| Optimism | 10 | ✅ Live |
|
|
351
|
-
| Solana | - | 🚧 In Progress |
|
|
352
|
-
|
|
353
|
-
Each chain supports the full suite of Hinkal privacy features including shielding, transfers, and confidential interactions with DeFi protocols.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
## References
|
|
358
|
-
|
|
359
|
-
Wallet: [Hinkal Wallet](https://chromewebstore.google.com/detail/hinkal-wallet/khfjgapjfcdoffmklchibpepboholpbe)
|
|
163
|
+
```typescript
|
|
164
|
+
const { signatureData } = await hinkal.getAPI().getAccessTokenSignature(chainId, ethereumAddress, accessKey);
|
|
165
|
+
await mintAccessToken(this, signatureData);
|
|
166
|
+
```
|
|
360
167
|
|
|
361
|
-
|
|
168
|
+
### References
|
|
362
169
|
|
|
363
|
-
|
|
170
|
+
Application: [Hinkal](https://app.hinkal.pro)
|
|
171
|
+
Docs: [Hinkal Documentation](https://hinkal-team.gitbook.io/hinkal)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../types/circom-data.types.cjs");
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../types/circom-data.types.cjs");const t=require("../types/activities.types.cjs"),i=[t.ActivityTypes.SHIELD,t.ActivityTypes.RECIEVE,t.ActivityTypes.ONBOARDING_DEPOSIT,t.ActivityTypes.SEND,t.ActivityTypes.UNSHIELD,t.ActivityTypes.DAPP_INTERACTION];exports.TVL_CHANGER_ACTIVITY_TYPES=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../types/circom-data.types.cjs");const E=require("../types/external-action.types.cjs");require("../types/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../types/circom-data.types.cjs");const E=require("../types/external-action.types.cjs");require("../types/activities.types.cjs");const a=require("./chains.constants.cjs"),n="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",c={[E.ExternalActionId.Uniswap]:{[a.chainIds.ethMainnet]:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",[a.chainIds.polygon]:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",[a.chainIds.optimism]:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",[a.chainIds.arbMainnet]:"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",[a.chainIds.bnbMainnet]:"0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2",[a.chainIds.avalanche]:"0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE",[a.chainIds.base]:"0x2626664c2603336E57B271c5C0b26F421741e481"},[E.ExternalActionId.Odos]:{[a.chainIds.ethMainnet]:"0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559",[a.chainIds.polygon]:"0x4E3288c9ca110bCC82bf38F09A7b425c095d92Bf",[a.chainIds.optimism]:"0xCa423977156BB05b13A2BA3b76Bc5419E2fE9680",[a.chainIds.arbMainnet]:"0xa669e7A0d4b3e4Fa48af2dE86BD4CD7126Be4e13",[a.chainIds.bnbMainnet]:"0x89b8AA89FDd0507a99d334CBe3C808fAFC7d850E",[a.chainIds.avalanche]:"0x88de50B233052e4Fb783d4F6db78Cc34fEa3e9FC",[a.chainIds.base]:"0x19cEeAd7105607Cd444F5ad10dd51356436095a1"},[E.ExternalActionId.OneInch]:{[a.chainIds.ethMainnet]:"0x1111111254EEB25477B68fb85Ed929f73A960582",[a.chainIds.polygon]:"0x1111111254EEB25477B68fb85Ed929f73A960582",[a.chainIds.optimism]:"0x1111111254EEB25477B68fb85Ed929f73A960582",[a.chainIds.arbMainnet]:"0x1111111254EEB25477B68fb85Ed929f73A960582",[a.chainIds.bnbMainnet]:"0x1111111254EEB25477B68fb85Ed929f73A960582",[a.chainIds.avalanche]:"0x1111111254EEB25477B68fb85Ed929f73A960582",[a.chainIds.base]:"0x1111111254EEB25477B68fb85Ed929f73A960582"},[E.ExternalActionId.Lifi]:{[a.chainIds.ethMainnet]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",[a.chainIds.polygon]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",[a.chainIds.optimism]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",[a.chainIds.arbMainnet]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",[a.chainIds.bnbMainnet]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",[a.chainIds.avalanche]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",[a.chainIds.base]:"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE"}},e={[a.chainIds.ethMainnet]:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",[a.chainIds.polygon]:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",[a.chainIds.optimism]:"0x4200000000000000000000000000000000000006",[a.chainIds.arbMainnet]:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",[a.chainIds.bnbMainnet]:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",[a.chainIds.avalanche]:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",[a.chainIds.base]:"0x4200000000000000000000000000000000000006"},d={[a.chainIds.ethMainnet]:"0xdaC7Fb8AC2e47F412e8556Fd13256D90FBae08CD",[a.chainIds.polygon]:"0x9759Baf5eEfa817E3FdF4C488ED51a334e948C05",[a.chainIds.optimism]:"0xDe6A7d13c7E01582F5989b14cdf64d4bc6608364",[a.chainIds.arbMainnet]:"0xF43D84490c6A155f2DDDF501db378D77151590f4",[a.chainIds.bnbMainnet]:"0x5fa6773A7dC2CA3fB411f9Ef157F30e91aa1e53d",[a.chainIds.avalanche]:"0xD201f9ae495b23805C12ed74a816AE4ef0c00b05",[a.chainIds.base]:"0x86B9e7F2698C0776b988085b5Ca8d7D6A1Dff74b"},i={[a.chainIds.ethMainnet]:"0x1D69943ea7D9874b43f9FbcC2B6a4f0f433F602d",[a.chainIds.polygon]:"0x5181606B45302Bb7b83e03DC7c5390ec9e4d973f",[a.chainIds.optimism]:"0x0720a259A8CaBb9ef0F6a6334fEB4da5f45a8579",[a.chainIds.arbMainnet]:"0x7ae4AD3f4D2df012807C3CC50fc0d4bB19Cc9800",[a.chainIds.bnbMainnet]:"0x4200000000000000000000000000000000000000",[a.chainIds.avalanche]:"0x4200000000000000000000000000000000000000",[a.chainIds.base]:"0xB69B207994506697196E5C1Ce40233c06040BB79"};exports.NATIVE_TOKEN_WRAPPER_ADDRESSES=e;exports.SWAP_FEE_TAKER_ADDRESSES=i;exports.SWAP_ROUTER_ADDRESSES=c;exports.WETH_ERC20_TOKEN_ADDRESS=n;exports.WRAPPER_TOKEN_EXCHANGE_ADDRESSES=d;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import "../types/circom-data.types.mjs";
|
|
2
2
|
import { ExternalActionId as a } from "../types/external-action.types.mjs";
|
|
3
|
-
import "../types/transactions.types.mjs";
|
|
4
3
|
import "../types/activities.types.mjs";
|
|
5
4
|
import { chainIds as E } from "./chains.constants.mjs";
|
|
6
|
-
const
|
|
5
|
+
const D = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", F = {
|
|
7
6
|
[a.Uniswap]: {
|
|
8
7
|
[E.ethMainnet]: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
|
|
9
8
|
[E.polygon]: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
|
|
@@ -43,7 +42,7 @@ const F = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", A = {
|
|
|
43
42
|
[E.avalanche]: "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",
|
|
44
43
|
[E.base]: "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE"
|
|
45
44
|
}
|
|
46
|
-
},
|
|
45
|
+
}, A = {
|
|
47
46
|
[E.ethMainnet]: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
48
47
|
[E.polygon]: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",
|
|
49
48
|
[E.optimism]: "0x4200000000000000000000000000000000000006",
|
|
@@ -51,7 +50,7 @@ const F = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", A = {
|
|
|
51
50
|
[E.bnbMainnet]: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
|
|
52
51
|
[E.avalanche]: "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",
|
|
53
52
|
[E.base]: "0x4200000000000000000000000000000000000006"
|
|
54
|
-
},
|
|
53
|
+
}, c = {
|
|
55
54
|
[E.ethMainnet]: "0xdaC7Fb8AC2e47F412e8556Fd13256D90FBae08CD",
|
|
56
55
|
[E.polygon]: "0x9759Baf5eEfa817E3FdF4C488ED51a334e948C05",
|
|
57
56
|
[E.optimism]: "0xDe6A7d13c7E01582F5989b14cdf64d4bc6608364",
|
|
@@ -59,7 +58,7 @@ const F = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", A = {
|
|
|
59
58
|
[E.bnbMainnet]: "0x5fa6773A7dC2CA3fB411f9Ef157F30e91aa1e53d",
|
|
60
59
|
[E.avalanche]: "0xD201f9ae495b23805C12ed74a816AE4ef0c00b05",
|
|
61
60
|
[E.base]: "0x86B9e7F2698C0776b988085b5Ca8d7D6A1Dff74b"
|
|
62
|
-
},
|
|
61
|
+
}, d = {
|
|
63
62
|
[E.ethMainnet]: "0x1D69943ea7D9874b43f9FbcC2B6a4f0f433F602d",
|
|
64
63
|
[E.polygon]: "0x5181606B45302Bb7b83e03DC7c5390ec9e4d973f",
|
|
65
64
|
[E.optimism]: "0x0720a259A8CaBb9ef0F6a6334fEB4da5f45a8579",
|
|
@@ -71,9 +70,9 @@ const F = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", A = {
|
|
|
71
70
|
[E.base]: "0xB69B207994506697196E5C1Ce40233c06040BB79"
|
|
72
71
|
};
|
|
73
72
|
export {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
A as NATIVE_TOKEN_WRAPPER_ADDRESSES,
|
|
74
|
+
d as SWAP_FEE_TAKER_ADDRESSES,
|
|
75
|
+
F as SWAP_ROUTER_ADDRESSES,
|
|
76
|
+
D as WETH_ERC20_TOKEN_ADDRESS,
|
|
77
|
+
c as WRAPPER_TOKEN_EXCHANGE_ADDRESSES
|
|
79
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./deploy-data/deploy-data-bnbMainnet.json.cjs"),d=require("./deploy-data/deploy-data-arbMainnet.json.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./deploy-data/deploy-data-bnbMainnet.json.cjs"),d=require("./deploy-data/deploy-data-arbMainnet.json.cjs"),h=require("./deploy-data/deploy-data-ethMainnet.json.cjs"),u=require("./deploy-data/deploy-data-optimism.json.cjs"),m=require("./deploy-data/deploy-data-polygon.json.cjs"),b=require("./deploy-data/deploy-data-avalanche.json.cjs"),y=require("./deploy-data/deploy-data-base.json.cjs"),A=require("./deploy-data/deploy-data-localhost.json.cjs"),f=require("./deploy-data/deploy-data-arcTestnet.json.cjs"),c=require("./deploy-data/deploy-data-solana.json.cjs"),r=require("./vite.constants.cjs"),t={polygon:137,arbMainnet:42161,ethMainnet:1,avalanche:43114,bnbMainnet:56,optimism:10,base:8453,bnbTestnet:97,polygonMumbai:80001,mainnetSepolia:11155111,optimismSepolia:11155420,localhost:31337,hardhat:31337,arcTestnet:5042002,solanaMainnet:501,solanaLocalnet:102},D="4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ",n=t.ethMainnet,s=a=>!![t.localhost].includes(a),E=a=>a?s(a)?n:a:n,i="X4IiEZsSzGOrJq8tzq7Y3",e=r.isNotProduction?i:"XzUgeU8YiIIzkD7j2GWnTsFUck7wGgK9",F="https://mainnet.helius-rpc.com/?api-key=24718f72-c710-45d6-853e-d447cf530579",o={[t.ethMainnet]:{name:"Ethereum",chainId:t.ethMainnet,rpcUrl:"https://rpc.ankr.com/eth",fetchRpcUrl:`https://eth-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:h.default,quoterV2Address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",uniswapV3FactoryAddress:"0x1F98431c8aD98523631AE4a59f267346ea31F984",priority:1,privateMempoolRpcUrl:"https://relay.flashbots.net"},[t.arbMainnet]:{name:"Arbitrum",chainId:t.arbMainnet,rpcUrl:"https://endpoints.omniatech.io/v1/arbitrum/one/public",fetchRpcUrl:`https://arb-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:d.default,quoterV2Address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",uniswapV3FactoryAddress:"0x1F98431c8aD98523631AE4a59f267346ea31F984",priority:2},[t.optimism]:{name:"Optimism",chainId:t.optimism,rpcUrl:"https://optimism-mainnet.infura.io/v3/c26b99456bb6464bb498926ff5162903",fetchRpcUrl:`https://opt-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:u.default,quoterV2Address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",uniswapV3FactoryAddress:"0x1F98431c8aD98523631AE4a59f267346ea31F984",priority:3},[t.polygon]:{name:"Polygon",chainId:t.polygon,rpcUrl:"https://polygon-rpc.com",fetchRpcUrl:`https://polygon-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:m.default,quoterV2Address:"0x61fFE014bA17989E743c5F6cB21bF9697530B21e",uniswapV3FactoryAddress:"0x1F98431c8aD98523631AE4a59f267346ea31F984",priority:4,maxPageSize:1e6},[t.avalanche]:{name:"Avalanche",chainId:t.avalanche,rpcUrl:"https://api.avax.network/ext/bc/C/rpc",fetchRpcUrl:`https://avax-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:b.default,quoterV2Address:"0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F",uniswapV3FactoryAddress:"0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD",priority:5},[t.bnbMainnet]:{name:"BNB Chain",chainId:t.bnbMainnet,rpcUrl:"https://bsc-dataseed.binance.org",fetchRpcUrl:`https://bnb-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:l.default,quoterV2Address:"0x78D78E420Da98ad378D7799bE8f4AF69033EB077",uniswapV3FactoryAddress:"0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7",priority:6},[t.base]:{name:"Base",chainId:t.base,rpcUrl:"https://mainnet.base.org/",fetchRpcUrl:`https://base-mainnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:y.default,quoterV2Address:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",uniswapV3FactoryAddress:"0x33128a8fC17869897dcE68Ed026d694621f6FDfD",priority:7},[t.arcTestnet]:{name:"Arc Testnet",chainId:t.arcTestnet,rpcUrl:`https://arc-testnet.g.alchemy.com/v2/${e}`,fetchRpcUrl:`https://arc-testnet.g.alchemy.com/v2/${e}`,supported:!0,contractData:f.default,priority:8,maxPageSize:9999},[t.solanaMainnet]:{name:"Solana",chainId:t.solanaMainnet,rpcUrl:"https://api.mainnet-beta.solana.com",fetchRpcUrl:"https://wider-side-sunset.solana-mainnet.quiknode.pro/61054262c1a2b13dd570243c5fdd017c05cf7fe1",supported:!0,contractData:c.default,priority:8},[t.solanaLocalnet]:{name:"Solana Localnet",chainId:t.solanaLocalnet,rpcUrl:"http://127.0.0.1:8899",fetchRpcUrl:"http://127.0.0.1:8899",supported:!0,contractData:c.default,priority:9},...r.isDevelopment?{}:{}},I={name:"Localhost",chainId:t.localhost,rpcUrl:"http://127.0.0.1:8545",fetchRpcUrl:"http://127.0.0.1:8545",supported:!0,contractData:A.default,quoterV2Address:o[n].quoterV2Address,uniswapV3FactoryAddress:o[n].uniswapV3FactoryAddress,priority:7};r.isDevelopment&&(o[t.localhost]=I);var p=(a=>(a.Mainnet="Mainnet",a.Testnet="Testnet",a.Local="Local",a))(p||{});const L={Mainnet:[t.polygon,t.arbMainnet,t.ethMainnet,t.bnbMainnet,t.optimism,t.avalanche,t.base],Testnet:[t.bnbTestnet,t.polygonMumbai,t.arcTestnet],Local:[t.localhost]},M=a=>[t.optimism,t.base].includes(a),U=a=>[t.solanaMainnet,t.solanaLocalnet].includes(a),g=t.ethMainnet,T=[t.ethMainnet,t.optimism,t.base,t.polygon,t.arbMainnet,t.arcTestnet],C=[t.ethMainnet,t.optimism,t.base,t.polygon,t.arbMainnet];exports.ALCHEMY_API_KEY=e;exports.ALCHEMY_TEST_KEY=i;exports.BRIDGE_SUPPORTED_CHAINS=C;exports.EthereumNetworkType=p;exports.HELIUS_RPC_URL=F;exports.WALLET_INITIAL_CHAIN_ID=g;exports.WALLET_SUPPORTED_CHAINS=T;exports.chainIds=t;exports.chainIdsByType=L;exports.getNonLocalhostChainId=E;exports.isLocalNetwork=s;exports.isOptimismLike=M;exports.isSolanaLike=U;exports.localhostNetwork=n;exports.networkRegistry=o;exports.solanaChainIdStr=D;
|
|
@@ -7,7 +7,12 @@ export declare const chainIds: {
|
|
|
7
7
|
bnbMainnet: number;
|
|
8
8
|
optimism: number;
|
|
9
9
|
base: number;
|
|
10
|
+
bnbTestnet: number;
|
|
11
|
+
polygonMumbai: number;
|
|
12
|
+
mainnetSepolia: number;
|
|
13
|
+
optimismSepolia: number;
|
|
10
14
|
localhost: number;
|
|
15
|
+
hardhat: number;
|
|
11
16
|
arcTestnet: number;
|
|
12
17
|
solanaMainnet: number;
|
|
13
18
|
solanaLocalnet: number;
|
|
@@ -32,5 +37,6 @@ export declare const chainIdsByType: {
|
|
|
32
37
|
};
|
|
33
38
|
export declare const isOptimismLike: (chainId: number) => boolean;
|
|
34
39
|
export declare const isSolanaLike: (chainId: number) => boolean;
|
|
40
|
+
export declare const WALLET_INITIAL_CHAIN_ID: number;
|
|
35
41
|
export declare const WALLET_SUPPORTED_CHAINS: number[];
|
|
36
42
|
export declare const BRIDGE_SUPPORTED_CHAINS: number[];
|