@gurge/sdk 0.3.13 → 0.3.15
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/README.md +184 -32
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +0 -5
- package/common/src/API/API.mjs +114 -119
- package/common/src/API/TokenCallsCachedHelper.cjs +1 -0
- package/common/src/API/TokenCallsCachedHelper.d.ts +15 -0
- package/common/src/API/TokenCallsCachedHelper.mjs +62 -0
- package/common/src/API/callLifiAPI.cjs +1 -1
- package/common/src/API/callLifiAPI.mjs +2 -7
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.mjs +6 -7
- package/common/src/API/getServerURL.cjs +1 -1
- package/common/src/API/getServerURL.mjs +2 -2
- package/common/src/API/scheduled-transactions-calls.cjs +1 -1
- package/common/src/API/scheduled-transactions-calls.mjs +3 -3
- package/common/src/API/token-calls.cjs +1 -1
- package/common/src/API/token-calls.d.ts +1 -1
- package/common/src/API/token-calls.mjs +3 -13
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +1 -0
- package/common/src/constants/chains.constants.mjs +3 -2
- package/common/src/constants/deploy-data/mergeDeployData.cjs +1 -1
- package/common/src/constants/deploy-data/mergeDeployData.mjs +11 -10
- package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +60 -3517
- package/common/src/constants/events.constants.cjs +1 -1
- package/common/src/constants/events.constants.mjs +3 -1
- package/common/src/constants/index.cjs +1 -1
- package/common/src/constants/index.d.ts +0 -3
- package/common/src/constants/index.mjs +0 -3
- package/common/src/constants/lifi.constants.cjs +1 -1
- package/common/src/constants/lifi.constants.mjs +3 -6
- package/common/src/constants/mediaUrls.constants.d.ts +0 -1
- package/common/src/constants/rewards.constants.d.ts +0 -2
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +1 -5
- package/common/src/constants/server.constants.mjs +3 -8
- package/common/src/constants/vite.constants.cjs +1 -1
- package/common/src/constants/vite.constants.d.ts +1 -0
- package/common/src/constants/vite.constants.mjs +3 -3
- package/common/src/crypto/BabyJubRN.cjs +1 -0
- package/common/src/crypto/BabyJubRN.d.ts +18 -0
- package/common/src/crypto/BabyJubRN.mjs +33 -0
- package/common/src/crypto/babyJub.cjs +1 -1
- package/common/src/crypto/babyJub.mjs +7 -5
- package/common/src/crypto/poseidon.cjs +1 -1
- package/common/src/crypto/poseidon.mjs +22 -12
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +10 -6
- package/common/src/data-structures/Hinkal/Hinkal.mjs +104 -113
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +9 -5
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +37 -37
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +8 -5
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +4 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +3 -3
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +15 -15
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +4 -1
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +29 -31
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +7 -6
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +18 -18
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +43 -43
- package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +23 -20
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -0
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.d.ts +9 -0
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +41 -0
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -0
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +9 -0
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +47 -0
- package/common/src/data-structures/TokenDBs/index.cjs +1 -1
- package/common/src/data-structures/TokenDBs/index.d.ts +2 -0
- package/common/src/data-structures/TokenDBs/index.mjs +2 -0
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -3
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +2 -2
- package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +2 -2
- package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -3
- package/common/src/data-structures/index.d.ts +1 -0
- package/common/src/data-structures/private-balances/BalanceChangedHandler.cjs +1 -0
- package/common/src/data-structures/private-balances/BalanceChangedHandler.d.ts +9 -0
- package/common/src/data-structures/private-balances/BalanceChangedHandler.mjs +12 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -0
- package/common/src/data-structures/{Hinkal → private-balances}/HinkalPrivateBalanceController.d.ts +4 -2
- package/common/src/data-structures/{Hinkal → private-balances}/HinkalPrivateBalanceController.mjs +34 -90
- package/common/src/data-structures/private-balances/index.cjs +1 -0
- package/common/src/data-structures/private-balances/index.d.ts +3 -0
- package/common/src/data-structures/private-balances/index.mjs +3 -0
- package/common/src/data-structures/private-balances/privateBalancesReducer.cjs +1 -0
- package/common/src/data-structures/private-balances/privateBalancesReducer.d.ts +2 -0
- package/common/src/data-structures/private-balances/privateBalancesReducer.mjs +73 -0
- package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
- package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +5 -5
- package/common/src/error-handling/error-codes.constants.cjs +1 -1
- package/common/src/error-handling/error-codes.constants.d.ts +2 -5
- package/common/src/error-handling/error-codes.constants.mjs +3 -6
- package/common/src/externalABIs/index.cjs +1 -1
- package/common/src/externalABIs/index.d.ts +1 -36
- package/common/src/externalABIs/index.mjs +3 -5
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.d.ts +0 -1
- package/common/src/functions/index.mjs +4 -5
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +37 -36
- package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
- package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +4 -4
- package/common/src/functions/pre-transaction/sendV0Transaction.cjs +2 -2
- package/common/src/functions/pre-transaction/sendV0Transaction.mjs +54 -42
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +17 -17
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +16 -16
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +9 -1
- package/common/src/functions/snarkjs/common.snarkjs.mjs +13 -9
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -3
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +49 -32
- package/common/src/functions/utils/abi.utils.cjs +1 -0
- package/common/src/functions/utils/abi.utils.d.ts +3 -0
- package/common/src/functions/utils/abi.utils.mjs +5 -0
- package/common/src/functions/utils/bigint-math.utils.cjs +1 -0
- package/common/src/functions/utils/bigint-math.utils.d.ts +2 -0
- package/common/src/functions/utils/bigint-math.utils.mjs +12 -0
- package/common/src/functions/utils/dispatchBalanceRefreshes.cjs +1 -1
- package/common/src/functions/utils/dispatchBalanceRefreshes.mjs +1 -1
- package/common/src/functions/utils/enclaveHandshakeService.cjs +1 -0
- package/common/src/functions/utils/enclaveHandshakeService.d.ts +10 -0
- package/common/src/functions/utils/enclaveHandshakeService.mjs +22 -0
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.mjs +23 -25
- package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/common/src/functions/utils/erc20tokenFunctions.d.ts +4 -1
- package/common/src/functions/utils/erc20tokenFunctions.mjs +28 -12
- package/common/src/functions/utils/evmNetworkFunctions.cjs +1 -1
- package/common/src/functions/utils/evmNetworkFunctions.d.ts +1 -0
- package/common/src/functions/utils/evmNetworkFunctions.mjs +4 -0
- package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +10 -10
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +4 -0
- package/common/src/functions/utils/index.mjs +4 -0
- package/common/src/functions/utils/map.utils.cjs +1 -0
- package/common/src/functions/utils/map.utils.d.ts +1 -0
- package/common/src/functions/utils/map.utils.mjs +9 -0
- package/common/src/functions/utils/mutexes.utils.cjs +1 -1
- package/common/src/functions/utils/mutexes.utils.d.ts +2 -2
- package/common/src/functions/utils/mutexes.utils.mjs +4 -3
- package/common/src/functions/utils/process.utils.cjs +1 -1
- package/common/src/functions/utils/process.utils.d.ts +1 -0
- package/common/src/functions/utils/process.utils.mjs +7 -2
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.d.ts +1 -0
- package/common/src/functions/utils/tron.utils.mjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +26 -26
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +29 -11
- package/common/src/functions/web3/events/index.cjs +1 -1
- package/common/src/functions/web3/events/index.d.ts +0 -1
- package/common/src/functions/web3/events/index.mjs +0 -1
- package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +4 -4
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +10 -10
- package/common/src/functions/web3/index.cjs +1 -1
- package/common/src/functions/web3/index.mjs +0 -1
- package/common/src/functions/web3/lifiAPI.cjs +1 -1
- package/common/src/functions/web3/lifiAPI.mjs +7 -38
- package/common/src/functions/web3/oneInchAPI.cjs +1 -1
- package/common/src/functions/web3/oneInchAPI.mjs +10 -10
- package/common/src/functions/web3/uniswapAPI.cjs +1 -1
- package/common/src/functions/web3/uniswapAPI.mjs +16 -16
- package/common/src/mutexes/chainBalanceRwLock.cjs +1 -0
- package/common/src/mutexes/chainBalanceRwLock.d.ts +18 -0
- package/common/src/mutexes/chainBalanceRwLock.mjs +31 -0
- package/common/src/mutexes/index.d.ts +1 -0
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -0
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/commitments.types.d.ts +0 -10
- package/common/src/types/hinkal.types.cjs +1 -1
- package/common/src/types/hinkal.types.d.ts +4 -7
- package/common/src/types/hinkal.types.mjs +1 -1
- package/common/src/types/index.cjs +1 -1
- package/common/src/types/index.d.ts +0 -1
- package/common/src/types/index.mjs +1 -2
- package/common/src/types/new-rewards.type.cjs +1 -1
- package/common/src/types/new-rewards.type.d.ts +0 -1
- package/common/src/types/new-rewards.type.mjs +1 -1
- package/common/src/types/scheduled-transactions.types.d.ts +5 -0
- package/common/src/webworker/logError-BTCYh_YM.js +2 -0
- package/common/src/webworker/package.json +34 -4
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +4 -4
- package/common/src/webworker/viteWorkerURL.constant.mjs +4 -4
- package/common/src/webworker/workerFactory.cjs +1 -1
- package/common/src/webworker/workerFactory.d.ts +1 -0
- package/common/src/webworker/workerFactory.mjs +3 -2
- package/common/src/webworker/workerProxy-DPeuP2Mg.js +1 -0
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/functions/index.cjs +1 -1
- package/functions/index.mjs +0 -4
- package/functions/integrations/index.cjs +1 -1
- package/functions/integrations/index.mjs +0 -4
- package/functions/integrations/swapApi.cjs +1 -1
- package/functions/integrations/swapApi.d.ts +21 -7
- package/functions/integrations/swapApi.mjs +29 -10
- package/functions/utils/refreshBalance.cjs +1 -1
- package/functions/utils/refreshBalance.mjs +2 -2
- package/index.cjs +1 -1
- package/index.mjs +4 -8
- package/internal/token.utils.cjs +1 -1
- package/internal/token.utils.d.ts +1 -3
- package/internal/token.utils.mjs +10 -21
- package/package.json +34 -4
- package/react-native/HinkalWebViewWorker.cjs +98 -0
- package/react-native/HinkalWebViewWorker.d.ts +2 -0
- package/react-native/HinkalWebViewWorker.mjs +174 -0
- package/react-native/bridge/HinkalRNWorker.cjs +1 -0
- package/react-native/bridge/HinkalRNWorker.d.ts +13 -0
- package/react-native/bridge/HinkalRNWorker.mjs +26 -0
- package/react-native/bridge/serialization.utils.cjs +1 -0
- package/react-native/bridge/serialization.utils.d.ts +3 -0
- package/react-native/bridge/serialization.utils.mjs +13 -0
- package/react-native/metro-config.js +90 -0
- package/react-native/shims/circomlibjs-hinkal-fork.js +14 -0
- package/react-native/shims/circomlibjs.js +15 -0
- package/react-native/shims/constants.js +7 -0
- package/react-native/shims/crypto.js +103 -0
- package/react-native/shims/ffjavascript.js +5 -0
- package/react-native/shims/fs.js +5 -0
- package/react-native/shims/globals.js +10 -0
- package/react-native/shims/idb-keyval.js +75 -0
- package/react-native/shims/multiformats.js +1 -0
- package/react-native/shims/os.js +7 -0
- package/react-native/shims/path.js +11 -0
- package/react-native/shims/readline.js +6 -0
- package/react-native/shims/snarkjs.js +21 -0
- package/react-native/shims/url.js +5 -0
- package/react-native/shims/web-worker.js +7 -0
- package/react-native/shims/worker_threads.js +6 -0
- package/react-native/shims.d.ts +16 -0
- package/react-native/workerCDNUrls.cjs +1 -0
- package/react-native/workerCDNUrls.d.ts +2 -0
- package/react-native/workerCDNUrls.mjs +14 -0
- package/sdk/package.json.cjs +1 -0
- package/sdk/package.json.mjs +130 -0
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +6 -5
- package/services/Hinkal.mjs +50 -48
- package/types/IHinkal.d.ts +6 -5
- package/common/src/API/kycCalls.cjs +0 -1
- package/common/src/API/kycCalls.d.ts +0 -14
- package/common/src/API/kycCalls.mjs +0 -26
- package/common/src/constants/assets.constants.cjs +0 -1
- package/common/src/constants/assets.constants.d.ts +0 -13
- package/common/src/constants/assets.constants.mjs +0 -4
- package/common/src/constants/kyc.constants.cjs +0 -1
- package/common/src/constants/kyc.constants.d.ts +0 -29
- package/common/src/constants/kyc.constants.mjs +0 -126
- package/common/src/constants/token.limits.constants.cjs +0 -1
- package/common/src/constants/token.limits.constants.d.ts +0 -5
- package/common/src/constants/token.limits.constants.mjs +0 -3
- package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +0 -28
- package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +0 -22
- package/common/src/externalABIs/BabPassport.json.cjs +0 -1
- package/common/src/externalABIs/BabPassport.json.mjs +0 -20
- package/common/src/externalABIs/GalxePassport.json.cjs +0 -1
- package/common/src/externalABIs/GalxePassport.json.mjs +0 -37
- package/common/src/functions/kyc/aiPriseHelper.d.ts +0 -0
- package/common/src/functions/kyc/checkTokenLimitsUSD.cjs +0 -1
- package/common/src/functions/kyc/checkTokenLimitsUSD.d.ts +0 -1
- package/common/src/functions/kyc/checkTokenLimitsUSD.mjs +0 -29
- package/common/src/functions/kyc/index.cjs +0 -1
- package/common/src/functions/kyc/index.d.ts +0 -3
- package/common/src/functions/kyc/index.mjs +0 -3
- package/common/src/functions/kyc/openDefaultPassportWindow.cjs +0 -1
- package/common/src/functions/kyc/openDefaultPassportWindow.d.ts +0 -1
- package/common/src/functions/kyc/openDefaultPassportWindow.mjs +0 -7
- package/common/src/functions/kyc/passportHelper.cjs +0 -1
- package/common/src/functions/kyc/passportHelper.d.ts +0 -3
- package/common/src/functions/kyc/passportHelper.mjs +0 -1
- package/common/src/functions/kyc/zkMeHelper.cjs +0 -1
- package/common/src/functions/kyc/zkMeHelper.d.ts +0 -4
- package/common/src/functions/kyc/zkMeHelper.mjs +0 -42
- package/common/src/functions/web3/events/balanceChangedHandler.cjs +0 -1
- package/common/src/functions/web3/events/balanceChangedHandler.d.ts +0 -5
- package/common/src/functions/web3/events/balanceChangedHandler.mjs +0 -21
- package/common/src/types/kyc.types.cjs +0 -1
- package/common/src/types/kyc.types.d.ts +0 -41
- package/common/src/types/kyc.types.mjs +0 -10
- package/common/src/webworker/logError-CmD5XYI9.js +0 -2
- package/common/src/webworker/workerProxy-C49-EPZz.js +0 -1
|
@@ -2,66 +2,64 @@ import { CustomJSONStringify as e } from "../../functions/utils/serialize.utils.
|
|
|
2
2
|
import { isExtension as t } from "../../constants/vite.constants.mjs";
|
|
3
3
|
import { HINKAL_SUPPORTED_CHAINS as n, WALLET_SUPPORTED_CHAINS as r, chainIds as i, currentSolanaChainId as a, currentTronChainId as o, isSameOnchainNetwork as s, isSolanaLike as c, isTronLike as l, networkRegistry as u, setHinkalTronChainId as d } from "../../constants/chains.constants.mjs";
|
|
4
4
|
import { DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH as f, DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT as p } from "../../constants/protocol.constants.mjs";
|
|
5
|
-
import { EventType as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { API as
|
|
11
|
-
import { validateAndGetChainId as
|
|
12
|
-
import { privateTokensDB as
|
|
13
|
-
import { getErc20TokensForChainAPI as
|
|
14
|
-
import { getShieldedBalance as
|
|
15
|
-
import {
|
|
16
|
-
import { getContractWithFetcherByChainId as S } from "../../functions/web3/getContractMetadata.mjs";
|
|
17
|
-
import { supportedPassportLinks as C } from "../../constants/kyc.constants.mjs";
|
|
5
|
+
import { EventType as m, LoginMessageMode as h } from "../../types/hinkal.types.mjs";
|
|
6
|
+
import { poseidonFunction as ee } from "../../crypto/poseidon.mjs";
|
|
7
|
+
import { transactionErrorCodes as g } from "../../error-handling/error-codes.constants.mjs";
|
|
8
|
+
import { UserKeys as _ } from "../crypto-keys/keys.mjs";
|
|
9
|
+
import { getScheduledTransactionById as te } from "../../API/scheduled-transactions-calls.mjs";
|
|
10
|
+
import { API as v } from "../../API/API.mjs";
|
|
11
|
+
import { validateAndGetChainId as y } from "../../functions/utils/token-check.utils.mjs";
|
|
12
|
+
import { privateTokensDB as b } from "../TokenDBs/PrivateTokensDB.mjs";
|
|
13
|
+
import { getErc20TokensForChainAPI as x } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
14
|
+
import { getShieldedBalance as S } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
15
|
+
import { getContractWithFetcherByChainId as C } from "../../functions/web3/getContractMetadata.mjs";
|
|
18
16
|
import { reloadPage as w } from "../../functions/utils/reloadPage.mjs";
|
|
19
17
|
import { createCacheDevice as T } from "../../functions/utils/cacheDevice.utils.mjs";
|
|
20
18
|
import { SolanaProviderAdapter as E } from "../../providers/SolanaProviderAdapter.mjs";
|
|
21
19
|
import { storeAndGetSignatureFromEnclave as D } from "../../functions/utils/enclave-signature-storage.mjs";
|
|
22
20
|
import { generateHashFromSeedPhrases as O } from "../../functions/utils/mnemonics.mjs";
|
|
23
|
-
import {
|
|
21
|
+
import { fetchOnChainRootHashes as k } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
|
|
24
22
|
import { createTransaferEmporiumOpsBatch as A } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
25
23
|
import { hinkalDeposit as j, hinkalDepositForOther as M } from "./hinkalDeposit.mjs";
|
|
26
|
-
import "../../API/index.mjs";
|
|
27
|
-
import { checkTokenLimitsUSD as N } from "../../functions/kyc/checkTokenLimitsUSD.mjs";
|
|
28
24
|
import "../../functions/index.mjs";
|
|
29
|
-
import { hinkalDepositAndWithdraw as
|
|
30
|
-
import { hinkalSolanaDeposit as
|
|
31
|
-
import { hinkalSwap as
|
|
32
|
-
import { hinkalWithdraw as
|
|
33
|
-
import { MerkleTree as
|
|
25
|
+
import { hinkalDepositAndWithdraw as N } from "./hinkalDepositAndWithdraw.mjs";
|
|
26
|
+
import { hinkalSolanaDeposit as P, hinkalSolanaDepositForOther as F, hinkalSolanaProoflessDepositWithPublicFee as I } from "./hinkalSolanaDeposit.mjs";
|
|
27
|
+
import { hinkalSwap as L } from "./hinkalSwap.mjs";
|
|
28
|
+
import { hinkalWithdraw as R } from "./hinkalWithdraw.mjs";
|
|
29
|
+
import { MerkleTree as z } from "../merkle-tree/MerkleTree.mjs";
|
|
34
30
|
import "../merkle-tree/index.mjs";
|
|
35
|
-
import { resetMerkleTrees as
|
|
36
|
-
import
|
|
31
|
+
import { resetMerkleTrees as B } from "./resetMerkleTrees.mjs";
|
|
32
|
+
import "../../API/index.mjs";
|
|
33
|
+
import { MultiThreadedUtxoUtils as V } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
|
|
37
34
|
import { hinkalPrivateWallet as H } from "./hinkalPrivateWallet.mjs";
|
|
38
|
-
import { getRecipientInfo as
|
|
39
|
-
import { hinkalSignSubAccount as
|
|
40
|
-
import { hinkalActionReceive as
|
|
35
|
+
import { getRecipientInfo as ne } from "./hinkalGetRecipientInfo.mjs";
|
|
36
|
+
import { hinkalSignSubAccount as U } from "./hinkalSignSubAccount.mjs";
|
|
37
|
+
import { hinkalActionReceive as W } from "./hinkalActionReceive.mjs";
|
|
41
38
|
import "../TokenDBs/index.mjs";
|
|
42
|
-
import { hinkalProoflessDeposit as
|
|
43
|
-
import { hinkalProxySwap as
|
|
44
|
-
import { hinkalMultiSendPrivateRecipients as
|
|
45
|
-
import { hinkalTransfer as
|
|
46
|
-
import { hinkalProxyToPrivate as
|
|
47
|
-
import { TronProviderAdapter as
|
|
48
|
-
import { hinkalSolanaDepositAndWithdraw as
|
|
49
|
-
import { hinkalSolanaWithdraw as
|
|
50
|
-
import { hinkalSolanaTransfer as
|
|
51
|
-
import { hinkalSolanaSwap as
|
|
52
|
-
import { hinkalSolanaProxySend as
|
|
53
|
-
import { hinkalSolanaProxySwap as
|
|
54
|
-
import { hinkalSolanaProxyShield as
|
|
55
|
-
import { hinkalDepositAndBridge as
|
|
56
|
-
import { hinkalNearDepositAndBridge as
|
|
57
|
-
import { hinkalClaimUtxo as
|
|
58
|
-
import { hinkalSolanaProoflessDeposit as
|
|
59
|
-
import { hinkalSolanaClaimUtxo as
|
|
60
|
-
import { hinkalWithdrawStuckUtxos as
|
|
61
|
-
import { HinkalPrivateBalanceController as
|
|
62
|
-
import
|
|
39
|
+
import { hinkalProoflessDeposit as G, hinkalProoflessDepositWithPublicFee as K } from "./hinkalProoflessDeposit.mjs";
|
|
40
|
+
import { hinkalProxySwap as q } from "./hinkalProxySwap.mjs";
|
|
41
|
+
import { hinkalMultiSendPrivateRecipients as J } from "./hinkalMultiSend.mjs";
|
|
42
|
+
import { hinkalTransfer as Y } from "./hinkalTransfer.mjs";
|
|
43
|
+
import { hinkalProxyToPrivate as X } from "./hinkalProxyToPrivate.mjs";
|
|
44
|
+
import { TronProviderAdapter as Z } from "../../providers/TronProviderAdapter.mjs";
|
|
45
|
+
import { hinkalSolanaDepositAndWithdraw as re } from "./hinkalSolanaDepositAndWithdraw.mjs";
|
|
46
|
+
import { hinkalSolanaWithdraw as ie } from "./hinkalSolanaWithdraw.mjs";
|
|
47
|
+
import { hinkalSolanaTransfer as ae } from "./hinkalSolanaTransfer.mjs";
|
|
48
|
+
import { hinkalSolanaSwap as oe } from "./hinkalSolanaSwap.mjs";
|
|
49
|
+
import { hinkalSolanaProxySend as se } from "./hinkalSolanaProxySend.mjs";
|
|
50
|
+
import { hinkalSolanaProxySwap as Q } from "./hinkalSolanaProxySwap.mjs";
|
|
51
|
+
import { hinkalSolanaProxyShield as $ } from "./hinkalSolanaProxyShield.mjs";
|
|
52
|
+
import { hinkalDepositAndBridge as ce } from "./hinkalDepositAndBridge.mjs";
|
|
53
|
+
import { hinkalNearDepositAndBridge as le } from "./hinkalNearDepositAndBridge.mjs";
|
|
54
|
+
import { hinkalClaimUtxo as ue } from "./hinkalClaimUtxo.mjs";
|
|
55
|
+
import { hinkalSolanaProoflessDeposit as de } from "./hinkalSolanaProoflessDeposit.mjs";
|
|
56
|
+
import { hinkalSolanaClaimUtxo as fe } from "./hinkalSolanaClaimUtxo.mjs";
|
|
57
|
+
import { hinkalWithdrawStuckUtxos as pe } from "./hinkalWithdrawStuckUtxos.mjs";
|
|
58
|
+
import { HinkalPrivateBalanceController as me } from "../private-balances/HinkalPrivateBalanceController.mjs";
|
|
59
|
+
import "../private-balances/index.mjs";
|
|
60
|
+
import { Transaction as he } from "@solana/web3.js";
|
|
63
61
|
//#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
|
|
64
|
-
var
|
|
62
|
+
var ge = class {
|
|
65
63
|
ethereumProviderAdapter;
|
|
66
64
|
solanaProviderAdapter;
|
|
67
65
|
tronProviderAdapter;
|
|
@@ -76,13 +74,15 @@ var be = class {
|
|
|
76
74
|
utxoUtils;
|
|
77
75
|
lastCallState = /* @__PURE__ */ new Map();
|
|
78
76
|
cacheDevice;
|
|
77
|
+
balanceFetchingMutexByChain = /* @__PURE__ */ new Map();
|
|
79
78
|
generateProofRemotely;
|
|
80
79
|
disableMerkleTreeUpdates;
|
|
81
|
-
|
|
80
|
+
allowParallelBalanceLocalDecryption;
|
|
81
|
+
privateBalances = new me(this);
|
|
82
82
|
constructor(e) {
|
|
83
|
-
this.userKeys = new
|
|
84
|
-
this.merkleTreeHinkalByChain[e] =
|
|
85
|
-
}), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new
|
|
83
|
+
this.userKeys = new _(void 0), e?.tronChainOverride && d(e.tronChainOverride), n.forEach((e) => {
|
|
84
|
+
this.merkleTreeHinkalByChain[e] = z.create(ee, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
|
|
85
|
+
}), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new V(), this.cacheDevice = T(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
|
|
86
86
|
}
|
|
87
87
|
enforceRateLimit(t, n, r = 1e3) {
|
|
88
88
|
let i = Date.now(), a = e(n), o = this.lastCallState.get(t);
|
|
@@ -101,23 +101,23 @@ var be = class {
|
|
|
101
101
|
}
|
|
102
102
|
async initProviderAdapter(e, t) {
|
|
103
103
|
let n = i.ethMainnet;
|
|
104
|
-
t instanceof E ? n = a : t instanceof
|
|
104
|
+
t instanceof E ? n = a : t instanceof Z && (n = o), await this.updateProviderAdapter(n, t), t.initConnector(e);
|
|
105
105
|
let r = await t.connectAndPatchProvider(e);
|
|
106
106
|
await t.init(r), await this.setListeners();
|
|
107
107
|
}
|
|
108
|
-
getSigningMessage(e =
|
|
108
|
+
getSigningMessage(e = h.PROTOCOL) {
|
|
109
109
|
switch (e) {
|
|
110
|
-
case
|
|
111
|
-
case
|
|
110
|
+
case h.PRIVATE_TRANSFER: return this.privateTransferSigningMessage;
|
|
111
|
+
case h.PROTOCOL:
|
|
112
112
|
default: return this.signingMessage;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
async signHinkalMessage(e =
|
|
115
|
+
async signHinkalMessage(e = h.PROTOCOL) {
|
|
116
116
|
let t = this.getSigningMessage(e);
|
|
117
117
|
return this.getProviderAdapter().signMessage(t);
|
|
118
118
|
}
|
|
119
119
|
async signSolanaLedgerMessage() {
|
|
120
|
-
let e = new
|
|
120
|
+
let e = new he({
|
|
121
121
|
blockhash: f,
|
|
122
122
|
lastValidBlockHeight: p,
|
|
123
123
|
feePayer: this.getSolanaPublicKey()
|
|
@@ -128,15 +128,15 @@ var be = class {
|
|
|
128
128
|
txMessageForSolanaLedger: t.transactionMessageB64
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
|
-
async initUserKeys(e =
|
|
132
|
-
this.userKeys = new
|
|
131
|
+
async initUserKeys(e = h.PROTOCOL) {
|
|
132
|
+
this.userKeys = new _(await this.signHinkalMessage(e));
|
|
133
133
|
}
|
|
134
134
|
initUserKeysWithSignature(e) {
|
|
135
|
-
this.userKeys = new
|
|
135
|
+
this.userKeys = new _(e);
|
|
136
136
|
}
|
|
137
137
|
async initUserKeysFromSeedPhrases(e) {
|
|
138
138
|
let t = O(e);
|
|
139
|
-
this.userKeys = new
|
|
139
|
+
this.userKeys = new _(t);
|
|
140
140
|
}
|
|
141
141
|
async storeAndGetInitialSignature(e, t = !1, n) {
|
|
142
142
|
let r = await this.getEthereumAddress();
|
|
@@ -144,12 +144,12 @@ var be = class {
|
|
|
144
144
|
return await D(r, e, t, n);
|
|
145
145
|
}
|
|
146
146
|
async resetMerkle(e) {
|
|
147
|
-
this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await
|
|
147
|
+
this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await B(this, e);
|
|
148
148
|
}
|
|
149
149
|
getTronWeb() {
|
|
150
150
|
let e = this.tronProviderAdapter;
|
|
151
151
|
if (!e) throw Error("Tron provider adapter not initialized");
|
|
152
|
-
if (!(e instanceof
|
|
152
|
+
if (!(e instanceof Z)) throw Error("Tron provider adapter is not a TronProviderAdapter");
|
|
153
153
|
let t = e.getTronWeb();
|
|
154
154
|
if (!t) throw Error("TronWeb not available");
|
|
155
155
|
return t;
|
|
@@ -164,7 +164,7 @@ var be = class {
|
|
|
164
164
|
return this.getProviderAdapter(e).getContract(e, t, n);
|
|
165
165
|
}
|
|
166
166
|
getContractWithFetcherByChainId(e, t, n = void 0) {
|
|
167
|
-
return
|
|
167
|
+
return C(e, t, n);
|
|
168
168
|
}
|
|
169
169
|
async signMessage(e) {
|
|
170
170
|
return await this.getProviderAdapter().signMessage(e);
|
|
@@ -173,7 +173,7 @@ var be = class {
|
|
|
173
173
|
return await this.getProviderAdapter().signTypedData(e, t, n);
|
|
174
174
|
}
|
|
175
175
|
async signWithSubAccount(e, t, n, r) {
|
|
176
|
-
return
|
|
176
|
+
return U(e, t, n, r);
|
|
177
177
|
}
|
|
178
178
|
getContractWithSigner(e, t, n = "") {
|
|
179
179
|
return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
|
|
@@ -189,7 +189,7 @@ var be = class {
|
|
|
189
189
|
if (!(e.chainId === n || r)) try {
|
|
190
190
|
await t.switchNetwork(e);
|
|
191
191
|
} catch {
|
|
192
|
-
throw Error(
|
|
192
|
+
throw Error(g.FAILED_TO_SWITCH_NETWORKS);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
isPermitterAvailable(e) {
|
|
@@ -199,7 +199,7 @@ var be = class {
|
|
|
199
199
|
await this.ethereumProviderAdapter?.disconnectFromConnector(), await this.solanaProviderAdapter?.disconnectFromConnector(), await this.tronProviderAdapter?.disconnectFromConnector();
|
|
200
200
|
}
|
|
201
201
|
async resetProviderAdapters() {
|
|
202
|
-
this.ethereumProviderAdapter = void 0, this.solanaProviderAdapter = void 0, this.tronProviderAdapter = void 0;
|
|
202
|
+
this.ethereumProviderAdapter?.release(), this.solanaProviderAdapter?.release(), this.tronProviderAdapter?.release(), this.ethereumProviderAdapter = void 0, this.solanaProviderAdapter = void 0, this.tronProviderAdapter = void 0;
|
|
203
203
|
}
|
|
204
204
|
async updateProviderAdapter(e, t) {
|
|
205
205
|
try {
|
|
@@ -234,20 +234,20 @@ var be = class {
|
|
|
234
234
|
}
|
|
235
235
|
async onAccountChanged() {
|
|
236
236
|
await this.ethereumProviderAdapter?.onAccountChanged(), await this.solanaProviderAdapter?.onAccountChanged(), await this.tronProviderAdapter?.onAccountChanged();
|
|
237
|
-
let e =
|
|
237
|
+
let e = m.AccountChanged;
|
|
238
238
|
typeof document < "u" ? document?.dispatchEvent(new Event(e)) : process?.emit("message", e, void 0);
|
|
239
239
|
}
|
|
240
240
|
async onChainChanged(e) {
|
|
241
241
|
e ? await this.getProviderAdapter(e).onChainChanged(e) : (await this.disconnectFromConnector(), w());
|
|
242
242
|
}
|
|
243
243
|
async monitorConnectedAddress(e) {
|
|
244
|
-
await
|
|
244
|
+
await v.monitor(await this.getEthereumAddressByChain(e));
|
|
245
245
|
}
|
|
246
246
|
async getBalances(e, t, n, r, i = !1, a, o = !1) {
|
|
247
|
-
return
|
|
247
|
+
return S(this, e, t, n, r, i, this.generateProofRemotely, a, o);
|
|
248
248
|
}
|
|
249
249
|
async getTotalBalance(e, n, r, i = !1, a, o = !1) {
|
|
250
|
-
let s = r ?? await this.getEthereumAddressByChain(e), c = n ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = t ? await
|
|
250
|
+
let s = r ?? await this.getEthereumAddressByChain(e), c = n ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = t ? await b.getPrivateTokens(e, s) : await x(e), d = [];
|
|
251
251
|
return u.forEach((e) => {
|
|
252
252
|
let t = e.erc20TokenAddress.toLowerCase(), n = l.get(t), r = {
|
|
253
253
|
token: e,
|
|
@@ -267,23 +267,8 @@ var be = class {
|
|
|
267
267
|
onPrivateBalancesWithUSDChange(e) {
|
|
268
268
|
return this.privateBalances.onPrivateBalancesWithUSDChange(e);
|
|
269
269
|
}
|
|
270
|
-
getSupportedPassportLinks() {
|
|
271
|
-
return C;
|
|
272
|
-
}
|
|
273
|
-
checkAccessToken(e, t) {
|
|
274
|
-
return Promise.resolve(!0);
|
|
275
|
-
}
|
|
276
|
-
checkExternalTokenLimitsUSD(e, t, n) {
|
|
277
|
-
return N(e, t, n);
|
|
278
|
-
}
|
|
279
270
|
async getHinkalTreeRootHash(e) {
|
|
280
|
-
|
|
281
|
-
let { hinkalIdl: t, hinkalAddress: n, originalDeployer: r } = u[e].contractData;
|
|
282
|
-
if (!t || !n || !r) throw Error(`Missing Solana configuration for chain ${e}`);
|
|
283
|
-
let i = new $(r), a = x(new $(n), i);
|
|
284
|
-
return k(this.getSolanaProgram(t), a);
|
|
285
|
-
}
|
|
286
|
-
return this.getContractWithFetcherByChainId(e, te.HinkalContract).getRootHash();
|
|
271
|
+
return (await k(e)).hinkalRootHash;
|
|
287
272
|
}
|
|
288
273
|
async resetMerkleTreesIfNecessary(e) {
|
|
289
274
|
let t = (await Promise.all((e ?? this.getSupportedChains()).map(async (e) => {
|
|
@@ -304,7 +289,7 @@ var be = class {
|
|
|
304
289
|
return this.getProviderAdapter(e).getAddress();
|
|
305
290
|
}
|
|
306
291
|
async getRandomRelay(e, t = !1) {
|
|
307
|
-
return (await
|
|
292
|
+
return (await v.getIdleRelay(e, t)).relay;
|
|
308
293
|
}
|
|
309
294
|
getGasPrice(e) {
|
|
310
295
|
let t = this.getProviderAdapter(e);
|
|
@@ -312,21 +297,24 @@ var be = class {
|
|
|
312
297
|
return t.getGasPrice(e);
|
|
313
298
|
}
|
|
314
299
|
getAPI() {
|
|
315
|
-
return
|
|
300
|
+
return v;
|
|
316
301
|
}
|
|
317
302
|
snapshotsClearInterval() {
|
|
318
303
|
this.getSupportedChains().forEach((e) => {
|
|
319
304
|
this.commitmentsSnapshotServiceByChain[e]?.intervalClear(), this.nullifierSnapshotServiceByChain[e]?.intervalClear();
|
|
320
305
|
});
|
|
321
306
|
}
|
|
307
|
+
async destroy() {
|
|
308
|
+
this.snapshotsClearInterval(), this.privateBalances.dispose(), await this.resetProviderAdapters();
|
|
309
|
+
}
|
|
322
310
|
getRecipientInfo() {
|
|
323
|
-
return
|
|
311
|
+
return ne(this);
|
|
324
312
|
}
|
|
325
313
|
async deposit(e, t, n = !0, r = !1) {
|
|
326
314
|
return j(this, e, t, n, r);
|
|
327
315
|
}
|
|
328
316
|
async depositSolana(e, t, n = !1) {
|
|
329
|
-
return
|
|
317
|
+
return P(this, e, t, n);
|
|
330
318
|
}
|
|
331
319
|
async depositForOther(e, t, n, r = !0, i = !1, a) {
|
|
332
320
|
return this.enforceRateLimit(this.depositForOther.name, [
|
|
@@ -340,16 +328,19 @@ var be = class {
|
|
|
340
328
|
e,
|
|
341
329
|
t,
|
|
342
330
|
n
|
|
343
|
-
]),
|
|
331
|
+
]), F(this, e, t, n, r, i);
|
|
344
332
|
}
|
|
345
333
|
async depositAndWithdraw(e, t, n, r, i, a, o, s, l = !0) {
|
|
346
|
-
return c(
|
|
334
|
+
return c(y([e])) ? re(this, e, t, n, r, i, a, o, s) : N(this, e, t, n, r, i, a, o, s, l);
|
|
347
335
|
}
|
|
348
336
|
async claimUtxo(e, t, n, r) {
|
|
349
|
-
return c(
|
|
337
|
+
return c(y([e])) ? fe(this, e, t, n, r) : ue(this, e, t, n, r);
|
|
350
338
|
}
|
|
351
339
|
async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
|
|
352
|
-
return
|
|
340
|
+
return ce(this, e, t, n, r, i, a, o, s);
|
|
341
|
+
}
|
|
342
|
+
async checkSendTransactionStatus(e) {
|
|
343
|
+
return te(e);
|
|
353
344
|
}
|
|
354
345
|
async nearDepositAndBridge(e, t, n, r, i, a, o, s, c) {
|
|
355
346
|
return this.enforceRateLimit(this.nearDepositAndBridge.name, [
|
|
@@ -357,14 +348,14 @@ var be = class {
|
|
|
357
348
|
t,
|
|
358
349
|
n,
|
|
359
350
|
r
|
|
360
|
-
]),
|
|
351
|
+
]), le(this, e, t, n, r, i, a, o, s, c);
|
|
361
352
|
}
|
|
362
353
|
async prooflessDeposit(e, t, n, r, i = !1) {
|
|
363
|
-
return c(
|
|
354
|
+
return c(y(e)) ? de(this, e, t, n, r, i) : G(this, e, t, n, r, i);
|
|
364
355
|
}
|
|
365
356
|
async prooflessDepositWithPublicFee(e, t, n, r, i) {
|
|
366
|
-
let a =
|
|
367
|
-
return c(a) ?
|
|
357
|
+
let a = y([e]);
|
|
358
|
+
return c(a) ? I(this, e, t, n, r, i) : K(this, a, e, t, n, r, i);
|
|
368
359
|
}
|
|
369
360
|
getSolanaProgram(e) {
|
|
370
361
|
if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
|
|
@@ -381,24 +372,24 @@ var be = class {
|
|
|
381
372
|
e,
|
|
382
373
|
t,
|
|
383
374
|
n
|
|
384
|
-
]), c(
|
|
375
|
+
]), c(y(e)) ? ae(this, e, t, n, r, i, a) : Y(this, e, t, n, r, i, a);
|
|
385
376
|
}
|
|
386
377
|
async withdraw(e, t, n, r, i, a, o) {
|
|
387
|
-
return c(
|
|
378
|
+
return c(y(e)) ? ie(this, e, t, n, i, a, o) : R(this, e, t, n, r, i, a, o);
|
|
388
379
|
}
|
|
389
380
|
async withdrawStuckUtxos(e, t) {
|
|
390
|
-
return
|
|
381
|
+
return pe(this, e, t);
|
|
391
382
|
}
|
|
392
383
|
async swap(e, t, n, r, i, a, o) {
|
|
393
|
-
return c(
|
|
384
|
+
return c(y(e)) ? this.swapSolana(e, t, r, i, a, o) : L(this, e, t, n, r, i, a, o);
|
|
394
385
|
}
|
|
395
386
|
async swapSolana(e, t, n, r, i, a) {
|
|
396
387
|
let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
|
|
397
|
-
return
|
|
388
|
+
return oe(this, e, t, s, c, l, r, i, a);
|
|
398
389
|
}
|
|
399
390
|
async actionReceive(e, t, n, r, i, a) {
|
|
400
391
|
if (!i) throw Error("subAccount is required");
|
|
401
|
-
return c(
|
|
392
|
+
return c(y(e)) ? $(this, e[0], t[0], i, void 0, a) : W(this, e, t, n, r, i, a);
|
|
402
393
|
}
|
|
403
394
|
async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
|
|
404
395
|
return this.enforceRateLimit(this.actionPrivateWallet.name, [
|
|
@@ -415,19 +406,19 @@ var be = class {
|
|
|
415
406
|
]), H(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
|
|
416
407
|
}
|
|
417
408
|
async proxySwap(e, t, n, r, i, a, o, s, l = !1, u, d) {
|
|
418
|
-
return c(
|
|
409
|
+
return c(y(e)) ? Q(this, e, t, r, a, n, o, s, d) : q(this, e, t, n, r, i, a, o, s, l, u, d);
|
|
419
410
|
}
|
|
420
411
|
async proxyToPrivate(e, t, n, r, i, a, o) {
|
|
421
|
-
return c(
|
|
412
|
+
return c(y(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
|
|
422
413
|
e[0],
|
|
423
414
|
t[0],
|
|
424
415
|
n,
|
|
425
416
|
r
|
|
426
|
-
]),
|
|
417
|
+
]), $(this, e[0], t[0], n, r, o)) : X(this, e, t, r, i, a, n, o);
|
|
427
418
|
}
|
|
428
419
|
async proxySend(e, t, n, r, i, a, o) {
|
|
429
|
-
let s =
|
|
430
|
-
if (c(s)) return
|
|
420
|
+
let s = y(e);
|
|
421
|
+
if (c(s)) return se(this, e[0], t[0], n, r, o);
|
|
431
422
|
let l = A(this, s, e.map((e) => e.erc20TokenAddress), t, r), u = e.map((e, n) => ({
|
|
432
423
|
token: e,
|
|
433
424
|
amount: -1n * t[n]
|
|
@@ -439,7 +430,7 @@ var be = class {
|
|
|
439
430
|
e,
|
|
440
431
|
t,
|
|
441
432
|
n
|
|
442
|
-
]),
|
|
433
|
+
]), J(this, e, t, n);
|
|
443
434
|
}
|
|
444
435
|
areMerkleTreeUpdatesDisabled() {
|
|
445
436
|
return this.disableMerkleTreeUpdates;
|
|
@@ -449,4 +440,4 @@ var be = class {
|
|
|
449
440
|
}
|
|
450
441
|
};
|
|
451
442
|
//#endregion
|
|
452
|
-
export {
|
|
443
|
+
export { ge as Hinkal };
|
|
@@ -21,10 +21,14 @@ import { BridgeRecipient } from '../../types/bridging-tx.types';
|
|
|
21
21
|
import { NearBridgeParams, NearBridgeResult } from '../../types/near-intents.types';
|
|
22
22
|
import { PrivateBalancesState } from '../../types/balances.types';
|
|
23
23
|
import { Utxo } from '../utxo/Utxo';
|
|
24
|
+
import { ScheduledTransactionByIdResponse } from '../../API/scheduled-transactions-calls';
|
|
25
|
+
import { DepositAndSendExtendedResult } from '../../types/scheduled-transactions.types';
|
|
26
|
+
import { Mutex } from 'async-mutex';
|
|
24
27
|
export interface IHinkal<ConnectorType = unknown> {
|
|
25
28
|
userKeys: UserKeys;
|
|
26
29
|
readonly signingMessage: string;
|
|
27
30
|
readonly privateTransferSigningMessage: string;
|
|
31
|
+
readonly allowParallelBalanceLocalDecryption: boolean;
|
|
28
32
|
merkleTreeHinkalByChain: Record<number, MerkleTree<bigint>>;
|
|
29
33
|
nullifiersByChain: Record<number, Set<string>>;
|
|
30
34
|
encryptedOutputsByChain: Record<number, EncryptedOutputWithSign[]>;
|
|
@@ -33,14 +37,12 @@ export interface IHinkal<ConnectorType = unknown> {
|
|
|
33
37
|
generateProofRemotely: boolean;
|
|
34
38
|
utxoUtils: IMultiThreadedUtxoUtils;
|
|
35
39
|
cacheDevice: ICacheDevice;
|
|
40
|
+
balanceFetchingMutexByChain: Map<number, Mutex>;
|
|
36
41
|
getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
|
|
37
42
|
getTotalBalance(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
|
|
38
43
|
getStuckShieldedBalances(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
39
44
|
privateBalancesWithUSD: PrivateBalancesState;
|
|
40
45
|
onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
|
|
41
|
-
getSupportedPassportLinks(): string[];
|
|
42
|
-
checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
|
|
43
|
-
checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
|
|
44
46
|
getSupportedChains(): number[];
|
|
45
47
|
getEthereumAddress(): Promise<string>;
|
|
46
48
|
getEthereumAddressByChain(chainId: number): Promise<string>;
|
|
@@ -51,12 +53,14 @@ export interface IHinkal<ConnectorType = unknown> {
|
|
|
51
53
|
getGasPrice(chainId: number): Promise<bigint>;
|
|
52
54
|
getAPI(): IAPI;
|
|
53
55
|
snapshotsClearInterval(): void;
|
|
56
|
+
destroy(): Promise<void>;
|
|
54
57
|
getRecipientInfo(): string;
|
|
55
58
|
deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
|
|
56
59
|
depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recepinetInfo: string, preEstimateGas?: boolean, returnTxData?: boolean, action?: AdminTransactionType): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
|
|
57
60
|
claimUtxo(erc20Token: ERC20Token, utxo: Utxo, feeStructureOverride?: FeeStructure, claimableSignature?: string): Promise<string>;
|
|
58
|
-
depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<
|
|
59
|
-
depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<
|
|
61
|
+
depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
|
|
62
|
+
depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
|
|
63
|
+
checkSendTransactionStatus(scheduleId: string): Promise<ScheduledTransactionByIdResponse>;
|
|
60
64
|
nearDepositAndBridge(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], params: NearBridgeParams, txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string): Promise<NearBridgeResult>;
|
|
61
65
|
prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], action?: AdminTransactionType, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
|
|
62
66
|
prooflessDepositWithPublicFee(erc20Token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], feeAmount: bigint, action?: AdminTransactionType): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/transactions.types.cjs`),c=require(`../../types/admin.types.cjs`),l=require(`../../types/activities.types.cjs`),u=require(`../../types/transaction.types.cjs`),d=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const f=require(`../../error-handling/logger.cjs`),
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/transactions.types.cjs`),c=require(`../../types/admin.types.cjs`),l=require(`../../types/activities.types.cjs`),u=require(`../../types/transaction.types.cjs`),d=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const f=require(`../../error-handling/logger.cjs`),p=require(`../../API/API.cjs`),m=require(`../../functions/utils/erc20tokenFunctions.cjs`),h=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const g=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),_=require(`../../functions/utils/create-provider.cjs`),v=require(`../../functions/pre-transaction/getFeeStructure.cjs`),y=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),b=require(`../../functions/utils/postToOffscreen.cjs`),x=require(`../../functions/utils/fees.utils.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),w=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),T=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),E=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const D=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var O=3*1e3,k=13*1e3,A=async(A,j,M,ee,N,P,F,I)=>{if(!M||F.length===0)return;let L;try{let a=_.createJsonRpcProvider(j);await i.waitLittle(j===e.chainIds.ethMainnet?k:O);let u=await C.getTokensToDepositBack(F,N,M,a);if(!u.length){b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let f=(await m.getErc20TokensBySymbolsFromAPI(await x.getGasTokenSymbols(j),j)).filter(e=>e!==void 0),{prices:h}=await p.API.getTokenPrices(j,f.map(e=>e.erc20TokenAddress)),R=new Map(h.map((e,t)=>[f[t].erc20TokenAddress.toLowerCase(),e])),z=u.map(({token:e})=>e),B=u.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=S.createTransaferEmporiumOpsBatch(A,j,V,await g.modifyVolatileTokenAmountChanges(j,z,B,M)),U=await v.getFeeStructure(j,N,V,o.ExternalActionId.Emporium,H.map(e=>y.convertEmporiumOpToCallInfo(e,M,j))),{flatFee:W}=U??{},G=await m.getErc20TokenFromAPI(j,U.feeToken);if(!G)return;let K=r.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await T.selectGasToken(N,q,j,z,H,await w.getGasTokenRecords(f,j,A,M,a,R),U,V,M);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[j].contractData,$={activityType:l.ActivityTypes.AUTO_SHIELD,chainId:j,from:M,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:r.getAmountInToken(e,B[t]),token:e}))};L=await D.activityStorage.saveTxRequest($),b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Loading}),E.updateHinkal(I,j,A);let te={id:0,success:!0,txHash:await A.actionReceive(z,B,Y,X,ee,c.AdminTransactionType.AutoShield)};await D.activityStorage.updatePendingTransactions(te,L),b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof a.ErrorWithRelayerTransaction&&(t=e.txHash);let n={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await D.activityStorage.updatePendingTransactions(n,L),b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Failed,error:h.getErrorMessageFromTransactionRequest(e,u.TransactionRequestType.ReceiveFromShieldedAccount)}),f.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=A;
|