@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { zeroAddress as e } from "../../../constants/protocol.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { waitLittle as t } from "../../utils/time.utils.mjs";
|
|
3
|
+
import { ContractType as n } from "../../../types/ethereum-network.types.mjs";
|
|
4
4
|
import { getContractAddress as r } from "../../utils/getContractAddress.mjs";
|
|
5
5
|
import { recoverTransactionFromError as i } from "./recoverTransactionFromError.mjs";
|
|
6
6
|
import { approveTokensToHinkal as a } from "./approveTokensToHinkal.mjs";
|
|
@@ -11,7 +11,7 @@ import { ethers as c } from "ethers";
|
|
|
11
11
|
var l = async (l, u, d, f, p, m, h, g, _, v = !0, y = !1) => {
|
|
12
12
|
let b = Array.isArray(d) ? d : [d], x = Array.isArray(f) ? f : [f];
|
|
13
13
|
if (b.length !== x.length) throw Error("token and amount length mismatch");
|
|
14
|
-
let S = l.getContractWithSigner(u,
|
|
14
|
+
let S = l.getContractWithSigner(u, n.HinkalContract), C = await l.getEthereumAddressByChain(u), w = g ?? S, T = _ ?? S, E = "transact", D = x.findIndex(({ erc20TokenAddress: t }) => t === e), O = x.some(({ erc20TokenAddress: t }) => t !== e), k = D === -1 ? 0n : b[D], A = l.getProviderAdapter(u), j = await A.supportsBatchCall?.(u);
|
|
15
15
|
if (!y && O && j && A.sendBatchCallsTransaction) {
|
|
16
16
|
let e = o(x.map((e) => e.erc20TokenAddress), b, r(w), T, p, h, m, k);
|
|
17
17
|
return await A.sendBatchCallsTransaction(u, e);
|
|
@@ -44,7 +44,7 @@ var l = async (l, u, d, f, p, m, h, g, _, v = !0, y = !1) => {
|
|
|
44
44
|
console.log("hinkalDeposit: gas estimation error", { err: e });
|
|
45
45
|
}
|
|
46
46
|
let I = N && N >= 0 ? Math.ceil(N * 12 / 10) : void 0;
|
|
47
|
-
I && (P[5].gasLimit = I), await
|
|
47
|
+
I && (P[5].gasLimit = I), await t();
|
|
48
48
|
let L;
|
|
49
49
|
try {
|
|
50
50
|
L = y ? await T[E].populateTransaction(...P) : await T[E](...P);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../constants/protocol.constants.cjs`),t=require(
|
|
1
|
+
const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../utils/caseInsensitive.utils.cjs`),n=require(`../../utils/time.utils.cjs`),r=require(`../../../types/ethereum-network.types.cjs`),i=require(`../../../externalABIs/index.cjs`);var a=async(i,a,o,s,c,l=30,u=1e3)=>{let d=c.filter(({tokenAddress:n,requiredAmount:r})=>r>0n&&!t.caseInsensitiveEqual(n,e.zeroAddress));if(d.length===0)return;let f=d.map(({tokenAddress:e})=>i.getContractWithSigner(a,r.ContractType.ERC20Contract,e));for(let e=0;e<l;e+=1){let e=!0;for(let t=0;t<d.length;t+=1){let{requiredAmount:n}=d[t],r=f[t];if(BigInt(await r.allowance(o,s))<n){e=!1;break}}if(e)break;await n.waitLittle(u)}},o=async(r,a,o,s,c=30,l=1e3)=>{let u=s.filter(({tokenAddress:n,requiredAmount:r})=>r>0n&&!t.caseInsensitiveEqual(n,e.zeroAddress)&&!!n);if(u.length===0)return;let d=await Promise.all(u.map(async({tokenAddress:e})=>r.contract(i.ERC20ABI,e)));for(let e=0;e<c;e+=1){let e=!0;for(let t=0;t<u.length;t+=1){let{requiredAmount:n}=u[t],r=await d[t].allowance(a,o).call({from:a});if(BigInt(String(r))<n){e=!1;break}}if(e)break;await n.waitLittle(l)}};exports.waitForErc20Approvals=a,exports.waitForTronErc20Approvals=o;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { zeroAddress as e } from "../../../constants/protocol.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { caseInsensitiveEqual as t } from "../../utils/caseInsensitive.utils.mjs";
|
|
3
|
+
import { waitLittle as n } from "../../utils/time.utils.mjs";
|
|
4
|
+
import { ContractType as r } from "../../../types/ethereum-network.types.mjs";
|
|
5
5
|
import { ERC20ABI as i } from "../../../externalABIs/index.mjs";
|
|
6
6
|
//#region libs/shared/common/src/functions/web3/functionCalls/waitForErc20Approvals.ts
|
|
7
7
|
var a = async (i, a, o, s, c, l = 30, u = 1e3) => {
|
|
8
|
-
let d = c.filter(({ tokenAddress:
|
|
8
|
+
let d = c.filter(({ tokenAddress: n, requiredAmount: r }) => r > 0n && !t(n, e));
|
|
9
9
|
if (d.length === 0) return;
|
|
10
|
-
let f = d.map(({ tokenAddress: e }) => i.getContractWithSigner(a,
|
|
10
|
+
let f = d.map(({ tokenAddress: e }) => i.getContractWithSigner(a, r.ERC20Contract, e));
|
|
11
11
|
for (let e = 0; e < l; e += 1) {
|
|
12
12
|
let e = !0;
|
|
13
13
|
for (let t = 0; t < d.length; t += 1) {
|
|
@@ -18,12 +18,12 @@ var a = async (i, a, o, s, c, l = 30, u = 1e3) => {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
if (e) break;
|
|
21
|
-
await
|
|
21
|
+
await n(u);
|
|
22
22
|
}
|
|
23
|
-
}, o = async (
|
|
24
|
-
let u = s.filter(({ tokenAddress:
|
|
23
|
+
}, o = async (r, a, o, s, c = 30, l = 1e3) => {
|
|
24
|
+
let u = s.filter(({ tokenAddress: n, requiredAmount: r }) => r > 0n && !t(n, e) && !!n);
|
|
25
25
|
if (u.length === 0) return;
|
|
26
|
-
let d = await Promise.all(u.map(async ({ tokenAddress: e }) =>
|
|
26
|
+
let d = await Promise.all(u.map(async ({ tokenAddress: e }) => r.contract(i, e)));
|
|
27
27
|
for (let e = 0; e < c; e += 1) {
|
|
28
28
|
let e = !0;
|
|
29
29
|
for (let t = 0; t < u.length; t += 1) {
|
|
@@ -34,7 +34,7 @@ var a = async (i, a, o, s, c, l = 30, u = 1e3) => {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
if (e) break;
|
|
37
|
-
await
|
|
37
|
+
await n(l);
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./etherFunctions.cjs`),require(`./events/getInputUtxoAndBalance.cjs`),require(`./events/getShieldedBalance.cjs`),require(`./getSolanaPriorityFee.cjs`),require(`./events/
|
|
1
|
+
require(`./etherFunctions.cjs`),require(`./events/getInputUtxoAndBalance.cjs`),require(`./events/getShieldedBalance.cjs`),require(`./getSolanaPriorityFee.cjs`),require(`./events/index.cjs`),require(`./uniswapAPI.cjs`),require(`./odosAPI.cjs`),require(`./oneInchAPI.cjs`),require(`./lifiAPI.cjs`),require(`./okxAPI.cjs`),require(`./runContractFunction.cjs`),require(`./getTokenHolder.cjs`),require(`./EIP-712.cjs`),require(`./signAndSendSerializedTransaction.cjs`),require(`./connectors.utils.cjs`);
|
|
@@ -2,7 +2,6 @@ import "./etherFunctions.mjs";
|
|
|
2
2
|
import "./events/getInputUtxoAndBalance.mjs";
|
|
3
3
|
import "./events/getShieldedBalance.mjs";
|
|
4
4
|
import "./getSolanaPriorityFee.mjs";
|
|
5
|
-
import "./events/balanceChangedHandler.mjs";
|
|
6
5
|
import "./events/index.mjs";
|
|
7
6
|
import "./uniswapAPI.mjs";
|
|
8
7
|
import "./odosAPI.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../../constants/chains.constants.cjs`),require(`../../constants/protocol.constants.cjs`),require(`../../error-handling/error-codes.constants.cjs`),require(`./etherFunctions.cjs`),require(`../utils/tron.utils.cjs`),require(`../../constants/lifi.constants.cjs`),require(`../../API/callLifiAPI.cjs`);
|
|
@@ -1,38 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
//#region libs/shared/common/src/functions/web3/lifiAPI.ts
|
|
9
|
-
var c = async (c, l, u, d, f, p) => {
|
|
10
|
-
try {
|
|
11
|
-
let r = i(c, u), m = t(l.chainId), { lifiResponse: h } = await s({
|
|
12
|
-
fromChain: o(c.chainId),
|
|
13
|
-
toChain: o(l.chainId),
|
|
14
|
-
fromToken: c.erc20TokenAddress,
|
|
15
|
-
toToken: m ? a(l.erc20TokenAddress) : l.erc20TokenAddress,
|
|
16
|
-
fromAddress: f,
|
|
17
|
-
fromAmount: r.toString(),
|
|
18
|
-
order: "FASTEST",
|
|
19
|
-
slippage: d,
|
|
20
|
-
...p && { toAddress: m ? a(p) : p }
|
|
21
|
-
});
|
|
22
|
-
if (e(c.chainId)) return {
|
|
23
|
-
lifiDataValue: h.transactionRequest.data,
|
|
24
|
-
outSwapAmountValue: BigInt(h.estimate.toAmount),
|
|
25
|
-
extraNativeTokenFee: 0n
|
|
26
|
-
};
|
|
27
|
-
let g = BigInt(h.transactionRequest.value || "0");
|
|
28
|
-
return {
|
|
29
|
-
lifiDataValue: h.transactionRequest.data,
|
|
30
|
-
outSwapAmountValue: BigInt(h.estimate.toAmount),
|
|
31
|
-
extraNativeTokenFee: c.erc20TokenAddress === n ? g - r : g
|
|
32
|
-
};
|
|
33
|
-
} catch {
|
|
34
|
-
throw Error(r.NO_LIFI_PRICE);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
export { c as getLifiPrice };
|
|
1
|
+
import "../../constants/chains.constants.mjs";
|
|
2
|
+
import "../../constants/protocol.constants.mjs";
|
|
3
|
+
import "../../error-handling/error-codes.constants.mjs";
|
|
4
|
+
import "./etherFunctions.mjs";
|
|
5
|
+
import "../utils/tron.utils.mjs";
|
|
6
|
+
import "../../constants/lifi.constants.mjs";
|
|
7
|
+
import "../../API/callLifiAPI.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`./etherFunctions.cjs`),r=require(`../../types/ethereum-network.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const a=require(`./getContractMetadata.cjs`);require(`../../constants/index.cjs`);const o=require(`../../API/callOneInchAPI.cjs`);var s=async(s,c,l,u,d=.7)=>{try{let t=await o.callOneInchAPI(s,{fromTokenAddress:c.erc20TokenAddress===e.zeroAddress?e.oneInchZeroAddress:c.erc20TokenAddress,toTokenAddress:l.erc20TokenAddress===e.zeroAddress?e.oneInchZeroAddress:l.erc20TokenAddress,fromAddress:e.zeroAddress,destReceiver:a.getContractMetadata(r.ContractType.OneInchExternalActionContract,s).address,amount:n.getAmountInWei(c,u),slippage:d,disableEstimate:!0,allowPartialFill:!1});if(!t||!t.tx)throw Error(`OneInch API price fetch error`);return{outSwapAmountValue:BigInt(t.toAmount),oneInchDataValue:t.tx.data}}catch(e){throw i.Logger.log({error:e}),Error(t.transactionErrorCodes.NO_ONEINCH_PRICE)}};exports.getOneInchPrice=s;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { oneInchZeroAddress as e, zeroAddress as t } from "../../constants/protocol.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
|
|
3
|
+
import { getAmountInWei as r } from "./etherFunctions.mjs";
|
|
4
|
+
import { ContractType as i } from "../../types/ethereum-network.types.mjs";
|
|
5
5
|
import "../../types/index.mjs";
|
|
6
6
|
import { Logger as a } from "../../error-handling/logger.mjs";
|
|
7
7
|
import "../../error-handling/index.mjs";
|
|
@@ -11,23 +11,23 @@ import { callOneInchAPI as s } from "../../API/callOneInchAPI.mjs";
|
|
|
11
11
|
//#region libs/shared/common/src/functions/web3/oneInchAPI.ts
|
|
12
12
|
var c = async (c, l, u, d, f = .7) => {
|
|
13
13
|
try {
|
|
14
|
-
let
|
|
14
|
+
let n = await s(c, {
|
|
15
15
|
fromTokenAddress: l.erc20TokenAddress === t ? e : l.erc20TokenAddress,
|
|
16
16
|
toTokenAddress: u.erc20TokenAddress === t ? e : u.erc20TokenAddress,
|
|
17
17
|
fromAddress: t,
|
|
18
|
-
destReceiver: o(
|
|
19
|
-
amount:
|
|
18
|
+
destReceiver: o(i.OneInchExternalActionContract, c).address,
|
|
19
|
+
amount: r(l, d),
|
|
20
20
|
slippage: f,
|
|
21
21
|
disableEstimate: !0,
|
|
22
22
|
allowPartialFill: !1
|
|
23
23
|
});
|
|
24
|
-
if (!
|
|
24
|
+
if (!n || !n.tx) throw Error("OneInch API price fetch error");
|
|
25
25
|
return {
|
|
26
|
-
outSwapAmountValue: BigInt(
|
|
27
|
-
oneInchDataValue:
|
|
26
|
+
outSwapAmountValue: BigInt(n.toAmount),
|
|
27
|
+
oneInchDataValue: n.tx.data
|
|
28
28
|
};
|
|
29
29
|
} catch (e) {
|
|
30
|
-
throw a.log({ error: e }), Error(
|
|
30
|
+
throw a.log({ error: e }), Error(n.NO_ONEINCH_PRICE);
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`./etherFunctions.cjs`),i=require(`../../types/ethereum-network.types.cjs`);require(`../../types/index.cjs`);const a=require(`../../error-handling/logError.cjs`);require(`../../error-handling/index.cjs`),require(`../../constants/index.cjs`);let o=require(`ethers`);var s=async(e,r,i,a)=>{let o=(await Promise.all([100,500,3e3,1e4].map(async e=>({poolAddress:await r.getPool(i,a,e),fee:e})))).filter(({poolAddress:e})=>e!==t.zeroAddress),s=await Promise.all(o.map(async t=>({poolAddress:t.poolAddress,fee:t.fee,token1Balance:await e.balanceOf(t.poolAddress)}))),c=s.map(e=>e.token1Balance).reduce((e,t)=>t>=e?t:e,0n);if(c===0n)throw Error(n.transactionErrorCodes.UNISWAP_NOT_ENOUGH_LIQUIDITY);return s.find(e=>e.token1Balance===c)},c=async(t,n,r,o,s,c)=>{try{if(!e.networkRegistry[n].quoterV2Address)throw Error(`No Quoter Contract Provided`);return(await t.getContractWithFetcherByChainId(n,i.ContractType.UniswapV3QuoterContract,e.networkRegistry[n].quoterV2Address).quoteExactInputSingle.staticCall({tokenIn:r.wrappedErc20TokenAddress??r.erc20TokenAddress,tokenOut:o.wrappedErc20TokenAddress??o.erc20TokenAddress,fee:s,amountIn:c,sqrtPriceLimitX96:0})).amountOut}catch(e){throw a.logError(e),e}},l=async(t,n,r,a)=>{try{let o=t.getContractWithFetcherByChainId(n,i.ContractType.UniswapV3FactoryContract,e.networkRegistry[n].uniswapV3FactoryAddress),{fee:c}=await s(t.getContractWithFetcherByChainId(n,i.ContractType.ERC20Contract,a.wrappedErc20TokenAddress??a.erc20TokenAddress),o,r.wrappedErc20TokenAddress??r.erc20TokenAddress,a.wrappedErc20TokenAddress??a.erc20TokenAddress);return c}catch(e){throw console.log(`Error in getUniswapFee`,e),e}},u=async(e,t,i,a,s)=>{try{let n=await l(e,t,a,s),u=o.ethers.AbiCoder.defaultAbiCoder().encode([`uint24`],[n]);return{tokenPrice:await c(e,t,a,s,n,r.getAmountInWei(a,i)),poolFee:u}}catch{throw Error(n.transactionErrorCodes.NO_UNISWAP_PRICE)}};exports.getUniswapFee=l,exports.getUniswapPrice=u,exports.getUniswapPriceHelper=c,exports.searchPoolAndFee=s;
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { networkRegistry as e } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
|
|
4
|
+
import { getAmountInWei as r } from "./etherFunctions.mjs";
|
|
5
|
+
import { ContractType as i } from "../../types/ethereum-network.types.mjs";
|
|
6
6
|
import "../../types/index.mjs";
|
|
7
7
|
import { logError as a } from "../../error-handling/logError.mjs";
|
|
8
8
|
import "../../error-handling/index.mjs";
|
|
9
9
|
import "../../constants/index.mjs";
|
|
10
10
|
import { ethers as o } from "ethers";
|
|
11
11
|
//#region libs/shared/common/src/functions/web3/uniswapAPI.ts
|
|
12
|
-
var s = async (e,
|
|
12
|
+
var s = async (e, r, i, a) => {
|
|
13
13
|
let o = (await Promise.all([
|
|
14
14
|
100,
|
|
15
15
|
500,
|
|
16
16
|
3e3,
|
|
17
17
|
1e4
|
|
18
18
|
].map(async (e) => ({
|
|
19
|
-
poolAddress: await
|
|
19
|
+
poolAddress: await r.getPool(i, a, e),
|
|
20
20
|
fee: e
|
|
21
21
|
})))).filter(({ poolAddress: e }) => e !== t), s = await Promise.all(o.map(async (t) => ({
|
|
22
22
|
poolAddress: t.poolAddress,
|
|
23
23
|
fee: t.fee,
|
|
24
24
|
token1Balance: await e.balanceOf(t.poolAddress)
|
|
25
25
|
}))), c = s.map((e) => e.token1Balance).reduce((e, t) => t >= e ? t : e, 0n);
|
|
26
|
-
if (c === 0n) throw Error(
|
|
26
|
+
if (c === 0n) throw Error(n.UNISWAP_NOT_ENOUGH_LIQUIDITY);
|
|
27
27
|
return s.find((e) => e.token1Balance === c);
|
|
28
|
-
}, c = async (t,
|
|
28
|
+
}, c = async (t, n, r, o, s, c) => {
|
|
29
29
|
try {
|
|
30
|
-
if (!e[
|
|
31
|
-
return (await t.getContractWithFetcherByChainId(
|
|
32
|
-
tokenIn:
|
|
30
|
+
if (!e[n].quoterV2Address) throw Error("No Quoter Contract Provided");
|
|
31
|
+
return (await t.getContractWithFetcherByChainId(n, i.UniswapV3QuoterContract, e[n].quoterV2Address).quoteExactInputSingle.staticCall({
|
|
32
|
+
tokenIn: r.wrappedErc20TokenAddress ?? r.erc20TokenAddress,
|
|
33
33
|
tokenOut: o.wrappedErc20TokenAddress ?? o.erc20TokenAddress,
|
|
34
34
|
fee: s,
|
|
35
35
|
amountIn: c,
|
|
@@ -38,22 +38,22 @@ var s = async (e, n, i, a) => {
|
|
|
38
38
|
} catch (e) {
|
|
39
39
|
throw a(e), e;
|
|
40
40
|
}
|
|
41
|
-
}, l = async (t,
|
|
41
|
+
}, l = async (t, n, r, a) => {
|
|
42
42
|
try {
|
|
43
|
-
let o = t.getContractWithFetcherByChainId(
|
|
43
|
+
let o = t.getContractWithFetcherByChainId(n, i.UniswapV3FactoryContract, e[n].uniswapV3FactoryAddress), { fee: c } = await s(t.getContractWithFetcherByChainId(n, i.ERC20Contract, a.wrappedErc20TokenAddress ?? a.erc20TokenAddress), o, r.wrappedErc20TokenAddress ?? r.erc20TokenAddress, a.wrappedErc20TokenAddress ?? a.erc20TokenAddress);
|
|
44
44
|
return c;
|
|
45
45
|
} catch (e) {
|
|
46
46
|
throw console.log("Error in getUniswapFee", e), e;
|
|
47
47
|
}
|
|
48
|
-
}, u = async (e, t,
|
|
48
|
+
}, u = async (e, t, i, a, s) => {
|
|
49
49
|
try {
|
|
50
|
-
let
|
|
50
|
+
let n = await l(e, t, a, s), u = o.AbiCoder.defaultAbiCoder().encode(["uint24"], [n]);
|
|
51
51
|
return {
|
|
52
|
-
tokenPrice: await c(e, t, a, s,
|
|
52
|
+
tokenPrice: await c(e, t, a, s, n, r(a, i)),
|
|
53
53
|
poolFee: u
|
|
54
54
|
};
|
|
55
55
|
} catch {
|
|
56
|
-
throw Error(
|
|
56
|
+
throw Error(n.NO_UNISWAP_PRICE);
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`async-mutex`);var t=class{readRegistryMutex=new e.Mutex;writeMutex=new e.Mutex;readers=0;writeMutexReleaser=null;async runShared(e){await this.acquireRead();try{return await e()}finally{await this.releaseRead()}}async runExclusive(e){return this.writeMutex.runExclusive(async()=>e(!0))}async acquireRead(){await this.readRegistryMutex.runExclusive(async()=>{this.readers+=1,this.readers===1&&(this.writeMutexReleaser=await this.writeMutex.acquire())})}async releaseRead(){await this.readRegistryMutex.runExclusive(async()=>{--this.readers,this.readers===0&&this.writeMutexReleaser&&(this.writeMutexReleaser(),this.writeMutexReleaser=null)})}};exports.ChainBalanceRwLock=t;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface ChainBalanceFetchingLock {
|
|
2
|
+
/** Many callers at once */
|
|
3
|
+
runShared<T>(callback: () => PromiseLike<T> | T): Promise<T>;
|
|
4
|
+
/** One caller at a time */
|
|
5
|
+
runExclusive<T>(callback: (value: boolean) => PromiseLike<T> | T): Promise<T>;
|
|
6
|
+
}
|
|
7
|
+
export declare class ChainBalanceRwLock implements ChainBalanceFetchingLock {
|
|
8
|
+
/** Protects the readers counter and writeMutex handoff between readers. */
|
|
9
|
+
private readonly readRegistryMutex;
|
|
10
|
+
/** Exclusive access for writers; held across all active readers. */
|
|
11
|
+
private readonly writeMutex;
|
|
12
|
+
private readers;
|
|
13
|
+
private writeMutexReleaser;
|
|
14
|
+
runShared<T>(callback: () => PromiseLike<T> | T): Promise<T>;
|
|
15
|
+
runExclusive<T>(callback: (value: boolean) => PromiseLike<T> | T): Promise<T>;
|
|
16
|
+
private acquireRead;
|
|
17
|
+
private releaseRead;
|
|
18
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Mutex as e } from "async-mutex";
|
|
2
|
+
//#region libs/shared/common/src/mutexes/chainBalanceRwLock.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
readRegistryMutex = new e();
|
|
5
|
+
writeMutex = new e();
|
|
6
|
+
readers = 0;
|
|
7
|
+
writeMutexReleaser = null;
|
|
8
|
+
async runShared(e) {
|
|
9
|
+
await this.acquireRead();
|
|
10
|
+
try {
|
|
11
|
+
return await e();
|
|
12
|
+
} finally {
|
|
13
|
+
await this.releaseRead();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async runExclusive(e) {
|
|
17
|
+
return this.writeMutex.runExclusive(async () => e(!0));
|
|
18
|
+
}
|
|
19
|
+
async acquireRead() {
|
|
20
|
+
await this.readRegistryMutex.runExclusive(async () => {
|
|
21
|
+
this.readers += 1, this.readers === 1 && (this.writeMutexReleaser = await this.writeMutex.acquire());
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async releaseRead() {
|
|
25
|
+
await this.readRegistryMutex.runExclusive(async () => {
|
|
26
|
+
--this.readers, this.readers === 0 && this.writeMutexReleaser && (this.writeMutexReleaser(), this.writeMutexReleaser = null);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { t as ChainBalanceRwLock };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=function(e){return e.LAST_IGNORED_DEPOSIT_BALANCE_1K=`lastIgnoredDepositBalance1K`,e.LAST_IGNORED_DEPOSIT_BALANCE_10K=`lastIgnoredDepositBalance10K`,e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS=`lastIgnoredDepositScamTokens`,e.LAST_IGNORED_DEPOSIT_TRANSACTIONS=`lastIgnoredDepositTransactions`,e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT=`userAnalyticsConsentPref`,e.PASSWORD_HASH=`passwordHash`,e.LAST_ADDRESS=`lastAddress`,e.AUTO_LOCK_TIME=`autoLockTime`,e.TOKEN_REGISTRY=`tokenRegistry`,e.IS_BALANCE_HIDDEN=`isBalanceHidden`,e.TRANSACTION_STATUS=`transactionStatus`,e.SELECTED_SUB_ACCOUNT_ADDRESS=`selectedSubAccountAddress`,e.GENERATE_PROOF_REMOTELY=`generateProofRemotely`,e.IS_RELAYER_OFF=`isRelayerOff`,e.ONBOARDING_SHOWN=`onboardingShown`,e.GAS_COST_TOKEN=`gasCostToken`,e.PRIVATE_TOKENS=`privateTokens`,e.ALCHEMY_PUBLIC_TOKENS=`alchemyPublicTokens`,e.EVENTS_PUBLIC_TOKENS=`eventsPublicTokens`,e.ARC_PUBLIC_TOKENS=`arcPublicTokens`,e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS=`publicTokensLastProcessedBlocks`,e.ACCEPTED_TERMS_OF_SERVICES=`acceptedTermsOfServices`,e.SLIPPAGE_PERCENTAGE=`slippagePercentage`,e.IS_SLIPPAGE_PERCENTAGE_CUSTOM=`isSlippagePercentageCustom`,e.MNEMONIC_PHRASE=`mnemonicPhrase`,e.SOURCE_MNEMONIC_PHRASE=`sourceMnemonicPhrase`,e.SELECTED_WALLET_ENVIRONMENT=`selectedWalletEnvironment`,e.IS_TOOLTIPS_ON=`isTooltipsOn`,e.CONNECTED_ADDRESS=`connectedAddress`,e.CONNECTED_SOLANA_ADDRESS=`connectedSolanaAddress`,e.CONNECTED_SESSIONS=`connectedSessions`,e.TX_ACTIVITY=`tx-activity`,e.EVENTS_PUBLIC_APPROVALS=`eventsPublicApprovals`,e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS=`publicApprovalsLastProcessedBlocks`,e.ACTIVE_SUB_ACCOUNT=`activeSubAccount`,e.SIGNED_MESSAGES=`signedMessages`,e.AUTO_SHIELD_IS_ON=`autoShieldIsOn`,e.MAX_GAS_IN_DOLLAR=`maxGasInDollar`,e.PENDING_SOLANA_SIGNATURES=`pendingSolanaSignatures`,e.ONBOARDING_TEMPORARY_PASSWORD=`onboardingTemporaryPassword`,e.STORAGE_KEY_LAST_SEEN_VERSION=`hinkalLastSeenVersion`,e.HINKAL_GOOGLE_SESSION=`hinkalGoogleSession`,e.IS_CREATE_NEW_PUBLIC_WALLET_ON=`isCreateNewPublicWalletOn`,e.DISGUISED_AS_METAMASK_HOSTS=`disguisedAsMetamaskHosts`,e.CHAIN_ID_FILTER=`chainIdFilter`,e.SIGNATURE=`signature`,e.PUBLIC_ACCOUNT_DETAILS=`publicAccountDetails`,e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM=`isNewAccountManagementSystem`,e.SUB_ACCOUNTS_REFRESH_TOKEN=`subAccountsRefreshToken`,e.PRIVATE_SEND_NONCE=`privateSendNonce`,e.PRIVATE_SEND_PENDING_ENCLAVE_UTXOS=`privateSendPendingEnclaveUtxos`,e.SHOULD_SHOW_ANNOUNCEMENT_BANNER=`shouldShowAnnouncementBanner`,e.LAST_SHIELD_TIME=`lastShieldTime`,e.IS_TOUR_COMPLETED=`isTourCompleted`,e.TOUR_CURRENT_STEP=`tourCurrentStep`,e.REVOKE_APPROVALS_IN_PROGRESS=`revokeApprovalsInProgress`,e}({});exports.StorageKeys=e;
|
|
1
|
+
var e=function(e){return e.LAST_IGNORED_DEPOSIT_BALANCE_1K=`lastIgnoredDepositBalance1K`,e.LAST_IGNORED_DEPOSIT_BALANCE_10K=`lastIgnoredDepositBalance10K`,e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS=`lastIgnoredDepositScamTokens`,e.LAST_IGNORED_DEPOSIT_TRANSACTIONS=`lastIgnoredDepositTransactions`,e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT=`userAnalyticsConsentPref`,e.PASSWORD_HASH=`passwordHash`,e.LAST_ADDRESS=`lastAddress`,e.AUTO_LOCK_TIME=`autoLockTime`,e.TOKEN_REGISTRY=`tokenRegistry`,e.IS_BALANCE_HIDDEN=`isBalanceHidden`,e.TRANSACTION_STATUS=`transactionStatus`,e.SELECTED_SUB_ACCOUNT_ADDRESS=`selectedSubAccountAddress`,e.GENERATE_PROOF_REMOTELY=`generateProofRemotely`,e.IS_RELAYER_OFF=`isRelayerOff`,e.ONBOARDING_SHOWN=`onboardingShown`,e.GAS_COST_TOKEN=`gasCostToken`,e.PRIVATE_TOKENS=`privateTokens`,e.ALCHEMY_PUBLIC_TOKENS=`alchemyPublicTokens`,e.EVENTS_PUBLIC_TOKENS=`eventsPublicTokens`,e.ARC_PUBLIC_TOKENS=`arcPublicTokens`,e.TRON_PUBLIC_TOKENS=`tronPublicTokens`,e.TEMPO_PUBLIC_TOKENS=`tempoPublicTokens`,e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS=`publicTokensLastProcessedBlocks`,e.ACCEPTED_TERMS_OF_SERVICES=`acceptedTermsOfServices`,e.SLIPPAGE_PERCENTAGE=`slippagePercentage`,e.IS_SLIPPAGE_PERCENTAGE_CUSTOM=`isSlippagePercentageCustom`,e.MNEMONIC_PHRASE=`mnemonicPhrase`,e.SOURCE_MNEMONIC_PHRASE=`sourceMnemonicPhrase`,e.SELECTED_WALLET_ENVIRONMENT=`selectedWalletEnvironment`,e.IS_TOOLTIPS_ON=`isTooltipsOn`,e.CONNECTED_ADDRESS=`connectedAddress`,e.CONNECTED_SOLANA_ADDRESS=`connectedSolanaAddress`,e.CONNECTED_SESSIONS=`connectedSessions`,e.TX_ACTIVITY=`tx-activity`,e.EVENTS_PUBLIC_APPROVALS=`eventsPublicApprovals`,e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS=`publicApprovalsLastProcessedBlocks`,e.ACTIVE_SUB_ACCOUNT=`activeSubAccount`,e.SIGNED_MESSAGES=`signedMessages`,e.AUTO_SHIELD_IS_ON=`autoShieldIsOn`,e.MAX_GAS_IN_DOLLAR=`maxGasInDollar`,e.PENDING_SOLANA_SIGNATURES=`pendingSolanaSignatures`,e.ONBOARDING_TEMPORARY_PASSWORD=`onboardingTemporaryPassword`,e.STORAGE_KEY_LAST_SEEN_VERSION=`hinkalLastSeenVersion`,e.HINKAL_GOOGLE_SESSION=`hinkalGoogleSession`,e.IS_CREATE_NEW_PUBLIC_WALLET_ON=`isCreateNewPublicWalletOn`,e.DISGUISED_AS_METAMASK_HOSTS=`disguisedAsMetamaskHosts`,e.CHAIN_ID_FILTER=`chainIdFilter`,e.SIGNATURE=`signature`,e.PUBLIC_ACCOUNT_DETAILS=`publicAccountDetails`,e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM=`isNewAccountManagementSystem`,e.SUB_ACCOUNTS_REFRESH_TOKEN=`subAccountsRefreshToken`,e.PRIVATE_SEND_NONCE=`privateSendNonce`,e.PRIVATE_SEND_PENDING_ENCLAVE_UTXOS=`privateSendPendingEnclaveUtxos`,e.SHOULD_SHOW_ANNOUNCEMENT_BANNER=`shouldShowAnnouncementBanner`,e.LAST_SHIELD_TIME=`lastShieldTime`,e.IS_TOUR_COMPLETED=`isTourCompleted`,e.TOUR_CURRENT_STEP=`tourCurrentStep`,e.REVOKE_APPROVALS_IN_PROGRESS=`revokeApprovalsInProgress`,e}({});exports.StorageKeys=e;
|
|
@@ -19,6 +19,8 @@ export declare enum StorageKeys {
|
|
|
19
19
|
ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens",
|
|
20
20
|
EVENTS_PUBLIC_TOKENS = "eventsPublicTokens",
|
|
21
21
|
ARC_PUBLIC_TOKENS = "arcPublicTokens",
|
|
22
|
+
TRON_PUBLIC_TOKENS = "tronPublicTokens",
|
|
23
|
+
TEMPO_PUBLIC_TOKENS = "tempoPublicTokens",
|
|
22
24
|
PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks",
|
|
23
25
|
ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices",
|
|
24
26
|
SLIPPAGE_PERCENTAGE = "slippagePercentage",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region libs/shared/common/src/types/cache.types.ts
|
|
2
2
|
var e = /* @__PURE__ */ function(e) {
|
|
3
|
-
return e.LAST_IGNORED_DEPOSIT_BALANCE_1K = "lastIgnoredDepositBalance1K", e.LAST_IGNORED_DEPOSIT_BALANCE_10K = "lastIgnoredDepositBalance10K", e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS = "lastIgnoredDepositScamTokens", e.LAST_IGNORED_DEPOSIT_TRANSACTIONS = "lastIgnoredDepositTransactions", e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT = "userAnalyticsConsentPref", e.PASSWORD_HASH = "passwordHash", e.LAST_ADDRESS = "lastAddress", e.AUTO_LOCK_TIME = "autoLockTime", e.TOKEN_REGISTRY = "tokenRegistry", e.IS_BALANCE_HIDDEN = "isBalanceHidden", e.TRANSACTION_STATUS = "transactionStatus", e.SELECTED_SUB_ACCOUNT_ADDRESS = "selectedSubAccountAddress", e.GENERATE_PROOF_REMOTELY = "generateProofRemotely", e.IS_RELAYER_OFF = "isRelayerOff", e.ONBOARDING_SHOWN = "onboardingShown", e.GAS_COST_TOKEN = "gasCostToken", e.PRIVATE_TOKENS = "privateTokens", e.ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens", e.EVENTS_PUBLIC_TOKENS = "eventsPublicTokens", e.ARC_PUBLIC_TOKENS = "arcPublicTokens", e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks", e.ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices", e.SLIPPAGE_PERCENTAGE = "slippagePercentage", e.IS_SLIPPAGE_PERCENTAGE_CUSTOM = "isSlippagePercentageCustom", e.MNEMONIC_PHRASE = "mnemonicPhrase", e.SOURCE_MNEMONIC_PHRASE = "sourceMnemonicPhrase", e.SELECTED_WALLET_ENVIRONMENT = "selectedWalletEnvironment", e.IS_TOOLTIPS_ON = "isTooltipsOn", e.CONNECTED_ADDRESS = "connectedAddress", e.CONNECTED_SOLANA_ADDRESS = "connectedSolanaAddress", e.CONNECTED_SESSIONS = "connectedSessions", e.TX_ACTIVITY = "tx-activity", e.EVENTS_PUBLIC_APPROVALS = "eventsPublicApprovals", e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS = "publicApprovalsLastProcessedBlocks", e.ACTIVE_SUB_ACCOUNT = "activeSubAccount", e.SIGNED_MESSAGES = "signedMessages", e.AUTO_SHIELD_IS_ON = "autoShieldIsOn", e.MAX_GAS_IN_DOLLAR = "maxGasInDollar", e.PENDING_SOLANA_SIGNATURES = "pendingSolanaSignatures", e.ONBOARDING_TEMPORARY_PASSWORD = "onboardingTemporaryPassword", e.STORAGE_KEY_LAST_SEEN_VERSION = "hinkalLastSeenVersion", e.HINKAL_GOOGLE_SESSION = "hinkalGoogleSession", e.IS_CREATE_NEW_PUBLIC_WALLET_ON = "isCreateNewPublicWalletOn", e.DISGUISED_AS_METAMASK_HOSTS = "disguisedAsMetamaskHosts", e.CHAIN_ID_FILTER = "chainIdFilter", e.SIGNATURE = "signature", e.PUBLIC_ACCOUNT_DETAILS = "publicAccountDetails", e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM = "isNewAccountManagementSystem", e.SUB_ACCOUNTS_REFRESH_TOKEN = "subAccountsRefreshToken", e.PRIVATE_SEND_NONCE = "privateSendNonce", e.PRIVATE_SEND_PENDING_ENCLAVE_UTXOS = "privateSendPendingEnclaveUtxos", e.SHOULD_SHOW_ANNOUNCEMENT_BANNER = "shouldShowAnnouncementBanner", e.LAST_SHIELD_TIME = "lastShieldTime", e.IS_TOUR_COMPLETED = "isTourCompleted", e.TOUR_CURRENT_STEP = "tourCurrentStep", e.REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress", e;
|
|
3
|
+
return e.LAST_IGNORED_DEPOSIT_BALANCE_1K = "lastIgnoredDepositBalance1K", e.LAST_IGNORED_DEPOSIT_BALANCE_10K = "lastIgnoredDepositBalance10K", e.LAST_IGNORED_DEPOSIT_SCAM_TOKENS = "lastIgnoredDepositScamTokens", e.LAST_IGNORED_DEPOSIT_TRANSACTIONS = "lastIgnoredDepositTransactions", e.LOCAL_STORAGE_KEY_USER_ANALYTICS_CONSENT = "userAnalyticsConsentPref", e.PASSWORD_HASH = "passwordHash", e.LAST_ADDRESS = "lastAddress", e.AUTO_LOCK_TIME = "autoLockTime", e.TOKEN_REGISTRY = "tokenRegistry", e.IS_BALANCE_HIDDEN = "isBalanceHidden", e.TRANSACTION_STATUS = "transactionStatus", e.SELECTED_SUB_ACCOUNT_ADDRESS = "selectedSubAccountAddress", e.GENERATE_PROOF_REMOTELY = "generateProofRemotely", e.IS_RELAYER_OFF = "isRelayerOff", e.ONBOARDING_SHOWN = "onboardingShown", e.GAS_COST_TOKEN = "gasCostToken", e.PRIVATE_TOKENS = "privateTokens", e.ALCHEMY_PUBLIC_TOKENS = "alchemyPublicTokens", e.EVENTS_PUBLIC_TOKENS = "eventsPublicTokens", e.ARC_PUBLIC_TOKENS = "arcPublicTokens", e.TRON_PUBLIC_TOKENS = "tronPublicTokens", e.TEMPO_PUBLIC_TOKENS = "tempoPublicTokens", e.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS = "publicTokensLastProcessedBlocks", e.ACCEPTED_TERMS_OF_SERVICES = "acceptedTermsOfServices", e.SLIPPAGE_PERCENTAGE = "slippagePercentage", e.IS_SLIPPAGE_PERCENTAGE_CUSTOM = "isSlippagePercentageCustom", e.MNEMONIC_PHRASE = "mnemonicPhrase", e.SOURCE_MNEMONIC_PHRASE = "sourceMnemonicPhrase", e.SELECTED_WALLET_ENVIRONMENT = "selectedWalletEnvironment", e.IS_TOOLTIPS_ON = "isTooltipsOn", e.CONNECTED_ADDRESS = "connectedAddress", e.CONNECTED_SOLANA_ADDRESS = "connectedSolanaAddress", e.CONNECTED_SESSIONS = "connectedSessions", e.TX_ACTIVITY = "tx-activity", e.EVENTS_PUBLIC_APPROVALS = "eventsPublicApprovals", e.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS = "publicApprovalsLastProcessedBlocks", e.ACTIVE_SUB_ACCOUNT = "activeSubAccount", e.SIGNED_MESSAGES = "signedMessages", e.AUTO_SHIELD_IS_ON = "autoShieldIsOn", e.MAX_GAS_IN_DOLLAR = "maxGasInDollar", e.PENDING_SOLANA_SIGNATURES = "pendingSolanaSignatures", e.ONBOARDING_TEMPORARY_PASSWORD = "onboardingTemporaryPassword", e.STORAGE_KEY_LAST_SEEN_VERSION = "hinkalLastSeenVersion", e.HINKAL_GOOGLE_SESSION = "hinkalGoogleSession", e.IS_CREATE_NEW_PUBLIC_WALLET_ON = "isCreateNewPublicWalletOn", e.DISGUISED_AS_METAMASK_HOSTS = "disguisedAsMetamaskHosts", e.CHAIN_ID_FILTER = "chainIdFilter", e.SIGNATURE = "signature", e.PUBLIC_ACCOUNT_DETAILS = "publicAccountDetails", e.IS_NEW_ACCOUNT_MANAGEMENT_SYSTEM = "isNewAccountManagementSystem", e.SUB_ACCOUNTS_REFRESH_TOKEN = "subAccountsRefreshToken", e.PRIVATE_SEND_NONCE = "privateSendNonce", e.PRIVATE_SEND_PENDING_ENCLAVE_UTXOS = "privateSendPendingEnclaveUtxos", e.SHOULD_SHOW_ANNOUNCEMENT_BANNER = "shouldShowAnnouncementBanner", e.LAST_SHIELD_TIME = "lastShieldTime", e.IS_TOUR_COMPLETED = "isTourCompleted", e.TOUR_CURRENT_STEP = "tourCurrentStep", e.REVOKE_APPROVALS_IN_PROGRESS = "revokeApprovalsInProgress", e;
|
|
4
4
|
}({});
|
|
5
5
|
//#endregion
|
|
6
6
|
export { e as StorageKeys };
|
|
@@ -23,16 +23,6 @@ export interface SolanaCommitmentEvent {
|
|
|
23
23
|
encrypted_output: number[];
|
|
24
24
|
on_chain_data: number[][];
|
|
25
25
|
}
|
|
26
|
-
export interface AccessTokenEvent<BN = BigIntable> {
|
|
27
|
-
accessKey: BN;
|
|
28
|
-
index: BN;
|
|
29
|
-
senderAddress: string;
|
|
30
|
-
}
|
|
31
|
-
export interface SolanaAccessTokenEvent<BN, PublicKeyType> {
|
|
32
|
-
access_key: BN;
|
|
33
|
-
index: BN;
|
|
34
|
-
sender_address: PublicKeyType;
|
|
35
|
-
}
|
|
36
26
|
export interface NullifierEvent<T> {
|
|
37
27
|
nullifier: T;
|
|
38
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/fees.constants.cjs`);let t=require(`viem`);var n=function(e){return e.BalanceChange=`BalanceChange`,e.
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants/fees.constants.cjs`);let t=require(`viem`);var n=function(e){return e.BalanceChange=`BalanceChange`,e.AccountChanged=`AccountChanged`,e.ShowConnect=`ShowConnect`,e.ShowNetworkPopup=`ShowNetworkPopup`,e.MerkleTreeUpdated=`MerkleTreeUpdated`,e.MerkleTreeResetStarted=`MerkleTreeResetStarted`,e.MerkleTreeResetFinished=`MerkleTreeResetFinished`,e}({}),r=function(e){return e[e.UNISWAP=1]=`UNISWAP`,e[e.ODOS=1+e.UNISWAP]=`ODOS`,e[e.ONEINCH=1+e.ODOS]=`ONEINCH`,e[e.LIFI=1+e.ONEINCH]=`LIFI`,e[e.OKX=1+e.LIFI]=`OKX`,e[e.ALL=1+e.OKX]=`ALL`,e[e.NONE=1+e.ALL]=`NONE`,e}({}),i=function(e){return e[e.NONE=0]=`NONE`,e[e.APPROVE=1]=`APPROVE`,e[e.RELEASE_BUFFER=2]=`RELEASE_BUFFER`,e[e.EXECUTE=3]=`EXECUTE`,e}({}),a=e=>({hinkalLogicAction:i.NONE,executeApprovalChanges:Array(e).fill(0n),doPreTxApproval:!1,inHinkalAddress:0n,useApprovalUtxoData:Array(e).fill({approvalChanges:[0n],externalApprovalAddresses:[t.zeroAddress],conversionInHinkalAddress:[0n]})}),o={feeToken:e.defaultFeeToken,flatFee:0n,variableRate:0n},s=function(e){return e.PROTOCOL=`protocol`,e.PRIVATE_TRANSFER=`privateTransfer`,e}({});exports.EventType=n,exports.HinkalLogicAction=i,exports.IntegrationProvider=r,exports.LoginMessageMode=s,exports.defaultHinkalLogicArgs=a,exports.zeroFeeStructure=o;
|
|
@@ -18,6 +18,10 @@ export type HinkalConfig = {
|
|
|
18
18
|
*/
|
|
19
19
|
generateProofRemotely?: boolean;
|
|
20
20
|
disableMerkleTreeUpdates?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Skip local decryption mutex in getInputUtxoAndBalance (e.g. enclave-api).
|
|
23
|
+
*/
|
|
24
|
+
allowParallelBalanceLocalDecryption?: boolean;
|
|
21
25
|
serializedCache?: Record<string, string>;
|
|
22
26
|
/**
|
|
23
27
|
* Override which Tron chain this Hinkal instance targets.
|
|
@@ -26,7 +30,6 @@ export type HinkalConfig = {
|
|
|
26
30
|
};
|
|
27
31
|
export declare enum EventType {
|
|
28
32
|
BalanceChange = "BalanceChange",
|
|
29
|
-
KycNeeded = "KycNeeded",
|
|
30
33
|
AccountChanged = "AccountChanged",
|
|
31
34
|
ShowConnect = "ShowConnect",
|
|
32
35
|
ShowNetworkPopup = "ShowNetworkPopup",
|
|
@@ -90,12 +93,6 @@ export type ParsedInLogicMetadata = {
|
|
|
90
93
|
erc20TokenAddresses: string[];
|
|
91
94
|
externalCallData: string;
|
|
92
95
|
};
|
|
93
|
-
export declare enum UserProgress {
|
|
94
|
-
NOT_STARTED = 0,
|
|
95
|
-
CONNECTED = 1,
|
|
96
|
-
KYC = 2,
|
|
97
|
-
COMPLETED = 3
|
|
98
|
-
}
|
|
99
96
|
export declare enum LoginMessageMode {
|
|
100
97
|
PROTOCOL = "protocol",
|
|
101
98
|
PRIVATE_TRANSFER = "privateTransfer"
|
|
@@ -2,7 +2,7 @@ import { defaultFeeToken as e } from "../constants/fees.constants.mjs";
|
|
|
2
2
|
import { zeroAddress as t } from "viem";
|
|
3
3
|
//#region libs/shared/common/src/types/hinkal.types.ts
|
|
4
4
|
var n = /* @__PURE__ */ function(e) {
|
|
5
|
-
return e.BalanceChange = "BalanceChange", e.
|
|
5
|
+
return e.BalanceChange = "BalanceChange", e.AccountChanged = "AccountChanged", e.ShowConnect = "ShowConnect", e.ShowNetworkPopup = "ShowNetworkPopup", e.MerkleTreeUpdated = "MerkleTreeUpdated", e.MerkleTreeResetStarted = "MerkleTreeResetStarted", e.MerkleTreeResetFinished = "MerkleTreeResetFinished", e;
|
|
6
6
|
}({}), r = /* @__PURE__ */ function(e) {
|
|
7
7
|
return e[e.UNISWAP = 1] = "UNISWAP", e[e.ODOS = 1 + e.UNISWAP] = "ODOS", e[e.ONEINCH = 1 + e.ODOS] = "ONEINCH", e[e.LIFI = 1 + e.ONEINCH] = "LIFI", e[e.OKX = 1 + e.LIFI] = "OKX", e[e.ALL = 1 + e.OKX] = "ALL", e[e.NONE = 1 + e.ALL] = "NONE", e;
|
|
8
8
|
}({}), i = /* @__PURE__ */ function(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chains.types.cjs`),require(`./hinkal.types.cjs`),require(`./
|
|
1
|
+
require(`./chains.types.cjs`),require(`./hinkal.types.cjs`),require(`./circom-data.types.cjs`),require(`./ethereum-network.types.cjs`),require(`./external-action.types.cjs`),require(`./token.types.cjs`),require(`./transactions.types.cjs`),require(`./admin.types.cjs`),require(`./activities.types.cjs`),require(`./transaction.types.cjs`),require(`./balances.types.cjs`),require(`./cache.types.cjs`),require(`./new-rewards.type.cjs`),require(`./eip5792.types.cjs`),require(`./offscreen.types.cjs`),require(`./scheduled-transactions.types.cjs`),require(`./events.types.cjs`),require(`./schedule.types.cjs`);
|
|
@@ -8,7 +8,6 @@ export * from './crypto.types';
|
|
|
8
8
|
export * from './ethereum-network.types';
|
|
9
9
|
export * from './external-action.types';
|
|
10
10
|
export * from './hinkal.types';
|
|
11
|
-
export * from './kyc.types';
|
|
12
11
|
export * from './snark.types';
|
|
13
12
|
export * from './token.types';
|
|
14
13
|
export * from './slippage.types';
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import "./chains.types.mjs";
|
|
2
2
|
import "./hinkal.types.mjs";
|
|
3
|
-
import "./ethereum-network.types.mjs";
|
|
4
3
|
import "./circom-data.types.mjs";
|
|
4
|
+
import "./ethereum-network.types.mjs";
|
|
5
5
|
import "./external-action.types.mjs";
|
|
6
|
-
import "./kyc.types.mjs";
|
|
7
6
|
import "./token.types.mjs";
|
|
8
7
|
import "./transactions.types.mjs";
|
|
9
8
|
import "./admin.types.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=function(e){return e.Welcome=`welcome`,e.Daily=`daily`,e.Brotherhood=`brotherhood`,e.PointsBoost=`pointsBoost`,e}({}),t=function(e){return e.None=`None`,e.Bronze=`Bronze`,e.Silver=`Silver`,e.Gold=`Gold`,e.Diamond=`Diamond`,e}({}),n=function(e){return e.discord=`discord`,e.telegram=`telegram`,e.
|
|
1
|
+
var e=function(e){return e.Welcome=`welcome`,e.Daily=`daily`,e.Brotherhood=`brotherhood`,e.PointsBoost=`pointsBoost`,e}({}),t=function(e){return e.None=`None`,e.Bronze=`Bronze`,e.Silver=`Silver`,e.Gold=`Gold`,e.Diamond=`Diamond`,e}({}),n=function(e){return e.discord=`discord`,e.telegram=`telegram`,e.firstSwap=`firstSwap`,e.members=`members`,e.quests=`quests`,e.swaps=`swaps`,e.referrals=`referrals`,e.dApps=`dApps`,e.chains=`chains`,e.dailySwap=`dailySwap`,e.dailyDappTx=`dailyDappTx`,e.achievementSwaps=`achievementSwaps`,e.achievementReferrals=`achievementReferrals`,e.achievementDapps=`achievementDapps`,e.achievementChains=`achievementChains`,e.achievementPrivateSends=`achievementPrivateSends`,e.createOrJoinBH=`createOrJoinBH`,e.shieldUnshield=`shieldUnshield`,e.moneyComes=`moneyComes`,e.referralPrivateSendBonus=`referralPrivateSendBonus`,e}({});exports.AchievementTiers=t,exports.TaskCategory=e,exports.TaskTypes=n;
|
|
@@ -4,7 +4,7 @@ var e = /* @__PURE__ */ function(e) {
|
|
|
4
4
|
}({}), t = /* @__PURE__ */ function(e) {
|
|
5
5
|
return e.None = "None", e.Bronze = "Bronze", e.Silver = "Silver", e.Gold = "Gold", e.Diamond = "Diamond", e;
|
|
6
6
|
}({}), n = /* @__PURE__ */ function(e) {
|
|
7
|
-
return e.discord = "discord", e.telegram = "telegram", e.
|
|
7
|
+
return e.discord = "discord", e.telegram = "telegram", e.firstSwap = "firstSwap", e.members = "members", e.quests = "quests", e.swaps = "swaps", e.referrals = "referrals", e.dApps = "dApps", e.chains = "chains", e.dailySwap = "dailySwap", e.dailyDappTx = "dailyDappTx", e.achievementSwaps = "achievementSwaps", e.achievementReferrals = "achievementReferrals", e.achievementDapps = "achievementDapps", e.achievementChains = "achievementChains", e.achievementPrivateSends = "achievementPrivateSends", e.createOrJoinBH = "createOrJoinBH", e.shieldUnshield = "shieldUnshield", e.moneyComes = "moneyComes", e.referralPrivateSendBonus = "referralPrivateSendBonus", e;
|
|
8
8
|
}({});
|
|
9
9
|
//#endregion
|
|
10
10
|
export { t as AchievementTiers, e as TaskCategory, n as TaskTypes };
|
|
@@ -3,6 +3,7 @@ export declare enum ScheduledTransactionStatus {
|
|
|
3
3
|
PENDING = "pending",
|
|
4
4
|
PROCESSING = "processing",
|
|
5
5
|
WAITING_FOR_RELAYER = "waiting_for_relayer",
|
|
6
|
+
SENT_ON_CHAIN = "sent_on_chain",
|
|
6
7
|
COMPLETED = "completed",
|
|
7
8
|
FAILED = "failed"
|
|
8
9
|
}
|
|
@@ -17,6 +18,10 @@ export interface ScheduledTransactionItemStatus {
|
|
|
17
18
|
scheduledTime: string;
|
|
18
19
|
txHash: string | null;
|
|
19
20
|
}
|
|
21
|
+
export interface DepositAndSendExtendedResult {
|
|
22
|
+
depositTxHash: string;
|
|
23
|
+
scheduleId: string;
|
|
24
|
+
}
|
|
20
25
|
export interface ScheduledTransactionResponseItem {
|
|
21
26
|
chainId: number;
|
|
22
27
|
status: ScheduledTransactionStatus;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./workerProxy-DPeuP2Mg.js`);let t=require(`buffer`),n=require(`process`);n=e.u(n);let r=require(`circomlibjs-hinkal-fork`),i=require(`ethers`),a=require(`poseidon-lite`);a=e.u(a);let o=require(`libsodium-wrappers`);o=e.u(o);let s=require(`@solana/web3.js`),c=require(`bs58`);c=e.u(c);let l=require(`tweetnacl`);l=e.u(l);let u=require(`tronweb`);`${`00`.repeat(20)}`;var d=21888242871839275222246405745257275088548364400416034343698204186575808495617n,f=d/2n,p=200n;`${`00`.repeat(32)}`;var m=(e,t=d)=>{let n=e%t;return n>=0n?n:n+t},h=(e,t,n)=>{let r=1n,i=m(e,n),a=t;for(;a>0n;)a%2n==1n&&(r=r*i%n),a/=2n,i=i*i%n;return r},g=d,_={p:g,zero:0n,one:1n,e:e=>m(BigInt(e)),add:(e,t)=>m(e+t),sub:(e,t)=>m(e-t),mul:(e,t)=>m(e*t),div:(e,t)=>{if(t===0n)throw Error(`Division by zero in BabyJub field`);return m(e*h(t,g-2n,g))},toString:e=>m(e).toString()},v=class{F=_;A=_.e(`168700`);D=_.e(`168696`);Base8=[_.e(`5299619240641551281634865583518297030282874472190772894086521144482721001553`),_.e(`16950150798460657717958625567821834550301663161624707787222815936182638968203`)];addPoint(e,t){let n=_.mul(e[0],t[1]),r=_.mul(e[1],t[0]),i=_.mul(_.sub(e[1],_.mul(this.A,e[0])),_.add(t[0],t[1])),a=_.mul(n,r),o=_.mul(this.D,a);return[_.div(_.add(n,r),_.add(_.one,o)),_.div(_.add(i,_.sub(_.mul(this.A,n),r)),_.sub(_.one,o))]}mulPointEscalar(e,t){let n=[_.zero,_.one],r=BigInt(t),i=e;for(;r!==0n;)r%2n==1n&&(n=this.addPoint(n,i)),i=this.addPoint(i,i),r/=2n;return n}},y=new class{babyjub=void 0;async init(){this.babyjub||=e.o?new v:await(0,r.buildBabyjub)()}getJub(){return this.babyjub}},b=()=>y.getJub(),x=new class{eddsa=void 0;async init(){this.eddsa||=await(0,r.buildEddsa)()}getEddsa(){return this.eddsa}},S=()=>x.getEddsa();function C(e){return typeof e==`object`&&`toBigInt`in e?e.toBigInt():BigInt(e)}var w=()=>{let e=e=>{let t=a[`poseidon${e.length}`];if(!t)throw Error(`Poseidon: arity ${e.length} not supported (1..16)`);return t(e.map(e=>BigInt(e)))};return e.F={toString:e=>BigInt(e).toString()},e},T=new class{poseidon=void 0;async init(){this.poseidon||=e.o?w():await(0,r.buildPoseidon)()}getPoseidon(){return this.poseidon}};function E(...e){let t=T.getPoseidon();return C(t.F.toString(t(e)))}var D=(...e)=>{let t=T.getPoseidon();return i.ethers.toBeHex(t.F.toString(t([...e])))},O=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=t.Buffer,globalThis.process=n.default),await Promise.all([o.default.ready,T.init(),y.init(),...e?[]:[x.init()]])},k=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}mergeWithSerialized(t){Object.entries(t).forEach(([t,n])=>{this.set(t,e.c(n))})}},A=class extends k{isAttached=!1;get(e){return this.getInMemory(e)}set(e,t){this.setInMemory(e,t)}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([t,n])=>[t,e.l(n)]))}attach(t){if(this.isAttached)throw Error(`can't reattach cache device`);return this.isAttached=!0,(...n)=>{let r=e.l(n),i=this.get(r);if(i!==void 0)return i;let a=t(...n);return this.set(r,a),a}}},j=e=>{if(e<0n||e>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return e>f},M=e=>j(e)?1n:0n,N=new A,P=new A,F=new A,I=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;PREFIX_FOR_NULLIFYING_PAIR=`2`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===u.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.nullifyingKey||=i.ethers.keccak256(this.signature),this.nullifyingKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),D(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=S(),t=b(),n=D(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),r=Buffer.from(i.ethers.getBytes(n)),a=e.prv2pub(r);return{privSpendingKey:n,pubSpendingBJJPoint:[BigInt(t.F.toString(a[0])),BigInt(t.F.toString(a[1]))]}};signEddsa=e=>{this.requireSignature();let t=b(),n=S(),r=Buffer.from(i.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),a=t.F.e(e),o=n.signPoseidon(r,a);return{R8:[BigInt(t.F.toString(o.R8[0])),BigInt(t.F.toString(o.R8[1]))],S:BigInt(o.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=D(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=D(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new i.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),s.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=s.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey()));return i.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=s.Keypair.fromSeed(i.ethers.getBytes(this.getShieldedPrivateKey()));return`ed25519:${c.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=D(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return i.ethers.keccak256(i.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=i.ethers.getBytes(t),r=s.Keypair.fromSeed(n);return c.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),i.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=i.ethers.getBytes(this.signature),a=new s.PublicKey(t).toBytes();return l.default.sign.detached.verify(n,r,a)}static getRandomizedStealthPairOld=P.attach((e,t)=>{let n=b(),r=e*(BigInt(t)%d)%d,i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(n.Base8,r);return{H0:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))],H1:[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]}});static getRandomizedStealthPair=N.attach((e,t)=>{let n=b(),r=BigInt(t)%d,i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(i,r);return{H0:[BigInt(n.F.toString(i[0])),BigInt(n.F.toString(i[1]))],H1:[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*M(e[0]));return{h0:i,h1:a}};static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getStealthAddress=F.attach((e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t);return D(2n*M(n[0])+M(r[0]),n[1],r[1])});static getH1FromH0=(e,t)=>{let n=b(),r=BigInt(t)%d,i=[n.F.e(e[0]),n.F.e(e[1])],a=n.mulPointEscalar(i,r);return[BigInt(n.F.toString(a[0])),BigInt(n.F.toString(a[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddressNewStyle=(e,t,n)=>{if(n?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let r=this.getH1FromH0(e,t);return D(2n*M(e[0])+M(r[0]),e[1],r[1],n[0],n[1],t)};static findCorrectRandomization(e,t){if(!t)throw Error(`No Private Shielded Key Provided`);let n=BigInt(t)%d,r,i,a=0n;do r=e*10n**a%d,i=r*n%d,a+=1n;while(i>=2n**253n||r>=2n**253n);return r}static getH0FromRandomization=e=>{let t=b(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=o.default.crypto_box_seed_keypair(i.ethers.getBytes(e));return{privateKey:i.ethers.hexlify(t.privateKey),publicKey:i.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),D(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),D(this.getAccessKey(),this.getShieldedPublicKey()))},L={CANNOT_CERTIFY_FOR_PAST_WEEK:`Certification for the past week is not available`,CYCLICAL_REFERRALS_FORBIDDEN:`Cyclical referrals are forbidden`,USER_IS_UNRANKED:`Please certify transactions to see rank`},R={WC_NO_MATCHING_KEY:`creating the transaction failed
|
|
2
|
+
version`,CONNECTION_PROBLEM:`Failed to connect wallet. Please try again.`,REQUEST_PENDING:`request of type 'wallet_requestpermissions' already pending for origin`},z={INSUFFICIENT_FUNDS:`Insufficient funds`,INSUFFICIENT_FUNDS_WITHDRAW:`Not enough funds to withdraw`,INSUFFICIENT_FUNDS_TRANSFER:`Not enough funds to transfer`,INSUFFICIENT_FUNDS_TO_TRANSACT:`Not enough funds to transact`,INSUFFICIENT_FUNDS_GAS:`Insufficient funds for gas * price`,INSUFFICIENT_TRON_BALANCE_FOR_FEE:`Insufficient TRX balance to cover transfer amount and transaction fee reserve`,INSUFFICIENT_SOL_BALANCE:`Insufficient SOL balance`},B={GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT:`Skipped shielding due to gas fee exceeding your limit.`,AUTO_SHIELD_INSUFFICIENT_GAS:`Auto-Shield skipped due to insufficient gas.`};({...L,...R,...z,...B});var V=e=>BigInt(i.ethers.hexlify(i.ethers.randomBytes(e))),H=()=>Math.floor(Date.now()/1e3),U=class t{amount;erc20TokenAddress;mintAddress;timeStamp;nullifyingKey;spendingPublicKey;randomization;H0;stealthAddress;encryptionKey;commitment;nullifier;isBlocked;isNewStyle;constructor({amount:e,erc20TokenAddress:t,mintAddress:n,timeStamp:r,nullifyingKey:i,spendingPublicKey:a,randomization:o,H0:s,stealthAddress:c,encryptionKey:l,commitment:u=void 0,nullifier:d=void 0,isBlocked:f=!1,isNewStyle:p=!1}){this.amount=e,this.erc20TokenAddress=t,this.mintAddress=n,this.timeStamp=r??H().toString(),this.nullifyingKey=i,this.spendingPublicKey=a,this.randomization=o??(i?I.findCorrectRandomization(V(31),i):void 0),this.H0=s??(p&&this.randomization?I.findH0(this.randomization,i):void 0),this.stealthAddress=c,this.encryptionKey=l,this.commitment=u,this.nullifier=d,this.isBlocked=f,this.isNewStyle=p}static createFrom(e,n){return new t({...e.getConstructableParams(),nullifier:void 0,commitment:void 0,...n})}getConstructableParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,nullifyingKey:this.nullifyingKey,spendingPublicKey:this.spendingPublicKey,randomization:this.randomization,H0:this.H0,stealthAddress:this.stealthAddress,encryptionKey:this.encryptionKey,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,isNewStyle:this.isNewStyle}}getBasicUtxoParams(){return{amount:this.amount,erc20TokenAddress:this.erc20TokenAddress,mintAddress:this.mintAddress,timeStamp:this.timeStamp,randomization:this.randomization,H0:this.H0,stealthAddress:this.stealthAddress,commitment:this.commitment,nullifier:this.nullifier,isBlocked:this.isBlocked,isNewStyle:this.isNewStyle}}getCommitment(){if(!this.commitment){let e=[this.amount,this.erc20TokenAddress,BigInt(this.getStealthAddress()),this.timeStamp];this.commitment=D(...e)}return this.commitment}getNullifier(){if(!this.nullifier){if(!this.nullifyingKey)throw Error(`No Nullifiers if private key is not provided`);let e=this.getCommitment(),t=D(this.nullifyingKey,e);this.nullifier=D(e,t)}return this.nullifier}getStealthAddress(){if(!this.stealthAddress){if(!this.nullifyingKey)throw Error(`No stealth address in UTXO if private key is not provided`);if(this.isNewStyle){if(!this.H0)throw Error(`No H0 point provided`);this.stealthAddress=I.getStealthAddressNewStyle(this.H0,this.nullifyingKey,this.spendingPublicKey)}else{if(!this.randomization)throw Error(`No randomization provided`);this.stealthAddress=I.getStealthAddress(this.randomization,this.nullifyingKey)}}return this.stealthAddress}getTokenAddress(t){let n=e.r(t)?this.mintAddress:this.erc20TokenAddress;if(!n)throw Error(`No token address provided`);return n}getEncryptionKey(){if(!this.nullifyingKey){if(!this.encryptionKey)throw Error(`No encryption key provided in UTXO`);return this.encryptionKey}return I.getEncryptionKeyPair(this.nullifyingKey).publicKey}},W=()=>o.default.crypto_box_SEALBYTES+o.default.crypto_secretbox_KEYBYTES,G=e=>{let t=o.default.crypto_secretbox_NONCEBYTES,n=W(),r=0,i=e[r];r+=1;let a=e.slice(r,r+t);r+=t;let s=[];for(let t=0;t<i;t+=1)s.push(e.slice(r,r+n)),r+=n;return{nonce:a,sealedKeys:s,ciphertext:e.slice(r)}},K=(e,t,n,r)=>{let{nonce:a,sealedKeys:s,ciphertext:c}=G(e),l=o.default.crypto_box_seal_open(s[r],i.ethers.getBytes(n),i.ethers.getBytes(t)),u=o.default.crypto_secretbox_open_easy(c,a,l);return Buffer.from(u)},q=(e,t,n)=>{let r=o.default.crypto_box_seal_open(e,i.ethers.getBytes(n),i.ethers.getBytes(t));return Buffer.from(r)},J=54912,Y=2,X=e=>e[0]*256+e[1],Z=(e,t)=>{let{privateKey:n,publicKey:r}=I.getEncryptionKeyPair(t.getShieldedPrivateKey()),i=X(e)===J?K(e.slice(Y),n,r,0):q(e,n,r),a=Buffer.from(i).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),o=e=>BigInt(`0x${e}`),c=e=>`0x${e}`,l=a.length>=8,u=l&&o(a[5])===1n,d=l?8:6,f=a[d]?c(a[d]):void 0,p=f?new s.PublicKey(Buffer.from(f.slice(2),`hex`)).toString():void 0;return{amount:o(a[0]),erc20TokenAddress:c(a[1]),randomization:o(a[2]),stealthAddress:c(a[3]),nullifyingKey:t.getShieldedPrivateKey(),timeStamp:o(a[4]).toString(),isNewStyle:u,...u?{H0:[o(a[6]),o(a[7])]}:{},mintAddress:p}},Q=(e,t)=>new U(Z(e,t)),$=e=>e&2n**255n-1n,ee=e=>e>>255n&1n,te=(...t)=>{e.a&&console.log(...t)};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return O}});
|