@hinkal/common 0.3.1 → 0.3.2
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/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +9 -34
- package/common/src/API/API.mjs +75 -100
- package/common/src/API/callOneInchAPI.cjs +1 -1
- package/common/src/API/callOneInchAPI.d.ts +6 -0
- package/common/src/API/callOneInchAPI.mjs +5 -2
- package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
- package/common/src/API/dashboardAccountMemberCalls.d.ts +15 -0
- package/common/src/API/dashboardAccountMemberCalls.mjs +5 -2
- package/common/src/API/dashboardPayoutCalls.cjs +1 -1
- package/common/src/API/dashboardPayoutCalls.d.ts +2 -1
- package/common/src/API/dashboardPayoutCalls.mjs +4 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +9 -1
- package/common/src/API/getWebsiteURL.d.ts +1 -2
- package/common/src/API/index.cjs +1 -1
- package/common/src/API/index.d.ts +1 -2
- package/common/src/API/index.mjs +2 -3
- package/common/src/API/payoutNotificationStateCalls.cjs +1 -0
- package/common/src/API/payoutNotificationStateCalls.d.ts +10 -0
- package/common/src/API/payoutNotificationStateCalls.mjs +10 -0
- package/common/src/API/proxyAccountsCalls.cjs +1 -1
- package/common/src/API/proxyAccountsCalls.d.ts +2 -3
- package/common/src/API/proxyAccountsCalls.mjs +11 -10
- package/common/src/API/rewardsUserCalls.cjs +1 -1
- package/common/src/API/rewardsUserCalls.d.ts +1 -38
- package/common/src/API/rewardsUserCalls.mjs +2 -9
- package/common/src/API/scheduled-transactions-calls.d.ts +1 -0
- package/common/src/API/temporaryWalletCalls.cjs +1 -1
- package/common/src/API/temporaryWalletCalls.mjs +8 -8
- package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
- package/common/src/API/weeklyAnalyticCalls.d.ts +1 -11
- package/common/src/API/weeklyAnalyticCalls.mjs +2 -5
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.mjs +3 -10
- package/common/src/constants/contracts.constants.cjs +1 -1
- package/common/src/constants/contracts.constants.mjs +19 -32
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +8 -9
- package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +19 -45
- package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
- 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 +7 -18
- package/common/src/constants/enclaveAuth.constants.d.ts +5 -0
- package/common/src/constants/index.cjs +1 -1
- package/common/src/constants/index.d.ts +1 -2
- package/common/src/constants/index.mjs +0 -1
- package/common/src/constants/mediaUrls.constants.d.ts +0 -1
- package/common/src/constants/pay.constants.d.ts +1 -0
- package/common/src/constants/protocol.constants.cjs +2 -1
- package/common/src/constants/protocol.constants.d.ts +7 -5
- package/common/src/constants/protocol.constants.mjs +4 -11
- package/common/src/constants/rewards.constants.d.ts +0 -13
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +5 -28
- package/common/src/constants/server.constants.mjs +10 -41
- package/common/src/crypto/ecdh.cjs +1 -1
- package/common/src/crypto/ecdh.mjs +2 -9
- package/common/src/crypto/index.cjs +1 -1
- package/common/src/crypto/index.mjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -8
- package/common/src/data-structures/Hinkal/Hinkal.mjs +83 -99
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +22 -22
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +21 -21
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +6 -9
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +4 -7
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +64 -66
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +47 -51
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +33 -43
- package/common/src/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +6 -6
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +107 -94
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +3 -0
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +26 -14
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +4 -9
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +26 -32
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +43 -42
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +6 -6
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +22 -26
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +21 -24
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +4 -4
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
- package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/contact-db.d.ts +0 -1
- package/common/src/data-structures/IndexedDB/contact-db.mjs +14 -28
- package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
- package/common/src/data-structures/IndexedDB/key-val-store.d.ts +2 -0
- package/common/src/data-structures/IndexedDB/key-val-store.mjs +14 -0
- package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/private-balances-db.d.ts +1 -0
- package/common/src/data-structures/IndexedDB/private-balances-db.mjs +3 -0
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
- package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +25 -25
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +12 -12
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +12 -12
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -24
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +14 -14
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +14 -14
- package/common/src/data-structures/WalletManager/WalletManager.d.ts +1 -0
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.d.ts +1 -0
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +3 -0
- package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
- package/common/src/data-structures/cacheDevices/FileCacheDevice.d.ts +3 -0
- package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +12 -3
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +8 -9
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +38 -48
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +2 -3
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +26 -22
- package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
- package/common/src/data-structures/crypto-keys/keys.d.ts +12 -27
- package/common/src/data-structures/crypto-keys/keys.mjs +61 -79
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -2
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -10
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +1 -1
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +2 -2
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +40 -40
- package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -1
- package/common/src/data-structures/utxo/Utxo.cjs +1 -1
- package/common/src/data-structures/utxo/Utxo.d.ts +1 -4
- package/common/src/data-structures/utxo/Utxo.mjs +7 -17
- package/common/src/error-handling/error-codes.constants.cjs +2 -2
- package/common/src/error-handling/error-codes.constants.d.ts +0 -3
- package/common/src/error-handling/error-codes.constants.mjs +13 -18
- package/common/src/error-handling/index.cjs +1 -1
- package/common/src/error-handling/index.d.ts +1 -0
- package/common/src/error-handling/index.mjs +1 -0
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +36 -38
- package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +3 -5
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +3 -5
- package/common/src/functions/pre-transaction/solana-public-signals.d.ts +1 -0
- package/common/src/functions/pre-transaction/solana.cjs +1 -1
- package/common/src/functions/pre-transaction/solana.mjs +5 -4
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.d.ts +1 -2
- package/common/src/functions/private-wallet/emporium.helpers.mjs +83 -57
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +19 -19
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -3
- package/common/src/functions/snarkjs/common.snarkjs.mjs +45 -47
- package/common/src/functions/snarkjs/constant.cjs +1 -1
- package/common/src/functions/snarkjs/constant.d.ts +151 -144
- package/common/src/functions/snarkjs/constant.mjs +151 -145
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +59 -60
- package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.cjs +1 -0
- package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.d.ts +7 -0
- package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.mjs +2 -0
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +54 -58
- package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -3
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +1 -0
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +14 -5
- package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
- package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
- package/common/src/functions/snarkjs/generateCircomData.mjs +35 -31
- package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.cjs +1 -0
- package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.d.ts +2 -0
- package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.mjs +3 -0
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -0
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +18 -12
- package/common/src/functions/snarkjs/getZKFiles.cjs +1 -1
- package/common/src/functions/snarkjs/getZKFiles.mjs +9 -3
- package/common/src/functions/snarkjs/index.cjs +1 -1
- package/common/src/functions/snarkjs/index.d.ts +2 -0
- package/common/src/functions/snarkjs/index.mjs +2 -0
- package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.d.ts +1 -0
- package/common/src/functions/snarkjs/signedMessageHash.mjs +2 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +0 -1
- package/common/src/functions/utils/addresses.mjs +10 -13
- package/common/src/functions/utils/bridge-flow.utils.d.ts +1 -1
- package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +1 -0
- package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
- package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -10
- package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -0
- package/common/src/functions/utils/enclaveSessionSigning.cjs +1 -0
- package/common/src/functions/utils/enclaveSessionSigning.d.ts +16 -0
- package/common/src/functions/utils/enclaveSessionSigning.mjs +2 -0
- package/common/src/functions/utils/encodeTokenWithId.cjs +1 -1
- package/common/src/functions/utils/encodeTokenWithId.d.ts +1 -2
- package/common/src/functions/utils/encodeTokenWithId.mjs +2 -5
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.d.ts +1 -0
- package/common/src/functions/utils/fees.utils.mjs +5 -1
- package/common/src/functions/utils/getDataFromTransaction.d.ts +4 -3
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +2 -3
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +16 -18
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +5 -1
- package/common/src/functions/utils/index.mjs +5 -1
- package/common/src/functions/utils/legacyKeys.cjs +1 -0
- package/common/src/functions/utils/legacyKeys.d.ts +10 -0
- package/common/src/functions/utils/legacyKeys.mjs +8 -0
- package/common/src/functions/utils/mnemonics.cjs +1 -1
- package/common/src/functions/utils/mnemonics.mjs +4 -6
- package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
- package/common/src/functions/utils/networks.utils.d.ts +1 -0
- package/common/src/functions/utils/prepareHinkal.cjs +1 -1
- package/common/src/functions/utils/prepareHinkal.d.ts +1 -3
- package/common/src/functions/utils/prepareHinkal.mjs +2 -1
- package/common/src/functions/utils/resolve-domain-address.cjs +1 -0
- package/common/src/functions/utils/resolve-domain-address.d.ts +4 -0
- package/common/src/functions/utils/resolve-domain-address.mjs +3 -0
- package/common/src/functions/utils/serialize-utxos.utils.cjs +1 -1
- package/common/src/functions/utils/serialize-utxos.utils.mjs +6 -4
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.d.ts +1 -1
- package/common/src/functions/utils/tron.utils.mjs +14 -29
- package/common/src/functions/utils/validateWalletAddress.cjs +1 -0
- package/common/src/functions/utils/validateWalletAddress.d.ts +1 -0
- package/common/src/functions/utils/validateWalletAddress.mjs +2 -0
- package/common/src/functions/utils/voidWallets.utils.cjs +1 -0
- package/common/src/functions/utils/voidWallets.utils.d.ts +4 -0
- package/common/src/functions/utils/voidWallets.utils.mjs +1 -0
- package/common/src/functions/web3/etherFunctions.d.ts +1 -0
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +2 -4
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +9 -16
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +21 -29
- package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.d.ts +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.mjs +21 -107
- package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
- package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +23 -18
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +37 -3
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
- package/common/src/functions/web3/oneInchAPI.cjs +1 -1
- package/common/src/functions/web3/oneInchAPI.mjs +31 -21
- package/common/src/functions/web3/uniswapAPI.cjs +1 -1
- package/common/src/functions/web3/uniswapAPI.mjs +6 -6
- package/common/src/providers/EthersProviderAdapter.cjs +1 -1
- package/common/src/providers/EthersProviderAdapter.d.ts +0 -1
- package/common/src/providers/EthersProviderAdapter.mjs +0 -3
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.d.ts +0 -1
- package/common/src/providers/SolanaProviderAdapter.mjs +0 -3
- package/common/src/providers/TronProviderAdapter.cjs +1 -1
- package/common/src/providers/TronProviderAdapter.d.ts +0 -1
- package/common/src/providers/TronProviderAdapter.mjs +0 -3
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.d.ts +0 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -9
- package/common/src/types/API.types.d.ts +0 -4
- package/common/src/types/WeeklyAnalytics.types.d.ts +1 -26
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -2
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/circom-data.types.cjs +1 -1
- package/common/src/types/circom-data.types.d.ts +26 -27
- package/common/src/types/circom-data.types.mjs +1 -1
- package/common/src/types/dashboard-account.d.ts +15 -0
- package/common/src/types/dashboard-payout.types.d.ts +1 -0
- package/common/src/types/enclaveApi.types.d.ts +78 -0
- package/common/src/types/ethereum-network.types.cjs +1 -1
- package/common/src/types/ethereum-network.types.d.ts +13 -23
- package/common/src/types/ethereum-network.types.mjs +1 -1
- package/common/src/types/external-action.types.cjs +1 -1
- package/common/src/types/external-action.types.d.ts +2 -3
- package/common/src/types/external-action.types.mjs +1 -1
- package/common/src/types/hinkal.types.cjs +1 -1
- package/common/src/types/hinkal.types.d.ts +8 -22
- package/common/src/types/hinkal.types.mjs +11 -19
- package/common/src/types/index.cjs +1 -1
- package/common/src/types/index.d.ts +3 -5
- package/common/src/types/index.mjs +0 -1
- package/common/src/types/new-rewards.type.d.ts +0 -70
- package/common/src/types/payout-notification.types.d.ts +11 -0
- package/common/src/types/proxy-progress.types.d.ts +5 -0
- package/common/src/types/snark.types.d.ts +1 -3
- package/common/src/types/token.types.cjs +1 -1
- package/common/src/types/token.types.mjs +1 -3
- package/common/src/types/transaction.types.d.ts +0 -1
- package/common/src/types/transactions.types.d.ts +0 -1
- package/common/src/webworker/logError-uy41lNp1.js +2 -0
- package/common/src/webworker/package.json +1 -1
- 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 +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/workerProxy-MheXtWa4.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/package.json +1 -1
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +1 -2
- package/services/Hinkal.mjs +4 -7
- package/types/IHinkal.d.ts +1 -2
- package/common/src/API/accessCodeCalls.cjs +0 -1
- package/common/src/API/accessCodeCalls.d.ts +0 -23
- package/common/src/API/accessCodeCalls.mjs +0 -13
- package/common/src/API/brotherhoodCalls.cjs +0 -1
- package/common/src/API/brotherhoodCalls.d.ts +0 -82
- package/common/src/API/brotherhoodCalls.mjs +0 -17
- package/common/src/API/generate-trading-points.cjs +0 -1
- package/common/src/API/generate-trading-points.d.ts +0 -27
- package/common/src/API/generate-trading-points.mjs +0 -23
- package/common/src/API/leaderboardCalls.cjs +0 -1
- package/common/src/API/leaderboardCalls.d.ts +0 -14
- package/common/src/API/leaderboardCalls.mjs +0 -8
- package/common/src/API/referralsCalls.cjs +0 -1
- package/common/src/API/referralsCalls.d.ts +0 -22
- package/common/src/API/referralsCalls.mjs +0 -11
- package/common/src/API/send-telegram-callback.cjs +0 -1
- package/common/src/API/send-telegram-callback.d.ts +0 -7
- package/common/src/API/send-telegram-callback.mjs +0 -11
- package/common/src/constants/mystery-boxes.constants.d.ts +0 -0
- package/common/src/constants/price-impact.constants.d.ts +0 -2
- package/common/src/constants/tasks.constants.cjs +0 -1
- package/common/src/constants/tasks.constants.d.ts +0 -9
- package/common/src/constants/tasks.constants.mjs +0 -124
- package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
- package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +0 -12
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +0 -6
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +0 -128
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +0 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +0 -22
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +0 -34
- package/common/src/functions/utils/bit.operations.cjs +0 -1
- package/common/src/functions/utils/bit.operations.d.ts +0 -3
- package/common/src/functions/utils/bit.operations.mjs +0 -4
- package/common/src/types/brotherhood-user.types.d.ts +0 -11
- package/common/src/types/crypto.types.d.ts +0 -8
- package/common/src/types/generatePoints.d.ts +0 -14
- package/common/src/types/new-rewards.type.cjs +0 -1
- package/common/src/types/new-rewards.type.mjs +0 -10
- package/common/src/types/referral.types.d.ts +0 -12
- package/common/src/types/rewards.types.d.ts +0 -34
- package/common/src/types/token-with-id.types.d.ts +0 -4
- package/common/src/webworker/logError-BR5TJP6T.js +0 -2
- package/common/src/webworker/workerProxy-Ddzxn23N.js +0 -1
|
@@ -25,11 +25,20 @@ var a = class extends r {
|
|
|
25
25
|
get(e) {
|
|
26
26
|
return this.getInMemory(e);
|
|
27
27
|
}
|
|
28
|
-
set(
|
|
29
|
-
|
|
28
|
+
set(e, t) {
|
|
29
|
+
this.readFileFromDevice(), this.setInMemory(e, t), this.flushToFile("FileCacheDevice set function");
|
|
30
|
+
}
|
|
31
|
+
del(e) {
|
|
32
|
+
this.readFileFromDevice(), this.deleteInMemory(e), this.flushToFile("FileCacheDevice del function");
|
|
33
|
+
}
|
|
34
|
+
clear() {
|
|
35
|
+
this.inMemoryCache.clear(), this.flushToFile("FileCacheDevice clear function");
|
|
36
|
+
}
|
|
37
|
+
flushToFile(t) {
|
|
38
|
+
if (this.useFileCache && this.filePath) try {
|
|
30
39
|
e("fs").writeFileSync(this.filePath, n(Object.fromEntries(this.inMemoryCache)));
|
|
31
40
|
} catch (e) {
|
|
32
|
-
i(
|
|
41
|
+
i(t, { err: e });
|
|
33
42
|
}
|
|
34
43
|
}
|
|
35
44
|
serialize() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=`solana-on-chain-utxo:`,o=9,s=e=>{if(e.length!==o)throw Error(`Expected ${o} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${a}${r.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[${o}]`],[t])}`},c=e=>e.startsWith(a),l=e=>{if(!c(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=r.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[${o}]`],e.slice(21)),a=n;if(!Array.isArray(a)||a.length!==o)throw Error(`Malformed encoded Solana UTXO payload`);let[s,l,u,d,f,p,m,h,g]=a,_=BigInt(s),v=BigInt(d),y=BigInt(f),b=BigInt(p),x=BigInt(m),S=r.ethers.toBeHex(BigInt(h)),C=BigInt(g).toString(),w=Array.from(r.ethers.getBytes(l)),T=Array.from(r.ethers.getBytes(u)),E=new i.PublicKey(Uint8Array.from([...w.slice(16),...T.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.poseidonHash(BigInt(l),BigInt(u)),mintAddress:E,h0x:v,h0y:y,h1x:b,h1y:x,stealthAddress:S,timeStamp:C}},u=e=>{let[t]=r.ethers.AbiCoder.defaultAbiCoder().decode([`tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)`,`bytes`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],h0x:BigInt(t[2][0]),h0y:BigInt(t[2][1]),h1x:BigInt(t[2][2]),h1y:BigInt(t[2][3]),stealthAddress:r.ethers.toBeHex(BigInt(t[2][4])),timeStamp:BigInt(t[3]).toString()}},d=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,h0x:a,h0y:o,stealthAddress:s,timeStamp:c}=l(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:c,nullifyingKey:n,stealthAddress:s,H0:[a,o]}}let{amount:i,erc20TokenAddress:a,timeStamp:o,h0x:s,h0y:c,stealthAddress:d}=u(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:d,H0:[s,c]}},f=(e,t,r)=>new n.Utxo(d(e,t,r));exports.decodeEvmUtxo=u,exports.decodeSolanaUtxo=l,exports.decodeUtxo=f,exports.decodeUtxoConstructorArgs=d,exports.encodeSolanaOnChainUtxo=s,exports.isSolanaOnChainUtxo=c;
|
|
@@ -5,23 +5,22 @@ export declare const decodeSolanaUtxo: (encodedOutput: string) => {
|
|
|
5
5
|
amount: bigint;
|
|
6
6
|
erc20TokenAddress: string;
|
|
7
7
|
mintAddress: string;
|
|
8
|
-
|
|
8
|
+
h0x: bigint;
|
|
9
|
+
h0y: bigint;
|
|
10
|
+
h1x: bigint;
|
|
11
|
+
h1y: bigint;
|
|
9
12
|
stealthAddress: string;
|
|
10
|
-
H0: bigint;
|
|
11
|
-
H1: bigint;
|
|
12
13
|
timeStamp: string;
|
|
13
|
-
isNewStyle: boolean;
|
|
14
14
|
};
|
|
15
15
|
export declare const decodeEvmUtxo: (encryptedOutput: string) => {
|
|
16
16
|
amount: bigint;
|
|
17
17
|
erc20TokenAddress: string;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
h0x: bigint;
|
|
19
|
+
h0y: bigint;
|
|
20
|
+
h1x: bigint;
|
|
21
|
+
h1y: bigint;
|
|
20
22
|
stealthAddress: string;
|
|
21
|
-
H0: bigint;
|
|
22
|
-
H1: bigint;
|
|
23
23
|
timeStamp: string;
|
|
24
|
-
tokenId: number;
|
|
25
24
|
};
|
|
26
25
|
export declare const checkUtxoSignature: (encryptedOutput: string, privateKey: string, chainId: number) => boolean;
|
|
27
26
|
export declare const decodeUtxoConstructorArgs: (encryptedOutput: string, privateKey: string, chainId: number) => IUtxoConstructor;
|
|
@@ -2,77 +2,67 @@ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { poseidonHash as t } from "../../crypto/poseidon.mjs";
|
|
3
3
|
import "./keys.mjs";
|
|
4
4
|
import { Utxo as n } from "../utxo/Utxo.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { PublicKey as o } from "@solana/web3.js";
|
|
5
|
+
import { ethers as r } from "ethers";
|
|
6
|
+
import { PublicKey as i } from "@solana/web3.js";
|
|
8
7
|
//#region libs/shared/common/src/data-structures/crypto-keys/decodeUTXO.ts
|
|
9
|
-
var
|
|
10
|
-
if (e.length !==
|
|
8
|
+
var a = "solana-on-chain-utxo:", o = 9, s = (e) => {
|
|
9
|
+
if (e.length !== o) throw Error(`Expected ${o} on-chain fields, received ${e.length}`);
|
|
11
10
|
let t = e.map((e, t) => {
|
|
12
11
|
let n = e instanceof Uint8Array ? e : Uint8Array.from(e);
|
|
13
12
|
if (n.length !== 32) throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);
|
|
14
13
|
return `0x${Buffer.from(n).toString("hex")}`;
|
|
15
14
|
});
|
|
16
|
-
return `${
|
|
17
|
-
},
|
|
18
|
-
if (!
|
|
19
|
-
let [n] =
|
|
20
|
-
if (!Array.isArray(
|
|
21
|
-
let [l, d, f, p, m, h, g, _
|
|
15
|
+
return `${a}${r.AbiCoder.defaultAbiCoder().encode([`bytes32[${o}]`], [t])}`;
|
|
16
|
+
}, c = (e) => e.startsWith(a), l = (e) => {
|
|
17
|
+
if (!c(e)) throw Error("Invalid encoded Solana UTXO payload");
|
|
18
|
+
let [n] = r.AbiCoder.defaultAbiCoder().decode([`bytes32[${o}]`], e.slice(21)), a = n;
|
|
19
|
+
if (!Array.isArray(a) || a.length !== o) throw Error("Malformed encoded Solana UTXO payload");
|
|
20
|
+
let [s, l, u, d, f, p, m, h, g] = a, _ = BigInt(s), v = BigInt(d), y = BigInt(f), b = BigInt(p), x = BigInt(m), S = r.toBeHex(BigInt(h)), C = BigInt(g).toString(), w = Array.from(r.getBytes(l)), T = Array.from(r.getBytes(u)), E = new i(Uint8Array.from([...w.slice(16), ...T.slice(16)])).toBase58();
|
|
22
21
|
return {
|
|
23
|
-
amount:
|
|
24
|
-
erc20TokenAddress: t(BigInt(
|
|
25
|
-
mintAddress:
|
|
26
|
-
|
|
22
|
+
amount: _,
|
|
23
|
+
erc20TokenAddress: t(BigInt(l), BigInt(u)),
|
|
24
|
+
mintAddress: E,
|
|
25
|
+
h0x: v,
|
|
26
|
+
h0y: y,
|
|
27
|
+
h1x: b,
|
|
28
|
+
h1y: x,
|
|
27
29
|
stealthAddress: S,
|
|
28
|
-
|
|
29
|
-
H1: w,
|
|
30
|
-
timeStamp: T,
|
|
31
|
-
isNewStyle: b
|
|
30
|
+
timeStamp: C
|
|
32
31
|
};
|
|
33
|
-
},
|
|
34
|
-
let t =
|
|
35
|
-
"uint256",
|
|
36
|
-
"address",
|
|
37
|
-
"tuple(uint256, uint256, uint256, uint256)",
|
|
38
|
-
"uint256",
|
|
39
|
-
"uint256"
|
|
40
|
-
], e), n = BigInt(t[0]), o = t[1], s = BigInt(t[2][0]), c = r(s), l = i(s), u = a.toBeHex(BigInt(t[2][1])), d = BigInt(t[2][2]), f = BigInt(t[2][3]), p = BigInt(t[3]).toString(), m = Number(t[4]);
|
|
32
|
+
}, u = (e) => {
|
|
33
|
+
let [t] = r.AbiCoder.defaultAbiCoder().decode(["tuple(uint256, address, tuple(uint256, uint256, uint256, uint256, uint256), uint256)", "bytes"], e);
|
|
41
34
|
return {
|
|
42
|
-
amount:
|
|
43
|
-
erc20TokenAddress:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
timeStamp:
|
|
50
|
-
tokenId: m
|
|
35
|
+
amount: BigInt(t[0]),
|
|
36
|
+
erc20TokenAddress: t[1],
|
|
37
|
+
h0x: BigInt(t[2][0]),
|
|
38
|
+
h0y: BigInt(t[2][1]),
|
|
39
|
+
h1x: BigInt(t[2][2]),
|
|
40
|
+
h1y: BigInt(t[2][3]),
|
|
41
|
+
stealthAddress: r.toBeHex(BigInt(t[2][4])),
|
|
42
|
+
timeStamp: BigInt(t[3]).toString()
|
|
51
43
|
};
|
|
52
|
-
},
|
|
44
|
+
}, d = (t, n, r) => {
|
|
53
45
|
if (e(r)) {
|
|
54
|
-
let { amount: e, erc20TokenAddress: r, mintAddress: i,
|
|
46
|
+
let { amount: e, erc20TokenAddress: r, mintAddress: i, h0x: a, h0y: o, stealthAddress: s, timeStamp: c } = l(t);
|
|
55
47
|
return {
|
|
56
48
|
amount: e,
|
|
57
49
|
erc20TokenAddress: r,
|
|
58
50
|
mintAddress: i,
|
|
59
|
-
timeStamp:
|
|
51
|
+
timeStamp: c,
|
|
60
52
|
nullifyingKey: n,
|
|
61
|
-
stealthAddress:
|
|
62
|
-
|
|
63
|
-
...c ? { H0: [a, l] } : { randomization: a }
|
|
53
|
+
stealthAddress: s,
|
|
54
|
+
H0: [a, o]
|
|
64
55
|
};
|
|
65
56
|
}
|
|
66
|
-
let { amount: i, erc20TokenAddress: a, timeStamp: o,
|
|
57
|
+
let { amount: i, erc20TokenAddress: a, timeStamp: o, h0x: s, h0y: c, stealthAddress: d } = u(t);
|
|
67
58
|
return {
|
|
68
59
|
amount: i,
|
|
69
60
|
erc20TokenAddress: a,
|
|
70
61
|
timeStamp: o,
|
|
71
62
|
nullifyingKey: n,
|
|
72
|
-
stealthAddress:
|
|
73
|
-
|
|
74
|
-
...c ? { H0: [s, u] } : { randomization: s }
|
|
63
|
+
stealthAddress: d,
|
|
64
|
+
H0: [s, c]
|
|
75
65
|
};
|
|
76
|
-
},
|
|
66
|
+
}, f = (e, t, r) => new n(d(e, t, r));
|
|
77
67
|
//#endregion
|
|
78
|
-
export {
|
|
68
|
+
export { u as decodeEvmUtxo, l as decodeSolanaUtxo, f as decodeUtxo, d as decodeUtxoConstructorArgs, s as encodeSolanaOnChainUtxo, c as isSolanaOnChainUtxo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`./keys.cjs`),n=require(`../utxo/Utxo.cjs`),r=require(`../../crypto/ecdh-sealed-keys.cjs`);let i=require(`ethers`),a=require(`@solana/web3.js`);var o=e=>e.startsWith(`0x`)?e:`0x${e}`,s=t=>{let n=[t];return n.push(e.ENCLAVE_PUBKEY),n},c=e=>{let t=[Buffer.from(i.ethers.toBeHex(e.amount)),Buffer.from(o(e.erc20TokenAddress)),Buffer.from(o(e.getStealthAddress())),Buffer.from(i.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(i.ethers.toBeHex(e.H0?.[0]??0n)),Buffer.from(i.ethers.toBeHex(e.H0?.[1]??0n)),Buffer.from(o(e.getEncryptionKey()))];if(e.mintAddress){let n=new a.PublicKey(e.mintAddress),r=i.ethers.hexlify(n.toBytes());t.push(Buffer.from(r))}let n=Buffer.concat(t);return Buffer.from(r.encryptSealedKeys(n,s(e.getEncryptionKey())))},l=(e,t)=>{let n=[Buffer.from(o(e)),Buffer.from(i.ethers.toBeHex(t))],a=Buffer.concat(n);return Buffer.from(r.encryptSealedKeys(a,s(e)))},u=(e,n)=>{let{privateKey:i,publicKey:o}=t.UserKeys.getEncryptionKeyPair(n.getShieldedPrivateKey()),s=r.decryptSealedKeys(e,i,o,0),c=Buffer.from(s).toString(`utf-8`).split(`0x`).filter(e=>e.length!==0),l=e=>BigInt(`0x${e}`),u=e=>`0x${e}`,d=c[7]?u(c[7]):void 0,f=d?new a.PublicKey(Buffer.from(d.slice(2),`hex`)).toString():void 0;return{amount:l(c[0]),erc20TokenAddress:u(c[1]),stealthAddress:u(c[2]),nullifyingKey:n.getShieldedPrivateKey(),timeStamp:l(c[3]).toString(),H0:[l(c[4]),l(c[5])],mintAddress:f}},d=(e,t)=>new n.Utxo(u(e,t));exports.decryptUtxo=d,exports.decryptUtxoConstructorArgs=u,exports.encryptEncryptionKeyAndStealthAddress=l,exports.encryptUtxo=c;
|
|
@@ -2,12 +2,11 @@ import { IUtxoConstructor, Utxo } from '../utxo/Utxo';
|
|
|
2
2
|
import { UserKeys } from './keys';
|
|
3
3
|
/**
|
|
4
4
|
* encrypt data for the UTXO
|
|
5
|
-
* @param
|
|
6
|
-
* @param blinding UTXO blinding
|
|
7
|
-
* @param publicKey sender's encryption public key
|
|
5
|
+
* @param utxo UTXO to encrypt
|
|
8
6
|
* @returns returns encrypted data {Uint8Array}
|
|
9
7
|
*/
|
|
10
8
|
export declare const encryptUtxo: (utxo: Utxo) => Uint8Array;
|
|
9
|
+
export declare const encryptEncryptionKeyAndStealthAddress: (encryptionKey: string, stealthAddress: bigint) => Uint8Array;
|
|
11
10
|
export declare const decryptUtxoConstructorArgs: (encryptedData: Uint8Array, userKeys: UserKeys) => IUtxoConstructor;
|
|
12
11
|
/**
|
|
13
12
|
* decrypt UTXO data from events
|
|
@@ -1,39 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { ENCLAVE_PUBKEY as e } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
import { UserKeys as t } from "./keys.mjs";
|
|
3
|
+
import { Utxo as n } from "../utxo/Utxo.mjs";
|
|
4
|
+
import { decryptSealedKeys as r, encryptSealedKeys as i } from "../../crypto/ecdh-sealed-keys.mjs";
|
|
5
5
|
import { ethers as a } from "ethers";
|
|
6
6
|
import { PublicKey as o } from "@solana/web3.js";
|
|
7
7
|
//#region libs/shared/common/src/data-structures/crypto-keys/encryptDecryptUtxo.ts
|
|
8
|
-
var s = (e) => e.startsWith("0x") ? e : `0x${e}`, c =
|
|
8
|
+
var s = (e) => e.startsWith("0x") ? e : `0x${e}`, c = (t) => {
|
|
9
|
+
let n = [t];
|
|
10
|
+
return n.push(e), n;
|
|
11
|
+
}, l = (e) => {
|
|
9
12
|
let t = [
|
|
10
13
|
Buffer.from(a.toBeHex(e.amount)),
|
|
11
14
|
Buffer.from(s(e.erc20TokenAddress)),
|
|
12
|
-
Buffer.from(a.toBeHex(e.randomization ?? 0n)),
|
|
13
15
|
Buffer.from(s(e.getStealthAddress())),
|
|
14
16
|
Buffer.from(a.toBeHex(BigInt(e.timeStamp))),
|
|
15
|
-
Buffer.from(a.toBeHex(e.isNewStyle ? 1n : 0n)),
|
|
16
17
|
Buffer.from(a.toBeHex(e.H0?.[0] ?? 0n)),
|
|
17
|
-
Buffer.from(a.toBeHex(e.H0?.[1] ?? 0n))
|
|
18
|
+
Buffer.from(a.toBeHex(e.H0?.[1] ?? 0n)),
|
|
19
|
+
Buffer.from(s(e.getEncryptionKey()))
|
|
18
20
|
];
|
|
19
21
|
if (e.mintAddress) {
|
|
20
22
|
let n = new o(e.mintAddress), r = a.hexlify(n.toBytes());
|
|
21
23
|
t.push(Buffer.from(r));
|
|
22
24
|
}
|
|
23
|
-
let n =
|
|
24
|
-
return Buffer.
|
|
25
|
-
},
|
|
26
|
-
let
|
|
25
|
+
let n = Buffer.concat(t);
|
|
26
|
+
return Buffer.from(i(n, c(e.getEncryptionKey())));
|
|
27
|
+
}, u = (e, t) => {
|
|
28
|
+
let n = [Buffer.from(s(e)), Buffer.from(a.toBeHex(t))], r = Buffer.concat(n);
|
|
29
|
+
return Buffer.from(i(r, c(e)));
|
|
30
|
+
}, d = (e, n) => {
|
|
31
|
+
let { privateKey: i, publicKey: a } = t.getEncryptionKeyPair(n.getShieldedPrivateKey()), s = r(e, i, a, 0), c = Buffer.from(s).toString("utf-8").split("0x").filter((e) => e.length !== 0), l = (e) => BigInt(`0x${e}`), u = (e) => `0x${e}`, d = c[7] ? u(c[7]) : void 0, f = d ? new o(Buffer.from(d.slice(2), "hex")).toString() : void 0;
|
|
27
32
|
return {
|
|
28
|
-
amount:
|
|
29
|
-
erc20TokenAddress:
|
|
30
|
-
stealthAddress:
|
|
31
|
-
nullifyingKey:
|
|
32
|
-
timeStamp:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
mintAddress: y
|
|
33
|
+
amount: l(c[0]),
|
|
34
|
+
erc20TokenAddress: u(c[1]),
|
|
35
|
+
stealthAddress: u(c[2]),
|
|
36
|
+
nullifyingKey: n.getShieldedPrivateKey(),
|
|
37
|
+
timeStamp: l(c[3]).toString(),
|
|
38
|
+
H0: [l(c[4]), l(c[5])],
|
|
39
|
+
mintAddress: f
|
|
36
40
|
};
|
|
37
|
-
},
|
|
41
|
+
}, f = (e, t) => new n(d(e, t));
|
|
38
42
|
//#endregion
|
|
39
|
-
export {
|
|
43
|
+
export { f as decryptUtxo, d as decryptUtxoConstructorArgs, u as encryptEncryptionKeyAndStealthAddress, l as encryptUtxo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../crypto/babyJub.cjs`),i=require(`../../crypto/eddsa.cjs`),a=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),o=require(`./keyUtils.cjs`);let s=require(`ethers`),c=require(`@solana/web3.js`),l=require(`bs58`);l=e.__toESM(l);let u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=new a.AttachableMemoryCacheDevice,m=
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../crypto/babyJub.cjs`),i=require(`../../crypto/eddsa.cjs`),a=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),o=require(`./keyUtils.cjs`);let s=require(`ethers`),c=require(`@solana/web3.js`),l=require(`bs58`);l=e.__toESM(l);let u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=new a.AttachableMemoryCacheDevice,m=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;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===f.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>{if(this.requireKeyMaterial(),!this.nullifyingKey){let e=BigInt(n.poseidonHash(this.signature));this.nullifyingKey=s.ethers.toBeHex(e%t.NULLIFYING_PRIVATE_KEY_MOD)}return this.nullifyingKey};getShieldedPrivateKeySeed=()=>s.ethers.keccak256(this.getShieldedPrivateKey());getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=i.eddsaInstance(),t=r.babyJubInstance(),a=n.poseidonHash(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),o=Buffer.from(s.ethers.getBytes(a)),c=e.prv2pub(o);return{privSpendingKey:a,pubSpendingBJJPoint:[BigInt(t.F.toString(c[0])),BigInt(t.F.toString(c[1]))]}};signEddsa=e=>{this.requireSignature();let t=r.babyJubInstance(),n=i.eddsaInstance(),a=Buffer.from(s.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),o=t.F.e(e),c=n.signPoseidon(a,o);return{R8:[BigInt(t.F.toString(c.R8[0])),BigInt(t.F.toString(c.R8[1]))],S:BigInt(c.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKeySeed()));return s.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKeySeed()));return`ed25519:${l.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=s.ethers.getBytes(t),r=c.Keypair.fromSeed(n);return l.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),s.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=s.ethers.getBytes(this.signature),i=new c.PublicKey(t).toBytes();return d.default.sign.detached.verify(n,r,i)}static getRandomizedStealthPair=p.attach((e,t)=>{let n=r.babyJubInstance(),i=n.mulPointEscalar(n.Base8,e),a=n.mulPointEscalar(i,BigInt(t));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 getH1FromH0=(e,t)=>{let n=r.babyJubInstance(),i=[n.F.e(e[0]),n.F.e(e[1])],a=n.mulPointEscalar(i,BigInt(t));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 getStealthAddress=(e,t,r)=>{if(r?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let i=this.getH1FromH0(e,t);return n.poseidonHash(2n*o.getCircomSign(e[0])+o.getCircomSign(i[0]),e[1],i[1],r[0],r[1],t)};static findCorrectRandomization(e,n){if(!n)throw Error(`No Private Shielded Key Provided`);let r=BigInt(n),i,a,o=0n;do i=e*10n**o%t.CIRCOM_P,a=i*r%t.CIRCOM_P,o+=1n;while(a>=2n**250n||i>=2n**250n);return i}static getH0FromRandomization=e=>{let t=r.babyJubInstance(),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=u.default.crypto_box_seed_keypair(s.ethers.getBytes(s.ethers.keccak256(e)));return{privateKey:s.ethers.hexlify(t.privateKey),publicKey:s.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()))};exports.UserKeys=m,exports.stealthPairCacheDevice=p;
|
|
@@ -4,11 +4,6 @@ export declare const stealthPairCacheDevice: AttachableMemoryCacheDevice<{
|
|
|
4
4
|
H0: [bigint, bigint];
|
|
5
5
|
H1: [bigint, bigint];
|
|
6
6
|
}>;
|
|
7
|
-
export declare const stealthPairOldCacheDevice: AttachableMemoryCacheDevice<{
|
|
8
|
-
H0: [bigint, bigint];
|
|
9
|
-
H1: [bigint, bigint];
|
|
10
|
-
}>;
|
|
11
|
-
export declare const stealthAddressCacheDevice: AttachableMemoryCacheDevice<string>;
|
|
12
7
|
export interface EncryptionKeyPair {
|
|
13
8
|
privateKey: string;
|
|
14
9
|
publicKey: string;
|
|
@@ -18,7 +13,6 @@ export declare class UserKeys {
|
|
|
18
13
|
private signature;
|
|
19
14
|
private nullifyingKey;
|
|
20
15
|
private readonly PREFIX_FOR_SPENDING_PAIR;
|
|
21
|
-
private readonly PREFIX_FOR_NULLIFYING_PAIR;
|
|
22
16
|
constructor(_signature?: string, _nullifyingKey?: string);
|
|
23
17
|
getSignature(): string;
|
|
24
18
|
setSignature(_signature: string): void;
|
|
@@ -31,6 +25,14 @@ export declare class UserKeys {
|
|
|
31
25
|
* @retuns 0x-prefixed shielded private key
|
|
32
26
|
*/
|
|
33
27
|
getShieldedPrivateKey: () => string;
|
|
28
|
+
/**
|
|
29
|
+
* getShieldedPrivateKey() is constrained to < 2^250 to match the circuit's nullifyingPrivateKey
|
|
30
|
+
* range check, so it's no longer 32 bytes and can't be used directly as raw key material for
|
|
31
|
+
* libraries that require a full-length seed.
|
|
32
|
+
* This re-expands it back to a full 32-byte seed via keccak256 for those use sites.
|
|
33
|
+
* @returns 32-byte 0x-prefixed seed
|
|
34
|
+
*/
|
|
35
|
+
private getShieldedPrivateKeySeed;
|
|
34
36
|
/**
|
|
35
37
|
* generate shielded public key from private key
|
|
36
38
|
* @param privateKey the key used to generate the shielded public key, this should be the signature
|
|
@@ -62,14 +64,6 @@ export declare class UserKeys {
|
|
|
62
64
|
*/
|
|
63
65
|
getShieldedPrivateKeyFromNonce: (nonce: bigint) => string;
|
|
64
66
|
getClaimableSignatureFromNonce: (nonce: bigint) => string;
|
|
65
|
-
/**
|
|
66
|
-
* deterministically derive an EVM address from the shielded private key
|
|
67
|
-
*/
|
|
68
|
-
getDerivedEthereumAddress: () => string;
|
|
69
|
-
/**
|
|
70
|
-
* deterministically derive a Solana public key from the shielded private key
|
|
71
|
-
*/
|
|
72
|
-
getDerivedSolanaPublicKey: () => string;
|
|
73
67
|
/**
|
|
74
68
|
* deterministically derive the user's NEAR Intents account id from the shielded private key.
|
|
75
69
|
* The account id is the NEAR implicit account (lowercase hex of the ed25519 public key) of the
|
|
@@ -92,30 +86,21 @@ export declare class UserKeys {
|
|
|
92
86
|
getSignerSolanaPrivateKeyFromNonce: (walletNonce: bigint) => string;
|
|
93
87
|
verifyMessage(signingMessage: string): string;
|
|
94
88
|
verifySolanaMessage(signingMessage: string, signerPublicKey: string): boolean;
|
|
95
|
-
static getRandomizedStealthPairOld: (s: bigint, privateKey: string) => {
|
|
96
|
-
H0: [bigint, bigint];
|
|
97
|
-
H1: [bigint, bigint];
|
|
98
|
-
};
|
|
99
89
|
static getRandomizedStealthPair: (s: bigint, privateKey: string) => {
|
|
100
90
|
H0: [bigint, bigint];
|
|
101
91
|
H1: [bigint, bigint];
|
|
102
92
|
};
|
|
103
|
-
static getStealthAddressCompressedPoints: (s: bigint, privateKey: string) => {
|
|
104
|
-
h0: bigint;
|
|
105
|
-
h1: bigint;
|
|
106
|
-
};
|
|
107
|
-
static checkSignature: (s: bigint, stealthAddressH0: bigint, stealthAddressH1: bigint, privateKey: string) => boolean;
|
|
108
|
-
static getStealthAddress: (s: bigint, privateKey: string) => string;
|
|
109
93
|
static getH1FromH0: (H0: JubPoint, privateKey: string) => JubPoint;
|
|
110
94
|
static verifyStealthPair: (H0: JubPoint, H1: JubPoint, privateKey: string, onlyYCheck?: boolean) => boolean;
|
|
111
|
-
static
|
|
95
|
+
static getStealthAddress: (H0: JubPoint, nullifyingPrivateKey: string, spendingPublicKey?: bigint[]) => string;
|
|
112
96
|
static findCorrectRandomization(initialRandomization: bigint, privateKey?: string): bigint;
|
|
113
97
|
static getH0FromRandomization: (randomization: bigint) => JubPoint;
|
|
114
98
|
static findH0(randomization: bigint, privateKey: string | undefined): JubPoint | undefined;
|
|
115
99
|
/**
|
|
116
100
|
* generate private and public keypair
|
|
117
|
-
* @param
|
|
118
|
-
*
|
|
101
|
+
* @param privateKey seed to use to deterministically generate key, any DataHexString;
|
|
102
|
+
* since nullifyingKey/shieldedPrivateKey are now constrained to < 2^250 (not 32 bytes),
|
|
103
|
+
* this re-expands the input via keccak256 to get a full 32-byte seed for sodium
|
|
119
104
|
*/
|
|
120
105
|
static getEncryptionKeyPair: (privateKey: string) => EncryptionKeyPair;
|
|
121
106
|
/**
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import { CIRCOM_P as e } from "../../constants/protocol.constants.mjs";
|
|
2
|
-
import { poseidonHash as
|
|
3
|
-
import { babyJubInstance as
|
|
4
|
-
import { eddsaInstance as
|
|
5
|
-
import { AttachableMemoryCacheDevice as
|
|
6
|
-
import { getCircomSign as
|
|
7
|
-
import { ethers as
|
|
8
|
-
import { Keypair as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import { Trx as
|
|
1
|
+
import { CIRCOM_P as e, NULLIFYING_PRIVATE_KEY_MOD as t } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
import { poseidonHash as n } from "../../crypto/poseidon.mjs";
|
|
3
|
+
import { babyJubInstance as r } from "../../crypto/babyJub.mjs";
|
|
4
|
+
import { eddsaInstance as i } from "../../crypto/eddsa.mjs";
|
|
5
|
+
import { AttachableMemoryCacheDevice as a } from "../cacheDevices/AttachableMemoryCacheDevice.mjs";
|
|
6
|
+
import { getCircomSign as o } from "./keyUtils.mjs";
|
|
7
|
+
import { ethers as s } from "ethers";
|
|
8
|
+
import { Keypair as c, PublicKey as l } from "@solana/web3.js";
|
|
9
|
+
import u from "bs58";
|
|
10
|
+
import d from "libsodium-wrappers";
|
|
11
|
+
import f from "tweetnacl";
|
|
12
|
+
import { Trx as p } from "tronweb";
|
|
13
13
|
//#region libs/shared/common/src/data-structures/crypto-keys/keys.ts
|
|
14
|
-
var
|
|
14
|
+
var m = new a(), h = class {
|
|
15
15
|
signature;
|
|
16
16
|
nullifyingKey;
|
|
17
17
|
PREFIX_FOR_SPENDING_PAIR = "1";
|
|
18
|
-
PREFIX_FOR_NULLIFYING_PAIR = "2";
|
|
19
18
|
constructor(e, t) {
|
|
20
19
|
this.signature = e, this.nullifyingKey = t;
|
|
21
20
|
}
|
|
@@ -32,21 +31,28 @@ var p = new i(), m = new i(), h = new i(), g = class {
|
|
|
32
31
|
if (!this.signature && !this.nullifyingKey) throw Error("No signature or private key provided");
|
|
33
32
|
}
|
|
34
33
|
verifyTronMessage(e, t) {
|
|
35
|
-
return this.requireSignature(), t ===
|
|
34
|
+
return this.requireSignature(), t === p.verifyMessageV2(e, this.signature);
|
|
36
35
|
}
|
|
37
|
-
getShieldedPrivateKey = () =>
|
|
38
|
-
|
|
36
|
+
getShieldedPrivateKey = () => {
|
|
37
|
+
if (this.requireKeyMaterial(), !this.nullifyingKey) {
|
|
38
|
+
let e = BigInt(n(this.signature));
|
|
39
|
+
this.nullifyingKey = s.toBeHex(e % t);
|
|
40
|
+
}
|
|
41
|
+
return this.nullifyingKey;
|
|
42
|
+
};
|
|
43
|
+
getShieldedPrivateKeySeed = () => s.keccak256(this.getShieldedPrivateKey());
|
|
44
|
+
getShieldedPublicKey = () => (this.requireKeyMaterial(), n(this.getShieldedPrivateKey()));
|
|
39
45
|
getSpendingKeyPair = () => {
|
|
40
46
|
this.requireSignature();
|
|
41
|
-
let e =
|
|
47
|
+
let e = i(), t = r(), a = n(this.PREFIX_FOR_SPENDING_PAIR, this.getSignature()), o = Buffer.from(s.getBytes(a)), c = e.prv2pub(o);
|
|
42
48
|
return {
|
|
43
49
|
privSpendingKey: a,
|
|
44
|
-
pubSpendingBJJPoint: [BigInt(
|
|
50
|
+
pubSpendingBJJPoint: [BigInt(t.F.toString(c[0])), BigInt(t.F.toString(c[1]))]
|
|
45
51
|
};
|
|
46
52
|
};
|
|
47
53
|
signEddsa = (e) => {
|
|
48
54
|
this.requireSignature();
|
|
49
|
-
let t =
|
|
55
|
+
let t = r(), n = i(), a = Buffer.from(s.getBytes(this.getSpendingKeyPair().privSpendingKey)), o = t.F.e(e), c = n.signPoseidon(a, o);
|
|
50
56
|
return {
|
|
51
57
|
R8: [BigInt(t.F.toString(c.R8[0])), BigInt(t.F.toString(c.R8[1]))],
|
|
52
58
|
S: BigInt(c.S)
|
|
@@ -54,96 +60,72 @@ var p = new i(), m = new i(), h = new i(), g = class {
|
|
|
54
60
|
};
|
|
55
61
|
getShieldedPrivateKeyFromNonce = (e) => {
|
|
56
62
|
this.requireKeyMaterial();
|
|
57
|
-
let
|
|
58
|
-
return
|
|
63
|
+
let t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
|
|
64
|
+
return s.keccak256(s.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`));
|
|
59
65
|
};
|
|
60
66
|
getClaimableSignatureFromNonce = (e) => {
|
|
61
67
|
this.requireKeyMaterial();
|
|
62
|
-
let
|
|
63
|
-
return
|
|
68
|
+
let t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
|
|
69
|
+
return s.keccak256(s.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`));
|
|
64
70
|
};
|
|
65
|
-
getDerivedEthereumAddress = () => (this.requireKeyMaterial(), new o.Wallet(this.getShieldedPrivateKey()).address);
|
|
66
|
-
getDerivedSolanaPublicKey = () => (this.requireKeyMaterial(), s.fromSeed(o.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());
|
|
67
71
|
getNearIntentsAccountId = () => {
|
|
68
72
|
this.requireKeyMaterial();
|
|
69
|
-
let e =
|
|
70
|
-
return
|
|
73
|
+
let e = c.fromSeed(s.getBytes(this.getShieldedPrivateKeySeed()));
|
|
74
|
+
return s.hexlify(e.publicKey.toBytes()).slice(2);
|
|
71
75
|
};
|
|
72
76
|
getNearIntentsKeyPairString = () => {
|
|
73
77
|
this.requireKeyMaterial();
|
|
74
|
-
let e =
|
|
75
|
-
return `ed25519:${
|
|
78
|
+
let e = c.fromSeed(s.getBytes(this.getShieldedPrivateKeySeed()));
|
|
79
|
+
return `ed25519:${u.encode(e.secretKey)}`;
|
|
76
80
|
};
|
|
77
81
|
getSignerPrivateKeyFromNonce = (e) => {
|
|
78
82
|
this.requireKeyMaterial();
|
|
79
|
-
let
|
|
80
|
-
return
|
|
83
|
+
let t = n(e, this.getShieldedPrivateKey(), this.getShieldedPublicKey());
|
|
84
|
+
return s.keccak256(s.toUtf8Bytes(t));
|
|
81
85
|
};
|
|
82
86
|
getSignerSolanaPrivateKeyFromNonce = (e) => {
|
|
83
|
-
let t = this.getSignerPrivateKeyFromNonce(e), n =
|
|
84
|
-
return
|
|
87
|
+
let t = this.getSignerPrivateKeyFromNonce(e), n = s.getBytes(t), r = c.fromSeed(n);
|
|
88
|
+
return u.encode(r.secretKey);
|
|
85
89
|
};
|
|
86
90
|
verifyMessage(e) {
|
|
87
|
-
return this.requireSignature(),
|
|
91
|
+
return this.requireSignature(), s.verifyMessage(e, this.signature);
|
|
88
92
|
}
|
|
89
93
|
verifySolanaMessage(e, t) {
|
|
90
94
|
this.requireSignature();
|
|
91
|
-
let n = new TextEncoder().encode(e), r =
|
|
92
|
-
return
|
|
95
|
+
let n = new TextEncoder().encode(e), r = s.getBytes(this.signature), i = new l(t).toBytes();
|
|
96
|
+
return f.sign.detached.verify(n, r, i);
|
|
93
97
|
}
|
|
94
|
-
static
|
|
95
|
-
let
|
|
96
|
-
return {
|
|
97
|
-
H0: [BigInt(i.F.toString(o[0])), BigInt(i.F.toString(o[1]))],
|
|
98
|
-
H1: [BigInt(i.F.toString(s[0])), BigInt(i.F.toString(s[1]))]
|
|
99
|
-
};
|
|
100
|
-
});
|
|
101
|
-
static getRandomizedStealthPair = p.attach((t, r) => {
|
|
102
|
-
let i = n(), a = BigInt(r) % e, o = i.mulPointEscalar(i.Base8, t), s = i.mulPointEscalar(o, a);
|
|
103
|
-
return {
|
|
104
|
-
H0: [BigInt(i.F.toString(o[0])), BigInt(i.F.toString(o[1]))],
|
|
105
|
-
H1: [BigInt(i.F.toString(s[0])), BigInt(i.F.toString(s[1]))]
|
|
106
|
-
};
|
|
107
|
-
});
|
|
108
|
-
static getStealthAddressCompressedPoints = (e, t) => {
|
|
109
|
-
let { H0: n, H1: r } = this.getRandomizedStealthPairOld(e, t), [i, o] = [n, r].map((e) => BigInt(e[1]) + 2n ** 255n * a(e[0]));
|
|
98
|
+
static getRandomizedStealthPair = m.attach((e, t) => {
|
|
99
|
+
let n = r(), i = n.mulPointEscalar(n.Base8, e), a = n.mulPointEscalar(i, BigInt(t));
|
|
110
100
|
return {
|
|
111
|
-
|
|
112
|
-
|
|
101
|
+
H0: [BigInt(n.F.toString(i[0])), BigInt(n.F.toString(i[1]))],
|
|
102
|
+
H1: [BigInt(n.F.toString(a[0])), BigInt(n.F.toString(a[1]))]
|
|
113
103
|
};
|
|
114
|
-
};
|
|
115
|
-
static checkSignature = (e, t, n, r) => {
|
|
116
|
-
let { h0: i, h1: a } = this.getStealthAddressCompressedPoints(e, r);
|
|
117
|
-
return t === i && n === a;
|
|
118
|
-
};
|
|
119
|
-
static getStealthAddress = h.attach((e, n) => {
|
|
120
|
-
let { H0: r, H1: i } = this.getRandomizedStealthPairOld(e, n);
|
|
121
|
-
return t(2n * a(r[0]) + a(i[0]), r[1], i[1]);
|
|
122
104
|
});
|
|
123
|
-
static getH1FromH0 = (
|
|
124
|
-
let
|
|
125
|
-
return [BigInt(
|
|
105
|
+
static getH1FromH0 = (e, t) => {
|
|
106
|
+
let n = r(), i = [n.F.e(e[0]), n.F.e(e[1])], a = n.mulPointEscalar(i, BigInt(t));
|
|
107
|
+
return [BigInt(n.F.toString(a[0])), BigInt(n.F.toString(a[1]))];
|
|
126
108
|
};
|
|
127
109
|
static verifyStealthPair = (e, t, n, r = !0) => {
|
|
128
110
|
let i = this.getH1FromH0(e, n);
|
|
129
111
|
return r ? i[1] === t[1] : i === t;
|
|
130
112
|
};
|
|
131
|
-
static
|
|
113
|
+
static getStealthAddress = (e, t, r) => {
|
|
132
114
|
if (r?.length !== 2) throw Error("Spending public key must be an array of 2 elements");
|
|
133
|
-
let i = this.getH1FromH0(e,
|
|
134
|
-
return
|
|
115
|
+
let i = this.getH1FromH0(e, t);
|
|
116
|
+
return n(2n * o(e[0]) + o(i[0]), e[1], i[1], r[0], r[1], t);
|
|
135
117
|
};
|
|
136
118
|
static findCorrectRandomization(t, n) {
|
|
137
119
|
if (!n) throw Error("No Private Shielded Key Provided");
|
|
138
|
-
let r = BigInt(n)
|
|
120
|
+
let r = BigInt(n), i, a, o = 0n;
|
|
139
121
|
do
|
|
140
122
|
i = t * 10n ** o % e, a = i * r % e, o += 1n;
|
|
141
|
-
while (a >= 2n **
|
|
123
|
+
while (a >= 2n ** 250n || i >= 2n ** 250n);
|
|
142
124
|
return i;
|
|
143
125
|
}
|
|
144
126
|
static getH0FromRandomization = (e) => {
|
|
145
|
-
let t =
|
|
146
|
-
return [BigInt(t.F.toString(
|
|
127
|
+
let t = r(), n = t.mulPointEscalar(t.Base8, e);
|
|
128
|
+
return [BigInt(t.F.toString(n[0])), BigInt(t.F.toString(n[1]))];
|
|
147
129
|
};
|
|
148
130
|
static findH0(e, t) {
|
|
149
131
|
if (!t) return;
|
|
@@ -151,14 +133,14 @@ var p = new i(), m = new i(), h = new i(), g = class {
|
|
|
151
133
|
return n;
|
|
152
134
|
}
|
|
153
135
|
static getEncryptionKeyPair = (e) => {
|
|
154
|
-
let t =
|
|
136
|
+
let t = d.crypto_box_seed_keypair(s.getBytes(s.keccak256(e)));
|
|
155
137
|
return {
|
|
156
|
-
privateKey:
|
|
157
|
-
publicKey:
|
|
138
|
+
privateKey: s.hexlify(t.privateKey),
|
|
139
|
+
publicKey: s.hexlify(t.publicKey)
|
|
158
140
|
};
|
|
159
141
|
};
|
|
160
|
-
getAccessKey = () => (this.requireKeyMaterial(),
|
|
161
|
-
getBackendToken = () => (this.requireKeyMaterial(),
|
|
142
|
+
getAccessKey = () => (this.requireKeyMaterial(), n(this.getShieldedPrivateKey(), this.getShieldedPublicKey()));
|
|
143
|
+
getBackendToken = () => (this.requireKeyMaterial(), n(this.getAccessKey(), this.getShieldedPublicKey()));
|
|
162
144
|
};
|
|
163
145
|
//#endregion
|
|
164
|
-
export {
|
|
146
|
+
export { h as UserKeys, m as stealthPairCacheDevice };
|