@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,7 +1,7 @@
|
|
|
1
1
|
import { chainIds as e, getOnchainChainId as t, networkRegistry as n } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { zeroAddress as r } from "../../constants/protocol.constants.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { caseInsensitiveEqual as i } from "../utils/caseInsensitive.utils.mjs";
|
|
4
|
+
import { ContractType as a } from "../../types/ethereum-network.types.mjs";
|
|
5
5
|
import { Logger as o } from "../../error-handling/logger.mjs";
|
|
6
6
|
import { createJsonRpcProvider as s } from "../utils/create-provider.mjs";
|
|
7
7
|
import { AccountActions as c } from "../../data-structures/AccountActions/AccountActions.mjs";
|
|
@@ -64,8 +64,8 @@ var d = (e) => {
|
|
|
64
64
|
value: n,
|
|
65
65
|
invokeWallet: r
|
|
66
66
|
}), h = (e, t, n, o, s) => {
|
|
67
|
-
let c = e.getContractWithFetcher(t,
|
|
68
|
-
return n.map((n, u) => m(
|
|
67
|
+
let c = e.getContractWithFetcher(t, a.HinkalContract);
|
|
68
|
+
return n.map((n, u) => m(i(n, r) ? void 0 : e.getContractWithFetcher(t, a.ERC20Contract, n), s ?? l(c), o[u], !0));
|
|
69
69
|
}, g = (e, t, n, r) => f({
|
|
70
70
|
contract: e,
|
|
71
71
|
func: "approve",
|
|
@@ -74,25 +74,25 @@ var d = (e) => {
|
|
|
74
74
|
}), _ = (e, t, n, o, s, c, l, u) => {
|
|
75
75
|
let d = [];
|
|
76
76
|
for (let s = 0; s < n.length; s += 1) {
|
|
77
|
-
let c = n[s], u =
|
|
77
|
+
let c = n[s], u = i(c, r) ? void 0 : e.getContractWithFetcher(t, a.ERC20Contract, c);
|
|
78
78
|
d.push(m(u, l, o[s], !1));
|
|
79
79
|
}
|
|
80
80
|
if (u) for (let n = 0; n < s.length; n += 1) {
|
|
81
81
|
let o = s[n];
|
|
82
|
-
if (!
|
|
83
|
-
let r = e.getContractWithFetcher(t,
|
|
82
|
+
if (!i(o, r)) {
|
|
83
|
+
let r = e.getContractWithFetcher(t, a.ERC20Contract, o);
|
|
84
84
|
d.push(g(r, u, c[n], !0));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
return d;
|
|
88
|
-
}, v = (e, t, n,
|
|
88
|
+
}, v = (e, t, n, a, o, s, c, l) => {
|
|
89
89
|
let u = [], d = [o], p = [s];
|
|
90
|
-
l.nativeFee > 0n && !
|
|
91
|
-
let m = _(e, t, d, p, [o], [c], n,
|
|
90
|
+
l.nativeFee > 0n && !i(o, r) && (d.push(r), p.push(l.nativeFee));
|
|
91
|
+
let m = _(e, t, d, p, [o], [c], n, a);
|
|
92
92
|
u.push(...m);
|
|
93
93
|
let h = l.nativeFee;
|
|
94
|
-
return
|
|
95
|
-
contract:
|
|
94
|
+
return i(o, r) && (h += c), u.push(f({
|
|
95
|
+
contract: a,
|
|
96
96
|
callDataString: l.calldata,
|
|
97
97
|
value: h > 0n ? h : void 0,
|
|
98
98
|
invokeWallet: !0
|
|
@@ -118,20 +118,20 @@ var d = (e) => {
|
|
|
118
118
|
}
|
|
119
119
|
}, x = (e) => {
|
|
120
120
|
let { hinkalWalletAddress: t } = n[e].contractData;
|
|
121
|
-
if (!t ||
|
|
121
|
+
if (!t || i(t, r)) throw Error("Hinkal Wallet Address is not set");
|
|
122
122
|
return t;
|
|
123
123
|
}, S = async (n, r) => {
|
|
124
124
|
if (n === e.localhost || !r) return;
|
|
125
|
-
let
|
|
126
|
-
if (!o || !
|
|
127
|
-
let e = await c.authorizeDelegation(
|
|
125
|
+
let a = t(n), { delegated: o, implementation: s } = await b(n, c.getSignerAddressFromPrivateKey(n, r)), l = x(n);
|
|
126
|
+
if (!o || !i(s, l)) {
|
|
127
|
+
let e = await c.authorizeDelegation(a, r, l);
|
|
128
128
|
return {
|
|
129
129
|
v: e.signature.v.toString(),
|
|
130
130
|
r: e.signature.r,
|
|
131
131
|
s: e.signature.s,
|
|
132
132
|
nonce: e.nonce.toString(),
|
|
133
133
|
address: l,
|
|
134
|
-
chainId: String(
|
|
134
|
+
chainId: String(a)
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../utils/caseInsensitive.utils.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../utils/string.utils.cjs`),o=require(`../utils/erc20tokenFunctions.cjs`),s=require(`../../constants/addresses.constants.cjs`),c=require(`../utils/getContractAddress.cjs`),l=require(`./emporium.helpers.cjs`),u=require(`../pre-transaction/getExternalSwapAddress.cjs`);let d=require(`ethers`);var f=(e,t,n,r,i,a,o=!1)=>{let s={tokenIn:t,tokenOut:r,fee:BigInt(a),recipient:i,amountIn:n,amountOutMinimum:0,sqrtPriceLimitX96:0};return l.emporiumOp({contract:new d.ethers.Contract(e,[`function exactInputSingle(tuple(address tokenIn,address tokenOut,uint24 fee,address recipient,uint256 amountIn,uint256 amountOutMinimum,uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)`]),func:`exactInputSingle`,args:[s],invokeWallet:o})},p=(e,t,n,r,i,o,s=!1)=>l.emporiumOp({contract:n,callDataString:a.replaceAllInstances(r,u.getExternalSwapAddress(e,t).slice(2),i.slice(2)),value:o,invokeWallet:s}),m=async(e,n)=>{let r=(await o.getErc20TokensForChainAPI(n)).find(e=>e.symbol===`USDT`);return r?t.caseInsensitiveEqual(e,r.erc20TokenAddress):!1},h=async(e,t,n,r,a,o)=>{if(await m(c.getContractAddress(n),e))try{await n.allowance(r,a)>0n&&t.push(l.createApproveEmporiumOp(n,a,0n,o))}catch(e){i.Logger.error(`Error in nullifyUsdtApprovalIfNeeded`,e)}},g=async(t,r,i,a,o,c,u,f)=>{if(i!==e.zeroAddress){let f=s.SWAP_FEE_TAKER_ADDRESSES[r],p=t.getContractWithFetcher(r,n.ContractType.ERC20Contract,i),m=await p.balanceOf(a);await h(r,c,p,a,f,u),c.push(l.createApproveEmporiumOp(p,f,2n**256n-1n,u));let g=new d.ethers.Contract(f,[`function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable`]),_=o;c.push(l.emporiumOp({contract:g,func:`takeSwapFee`,args:[i,m,e.HINKAL_SWAP_VARIABLE_RATE,_],invokeWallet:u}))}else{let t=o;c.push(l.emporiumOp({contract:t,value:f*e.HINKAL_SWAP_VARIABLE_RATE/10000n,invokeWallet:u}))}},_=async(t,i,a,o,c,u,m,_,v,y,b,x,S=!1)=>{let C=m<0n?-1n*m:m,w=[],T=s.NATIVE_TOKEN_WRAPPER_ADDRESSES[i],E=!1,D;if(a===r.ExternalActionId.OneInch||a===r.ExternalActionId.Lifi){if(u!==e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,u);w.push(l.createApproveEmporiumOp(e,o,C,S))}let s=0n;return u===e.zeroAddress&&(s+=C),_&&v===e.zeroAddress&&_<0n&&(s+=-1n*_),D=p(i,a,o,c,b,s>0n?s:void 0,S),w.push(D),(a===r.ExternalActionId.OneInch||y&&a===r.ExternalActionId.Lifi)&&v&&_!==void 0&&await g(t,i,v,b,x,w,S,_),w}if(!v||!_)throw Error(`There should be output token for UniSwap and Odos`);if(u===e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,T);w.push(l.emporiumOp({contract:e,func:`deposit`,value:C,invokeWallet:S})),u=T}let O=0n;if(v===e.zeroAddress&&(v=T,E=!0,O=await t.getContractWithFetcher(i,n.ContractType.ERC20Contract,T).balanceOf(b)),u!==e.zeroAddress){let e=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,u);await h(i,w,e,b,o,S),w.push(l.createApproveEmporiumOp(e,o,C,S))}if(D=a===r.ExternalActionId.Uniswap?f(o,u,C,v,b,c,S):p(i,a,o,c,b,void 0,S),w.push(D),await g(t,i,v,b,x,w,S,_),E){let e=s.WRAPPER_TOKEN_EXCHANGE_ADDRESSES[i],r=t.getContractWithFetcher(i,n.ContractType.ERC20Contract,T);w.push(l.createApproveEmporiumOp(r,e,2n**256n-1n,S));let a=new d.ethers.Contract(e,[`function withdrawBalanceDifference(uint256 beforeBalance) external`]);w.push(l.emporiumOp({contract:a,func:`withdrawBalanceDifference`,args:[O],invokeWallet:S}))}return w};exports.createSwapToEmporiumOpForUniswap=f,exports.createSwapToEmporiumOps=_;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HINKAL_SWAP_VARIABLE_RATE as e, zeroAddress as t } from "../../constants/protocol.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { caseInsensitiveEqual as n } from "../utils/caseInsensitive.utils.mjs";
|
|
3
|
+
import { ContractType as r } from "../../types/ethereum-network.types.mjs";
|
|
4
4
|
import { ExternalActionId as i } from "../../types/external-action.types.mjs";
|
|
5
5
|
import { Logger as a } from "../../error-handling/logger.mjs";
|
|
6
6
|
import { replaceAllInstances as o } from "../utils/string.utils.mjs";
|
|
@@ -33,17 +33,17 @@ var g = (e, t, n, r, i, a, o = !1) => {
|
|
|
33
33
|
value: a,
|
|
34
34
|
invokeWallet: s
|
|
35
35
|
}), v = async (e, t) => {
|
|
36
|
-
let
|
|
37
|
-
return
|
|
36
|
+
let r = (await s(t)).find((e) => e.symbol === "USDT");
|
|
37
|
+
return r ? n(e, r.erc20TokenAddress) : !1;
|
|
38
38
|
}, y = async (e, t, n, r, i, o) => {
|
|
39
39
|
if (await v(d(n), e)) try {
|
|
40
40
|
await n.allowance(r, i) > 0n && t.push(f(n, i, 0n, o));
|
|
41
41
|
} catch (e) {
|
|
42
42
|
a.error("Error in nullifyUsdtApprovalIfNeeded", e);
|
|
43
43
|
}
|
|
44
|
-
}, b = async (
|
|
44
|
+
}, b = async (n, i, a, o, s, c, u, d) => {
|
|
45
45
|
if (a !== t) {
|
|
46
|
-
let t = l[i], d =
|
|
46
|
+
let t = l[i], d = n.getContractWithFetcher(i, r.ERC20Contract, a), m = await d.balanceOf(o);
|
|
47
47
|
await y(i, c, d, o, t, u), c.push(f(d, t, 2n ** 256n - 1n, u));
|
|
48
48
|
let g = new h.Contract(t, ["function takeSwapFee(address token, uint256 beforeBalance, uint256 variableRate, address relay) external payable"]), _ = s;
|
|
49
49
|
c.push(p({
|
|
@@ -65,19 +65,19 @@ var g = (e, t, n, r, i, a, o = !1) => {
|
|
|
65
65
|
invokeWallet: u
|
|
66
66
|
}));
|
|
67
67
|
}
|
|
68
|
-
}, x = async (e,
|
|
69
|
-
let T = d < 0n ? -1n * d : d, E = [], D = c[
|
|
68
|
+
}, x = async (e, n, a, o, s, l, d, m, v, x, S, C, w = !1) => {
|
|
69
|
+
let T = d < 0n ? -1n * d : d, E = [], D = c[n], O = !1, k;
|
|
70
70
|
if (a === i.OneInch || a === i.Lifi) {
|
|
71
71
|
if (l !== t) {
|
|
72
|
-
let t = e.getContractWithFetcher(
|
|
72
|
+
let t = e.getContractWithFetcher(n, r.ERC20Contract, l);
|
|
73
73
|
E.push(f(t, o, T, w));
|
|
74
74
|
}
|
|
75
75
|
let c = 0n;
|
|
76
|
-
return l === t && (c += T), m && v === t && m < 0n && (c += -1n * m), k = _(
|
|
76
|
+
return l === t && (c += T), m && v === t && m < 0n && (c += -1n * m), k = _(n, a, o, s, S, c > 0n ? c : void 0, w), E.push(k), (a === i.OneInch || x && a === i.Lifi) && v && m !== void 0 && await b(e, n, v, S, C, E, w, m), E;
|
|
77
77
|
}
|
|
78
78
|
if (!v || !m) throw Error("There should be output token for UniSwap and Odos");
|
|
79
79
|
if (l === t) {
|
|
80
|
-
let t = e.getContractWithFetcher(
|
|
80
|
+
let t = e.getContractWithFetcher(n, r.ERC20Contract, D);
|
|
81
81
|
E.push(p({
|
|
82
82
|
contract: t,
|
|
83
83
|
func: "deposit",
|
|
@@ -86,12 +86,12 @@ var g = (e, t, n, r, i, a, o = !1) => {
|
|
|
86
86
|
})), l = D;
|
|
87
87
|
}
|
|
88
88
|
let A = 0n;
|
|
89
|
-
if (v === t && (v = D, O = !0, A = await e.getContractWithFetcher(
|
|
90
|
-
let t = e.getContractWithFetcher(
|
|
91
|
-
await y(
|
|
89
|
+
if (v === t && (v = D, O = !0, A = await e.getContractWithFetcher(n, r.ERC20Contract, D).balanceOf(S)), l !== t) {
|
|
90
|
+
let t = e.getContractWithFetcher(n, r.ERC20Contract, l);
|
|
91
|
+
await y(n, E, t, S, o, w), E.push(f(t, o, T, w));
|
|
92
92
|
}
|
|
93
|
-
if (k = a === i.Uniswap ? g(o, l, T, v, S, s, w) : _(
|
|
94
|
-
let t = u[
|
|
93
|
+
if (k = a === i.Uniswap ? g(o, l, T, v, S, s, w) : _(n, a, o, s, S, void 0, w), E.push(k), await b(e, n, v, S, C, E, w, m), O) {
|
|
94
|
+
let t = u[n], i = e.getContractWithFetcher(n, r.ERC20Contract, D);
|
|
95
95
|
E.push(f(i, t, 2n ** 256n - 1n, w));
|
|
96
96
|
let a = new h.Contract(t, ["function withdrawBalanceDifference(uint256 beforeBalance) external"]);
|
|
97
97
|
E.push(p({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../data-structures/crypto-keys/keys.cjs`),n=require(`../../types/circom-data.types.cjs`),r=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),i=require(`../utils/external-action.utils.cjs`),a=require(`./getOriginalSender.cjs`),o=require(`../utils/bit.operations.cjs`);let s=require(`ethers`);var c=e=>{if(e.H0?.[0]!==void 0&&e.H0[1]!==void 0)return[e.H0[0],e.H0[1]];if(e.randomization!==void 0)return t.UserKeys.getH0FromRandomization(e.randomization);throw Error(`UTXO missing H0 coordinates for proof input`)},l=e=>{if(e.randomization!==void 0)return e.randomization.toString();
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../data-structures/crypto-keys/keys.cjs`),n=require(`../../types/circom-data.types.cjs`),r=require(`../../data-structures/crypto-keys/encryptDecryptUtxo.cjs`),i=require(`../utils/external-action.utils.cjs`),a=require(`./getOriginalSender.cjs`),o=require(`../utils/bit.operations.cjs`);let s=require(`ethers`);var c=e=>{if(e.H0?.[0]!==void 0&&e.H0[1]!==void 0)return[e.H0[0],e.H0[1]];if(e.randomization!==void 0)return t.UserKeys.getH0FromRandomization(e.randomization);throw Error(`UTXO missing H0 coordinates for proof input`)},l=e=>{if(e.isNewStyle)return`0`;if(e.randomization!==void 0)return e.randomization.toString();throw Error(`UTXO missing randomization for old-style proof input`)},u=Array.from({length:25},()=>`0`),d=e=>e.length>0&&e.every(e=>e.every(e=>BigInt(e.amount)===0n)),f=e=>({inCommitmentSiblings:e.map(e=>e.map(()=>[...u])),inCommitmentSiblingSides:e.map(e=>e.map(()=>[...u])),inNullifiers:e.map(e=>e.map(()=>`0`))}),p=e=>e.map(e=>e.map(e=>e.amount===0n?`0`:e.getCommitment())),m=(t,n,r=!1)=>{let i=[];for(let a=0;a<t.length;a+=1){let o=0n,s=0n;for(let e=0;e<t[a].length;e+=1)o+=t[a][e].amount;for(let e=0;e<n[a].length;e+=1)s+=n[a][e].amount;s-o<0?r?i.push(s-o):i.push(e.CIRCOM_P+(s-o)):i.push(s-o)}return i},h=e=>e.map(e=>e>=0n?0n:e),g=e=>{if(e.length===0)return[];let t=[[``]];for(let n=0;n<e.length;n+=1)n>0&&t.push([``]),e[n].forEach((e,i)=>{t[n][i]=`0x${Buffer.from(r.encryptUtxo(e)).toString(`hex`)}`});return t},_=e=>{let t={...e};return t.amountChanges=e.amountChanges.map(e=>e.toString()),t.calldataHash=e.calldataHash.toString(),t.rootHashAccessToken=e.rootHashAccessToken?.toString(),t.stealthAddressStructure.extraRandomization=e.stealthAddressStructure.extraRandomization.toString(),t.stealthAddressStructure.stealthAddress=e.stealthAddressStructure.stealthAddress.toString(),t.stealthAddressStructure.H0=e.stealthAddressStructure.H0.toString(),t.stealthAddressStructure.H1=e.stealthAddressStructure.H1.toString(),t.rootHashHinkal=e.rootHashHinkal?.toString(),t.externalActionId=e.externalActionId?.toString(),t.slippageValues=e.slippageValues.map(e=>e.toString()),t.hinkalLogicArgs.inHinkalAddress=e.hinkalLogicArgs.inHinkalAddress.toString(),t.hinkalLogicArgs.executeApprovalChanges=e.hinkalLogicArgs.executeApprovalChanges.map(e=>e.toString()),t.hinkalLogicArgs.useApprovalUtxoData=e.hinkalLogicArgs.useApprovalUtxoData.map(e=>({approvalChanges:e.approvalChanges.map(e=>e.toString()),externalApprovalAddresses:e.externalApprovalAddresses,conversionInHinkalAddress:e.conversionInHinkalAddress.map(e=>e.toString())})),t.feeStructure.flatFee=e.feeStructure.flatFee.toString(),t.feeStructure.variableRate=e.feeStructure.variableRate.toString(),t},v=(t,r,o,c,l,u,d,f,p,m,h,g)=>{let _=Object.values(d||n.defaultHookData),v=g??a.getOriginalSender(o??e.zeroAddress,r),y=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint16`,`address`,`address`,`uint256`,`bytes`],[t,r,o,typeof c==`bigint`?c:i.getExternalActionIdHash(c),l]),b=s.ethers.AbiCoder.defaultAbiCoder().encode([`tuple(address, address, bytes, bytes)`,`bytes[][]`,`tuple(address, uint256, uint256)`,`int256[]`,`bool[]`,`tuple(uint8 v, bytes32 r, bytes32 s, uint256 accessKey, uint256 nonce, address ethereumAddress)`,`address`],[_,u,[m.feeToken,m.flatFee,m.variableRate],f,p,h,v]),x=BigInt(s.ethers.keccak256(y)),S=BigInt(s.ethers.keccak256(b)),C=s.ethers.AbiCoder.defaultAbiCoder().encode([`uint256`,`uint256`],[x,S]);return BigInt(s.ethers.keccak256(C))%e.CIRCOM_P},y=(e,t,n,r,i)=>e.startsWith(`mainEVMCircuitMin0`)?3:2+t.length+n.length+1+r.flat().length+i.flat().length+1+1+1+1+1+1,b=(e,n,r)=>{let{H0:i}=t.UserKeys.getRandomizedStealthPair(e,n),a=t.UserKeys.getH1FromH0(i,n),s=BigInt(t.UserKeys.getStealthAddressNewStyle(i,n,r));return{extraRandomization:o.addHighestBitToNumber(i[0]),H0:i[1],H1:a[1],stealthAddress:s}},x=(e,t)=>t.length===0?`mainEVMCircuitMin0`:`mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;exports.buildOutCommitments=p,exports.buildZeroInputMerkleDataFromSerialized=f,exports.calcAmountChanges=m,exports.calcEncryptedOutputs=g,exports.calcPublicSignalCount=y,exports.calcStealthAddressStructure=b,exports.createCallDataHash=v,exports.getSlippageValues=h,exports.getUtxoCircuitH0Coords=c,exports.getUtxoCircuitInRandomization=l,exports.getZkProofVerifierName=x,exports.hasOnlyZeroAmounts=d,exports.serializeCircomData=_;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Utxo } from '../../data-structures/utxo/Utxo';
|
|
1
|
+
import { IUtxoConstructor, Utxo } from '../../data-structures/utxo/Utxo';
|
|
2
2
|
import { MerkleTree } from '../../data-structures/merkle-tree';
|
|
3
3
|
import { CircomDataJsonType, CircomDataType, HookDataType, StealthAddressStructure } from '../../types/circom-data.types';
|
|
4
4
|
import { ExternalActionId } from '../../types/external-action.types';
|
|
@@ -7,6 +7,14 @@ import { SignatureData } from '../../types/crypto.types';
|
|
|
7
7
|
export declare const getUtxoCircuitH0Coords: (utxo: Utxo) => [bigint, bigint];
|
|
8
8
|
export declare const getUtxoCircuitInRandomization: (utxo: Utxo) => string;
|
|
9
9
|
export declare const buildInNullifiers: (inputUtxos: Utxo[][], onChainCreation: boolean[]) => string[][];
|
|
10
|
+
export declare const hasOnlyZeroAmounts: <T extends {
|
|
11
|
+
amount: bigint;
|
|
12
|
+
}>(inputUtxosByToken: T[][]) => boolean;
|
|
13
|
+
export declare const buildZeroInputMerkleDataFromSerialized: (inputUtxosSerialized: IUtxoConstructor[][]) => {
|
|
14
|
+
inCommitmentSiblings: string[][][];
|
|
15
|
+
inCommitmentSiblingSides: string[][][];
|
|
16
|
+
inNullifiers: string[][];
|
|
17
|
+
};
|
|
10
18
|
export declare const buildOutCommitments: (outputUtxos: Utxo[][]) => string[][];
|
|
11
19
|
export declare const calcAmountChanges: (inputUtxos: Utxo[][], outputUtxos: Utxo[][], forCircomData?: boolean) => bigint[];
|
|
12
20
|
export declare const getSlippageValues: (amountChanges: bigint[]) => bigint[];
|
|
@@ -12,10 +12,14 @@ var l = (e) => {
|
|
|
12
12
|
if (e.randomization !== void 0) return n.getH0FromRandomization(e.randomization);
|
|
13
13
|
throw Error("UTXO missing H0 coordinates for proof input");
|
|
14
14
|
}, u = (e) => {
|
|
15
|
+
if (e.isNewStyle) return "0";
|
|
15
16
|
if (e.randomization !== void 0) return e.randomization.toString();
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
throw Error("UTXO missing randomization for old-style proof input");
|
|
18
|
+
}, d = Array.from({ length: 25 }, () => "0"), f = (e) => e.length > 0 && e.every((e) => e.every((e) => BigInt(e.amount) === 0n)), p = (e) => ({
|
|
19
|
+
inCommitmentSiblings: e.map((e) => e.map(() => [...d])),
|
|
20
|
+
inCommitmentSiblingSides: e.map((e) => e.map(() => [...d])),
|
|
21
|
+
inNullifiers: e.map((e) => e.map(() => "0"))
|
|
22
|
+
}), m = (e) => e.map((e) => e.map((e) => e.amount === 0n ? "0" : e.getCommitment())), h = (t, n, r = !1) => {
|
|
19
23
|
let i = [];
|
|
20
24
|
for (let a = 0; a < t.length; a += 1) {
|
|
21
25
|
let o = 0n, s = 0n;
|
|
@@ -24,21 +28,21 @@ var l = (e) => {
|
|
|
24
28
|
s - o < 0 ? r ? i.push(s - o) : i.push(e + (s - o)) : i.push(s - o);
|
|
25
29
|
}
|
|
26
30
|
return i;
|
|
27
|
-
},
|
|
31
|
+
}, g = (e) => e.map((e) => e >= 0n ? 0n : e), _ = (e) => {
|
|
28
32
|
if (e.length === 0) return [];
|
|
29
33
|
let t = [[""]];
|
|
30
34
|
for (let n = 0; n < e.length; n += 1) n > 0 && t.push([""]), e[n].forEach((e, r) => {
|
|
31
35
|
t[n][r] = `0x${Buffer.from(i(e)).toString("hex")}`;
|
|
32
36
|
});
|
|
33
37
|
return t;
|
|
34
|
-
},
|
|
38
|
+
}, v = (e) => {
|
|
35
39
|
let t = { ...e };
|
|
36
40
|
return t.amountChanges = e.amountChanges.map((e) => e.toString()), t.calldataHash = e.calldataHash.toString(), t.rootHashAccessToken = e.rootHashAccessToken?.toString(), t.stealthAddressStructure.extraRandomization = e.stealthAddressStructure.extraRandomization.toString(), t.stealthAddressStructure.stealthAddress = e.stealthAddressStructure.stealthAddress.toString(), t.stealthAddressStructure.H0 = e.stealthAddressStructure.H0.toString(), t.stealthAddressStructure.H1 = e.stealthAddressStructure.H1.toString(), t.rootHashHinkal = e.rootHashHinkal?.toString(), t.externalActionId = e.externalActionId?.toString(), t.slippageValues = e.slippageValues.map((e) => e.toString()), t.hinkalLogicArgs.inHinkalAddress = e.hinkalLogicArgs.inHinkalAddress.toString(), t.hinkalLogicArgs.executeApprovalChanges = e.hinkalLogicArgs.executeApprovalChanges.map((e) => e.toString()), t.hinkalLogicArgs.useApprovalUtxoData = e.hinkalLogicArgs.useApprovalUtxoData.map((e) => ({
|
|
37
41
|
approvalChanges: e.approvalChanges.map((e) => e.toString()),
|
|
38
42
|
externalApprovalAddresses: e.externalApprovalAddresses,
|
|
39
43
|
conversionInHinkalAddress: e.conversionInHinkalAddress.map((e) => e.toString())
|
|
40
44
|
})), t.feeStructure.flatFee = e.feeStructure.flatFee.toString(), t.feeStructure.variableRate = e.feeStructure.variableRate.toString(), t;
|
|
41
|
-
},
|
|
45
|
+
}, y = (n, i, s, l, u, d, f, p, m, h, g, _) => {
|
|
42
46
|
let v = Object.values(f || r), y = _ ?? o(s ?? t, i), b = c.AbiCoder.defaultAbiCoder().encode([
|
|
43
47
|
"uint16",
|
|
44
48
|
"address",
|
|
@@ -73,7 +77,7 @@ var l = (e) => {
|
|
|
73
77
|
y
|
|
74
78
|
]), S = BigInt(c.keccak256(b)), C = BigInt(c.keccak256(x)), w = c.AbiCoder.defaultAbiCoder().encode(["uint256", "uint256"], [S, C]);
|
|
75
79
|
return BigInt(c.keccak256(w)) % e;
|
|
76
|
-
},
|
|
80
|
+
}, b = (e, t, n, r, i) => e.startsWith("mainEVMCircuitMin0") ? 3 : 2 + t.length + n.length + 1 + r.flat().length + i.flat().length + 1 + 1 + 1 + 1 + 1 + 1, x = (e, t, r) => {
|
|
77
81
|
let { H0: i } = n.getRandomizedStealthPair(e, t), a = n.getH1FromH0(i, t), o = BigInt(n.getStealthAddressNewStyle(i, t, r));
|
|
78
82
|
return {
|
|
79
83
|
extraRandomization: s(i[0]),
|
|
@@ -81,6 +85,6 @@ var l = (e) => {
|
|
|
81
85
|
H1: a[1],
|
|
82
86
|
stealthAddress: o
|
|
83
87
|
};
|
|
84
|
-
},
|
|
88
|
+
}, S = (e, t) => t.length === 0 ? "mainEVMCircuitMin0" : `mainEVMCircuit${e.length}x${e[0].length}x${t[0].length}`;
|
|
85
89
|
//#endregion
|
|
86
|
-
export {
|
|
90
|
+
export { m as buildOutCommitments, p as buildZeroInputMerkleDataFromSerialized, h as calcAmountChanges, _ as calcEncryptedOutputs, b as calcPublicSignalCount, x as calcStealthAddressStructure, y as createCallDataHash, g as getSlippageValues, l as getUtxoCircuitH0Coords, u as getUtxoCircuitInRandomization, S as getZkProofVerifierName, f as hasOnlyZeroAmounts, v as serializeCircomData };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`../../webworker/worker.registry.cjs`),
|
|
1
|
+
const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),s=require(`./fetchMerkleTreeSiblings.cjs`),c=require(`./fetchOnChainRootHashes.cjs`);var l=async(t,n)=>{let r=t.getRootHash();if(r===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s;return s=(e.isNode,await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:s.inCommitmentSiblings,inCommitmentSiblingSides:s.inCommitmentSiblingSides,rootHashHinkal:r}},u=async(e,t)=>{let r=await s.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal)}},d=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await c.fetchOnChainRootHashes(e);return n===r}catch{return!1}},f=async(e,n,r)=>await d(e,r)||t.isLocalNetwork(e)?l(r,n):u(e,n),p=async(n,s,l)=>{if(r.hasOnlyZeroAmounts(l)){let e=r.buildZeroInputMerkleDataFromSerialized(l);if(t.isLocalNetwork(n)){let t=s.getRootHash();if(t===void 0)throw Error(`Root hash not available from hinkal merkle tree`);return{...e,rootHashHinkal:t}}let{hinkalRootHash:i}=await c.fetchOnChainRootHashes(n);return{...e,rootHashHinkal:i}}if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r}=await f(n,l,s);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,inNullifiers:await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r},c]=await Promise.all([f(n,l,s),a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})]);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,inNullifiers:c}}};exports.getDataFromWorkers=p;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { MerkleTree } from '../../data-structures/merkle-tree';
|
|
2
2
|
import { IUtxoConstructor } from '../../data-structures/utxo/Utxo';
|
|
3
|
-
import { ZKProofWorkerBuildInNullifiersReturn } from '../../webworker/zkProofWorker/zkProofWorker.types';
|
|
4
3
|
interface MerkleTreeSiblingsAndRootHashes {
|
|
5
4
|
inCommitmentSiblings: string[][][];
|
|
6
5
|
inCommitmentSiblingSides: string[][][];
|
|
@@ -8,9 +7,9 @@ interface MerkleTreeSiblingsAndRootHashes {
|
|
|
8
7
|
}
|
|
9
8
|
export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, inputUtxosSerialized: IUtxoConstructor[][], merkleTree: MerkleTree<bigint>) => Promise<MerkleTreeSiblingsAndRootHashes>;
|
|
10
9
|
export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, inputUtxosSerialized: IUtxoConstructor[][]) => Promise<{
|
|
10
|
+
rootHashHinkal: bigint;
|
|
11
11
|
inCommitmentSiblings: string[][][];
|
|
12
12
|
inCommitmentSiblingSides: string[][][];
|
|
13
|
-
|
|
14
|
-
inNullifiers: ZKProofWorkerBuildInNullifiersReturn;
|
|
13
|
+
inNullifiers: string[][];
|
|
15
14
|
}>;
|
|
16
15
|
export {};
|
|
@@ -1,77 +1,94 @@
|
|
|
1
1
|
import { isNode as e } from "../../constants/vite.constants.mjs";
|
|
2
2
|
import { isLocalNetwork as t } from "../../constants/chains.constants.mjs";
|
|
3
3
|
import { toBigInt as n } from "../utils/amounts.utils.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { buildZeroInputMerkleDataFromSerialized as r, hasOnlyZeroAmounts as i } from "./common.snarkjs.mjs";
|
|
5
|
+
import { WorkerVariant as a } from "../../webworker/worker.registry.mjs";
|
|
6
|
+
import { performTaskWithWorker as o } from "../../webworker/performTaskWithWorker.mjs";
|
|
7
|
+
import { ZKProofWorkerActionType as s } from "../../webworker/zkProofWorker/zkProofWorker.types.mjs";
|
|
8
|
+
import { fetchMerkleTreeSiblings as c } from "./fetchMerkleTreeSiblings.mjs";
|
|
9
|
+
import { fetchOnChainRootHashes as l } from "./fetchOnChainRootHashes.mjs";
|
|
9
10
|
//#region libs/shared/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.ts
|
|
10
|
-
var
|
|
11
|
+
var u = async (e, t) => {
|
|
11
12
|
let n = e.getRootHash();
|
|
12
13
|
if (n === void 0) throw Error("Root hash not available from hinkal merkle tree");
|
|
13
|
-
let
|
|
14
|
-
return
|
|
15
|
-
type:
|
|
14
|
+
let r;
|
|
15
|
+
return r = await o({
|
|
16
|
+
type: a.ZKProof,
|
|
16
17
|
payload: {
|
|
17
|
-
type:
|
|
18
|
+
type: s.CALC_COMMITMENTS_SIBLING_AND_SIDES,
|
|
18
19
|
data: {
|
|
19
20
|
inputUtxosSerialized: t,
|
|
20
21
|
merkleTreeSerialized: e.toJSON()
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
}), {
|
|
24
|
-
inCommitmentSiblings:
|
|
25
|
-
inCommitmentSiblingSides:
|
|
25
|
+
inCommitmentSiblings: r.inCommitmentSiblings,
|
|
26
|
+
inCommitmentSiblingSides: r.inCommitmentSiblingSides,
|
|
26
27
|
rootHashHinkal: n
|
|
27
28
|
};
|
|
28
|
-
},
|
|
29
|
-
let r = await
|
|
29
|
+
}, d = async (e, t) => {
|
|
30
|
+
let r = await c(e, t);
|
|
30
31
|
return {
|
|
31
32
|
inCommitmentSiblings: r.inCommitmentSiblings,
|
|
32
33
|
inCommitmentSiblingSides: r.inCommitmentSiblingSides,
|
|
33
34
|
rootHashHinkal: n(r.rootHashHinkal)
|
|
34
35
|
};
|
|
35
|
-
},
|
|
36
|
+
}, f = async (e, t) => {
|
|
36
37
|
if (!t) return !1;
|
|
37
38
|
try {
|
|
38
39
|
let n = t.getRootHash();
|
|
39
40
|
if (n === void 0) return !1;
|
|
40
|
-
let { hinkalRootHash: r } = await
|
|
41
|
+
let { hinkalRootHash: r } = await l(e);
|
|
41
42
|
return n === r;
|
|
42
43
|
} catch {
|
|
43
44
|
return !1;
|
|
44
45
|
}
|
|
45
|
-
},
|
|
46
|
+
}, p = async (e, n, r) => await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u) => {
|
|
47
|
+
if (i(u)) {
|
|
48
|
+
let e = r(u);
|
|
49
|
+
if (t(n)) {
|
|
50
|
+
let t = c.getRootHash();
|
|
51
|
+
if (t === void 0) throw Error("Root hash not available from hinkal merkle tree");
|
|
52
|
+
return {
|
|
53
|
+
...e,
|
|
54
|
+
rootHashHinkal: t
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
let { hinkalRootHash: i } = await l(n);
|
|
58
|
+
return {
|
|
59
|
+
...e,
|
|
60
|
+
rootHashHinkal: i
|
|
61
|
+
};
|
|
62
|
+
}
|
|
46
63
|
if (e) {
|
|
47
|
-
let { inCommitmentSiblings: e, inCommitmentSiblingSides:
|
|
64
|
+
let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r } = await p(n, u, c);
|
|
48
65
|
return {
|
|
49
66
|
inCommitmentSiblings: e,
|
|
50
|
-
inCommitmentSiblingSides:
|
|
51
|
-
rootHashHinkal:
|
|
52
|
-
inNullifiers: await
|
|
53
|
-
type:
|
|
67
|
+
inCommitmentSiblingSides: t,
|
|
68
|
+
rootHashHinkal: r,
|
|
69
|
+
inNullifiers: await o({
|
|
70
|
+
type: a.ZKProof,
|
|
54
71
|
payload: {
|
|
55
|
-
type:
|
|
56
|
-
data: { inputUtxosSerialized:
|
|
72
|
+
type: s.BUILD_IN_NULLIFIERS,
|
|
73
|
+
data: { inputUtxosSerialized: u }
|
|
57
74
|
}
|
|
58
75
|
})
|
|
59
76
|
};
|
|
60
77
|
} else {
|
|
61
|
-
let [{ inCommitmentSiblings: e, inCommitmentSiblingSides:
|
|
62
|
-
type:
|
|
78
|
+
let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r }, i] = await Promise.all([p(n, u, c), o({
|
|
79
|
+
type: a.ZKProof,
|
|
63
80
|
payload: {
|
|
64
|
-
type:
|
|
65
|
-
data: { inputUtxosSerialized:
|
|
81
|
+
type: s.BUILD_IN_NULLIFIERS,
|
|
82
|
+
data: { inputUtxosSerialized: u }
|
|
66
83
|
}
|
|
67
84
|
})]);
|
|
68
85
|
return {
|
|
69
86
|
inCommitmentSiblings: e,
|
|
70
|
-
inCommitmentSiblingSides:
|
|
71
|
-
rootHashHinkal:
|
|
72
|
-
inNullifiers:
|
|
87
|
+
inCommitmentSiblingSides: t,
|
|
88
|
+
rootHashHinkal: r,
|
|
89
|
+
inNullifiers: i
|
|
73
90
|
};
|
|
74
91
|
}
|
|
75
92
|
};
|
|
76
93
|
//#endregion
|
|
77
|
-
export {
|
|
94
|
+
export { m as getDataFromWorkers };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);let e=require(`ethers`);var t=t=>JSON.parse(new e.ethers.Interface(t).formatJson()),n=e=>Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n)]));exports.toJsonAbi=t,exports.withJsonAbis=n;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ethers as e } from "ethers";
|
|
2
|
+
//#region libs/shared/common/src/functions/utils/abi.utils.ts
|
|
3
|
+
var t = (t) => JSON.parse(new e.Interface(t).formatJson()), n = (e) => Object.fromEntries(Object.entries(e).map(([e, n]) => [e, t(n)]));
|
|
4
|
+
//#endregion
|
|
5
|
+
export { t as toJsonAbi, n as withJsonAbis };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`);var t=(t,n=e.CIRCOM_P)=>{let r=t%n;return r>=0n?r:r+n},n=(e,n,r)=>{let i=1n,a=t(e,r),o=n;for(;o>0n;)o%2n==1n&&(i=i*a%r),o/=2n,a=a*a%r;return i};exports.mod=t,exports.modpow=n;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CIRCOM_P as e } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
//#region libs/shared/common/src/functions/utils/bigint-math.utils.ts
|
|
3
|
+
var t = (t, n = e) => {
|
|
4
|
+
let r = t % n;
|
|
5
|
+
return r >= 0n ? r : r + n;
|
|
6
|
+
}, n = (e, n, r) => {
|
|
7
|
+
let i = 1n, a = t(e, r), o = n;
|
|
8
|
+
for (; o > 0n;) o % 2n == 1n && (i = i * a % r), o /= 2n, a = a * a % r;
|
|
9
|
+
return i;
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { t as mod, n as modpow };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./upToDateState.cjs`),require(`../../error-handling/logger.cjs`),require(`../../mutexes/mutex.cjs`),require(
|
|
1
|
+
require(`./upToDateState.cjs`),require(`../../error-handling/logger.cjs`),require(`../../mutexes/mutex.cjs`),require(`../../data-structures/private-balances/BalanceChangedHandler.cjs`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../snarkjs/constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);var n=class{cachedPublicKey;cachedAt=0;inFlight;constructor(e=300*1e3){this.ttlMs=e}async getPublicKey(){return this.cachedPublicKey&&Date.now()-this.cachedAt<this.ttlMs?this.cachedPublicKey:(this.inFlight||=t.httpClient.get(`${e.ENCLAVE_URL}/handshake`).then(e=>(this.cachedPublicKey=e.public_key,this.cachedAt=Date.now(),this.cachedPublicKey)).finally(()=>{this.inFlight=void 0}),this.inFlight)}invalidate(){this.cachedPublicKey=void 0,this.cachedAt=0}},r=new n;exports.EnclaveHandshakeService=n,exports.enclaveHandshakeService=r;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class EnclaveHandshakeService {
|
|
2
|
+
private readonly ttlMs;
|
|
3
|
+
private cachedPublicKey?;
|
|
4
|
+
private cachedAt;
|
|
5
|
+
private inFlight?;
|
|
6
|
+
constructor(ttlMs?: number);
|
|
7
|
+
getPublicKey(): Promise<string>;
|
|
8
|
+
invalidate(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare const enclaveHandshakeService: EnclaveHandshakeService;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ENCLAVE_URL as e } from "../snarkjs/constant.mjs";
|
|
2
|
+
import { httpClient as t } from "../../data-structures/http/HttpClient.mjs";
|
|
3
|
+
import "../../data-structures/http/index.mjs";
|
|
4
|
+
//#region libs/shared/common/src/functions/utils/enclaveHandshakeService.ts
|
|
5
|
+
var n = class {
|
|
6
|
+
cachedPublicKey;
|
|
7
|
+
cachedAt = 0;
|
|
8
|
+
inFlight;
|
|
9
|
+
constructor(e = 300 * 1e3) {
|
|
10
|
+
this.ttlMs = e;
|
|
11
|
+
}
|
|
12
|
+
async getPublicKey() {
|
|
13
|
+
return this.cachedPublicKey && Date.now() - this.cachedAt < this.ttlMs ? this.cachedPublicKey : (this.inFlight ||= t.get(`${e}/handshake`).then((e) => (this.cachedPublicKey = e.public_key, this.cachedAt = Date.now(), this.cachedPublicKey)).finally(() => {
|
|
14
|
+
this.inFlight = void 0;
|
|
15
|
+
}), this.inFlight);
|
|
16
|
+
}
|
|
17
|
+
invalidate() {
|
|
18
|
+
this.cachedPublicKey = void 0, this.cachedAt = 0;
|
|
19
|
+
}
|
|
20
|
+
}, r = new n();
|
|
21
|
+
//#endregion
|
|
22
|
+
export { n as EnclaveHandshakeService, r as enclaveHandshakeService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`./serialize.utils.cjs`),n=require(`./enclaveHandshakeService.cjs`);let r=require(`ethers`),i=require(`libsodium-wrappers`);i=e.__toESM(i);let a=require(`node-forge`);a=e.__toESM(a);var o=e=>typeof e==`bigint`||typeof e==`number`?e.toString():e,s=e=>a.util.hexToBytes(e.replace(`0x`,``)),c=e=>{let t=structuredClone(e);return Object.entries(t).forEach(([e,n])=>{t[e]=o(n),Array.isArray(n)&&(Array.isArray(n[0])?t[e]=n.map(e=>e.map(o)):t[e]=n.map(o))}),t},l=(e,t)=>{let n=a.util.decode64(e),r=a.asn1.fromDer(a.util.createBuffer(n)),i=a.pki.publicKeyFromAsn1(r),o=a.util.binary.raw.encode(t),s=i.encrypt(o,`RSA-OAEP`,{md:a.md.sha1.create(),mgf1:{md:a.md.sha1.create()}});return a.util.encode64(s)},u=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_NONCEBYTES),o=i.default.crypto_secretbox_easy(t,n,e),c=s(r.ethers.hexlify(n)+r.ethers.hexlify(o).slice(2));return a.util.encode64(c)},d=(e,t)=>{let n=i.default.randombytes_buf(i.default.crypto_secretbox_KEYBYTES);return{keyCiphertext:l(t,n),inputCiphertext:u(n,e)}},f=(e,n)=>{let r=typeof e==`string`?e:t.safeJsonStringify(c(e));return d(new TextEncoder().encode(r),n)},p=async e=>f(e,await n.enclaveHandshakeService.getPublicKey()),m=async e=>d(e,await n.enclaveHandshakeService.getPublicKey());exports.makeEnclaveHandshakeAndEncryptInput=p,exports.makeEnclaveHandshakeAndEncryptUint8Array=m;
|
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
import { safeJsonStringify as e } from "./serialize.utils.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "
|
|
5
|
-
import
|
|
6
|
-
import i from "libsodium-wrappers";
|
|
7
|
-
import * as a from "node-forge";
|
|
2
|
+
import { enclaveHandshakeService as t } from "./enclaveHandshakeService.mjs";
|
|
3
|
+
import { ethers as n } from "ethers";
|
|
4
|
+
import r from "libsodium-wrappers";
|
|
5
|
+
import * as i from "node-forge";
|
|
8
6
|
//#region libs/shared/common/src/functions/utils/encryptInputForEnclave.ts
|
|
9
|
-
var
|
|
7
|
+
var a = (e) => typeof e == "bigint" || typeof e == "number" ? e.toString() : e, o = (e) => i.util.hexToBytes(e.replace("0x", "")), s = (e) => {
|
|
10
8
|
let t = structuredClone(e);
|
|
11
9
|
return Object.entries(t).forEach(([e, n]) => {
|
|
12
|
-
t[e] =
|
|
10
|
+
t[e] = a(n), Array.isArray(n) && (Array.isArray(n[0]) ? t[e] = n.map((e) => e.map(a)) : t[e] = n.map(a));
|
|
13
11
|
}), t;
|
|
14
|
-
},
|
|
15
|
-
let n =
|
|
16
|
-
md:
|
|
17
|
-
mgf1: { md:
|
|
12
|
+
}, c = (e, t) => {
|
|
13
|
+
let n = i.util.decode64(e), r = i.asn1.fromDer(i.util.createBuffer(n)), a = i.pki.publicKeyFromAsn1(r), o = i.util.binary.raw.encode(t), s = a.encrypt(o, "RSA-OAEP", {
|
|
14
|
+
md: i.md.sha1.create(),
|
|
15
|
+
mgf1: { md: i.md.sha1.create() }
|
|
18
16
|
});
|
|
19
|
-
return
|
|
20
|
-
},
|
|
21
|
-
let
|
|
22
|
-
return
|
|
23
|
-
},
|
|
24
|
-
let n =
|
|
17
|
+
return i.util.encode64(s);
|
|
18
|
+
}, l = (e, t) => {
|
|
19
|
+
let a = r.randombytes_buf(r.crypto_secretbox_NONCEBYTES), s = r.crypto_secretbox_easy(t, a, e), c = o(n.hexlify(a) + n.hexlify(s).slice(2));
|
|
20
|
+
return i.util.encode64(c);
|
|
21
|
+
}, u = (e, t) => {
|
|
22
|
+
let n = r.randombytes_buf(r.crypto_secretbox_KEYBYTES);
|
|
25
23
|
return {
|
|
26
|
-
keyCiphertext:
|
|
27
|
-
inputCiphertext:
|
|
24
|
+
keyCiphertext: c(t, n),
|
|
25
|
+
inputCiphertext: l(n, e)
|
|
28
26
|
};
|
|
29
|
-
},
|
|
30
|
-
let r = typeof t == "string" ? t : e(
|
|
31
|
-
return
|
|
32
|
-
},
|
|
27
|
+
}, d = (t, n) => {
|
|
28
|
+
let r = typeof t == "string" ? t : e(s(t));
|
|
29
|
+
return u(new TextEncoder().encode(r), n);
|
|
30
|
+
}, f = async (e) => d(e, await t.getPublicKey()), p = async (e) => u(e, await t.getPublicKey());
|
|
33
31
|
//#endregion
|
|
34
|
-
export {
|
|
32
|
+
export { f as makeEnclaveHandshakeAndEncryptInput, p as makeEnclaveHandshakeAndEncryptUint8Array };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../constants/chains.constants.cjs`);const e=require(`../../constants/protocol.constants.cjs`);require(`../web3/etherFunctions.cjs`);const t=require(`../../API/token-calls.cjs`);require(`../../constants/tokens.constants.cjs`);var n=async(e,n)=>{let[r]=await t.tokensInfoCall(e,[n]);return r},r=async(e,n)=>n.length===0?[]:t.tokensInfoCall(e,n),i=async e=>await t.getTokensForChainCall(e),
|
|
1
|
+
require(`../../constants/chains.constants.cjs`);const e=require(`../../constants/protocol.constants.cjs`);require(`../web3/etherFunctions.cjs`);const t=require(`../../API/token-calls.cjs`);require(`../../constants/tokens.constants.cjs`);var n=async(e,n)=>{let[r]=await t.tokensInfoCall(e,[n]);return r},r=async(e,n)=>n.length===0?[]:t.tokensInfoCall(e,n),i=async(e,t)=>{let r=await n(e,t);if(!r)throw Error(`Token not found: ${t} on chain ${e}`);return r},a=async(e,t)=>{if(t.length===0)return[];let n=await r(e,t);return t.map((t,r)=>{let i=n[r];if(!i)throw Error(`Token not found: ${t} on chain ${e}`);return i})},o=async e=>await t.getTokensForChainCall(e),s=async(e,n)=>await t.getTokensBySymbolsCall(n,e),c=async(e,t)=>{if(e.length===0)return[];let n=await r(t,e.map(e=>e.erc20TokenAddress));return e.map((e,t)=>{let r=n[t];return r?{...e,name:r.name,symbol:r.symbol,logoURI:r.logoURI,decimals:r.decimals}:e})},l=t=>t.nftTokenType===e.TokenType.ERC721||t.nftTokenType===e.TokenType.ERC1155||t.nftTokenType===e.TokenType.MetaplexNFT||t.nftTokenType===e.TokenType.Token2022NFT||t.nftTokenType===e.TokenType.CompressedNFT;exports.getErc20TokenFromAPI=n,exports.getErc20TokensBySymbolsFromAPI=s,exports.getErc20TokensForChainAPI=o,exports.getErc20TokensFromAPI=r,exports.isNFTToken=l,exports.overlayTokensWithRegistryData=c,exports.resolveErc20Token=i,exports.resolveErc20Tokens=a;
|