@hinkal/common 0.3.2 → 0.3.3
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 +15 -18
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +5 -5
- package/common/src/API/API.mjs +78 -78
- package/common/src/API/callRelayer.d.ts +3 -0
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +8 -7
- package/common/src/API/enclaveUtxoCalls.mjs +5 -3
- package/common/src/API/getOdosPriceForToken.cjs +1 -0
- package/common/src/API/getOdosPriceForToken.d.ts +1 -0
- package/common/src/API/getOdosPriceForToken.mjs +14 -0
- package/common/src/API/getWebsiteURL.d.ts +0 -1
- package/common/src/API/index.cjs +1 -1
- package/common/src/API/index.d.ts +0 -1
- package/common/src/API/index.mjs +1 -2
- package/common/src/API/rewardsUserCalls.cjs +1 -1
- package/common/src/API/rewardsUserCalls.d.ts +0 -2
- package/common/src/API/rewardsUserCalls.mjs +2 -3
- package/common/src/API/tenderly.api.cjs +1 -1
- package/common/src/API/tenderly.api.d.ts +5 -10
- package/common/src/API/tenderly.api.mjs +1 -1
- package/common/src/constants/addresses.constants.cjs +1 -1
- package/common/src/constants/addresses.constants.d.ts +4 -46
- package/common/src/constants/addresses.constants.mjs +19 -60
- package/common/src/constants/balance.constants.cjs +1 -0
- package/common/src/constants/balance.constants.d.ts +1 -0
- package/common/src/constants/balance.constants.mjs +4 -0
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +3 -1
- package/common/src/constants/chains.constants.mjs +117 -131
- package/common/src/constants/coingecko.constants.cjs +1 -1
- package/common/src/constants/coingecko.constants.d.ts +2 -0
- package/common/src/constants/coingecko.constants.mjs +1 -1
- package/common/src/constants/contracts.constants.cjs +1 -1
- package/common/src/constants/contracts.constants.d.ts +0 -109
- package/common/src/constants/contracts.constants.mjs +13 -22
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +6 -6
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -0
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +10 -0
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-localhost.json.mjs +0 -3
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +6 -8
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +1 -4
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +0 -1
- package/common/src/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-solana.json.mjs +2 -2
- package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +6 -7
- package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +2 -4
- package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +2 -4
- package/common/src/constants/deploy-data/index.cjs +1 -1
- package/common/src/constants/deploy-data/index.d.ts +2 -1
- package/common/src/constants/deploy-data/index.mjs +16 -15
- 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 +2 -35
- package/common/src/constants/events.constants.cjs +1 -1
- package/common/src/constants/events.constants.mjs +3 -2
- package/common/src/constants/fees.constants.cjs +1 -1
- package/common/src/constants/fees.constants.mjs +2 -2
- package/common/src/constants/index.cjs +1 -1
- package/common/src/constants/index.d.ts +0 -1
- package/common/src/constants/index.mjs +1 -0
- package/common/src/constants/protocol.constants.cjs +2 -2
- package/common/src/constants/protocol.constants.d.ts +3 -1
- package/common/src/constants/protocol.constants.mjs +2 -2
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +1 -2
- package/common/src/constants/server.constants.mjs +1 -2
- package/common/src/constants/tokens.constants.cjs +1 -1
- package/common/src/constants/tokens.constants.mjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.mjs +26 -22
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +36 -35
- package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +3 -3
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +60 -58
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +42 -47
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.d.ts +1 -0
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +50 -116
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +102 -92
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +104 -59
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +7 -3
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +51 -39
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +1 -2
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +53 -131
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +29 -47
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +3 -3
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +70 -45
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +47 -45
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +8 -4
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +133 -81
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +16 -12
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +61 -54
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +87 -51
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +95 -50
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +60 -34
- package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +29 -32
- package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalTransact.d.ts +3 -0
- package/common/src/data-structures/Hinkal/hinkalTransact.mjs +90 -0
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +40 -45
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.d.ts +8 -0
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.mjs +30 -0
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +35 -45
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +167 -95
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.cjs +1 -0
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.d.ts +27 -0
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.mjs +31 -0
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -0
- 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/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +11 -10
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +14 -14
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +26 -26
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +15 -15
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +12 -16
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +1 -0
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +8 -4
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +1 -0
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +12 -12
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +12 -12
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +27 -23
- package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -1
- package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +10 -0
- package/common/src/data-structures/merkle-tree/MerkleTree.mjs +9 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +3 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +64 -54
- package/common/src/error-handling/error-codes.constants.cjs +1 -1
- package/common/src/error-handling/error-codes.constants.d.ts +6 -11
- package/common/src/error-handling/error-codes.constants.mjs +8 -13
- package/common/src/error-handling/get-error.message.cjs +1 -1
- package/common/src/error-handling/get-error.message.mjs +27 -14
- package/common/src/externalABIs/index.cjs +1 -1
- package/common/src/externalABIs/index.d.ts +1 -113
- package/common/src/externalABIs/index.mjs +2 -6
- 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.d.ts +0 -1
- package/common/src/functions/index.mjs +12 -15
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +39 -5
- package/common/src/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
- package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +2 -18
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.d.ts +1 -1
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +11 -10
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
- package/common/src/functions/pre-transaction/index.cjs +1 -1
- package/common/src/functions/pre-transaction/index.d.ts +1 -2
- package/common/src/functions/pre-transaction/index.mjs +1 -2
- package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +7 -8
- package/common/src/functions/pre-transaction/solana.cjs +1 -1
- package/common/src/functions/pre-transaction/solana.d.ts +13 -0
- package/common/src/functions/pre-transaction/solana.mjs +46 -22
- package/common/src/functions/pre-transaction/store-proof.cjs +1 -1
- package/common/src/functions/pre-transaction/store-proof.d.ts +1 -1
- package/common/src/functions/pre-transaction/store-proof.mjs +1 -0
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -1
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +12 -13
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.d.ts +0 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +38 -80
- package/common/src/functions/private-wallet/index.cjs +1 -1
- package/common/src/functions/private-wallet/index.d.ts +0 -1
- package/common/src/functions/private-wallet/index.mjs +0 -1
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -2
- package/common/src/functions/snarkjs/common.snarkjs.mjs +89 -52
- package/common/src/functions/snarkjs/constant.cjs +1 -1
- package/common/src/functions/snarkjs/constant.d.ts +32 -0
- package/common/src/functions/snarkjs/constant.mjs +32 -0
- 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 +78 -65
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +4 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +44 -39
- package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -0
- package/common/src/functions/snarkjs/constructTxEnclave.d.ts +32 -0
- package/common/src/functions/snarkjs/constructTxEnclave.mjs +162 -0
- package/common/src/functions/snarkjs/fetchTronInsertionSiblings.cjs +1 -0
- package/common/src/functions/snarkjs/fetchTronInsertionSiblings.d.ts +7 -0
- package/common/src/functions/snarkjs/fetchTronInsertionSiblings.mjs +13 -0
- 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 +33 -27
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +7 -7
- package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/generateZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/generateZkProof.mjs +9 -16
- package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.d.ts +11 -0
- package/common/src/functions/snarkjs/signedMessageHash.mjs +21 -3
- package/common/src/functions/snarkjs/verifySignedEnclaveResponse.cjs +1 -0
- package/common/src/functions/snarkjs/verifySignedEnclaveResponse.d.ts +1 -0
- package/common/src/functions/snarkjs/verifySignedEnclaveResponse.mjs +11 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +1 -0
- package/common/src/functions/utils/addresses.mjs +6 -2
- package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +2 -2
- package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
- package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.d.ts +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.mjs +3 -1
- package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-utxo-storage.mjs +1 -1
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.mjs +31 -31
- package/common/src/functions/utils/formatter.d.ts +1 -0
- package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +6 -6
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +11 -10
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +2 -2
- package/common/src/functions/utils/index.mjs +11 -10
- package/common/src/functions/utils/process.utils.cjs +1 -1
- package/common/src/functions/utils/process.utils.d.ts +0 -1
- package/common/src/functions/utils/process.utils.mjs +2 -11
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +2 -1
- package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
- package/common/src/functions/utils/transfer-claimable.utils.mjs +2 -2
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.d.ts +5 -14
- package/common/src/functions/utils/tron.utils.mjs +91 -127
- package/common/src/functions/utils/waasStamp.cjs +1 -0
- package/common/src/functions/utils/waasStamp.d.ts +5 -0
- package/common/src/functions/utils/waasStamp.mjs +2 -0
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -8
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +44 -48
- package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +4 -3
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +34 -25
- 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 +88 -76
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +9 -6
- package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.mjs +12 -12
- package/common/src/functions/web3/functionCalls/submitProof.cjs +1 -0
- package/common/src/functions/web3/functionCalls/submitProof.d.ts +5 -0
- package/common/src/functions/web3/functionCalls/submitProof.mjs +26 -0
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.d.ts +7 -3
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +81 -87
- package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +6 -11
- package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +4 -2
- 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/getContractMetadata.cjs +1 -1
- package/common/src/functions/web3/getContractMetadata.mjs +1 -1
- package/common/src/functions/web3/getTokenHolder.cjs +1 -1
- package/common/src/functions/web3/getTokenHolder.mjs +3 -2
- package/common/src/functions/web3/index.cjs +1 -1
- package/common/src/functions/web3/index.d.ts +0 -3
- package/common/src/functions/web3/index.mjs +0 -3
- package/common/src/functions/web3/lifiAPI.cjs +1 -1
- package/common/src/functions/web3/lifiAPI.mjs +1 -1
- package/common/src/providers/TronProviderAdapter.cjs +1 -1
- package/common/src/providers/TronProviderAdapter.mjs +7 -1
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
- package/common/src/types/activities.types.cjs +1 -1
- package/common/src/types/activities.types.d.ts +0 -9
- package/common/src/types/activities.types.mjs +1 -1
- package/common/src/types/admin.types.cjs +1 -1
- package/common/src/types/admin.types.d.ts +3 -1
- package/common/src/types/admin.types.mjs +1 -1
- package/common/src/types/bridging-tx.types.d.ts +8 -0
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/circom-data.types.d.ts +6 -0
- package/common/src/types/commitments.types.d.ts +2 -0
- package/common/src/types/dashboard-transaction.types.d.ts +3 -0
- package/common/src/types/ethereum-network.types.cjs +1 -1
- package/common/src/types/ethereum-network.types.d.ts +6 -15
- 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 -5
- 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 +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 +2 -0
- package/common/src/types/index.mjs +1 -0
- package/common/src/types/near-intents.types.d.ts +1 -0
- package/common/src/types/offscreen.types.cjs +1 -1
- package/common/src/types/offscreen.types.d.ts +0 -1
- package/common/src/types/offscreen.types.mjs +1 -1
- package/common/src/types/pay-activities.types.d.ts +3 -0
- package/common/src/types/remote-proof.types.d.ts +0 -6
- package/common/src/types/remote-tx-build.types.d.ts +242 -0
- package/common/src/types/scheduled-transactions.types.d.ts +3 -0
- package/common/src/types/solana.types.d.ts +7 -0
- package/common/src/types/tenderly.api.types.d.ts +70 -0
- package/common/src/types/transact.types.cjs +1 -0
- package/common/src/types/transact.types.d.ts +53 -0
- package/common/src/types/transact.types.mjs +6 -0
- package/common/src/webworker/{logError-uy41lNp1.js → logError-CxZzSALU.js} +1 -1
- package/common/src/webworker/package.json +12 -12
- 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-swwPYw6e.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/index.cjs +1 -1
- package/index.mjs +1 -1
- package/internal/swapApi.cjs +1 -1
- package/internal/swapApi.d.ts +3 -3
- package/internal/swapApi.mjs +22 -25
- package/package.json +12 -12
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +3 -3
- package/services/Hinkal.mjs +7 -7
- package/types/IHinkal.d.ts +3 -3
- package/types/swap.types.d.ts +3 -20
- package/common/src/API/callOdosAPI.cjs +0 -1
- package/common/src/API/callOdosAPI.d.ts +0 -63
- package/common/src/API/callOdosAPI.mjs +0 -18
- package/common/src/API/callOneInchAPI.cjs +0 -1
- package/common/src/API/callOneInchAPI.d.ts +0 -24
- package/common/src/API/callOneInchAPI.mjs +0 -16
- package/common/src/constants/rewards.constants.d.ts +0 -2
- package/common/src/externalABIs/IQuoterV2.json.cjs +0 -1
- package/common/src/externalABIs/IQuoterV2.json.mjs +0 -203
- package/common/src/externalABIs/ISwapRouter.json.cjs +0 -1
- package/common/src/externalABIs/ISwapRouter.json.mjs +0 -537
- package/common/src/externalABIs/IUniswapV3Factory.json.cjs +0 -1
- package/common/src/externalABIs/IUniswapV3Factory.json.mjs +0 -188
- package/common/src/externalABIs/IUniswapV3Pool.json.cjs +0 -1
- package/common/src/externalABIs/IUniswapV3Pool.json.mjs +0 -938
- package/common/src/externalABIs/UniswapV2PoolAbi.json.cjs +0 -1
- package/common/src/externalABIs/UniswapV2PoolAbi.json.mjs +0 -78
- package/common/src/functions/pre-transaction/interaction-to-action.cjs +0 -1
- package/common/src/functions/pre-transaction/interaction-to-action.d.ts +0 -2
- package/common/src/functions/pre-transaction/interaction-to-action.mjs +0 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +0 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.d.ts +0 -3
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +0 -30
- package/common/src/functions/private-wallet/opProducer.cjs +0 -1
- package/common/src/functions/private-wallet/opProducer.d.ts +0 -5
- package/common/src/functions/private-wallet/opProducer.mjs +0 -3
- package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +0 -1
- package/common/src/functions/snarkjs/generateZkProofEnclave.d.ts +0 -5
- package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +0 -27
- package/common/src/functions/utils/get-signature-header.cjs +0 -1
- package/common/src/functions/utils/get-signature-header.d.ts +0 -5
- package/common/src/functions/utils/get-signature-header.mjs +0 -4
- package/common/src/functions/web3/odosAPI.cjs +0 -1
- package/common/src/functions/web3/odosAPI.d.ts +0 -5
- package/common/src/functions/web3/odosAPI.mjs +0 -35
- package/common/src/functions/web3/oneInchAPI.cjs +0 -1
- package/common/src/functions/web3/oneInchAPI.d.ts +0 -5
- package/common/src/functions/web3/oneInchAPI.mjs +0 -44
- package/common/src/functions/web3/uniswapAPI.cjs +0 -1
- package/common/src/functions/web3/uniswapAPI.d.ts +0 -16
- package/common/src/functions/web3/uniswapAPI.mjs +0 -60
- package/common/src/webworker/workerProxy-MheXtWa4.js +0 -1
|
@@ -4,10 +4,13 @@ import { AccountMeta } from '@solana/web3.js';
|
|
|
4
4
|
import { DimDataType } from '../../types/circom-data.types';
|
|
5
5
|
import { MerkleTree } from '../../data-structures/merkle-tree';
|
|
6
6
|
import { UserKeys } from '../../data-structures/crypto-keys/keys';
|
|
7
|
-
export declare const constructSolanaZkProof: (
|
|
7
|
+
export declare const constructSolanaZkProof: (merkleTreeHinkal: MerkleTree<bigint>, userKeys: UserKeys, mintAddresses: string[], inputUtxosArray: Utxo[][], outputUtxosArray: Utxo[][], extraRandomization: bigint, relayerFee: bigint, variableRate: bigint, recipientAddress: string, signerAddress: string, dimensions: DimDataType, onChainCreation?: boolean[], chainId?: number, instructions?: HinkalInstruction[], remainingAccounts?: AccountMeta[], swapperAccountSalt?: bigint) => Promise<{
|
|
8
8
|
proofAArr: number[];
|
|
9
9
|
proofBArr: number[];
|
|
10
10
|
proofCArr: number[];
|
|
11
11
|
publicInputsArr: number[][];
|
|
12
12
|
commitmentValidationData: import('../..').CommitmentValidationDataType | undefined;
|
|
13
|
+
rootHashHinkalIndex: bigint;
|
|
14
|
+
encryptedOutputs: number[][];
|
|
15
|
+
onChainEncryptedOutput: string;
|
|
13
16
|
}>;
|
|
@@ -1,69 +1,74 @@
|
|
|
1
1
|
import { chainIds as e } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { poseidonFunction as t } from "../../crypto/poseidon.mjs";
|
|
3
|
-
import { randomBigInt as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { randomBigInt as ee } from "../web3/etherFunctions.mjs";
|
|
4
|
+
import { UserKeys as te } from "../../data-structures/crypto-keys/keys.mjs";
|
|
5
|
+
import { formatMintAddress as n } from "../utils/solanaMint.utils.mjs";
|
|
6
|
+
import { buildOutCommitments as r, calcAmountChanges as i, calcEncryptedOutputs as a, calcOnchainEncryptedOutput as o, calcStealthAddressStructure as s, getUtxoCircuitH0Coords as c } from "./common.snarkjs.mjs";
|
|
7
|
+
import { encodeToByte32Array as l } from "../pre-transaction/solana.mjs";
|
|
8
|
+
import { computeSignedMessageHashSolana as ne } from "./signedMessageHash.mjs";
|
|
8
9
|
import "../pre-transaction/index.mjs";
|
|
9
10
|
import { generateMainAndCommitmentZkProof as u } from "./generateMainAndCommitmentZkProof.mjs";
|
|
10
11
|
import { getDataFromWorkers as d } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
|
|
11
|
-
import { getSolanaCalldataHash as f } from "../pre-transaction/getSolanaCalldataHash.mjs";
|
|
12
12
|
import "../web3/index.mjs";
|
|
13
|
-
import {
|
|
13
|
+
import { getSolanaCalldataHash as f } from "../pre-transaction/getSolanaCalldataHash.mjs";
|
|
14
|
+
import { ethers as p } from "ethers";
|
|
15
|
+
import { PublicKey as m } from "@solana/web3.js";
|
|
14
16
|
//#region libs/shared/common/src/functions/snarkjs/constructSolanaZkProof.ts
|
|
15
|
-
var
|
|
16
|
-
let
|
|
17
|
-
rootHashHinkal:
|
|
18
|
-
mintAccountPart1:
|
|
19
|
-
mintAccountPart2:
|
|
20
|
-
amountChanges:
|
|
17
|
+
var h = async (h, g, _, v, y, b, x, S, re, ie, C, w = [], T = e.solanaLocalnet, ae = [], E = [], D = 0n) => {
|
|
18
|
+
let O = new m(re), k = new m(ie), A = g.getShieldedPrivateKey(), { pubSpendingBJJPoint: j } = g.getSpendingKeyPair(), M = s(b, A, g.getSpendingKeyPair().pubSpendingBJJPoint), N = w.some(Boolean) ? o(te.getEncryptionKeyPair(A).publicKey, M) : "0x", P = a(y).flatMap((e, t) => w[t] ? e.map(() => []) : e.map((e) => [...p.getBytes(e)])), F = ee(31), I = t(F), L = t(D), R = _.map((e) => n(e)), z = R.map((e) => e.mintAccountPart1), B = R.map((e) => e.mintAccountPart2), V = f(C, O, k, P, N, x, S, ae, E), oe = `${C.tokenNumber}x${C.nullifierAmount}x${C.outputAmount}`, H = i(v, y), { inCommitmentSiblings: U, inCommitmentSiblingSides: W, rootHashHinkal: G, rootHashHinkalIndex: K, inNullifiers: q } = await d(T, h, v.map((e) => e.map((e) => e.getConstructableParams()))), J = r(y), Y = M.H0x, X = M.H0y, Z = ne({
|
|
19
|
+
rootHashHinkal: G,
|
|
20
|
+
mintAccountPart1: z,
|
|
21
|
+
mintAccountPart2: B,
|
|
22
|
+
amountChanges: H,
|
|
21
23
|
outTimeStamp: BigInt(y[0][0].timeStamp),
|
|
22
24
|
inNullifiers: q,
|
|
23
25
|
outCommitments: J,
|
|
24
|
-
calldataHash:
|
|
25
|
-
message:
|
|
26
|
-
swapperAccountAdditionalSeed:
|
|
27
|
-
outH1Ay:
|
|
26
|
+
calldataHash: V,
|
|
27
|
+
message: I,
|
|
28
|
+
swapperAccountAdditionalSeed: L,
|
|
29
|
+
outH1Ay: M.H1y,
|
|
28
30
|
H0Ax: Y,
|
|
29
31
|
H0Ay: X
|
|
30
|
-
}), { R8: Q, S:
|
|
31
|
-
rootHashHinkal:
|
|
32
|
-
spendingPublicKey:
|
|
32
|
+
}), { R8: Q, S: se } = g.signEddsa(Z), ce = {
|
|
33
|
+
rootHashHinkal: G,
|
|
34
|
+
spendingPublicKey: j,
|
|
33
35
|
eddsaSignature: [
|
|
34
36
|
Q[0],
|
|
35
37
|
Q[1],
|
|
36
|
-
|
|
38
|
+
se
|
|
37
39
|
],
|
|
38
40
|
signedMessageHash: Z,
|
|
39
|
-
nullifyingPrivateKey:
|
|
40
|
-
mintAccountPart1:
|
|
41
|
-
mintAccountPart2:
|
|
42
|
-
amountChanges:
|
|
41
|
+
nullifyingPrivateKey: A,
|
|
42
|
+
mintAccountPart1: z,
|
|
43
|
+
mintAccountPart2: B,
|
|
44
|
+
amountChanges: H,
|
|
43
45
|
inAmounts: v.map((e) => e.map((e) => e.amount.toString())),
|
|
44
|
-
inH0Ax: v.map((e) => e.map((e) =>
|
|
45
|
-
inH0Ay: v.map((e) => e.map((e) =>
|
|
46
|
+
inH0Ax: v.map((e) => e.map((e) => c(e)[0].toString())),
|
|
47
|
+
inH0Ay: v.map((e) => e.map((e) => c(e)[1].toString())),
|
|
46
48
|
inTimeStamps: v.map((e) => e.map((e) => e.timeStamp)),
|
|
47
49
|
inNullifiers: q,
|
|
48
|
-
inCommitmentSiblings:
|
|
49
|
-
inCommitmentSiblingSides:
|
|
50
|
+
inCommitmentSiblings: U,
|
|
51
|
+
inCommitmentSiblingSides: W,
|
|
50
52
|
outAmounts: y.map((e) => e.map((e) => e.amount.toString())),
|
|
51
53
|
outTimeStamp: BigInt(y[0][0].timeStamp),
|
|
52
54
|
outPublicKeys: y.map((e) => e.map((e) => e.getStealthAddress())),
|
|
53
55
|
outCommitments: J,
|
|
54
|
-
calldataHash:
|
|
55
|
-
messageSeed:
|
|
56
|
-
swapperAccountSalt:
|
|
56
|
+
calldataHash: V,
|
|
57
|
+
messageSeed: F,
|
|
58
|
+
swapperAccountSalt: D,
|
|
57
59
|
H0Ax: Y,
|
|
58
60
|
H0Ay: X
|
|
59
|
-
}, { zkCallData:
|
|
61
|
+
}, { zkCallData: le, publicSignals: $, commitmentValidationData: ue } = await u(T, g, _, v, `mainSolanaCircuit${oe}`, ce), [de, fe, pe] = le;
|
|
60
62
|
return {
|
|
61
|
-
proofAArr:
|
|
62
|
-
proofBArr:
|
|
63
|
-
proofCArr:
|
|
64
|
-
publicInputsArr:
|
|
65
|
-
commitmentValidationData:
|
|
63
|
+
proofAArr: de.map(BigInt).map(l).flat(),
|
|
64
|
+
proofBArr: fe.flat().map(BigInt).map(l).flat(),
|
|
65
|
+
proofCArr: pe.map(BigInt).map(l).flat(),
|
|
66
|
+
publicInputsArr: $.map(BigInt).map(l),
|
|
67
|
+
commitmentValidationData: ue,
|
|
68
|
+
rootHashHinkalIndex: K,
|
|
69
|
+
encryptedOutputs: P,
|
|
70
|
+
onChainEncryptedOutput: N
|
|
66
71
|
};
|
|
67
72
|
};
|
|
68
73
|
//#endregion
|
|
69
|
-
export {
|
|
74
|
+
export { h as constructSolanaZkProof };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./constant.cjs`),t=require(`../../data-structures/http/HttpClient.cjs`);require(`../../data-structures/http/index.cjs`);const n=require(`../utils/encryptInputForEnclave.cjs`),r=require(`./verifySignedEnclaveResponse.cjs`);var i=async(i,a)=>{let{keyCiphertext:o,inputCiphertext:s}=await n.makeEnclaveHandshakeAndEncryptInput(a),c=await t.httpClient.post(`${e.ENCLAVE_URL}${i}`,{key:o,inputs:s});return r.verifySignedEnclaveResponse(c.data,c.signature)},a=e=>{if(Array.isArray(e))return`[${e.map(a).join(`,`)}]`;if(e&&typeof e==`object`){let t=e;return`{${Object.keys(t).filter(e=>t[e]!==void 0).sort().map(e=>`${JSON.stringify(e)}:${a(t[e])}`).join(`,`)}}`}return JSON.stringify(e)},o=(e,t)=>{if(a({chainId:String(e.chainId),erc20Addresses:e.erc20Addresses,amountChanges:e.amountChanges,externalAddress:e.externalAddress,...e.originalSender?{originalSender:e.originalSender}:{},relay:e.relay??``,feeStructure:e.feeStructure?{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()}:null,externalActionId:e.externalActionId??``,externalActionMetadata:e.externalActionMetadata??``,onChainCreation:e.onChainCreation??null,recipientAddress:e.recipientAddress??null,recipientAmounts:e.recipientAmounts??null,selfOutputAmounts:e.selfOutputAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,createBlockedUtxos:e.createBlockedUtxos??!1,...e.forceEmptyUtxos?{forceEmptyUtxos:!0}:{},messageSeed:e.messageSeed??``,skipLock:e.skipLock??!1})!==a(t))throw Error(`Enclave prepare-tx response does not match the request sent - refusing to sign`)},s=(e,t)=>{let n={chainId:String(e.chainId),mintAddresses:e.mintAddresses,amountChanges:e.amountChanges,relayAddress:e.relayAddress,recipient:e.recipient,signer:e.signer??e.relayAddress,functionName:e.functionName??`transact`,accounts:e.accounts,onChainCreation:e.onChainCreation??null,relayerFee:e.relayerFee??`0`,variableRate:e.variableRate??`0`,hinkalInstructions:e.hinkalInstructions??null,remainingAccounts:e.remainingAccounts??null,swapperAccountSalt:e.swapperAccountSalt??`0`,recipientAddress:e.recipientAddress??``,recipientAmounts:e.recipientAmounts??null,inputCommitments:e.inputCommitments??null,useBlockedUtxos:e.useBlockedUtxos??!1,messageSeed:e.messageSeed??``};if(e.recipientAmount&&(n.recipientAmount=e.recipientAmount),e.displayRecipient&&(n.displayRecipient=e.displayRecipient),a(n)!==a(t))throw Error(`Enclave prepare-solana-tx response does not match the request sent - refusing to sign`)},c=e=>({R8:e.R8.map(String),S:e.S.toString()}),l=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),u=(e,t)=>{if(a({chainId:String(e.chainId),erc20Address:e.erc20Address,externalAddress:e.externalAddress,relay:e.relay,feeStructure:{feeToken:e.feeStructure.feeToken,flatFee:e.feeStructure.flatFee.toString(),variableRate:e.feeStructure.variableRate.toString()},hashedEthereumAddress:e.hashedEthereumAddress})!==a(t))throw Error(`Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign`)},d=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),recipientAmounts:t.recipientAmounts?.map(e=>e.map(String)),selfOutputAmounts:t.selfOutputAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},a=await i(`/prepare-tx`,r);return o(r,a.request),a},f=async(e,t)=>{let{nullifierCount:n}=await i(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},p=async(e,t,n=e.userKeys)=>{let r={...t,amountChanges:t.amountChanges.map(String),relayerFee:t.relayerFee?.toString(),variableRate:t.variableRate?.toString(),swapperAccountSalt:t.swapperAccountSalt?.toString(),recipientAmounts:t.recipientAmounts?.map(String),messageSeed:t.messageSeed?.toString(),nullifyingKey:n.getShieldedPrivateKey(),spendingPublicKey:n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},a=await i(`/prepare-solana-tx`,r);return s(r,a.request),a},m=async(e,t)=>{let n={...t,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},{jobs:r,request:a}=await i(`/prepare-stuck-withdraw`,n);return u(n,a),r},h=async(e,t)=>{let n=Object.fromEntries(Object.entries(t.feeStructures).map(([e,t])=>[e,l(t)])),{jobs:r}=await i(`/prepare-solana-stuck-withdraw`,{...t,feeStructures:n,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return r},g=async(e,t)=>i(`/finalize-tx`,{jobId:e,eddsaSignature:c(t)}),_=async(e,t)=>i(`/finalize-solana-tx`,{jobId:e,eddsaSignature:c(t)}),v=async(e,t,n,r)=>{let{txHash:a}=await i(`/finalize-tx-relay`,{jobId:e,eddsaSignature:c(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return a},y=async(e,t,n,r)=>{let{txHash:a}=await i(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:c(t),chainId:n,adminData:r?.adminData});return a};exports.estimateNullifiersEnclaveCall=f,exports.finalizeSolanaTxEnclaveCall=_,exports.finalizeSolanaTxEnclaveCallRelay=y,exports.finalizeTxEnclaveCall=g,exports.finalizeTxEnclaveCallRelay=v,exports.prepareSolanaStuckWithdrawEnclaveCall=h,exports.prepareSolanaTxEnclaveCall=p,exports.prepareStuckWithdrawEnclaveCall=m,exports.prepareTxEnclaveCall=d;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
|
|
2
|
+
import { UserKeys } from '../../data-structures/crypto-keys/keys';
|
|
3
|
+
import { EstimateNullifiersParams, FinalizeSolanaTxResponseType, FinalizeTxResponseType, PreparedJobType, PrepareSolanaStuckWithdrawParams, PrepareSolanaTxParams, PrepareSolanaTxResponseType, PrepareStuckWithdrawRequestType, PrepareTxParams, PrepareTxResponseType } from '../../types/remote-tx-build.types';
|
|
4
|
+
import { AdminDataType } from '../../types/admin.types';
|
|
5
|
+
import { AuthorizationData } from '../../types/hinkal.types';
|
|
6
|
+
export declare const prepareTxEnclaveCall: (hinkal: IHinkal, params: PrepareTxParams, userKeys?: UserKeys) => Promise<PrepareTxResponseType>;
|
|
7
|
+
export declare const estimateNullifiersEnclaveCall: (hinkal: IHinkal, params: EstimateNullifiersParams) => Promise<number>;
|
|
8
|
+
export declare const prepareSolanaTxEnclaveCall: (hinkal: IHinkal, params: PrepareSolanaTxParams, userKeys?: UserKeys) => Promise<PrepareSolanaTxResponseType>;
|
|
9
|
+
export declare const prepareStuckWithdrawEnclaveCall: (hinkal: IHinkal, params: Omit<PrepareStuckWithdrawRequestType, "nullifyingKey" | "spendingPublicKey">) => Promise<PreparedJobType[]>;
|
|
10
|
+
export declare const prepareSolanaStuckWithdrawEnclaveCall: (hinkal: IHinkal, params: PrepareSolanaStuckWithdrawParams) => Promise<PreparedJobType[]>;
|
|
11
|
+
export declare const finalizeTxEnclaveCall: (jobId: string, eddsaSignature: {
|
|
12
|
+
R8: [bigint, bigint];
|
|
13
|
+
S: bigint;
|
|
14
|
+
}) => Promise<FinalizeTxResponseType>;
|
|
15
|
+
export declare const finalizeSolanaTxEnclaveCall: (jobId: string, eddsaSignature: {
|
|
16
|
+
R8: [bigint, bigint];
|
|
17
|
+
S: bigint;
|
|
18
|
+
}) => Promise<FinalizeSolanaTxResponseType>;
|
|
19
|
+
export declare const finalizeTxEnclaveCallRelay: (jobId: string, eddsaSignature: {
|
|
20
|
+
R8: [bigint, bigint];
|
|
21
|
+
S: bigint;
|
|
22
|
+
}, chainId: number, extra?: {
|
|
23
|
+
adminData?: AdminDataType;
|
|
24
|
+
authorizationData?: AuthorizationData;
|
|
25
|
+
withUniswapWorkAround?: boolean;
|
|
26
|
+
}) => Promise<string>;
|
|
27
|
+
export declare const finalizeSolanaTxEnclaveCallRelay: (jobId: string, eddsaSignature: {
|
|
28
|
+
R8: [bigint, bigint];
|
|
29
|
+
S: bigint;
|
|
30
|
+
}, chainId: number, extra?: {
|
|
31
|
+
adminData?: AdminDataType;
|
|
32
|
+
}) => Promise<string>;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { ENCLAVE_URL as e } from "./constant.mjs";
|
|
2
|
+
import { httpClient as t } from "../../data-structures/http/HttpClient.mjs";
|
|
3
|
+
import "../../data-structures/http/index.mjs";
|
|
4
|
+
import { makeEnclaveHandshakeAndEncryptInput as n } from "../utils/encryptInputForEnclave.mjs";
|
|
5
|
+
import { verifySignedEnclaveResponse as r } from "./verifySignedEnclaveResponse.mjs";
|
|
6
|
+
//#region libs/shared/common/src/functions/snarkjs/constructTxEnclave.ts
|
|
7
|
+
var i = async (i, a) => {
|
|
8
|
+
let { keyCiphertext: o, inputCiphertext: s } = await n(a), c = await t.post(`${e}${i}`, {
|
|
9
|
+
key: o,
|
|
10
|
+
inputs: s
|
|
11
|
+
});
|
|
12
|
+
return r(c.data, c.signature);
|
|
13
|
+
}, a = (e) => {
|
|
14
|
+
if (Array.isArray(e)) return `[${e.map(a).join(",")}]`;
|
|
15
|
+
if (e && typeof e == "object") {
|
|
16
|
+
let t = e;
|
|
17
|
+
return `{${Object.keys(t).filter((e) => t[e] !== void 0).sort().map((e) => `${JSON.stringify(e)}:${a(t[e])}`).join(",")}}`;
|
|
18
|
+
}
|
|
19
|
+
return JSON.stringify(e);
|
|
20
|
+
}, o = (e, t) => {
|
|
21
|
+
if (a({
|
|
22
|
+
chainId: String(e.chainId),
|
|
23
|
+
erc20Addresses: e.erc20Addresses,
|
|
24
|
+
amountChanges: e.amountChanges,
|
|
25
|
+
externalAddress: e.externalAddress,
|
|
26
|
+
...e.originalSender ? { originalSender: e.originalSender } : {},
|
|
27
|
+
relay: e.relay ?? "",
|
|
28
|
+
feeStructure: e.feeStructure ? {
|
|
29
|
+
feeToken: e.feeStructure.feeToken,
|
|
30
|
+
flatFee: e.feeStructure.flatFee.toString(),
|
|
31
|
+
variableRate: e.feeStructure.variableRate.toString()
|
|
32
|
+
} : null,
|
|
33
|
+
externalActionId: e.externalActionId ?? "",
|
|
34
|
+
externalActionMetadata: e.externalActionMetadata ?? "",
|
|
35
|
+
onChainCreation: e.onChainCreation ?? null,
|
|
36
|
+
recipientAddress: e.recipientAddress ?? null,
|
|
37
|
+
recipientAmounts: e.recipientAmounts ?? null,
|
|
38
|
+
selfOutputAmounts: e.selfOutputAmounts ?? null,
|
|
39
|
+
inputCommitments: e.inputCommitments ?? null,
|
|
40
|
+
useBlockedUtxos: e.useBlockedUtxos ?? !1,
|
|
41
|
+
createBlockedUtxos: e.createBlockedUtxos ?? !1,
|
|
42
|
+
...e.forceEmptyUtxos ? { forceEmptyUtxos: !0 } : {},
|
|
43
|
+
messageSeed: e.messageSeed ?? "",
|
|
44
|
+
skipLock: e.skipLock ?? !1
|
|
45
|
+
}) !== a(t)) throw Error("Enclave prepare-tx response does not match the request sent - refusing to sign");
|
|
46
|
+
}, s = (e, t) => {
|
|
47
|
+
let n = {
|
|
48
|
+
chainId: String(e.chainId),
|
|
49
|
+
mintAddresses: e.mintAddresses,
|
|
50
|
+
amountChanges: e.amountChanges,
|
|
51
|
+
relayAddress: e.relayAddress,
|
|
52
|
+
recipient: e.recipient,
|
|
53
|
+
signer: e.signer ?? e.relayAddress,
|
|
54
|
+
functionName: e.functionName ?? "transact",
|
|
55
|
+
accounts: e.accounts,
|
|
56
|
+
onChainCreation: e.onChainCreation ?? null,
|
|
57
|
+
relayerFee: e.relayerFee ?? "0",
|
|
58
|
+
variableRate: e.variableRate ?? "0",
|
|
59
|
+
hinkalInstructions: e.hinkalInstructions ?? null,
|
|
60
|
+
remainingAccounts: e.remainingAccounts ?? null,
|
|
61
|
+
swapperAccountSalt: e.swapperAccountSalt ?? "0",
|
|
62
|
+
recipientAddress: e.recipientAddress ?? "",
|
|
63
|
+
recipientAmounts: e.recipientAmounts ?? null,
|
|
64
|
+
inputCommitments: e.inputCommitments ?? null,
|
|
65
|
+
useBlockedUtxos: e.useBlockedUtxos ?? !1,
|
|
66
|
+
messageSeed: e.messageSeed ?? ""
|
|
67
|
+
};
|
|
68
|
+
if (e.recipientAmount && (n.recipientAmount = e.recipientAmount), e.displayRecipient && (n.displayRecipient = e.displayRecipient), a(n) !== a(t)) throw Error("Enclave prepare-solana-tx response does not match the request sent - refusing to sign");
|
|
69
|
+
}, c = (e) => ({
|
|
70
|
+
R8: e.R8.map(String),
|
|
71
|
+
S: e.S.toString()
|
|
72
|
+
}), l = (e) => ({
|
|
73
|
+
feeToken: e.feeToken,
|
|
74
|
+
flatFee: e.flatFee.toString(),
|
|
75
|
+
variableRate: e.variableRate.toString()
|
|
76
|
+
}), u = (e, t) => {
|
|
77
|
+
if (a({
|
|
78
|
+
chainId: String(e.chainId),
|
|
79
|
+
erc20Address: e.erc20Address,
|
|
80
|
+
externalAddress: e.externalAddress,
|
|
81
|
+
relay: e.relay,
|
|
82
|
+
feeStructure: {
|
|
83
|
+
feeToken: e.feeStructure.feeToken,
|
|
84
|
+
flatFee: e.feeStructure.flatFee.toString(),
|
|
85
|
+
variableRate: e.feeStructure.variableRate.toString()
|
|
86
|
+
},
|
|
87
|
+
hashedEthereumAddress: e.hashedEthereumAddress
|
|
88
|
+
}) !== a(t)) throw Error("Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign");
|
|
89
|
+
}, d = async (e, t, n = e.userKeys) => {
|
|
90
|
+
let r = {
|
|
91
|
+
...t,
|
|
92
|
+
amountChanges: t.amountChanges.map(String),
|
|
93
|
+
recipientAmounts: t.recipientAmounts?.map((e) => e.map(String)),
|
|
94
|
+
selfOutputAmounts: t.selfOutputAmounts?.map(String),
|
|
95
|
+
messageSeed: t.messageSeed?.toString(),
|
|
96
|
+
nullifyingKey: n.getShieldedPrivateKey(),
|
|
97
|
+
spendingPublicKey: n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
|
|
98
|
+
}, a = await i("/prepare-tx", r);
|
|
99
|
+
return o(r, a.request), a;
|
|
100
|
+
}, f = async (e, t) => {
|
|
101
|
+
let { nullifierCount: n } = await i("/estimate-nullifiers", {
|
|
102
|
+
...t,
|
|
103
|
+
amountChanges: t.amountChanges.map(String),
|
|
104
|
+
nullifyingKey: e.userKeys.getShieldedPrivateKey(),
|
|
105
|
+
spendingPublicKey: e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
|
|
106
|
+
});
|
|
107
|
+
return n;
|
|
108
|
+
}, p = async (e, t, n = e.userKeys) => {
|
|
109
|
+
let r = {
|
|
110
|
+
...t,
|
|
111
|
+
amountChanges: t.amountChanges.map(String),
|
|
112
|
+
relayerFee: t.relayerFee?.toString(),
|
|
113
|
+
variableRate: t.variableRate?.toString(),
|
|
114
|
+
swapperAccountSalt: t.swapperAccountSalt?.toString(),
|
|
115
|
+
recipientAmounts: t.recipientAmounts?.map(String),
|
|
116
|
+
messageSeed: t.messageSeed?.toString(),
|
|
117
|
+
nullifyingKey: n.getShieldedPrivateKey(),
|
|
118
|
+
spendingPublicKey: n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
|
|
119
|
+
}, a = await i("/prepare-solana-tx", r);
|
|
120
|
+
return s(r, a.request), a;
|
|
121
|
+
}, m = async (e, t) => {
|
|
122
|
+
let n = {
|
|
123
|
+
...t,
|
|
124
|
+
nullifyingKey: e.userKeys.getShieldedPrivateKey(),
|
|
125
|
+
spendingPublicKey: e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
|
|
126
|
+
}, { jobs: r, request: a } = await i("/prepare-stuck-withdraw", n);
|
|
127
|
+
return u(n, a), r;
|
|
128
|
+
}, h = async (e, t) => {
|
|
129
|
+
let n = Object.fromEntries(Object.entries(t.feeStructures).map(([e, t]) => [e, l(t)])), { jobs: r } = await i("/prepare-solana-stuck-withdraw", {
|
|
130
|
+
...t,
|
|
131
|
+
feeStructures: n,
|
|
132
|
+
nullifyingKey: e.userKeys.getShieldedPrivateKey(),
|
|
133
|
+
spendingPublicKey: e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
|
|
134
|
+
});
|
|
135
|
+
return r;
|
|
136
|
+
}, g = async (e, t) => i("/finalize-tx", {
|
|
137
|
+
jobId: e,
|
|
138
|
+
eddsaSignature: c(t)
|
|
139
|
+
}), _ = async (e, t) => i("/finalize-solana-tx", {
|
|
140
|
+
jobId: e,
|
|
141
|
+
eddsaSignature: c(t)
|
|
142
|
+
}), v = async (e, t, n, r) => {
|
|
143
|
+
let { txHash: a } = await i("/finalize-tx-relay", {
|
|
144
|
+
jobId: e,
|
|
145
|
+
eddsaSignature: c(t),
|
|
146
|
+
chainId: n,
|
|
147
|
+
adminData: r?.adminData,
|
|
148
|
+
authorizationData: r?.authorizationData,
|
|
149
|
+
withUniswapWorkAround: r?.withUniswapWorkAround
|
|
150
|
+
});
|
|
151
|
+
return a;
|
|
152
|
+
}, y = async (e, t, n, r) => {
|
|
153
|
+
let { txHash: a } = await i("/finalize-solana-tx-relay", {
|
|
154
|
+
jobId: e,
|
|
155
|
+
eddsaSignature: c(t),
|
|
156
|
+
chainId: n,
|
|
157
|
+
adminData: r?.adminData
|
|
158
|
+
});
|
|
159
|
+
return a;
|
|
160
|
+
};
|
|
161
|
+
//#endregion
|
|
162
|
+
export { f as estimateNullifiersEnclaveCall, _ as finalizeSolanaTxEnclaveCall, y as finalizeSolanaTxEnclaveCallRelay, g as finalizeTxEnclaveCall, v as finalizeTxEnclaveCallRelay, h as prepareSolanaStuckWithdrawEnclaveCall, p as prepareSolanaTxEnclaveCall, m as prepareStuckWithdrawEnclaveCall, d as prepareTxEnclaveCall };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../constants/server.constants.cjs`),t=require(`../../API/getServerURL.cjs`),n=require(`../../data-structures/http/HttpClient.cjs`);var r=async(r,i)=>{let a=`${t.SNAPSHOT_SERVER_URL}${e.API_CONFIG.ROUTES.getTronInsertionSiblings}`;return n.httpClient.post(a,{chainId:r,outputCommitments:i})};exports.fetchTronInsertionSiblings=r;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface TronInsertionSiblingsResponse {
|
|
2
|
+
insertionSiblings: string[][];
|
|
3
|
+
insertionSiblingSides: string[][];
|
|
4
|
+
insertedLeafIndex: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const fetchTronInsertionSiblings: (chainId: number, outputCommitments: string[][]) => Promise<TronInsertionSiblingsResponse>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { API_CONFIG as e } from "../../constants/server.constants.mjs";
|
|
2
|
+
import { SNAPSHOT_SERVER_URL as t } from "../../API/getServerURL.mjs";
|
|
3
|
+
import { httpClient as n } from "../../data-structures/http/HttpClient.mjs";
|
|
4
|
+
//#region libs/shared/common/src/functions/snarkjs/fetchTronInsertionSiblings.ts
|
|
5
|
+
var r = async (r, i) => {
|
|
6
|
+
let a = `${t}${e.ROUTES.getTronInsertionSiblings}`;
|
|
7
|
+
return n.post(a, {
|
|
8
|
+
chainId: r,
|
|
9
|
+
outputCommitments: i
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { r as fetchTronInsertionSiblings };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/circom-data.types.cjs`),n=require(`../utils/external-action.utils.cjs`),r=require(`./getOriginalSender.cjs`);var i=
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/circom-data.types.cjs`),n=require(`../utils/external-action.utils.cjs`),r=require(`./getOriginalSender.cjs`);var i=1,a=(a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O=!1,k=[],A=`0x`,j,M)=>{let N=g===void 0?e.zeroAddress:g,P={rootHashHinkal:s,rootHashHinkalIndex:c,erc20TokenAddresses:u,amountChanges:l,inputNullifiers:o,outCommitments:a,encryptedOutputs:f,onChainEncryptedOutput:p,timeStamp:d.length>0?d[0][0].timeStamp:String(w??``),stealthAddressStructure:x,relay:y,externalActionData:{externalAddress:N,externalActionMetadata:v,externalActionId:typeof h==`bigint`?0n:n.getExternalActionIdHash(h)},hookData:C||t.defaultHookData,publicSignalCount:m,calldataHash:b,emporiumMessage:_,onChainCreation:S,slippageValues:T,feeStructure:{...E},originalSender:D??r.getOriginalSender(N,y),extraData:A};if(O){let e=k[i];if(e===void 0)throw Error(`Tron proof is missing newRootHash in public signals`);if(P.newRootHash=BigInt(e),j===void 0)throw Error(`Tron transaction is missing insertedLeafIndex`);P.insertedLeafIndex=j,P.createBlockedUtxos=M??!1}return P};exports.generateCircomData=a;
|
|
@@ -2,4 +2,4 @@ import { FeeStructure } from '../../types/hinkal.types';
|
|
|
2
2
|
import { Utxo } from '../../data-structures/utxo/Utxo';
|
|
3
3
|
import { CircomDataType, HookDataType, StealthAddressStructure } from '../../types/circom-data.types';
|
|
4
4
|
import { ExternalActionId } from '../../types/external-action.types';
|
|
5
|
-
export declare const generateCircomData: (outCommitments: string[][], inputNullifiers: string[][], rootHashHinkal: bigint | undefined, rootHashHinkalIndex: bigint | undefined, amountChanges: bigint[], erc20TokenAddresses: string[], outputUtxos: Utxo[][], encryptedOutputs: string[][], onChainEncryptedOutput: string, publicSignalCount: number, externalActionId: ExternalActionId | bigint, externalAddress: string | undefined, emporiumMessage: bigint, externalActionMetadata: string, relay: string, calldataHash: bigint, stealthAddressStructure: StealthAddressStructure, onChainCreation: boolean[], hookData: HookDataType | undefined, timeStampFallback: number | undefined, slippageValues: bigint[], feeStructure: FeeStructure, originalSender?: string, extraData?: string) => CircomDataType;
|
|
5
|
+
export declare const generateCircomData: (outCommitments: string[][], inputNullifiers: string[][], rootHashHinkal: bigint | undefined, rootHashHinkalIndex: bigint | undefined, amountChanges: bigint[], erc20TokenAddresses: string[], outputUtxos: Utxo[][], encryptedOutputs: string[][], onChainEncryptedOutput: string, publicSignalCount: number, externalActionId: ExternalActionId | bigint, externalAddress: string | undefined, emporiumMessage: bigint, externalActionMetadata: string, relay: string, calldataHash: bigint, stealthAddressStructure: StealthAddressStructure, onChainCreation: boolean[], hookData: HookDataType | undefined, timeStampFallback: number | undefined, slippageValues: bigint[], feeStructure: FeeStructure, originalSender?: string, isTron?: boolean, publicSignals?: string[], extraData?: string, tronInsertedLeafIndex?: bigint, createBlockedUtxos?: boolean) => CircomDataType;
|
|
@@ -3,35 +3,41 @@ import { defaultHookData as t } from "../../types/circom-data.types.mjs";
|
|
|
3
3
|
import { getExternalActionIdHash as n } from "../utils/external-action.utils.mjs";
|
|
4
4
|
import { getOriginalSender as r } from "./getOriginalSender.mjs";
|
|
5
5
|
//#region libs/shared/common/src/functions/snarkjs/generateCircomData.ts
|
|
6
|
-
var i =
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
relay: v,
|
|
6
|
+
var i = 1, a = (a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E, D, O = !1, k = [], A = "0x", j, M) => {
|
|
7
|
+
let N = g === void 0 ? e : g, P = {
|
|
8
|
+
rootHashHinkal: s,
|
|
9
|
+
rootHashHinkalIndex: c,
|
|
10
|
+
erc20TokenAddresses: u,
|
|
11
|
+
amountChanges: l,
|
|
12
|
+
inputNullifiers: o,
|
|
13
|
+
outCommitments: a,
|
|
14
|
+
encryptedOutputs: f,
|
|
15
|
+
onChainEncryptedOutput: p,
|
|
16
|
+
timeStamp: d.length > 0 ? d[0][0].timeStamp : String(w ?? ""),
|
|
17
|
+
stealthAddressStructure: x,
|
|
18
|
+
relay: y,
|
|
20
19
|
externalActionData: {
|
|
21
|
-
externalAddress:
|
|
22
|
-
externalActionMetadata:
|
|
23
|
-
externalActionId: typeof
|
|
20
|
+
externalAddress: N,
|
|
21
|
+
externalActionMetadata: v,
|
|
22
|
+
externalActionId: typeof h == "bigint" ? 0n : n(h)
|
|
24
23
|
},
|
|
25
|
-
hookData:
|
|
26
|
-
publicSignalCount:
|
|
27
|
-
calldataHash:
|
|
28
|
-
emporiumMessage:
|
|
29
|
-
onChainCreation:
|
|
30
|
-
slippageValues:
|
|
31
|
-
feeStructure: { ...
|
|
32
|
-
originalSender:
|
|
33
|
-
extraData:
|
|
24
|
+
hookData: C || t,
|
|
25
|
+
publicSignalCount: m,
|
|
26
|
+
calldataHash: b,
|
|
27
|
+
emporiumMessage: _,
|
|
28
|
+
onChainCreation: S,
|
|
29
|
+
slippageValues: T,
|
|
30
|
+
feeStructure: { ...E },
|
|
31
|
+
originalSender: D ?? r(N, y),
|
|
32
|
+
extraData: A
|
|
34
33
|
};
|
|
34
|
+
if (O) {
|
|
35
|
+
let e = k[i];
|
|
36
|
+
if (e === void 0) throw Error("Tron proof is missing newRootHash in public signals");
|
|
37
|
+
if (P.newRootHash = BigInt(e), j === void 0) throw Error("Tron transaction is missing insertedLeafIndex");
|
|
38
|
+
P.insertedLeafIndex = j, P.createBlockedUtxos = M ?? !1;
|
|
39
|
+
}
|
|
40
|
+
return P;
|
|
35
41
|
};
|
|
36
42
|
//#endregion
|
|
37
|
-
export {
|
|
43
|
+
export { a as generateCircomData };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../pre-transaction/buildCommitmentValidationData.cjs`);require(`../pre-transaction/index.cjs`);const t=require(`./generateZkProof.cjs`);var n=async(n,r,i,a,o,s
|
|
1
|
+
const e=require(`../pre-transaction/buildCommitmentValidationData.cjs`);require(`../pre-transaction/index.cjs`);const t=require(`./generateZkProof.cjs`);var n=async(n,r,i,a,o,s)=>{let c=await e.buildCommitmentValidationData(n,r,i,a),l=[o],u=[s];c&&(l.push(c.verifierName),u.push(c.commitmentInput));let d=await t.generateZkProof(n,l,u),{zkCallData:f,publicSignals:p}=d[0];return{zkCallData:f,publicSignals:p,commitmentValidationData:e.buildCommitmentValidationDataFromProof(c,d[1])}};exports.generateMainAndCommitmentZkProof=n;
|
|
@@ -7,5 +7,5 @@ interface GenerateMainAndCommitmentZkProofResponse {
|
|
|
7
7
|
publicSignals: string[];
|
|
8
8
|
commitmentValidationData: CommitmentValidationDataType | undefined;
|
|
9
9
|
}
|
|
10
|
-
export declare const generateMainAndCommitmentZkProof: (chainId: number, userKeys: UserKeys, tokenAddresses: string[], inputUtxos: Utxo[][], mainVerifierName: string, mainCircuitInput: unknown
|
|
10
|
+
export declare const generateMainAndCommitmentZkProof: (chainId: number, userKeys: UserKeys, tokenAddresses: string[], inputUtxos: Utxo[][], mainVerifierName: string, mainCircuitInput: unknown) => Promise<GenerateMainAndCommitmentZkProofResponse>;
|
|
11
11
|
export {};
|
|
@@ -2,14 +2,14 @@ import { buildCommitmentValidationData as e, buildCommitmentValidationDataFromPr
|
|
|
2
2
|
import "../pre-transaction/index.mjs";
|
|
3
3
|
import { generateZkProof as n } from "./generateZkProof.mjs";
|
|
4
4
|
//#region libs/shared/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.ts
|
|
5
|
-
var r = async (r, i, a, o, s, c
|
|
6
|
-
let
|
|
7
|
-
|
|
8
|
-
let
|
|
5
|
+
var r = async (r, i, a, o, s, c) => {
|
|
6
|
+
let l = await e(r, i, a, o), u = [s], d = [c];
|
|
7
|
+
l && (u.push(l.verifierName), d.push(l.commitmentInput));
|
|
8
|
+
let f = await n(r, u, d), { zkCallData: p, publicSignals: m } = f[0];
|
|
9
9
|
return {
|
|
10
|
-
zkCallData:
|
|
11
|
-
publicSignals:
|
|
12
|
-
commitmentValidationData: t(
|
|
10
|
+
zkCallData: p,
|
|
11
|
+
publicSignals: m,
|
|
12
|
+
commitmentValidationData: t(l, f[1])
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../utils/customEnclaveFunctionsRegister.cjs`),t=require(
|
|
1
|
+
const e=require(`../utils/customEnclaveFunctionsRegister.cjs`),t=require(`./getZKFiles.cjs`),n=require(`./generateZkProofSelf.cjs`);var r=async(r,i,a)=>{let o=e.getCustomProofGenerator();return o?(await o(a,i.map(e=>t.getWASMFile(e,r)),i.map(e=>t.getZKeyFile(e,r)))).map(({zkCallData:e,publicSignals:t})=>({zkCallData:e,publicSignals:t})):Promise.all(i.map((e,t)=>n.generateZkProofSelf(r,e,a[t])))};exports.generateZkProof=r;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NewZkCallDataType } from '../../types/snark.types';
|
|
2
|
-
export declare const generateZkProof: (chainId: number, verifierNames: string[], inputs: any[]
|
|
2
|
+
export declare const generateZkProof: (chainId: number, verifierNames: string[], inputs: any[]) => Promise<{
|
|
3
3
|
zkCallData: NewZkCallDataType;
|
|
4
4
|
publicSignals: string[];
|
|
5
5
|
}[]>;
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import { getCustomProofGenerator as e } from "../utils/customEnclaveFunctionsRegister.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { generateZkProofEnclave as i } from "./generateZkProofEnclave.mjs";
|
|
5
|
-
import { generateZkProofSelf as a } from "./generateZkProofSelf.mjs";
|
|
2
|
+
import { getWASMFile as t, getZKeyFile as n } from "./getZKFiles.mjs";
|
|
3
|
+
import { generateZkProofSelf as r } from "./generateZkProofSelf.mjs";
|
|
6
4
|
//#region libs/shared/common/src/functions/snarkjs/generateZkProof.ts
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
})) : await i(o, s, c);
|
|
14
|
-
} catch (e) {
|
|
15
|
-
t.error("enclave proof error", e);
|
|
16
|
-
}
|
|
17
|
-
return Promise.all(s.map((e, t) => a(o, e, c[t])));
|
|
5
|
+
var i = async (i, a, o) => {
|
|
6
|
+
let s = e();
|
|
7
|
+
return s ? (await s(o, a.map((e) => t(e, i)), a.map((e) => n(e, i)))).map(({ zkCallData: e, publicSignals: t }) => ({
|
|
8
|
+
zkCallData: e,
|
|
9
|
+
publicSignals: t
|
|
10
|
+
})) : Promise.all(a.map((e, t) => r(i, e, o[t])));
|
|
18
11
|
};
|
|
19
12
|
//#endregion
|
|
20
|
-
export {
|
|
13
|
+
export { i as generateZkProof };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../pre-transaction/solana.cjs`);let n=require(`ethers`),r=require(`@coral-xyz/anchor`);var i=e=>[...new r.BN(e.length).toArray(`be`,8),...e.flatMap(e=>t.encodeToByte32Array(e))],a=t=>BigInt(n.ethers.keccak256(t))%e.CIRCOM_P,o=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`,`uint256`,`uint256`,`uint256`,`uint256`],s=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(o,[e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message,e.outH1Ax,e.outH1Ay,e.H0Ax,e.H0Ay])),
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../pre-transaction/solana.cjs`);let n=require(`ethers`),r=require(`@coral-xyz/anchor`);var i=e=>[...new r.BN(e.length).toArray(`be`,8),...e.flatMap(e=>t.encodeToByte32Array(e))],a=t=>BigInt(n.ethers.keccak256(t))%e.CIRCOM_P,o=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`,`uint256`,`uint256`,`uint256`,`uint256`],s=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`],c=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(o,[e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message,e.outH1Ax,e.outH1Ay,e.H0Ax,e.H0Ay])),l=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(s,[e.rootHashHinkal,e.erc20TokenAddresses.map(e=>n.ethers.getBigInt(e)),e.amountChanges,e.outTimeStamp,e.inNullifiers.flat().map(e=>BigInt(e)),e.outCommitments.flat().map(e=>BigInt(e)),e.calldataHash,e.message])),u=r=>{let a=r.inNullifiers.flat().map(e=>BigInt(e)),o=r.outCommitments.flat().map(e=>BigInt(e)),s=[...t.encodeToByte32Array(r.rootHashHinkal),...i(r.mintAccountPart1),...i(r.mintAccountPart2),...i(r.amountChanges),...t.encodeToByte32Array(r.outTimeStamp),...i(a),...i(o),...t.encodeToByte32Array(r.calldataHash),...t.encodeToByte32Array(r.message),...t.encodeToByte32Array(r.swapperAccountAdditionalSeed),...t.encodeToByte32Array(r.outH1Ay),...t.encodeToByte32Array(r.H0Ax),...t.encodeToByte32Array(r.H0Ay)];return BigInt(n.ethers.sha256(new Uint8Array(s)))%e.CIRCOM_P};exports.computeSignedMessageHashEvm=c,exports.computeSignedMessageHashSolana=u,exports.computeSignedMessageHashTron=l;
|
|
@@ -12,6 +12,16 @@ type EvmSignedMessageHashParams = {
|
|
|
12
12
|
H0Ax: bigint;
|
|
13
13
|
H0Ay: bigint;
|
|
14
14
|
};
|
|
15
|
+
type TronSignedMessageHashParams = {
|
|
16
|
+
rootHashHinkal: bigint;
|
|
17
|
+
erc20TokenAddresses: string[];
|
|
18
|
+
amountChanges: bigint[];
|
|
19
|
+
outTimeStamp: bigint;
|
|
20
|
+
inNullifiers: string[][];
|
|
21
|
+
outCommitments: string[][];
|
|
22
|
+
calldataHash: bigint;
|
|
23
|
+
message: bigint;
|
|
24
|
+
};
|
|
15
25
|
type SolanaSignedMessageHashParams = {
|
|
16
26
|
rootHashHinkal: bigint;
|
|
17
27
|
mintAccountPart1: bigint[];
|
|
@@ -28,5 +38,6 @@ type SolanaSignedMessageHashParams = {
|
|
|
28
38
|
H0Ay: bigint;
|
|
29
39
|
};
|
|
30
40
|
export declare const computeSignedMessageHashEvm: (params: EvmSignedMessageHashParams) => bigint;
|
|
41
|
+
export declare const computeSignedMessageHashTron: (params: TronSignedMessageHashParams) => bigint;
|
|
31
42
|
export declare const computeSignedMessageHashSolana: (params: SolanaSignedMessageHashParams) => bigint;
|
|
32
43
|
export {};
|
|
@@ -16,7 +16,16 @@ var i = (e) => [...new r(e.length).toArray("be", 8), ...e.flatMap((e) => t(e))],
|
|
|
16
16
|
"uint256",
|
|
17
17
|
"uint256",
|
|
18
18
|
"uint256"
|
|
19
|
-
], s =
|
|
19
|
+
], s = [
|
|
20
|
+
"uint256",
|
|
21
|
+
"uint256[]",
|
|
22
|
+
"uint256[]",
|
|
23
|
+
"uint256",
|
|
24
|
+
"uint256[]",
|
|
25
|
+
"uint256[]",
|
|
26
|
+
"uint256",
|
|
27
|
+
"uint256"
|
|
28
|
+
], c = (e) => a(n.AbiCoder.defaultAbiCoder().encode(o, [
|
|
20
29
|
e.rootHashHinkal,
|
|
21
30
|
e.erc20TokenAddresses.map((e) => n.getBigInt(e)),
|
|
22
31
|
e.amountChanges,
|
|
@@ -29,7 +38,16 @@ var i = (e) => [...new r(e.length).toArray("be", 8), ...e.flatMap((e) => t(e))],
|
|
|
29
38
|
e.outH1Ay,
|
|
30
39
|
e.H0Ax,
|
|
31
40
|
e.H0Ay
|
|
32
|
-
])),
|
|
41
|
+
])), l = (e) => a(n.AbiCoder.defaultAbiCoder().encode(s, [
|
|
42
|
+
e.rootHashHinkal,
|
|
43
|
+
e.erc20TokenAddresses.map((e) => n.getBigInt(e)),
|
|
44
|
+
e.amountChanges,
|
|
45
|
+
e.outTimeStamp,
|
|
46
|
+
e.inNullifiers.flat().map((e) => BigInt(e)),
|
|
47
|
+
e.outCommitments.flat().map((e) => BigInt(e)),
|
|
48
|
+
e.calldataHash,
|
|
49
|
+
e.message
|
|
50
|
+
])), u = (r) => {
|
|
33
51
|
let a = r.inNullifiers.flat().map((e) => BigInt(e)), o = r.outCommitments.flat().map((e) => BigInt(e)), s = [
|
|
34
52
|
...t(r.rootHashHinkal),
|
|
35
53
|
...i(r.mintAccountPart1),
|
|
@@ -48,4 +66,4 @@ var i = (e) => [...new r(e.length).toArray("be", 8), ...e.flatMap((e) => t(e))],
|
|
|
48
66
|
return BigInt(n.sha256(new Uint8Array(s))) % e;
|
|
49
67
|
};
|
|
50
68
|
//#endregion
|
|
51
|
-
export {
|
|
69
|
+
export { c as computeSignedMessageHashEvm, u as computeSignedMessageHashSolana, l as computeSignedMessageHashTron };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`),require(`../../constants/protocol.constants.cjs`);const e=require(`../utils/caseInsensitive.utils.cjs`);let t=require(`ethers`);var n=(n,r)=>{let i=t.ethers.keccak256(t.ethers.toUtf8Bytes(n));if(!e.caseInsensitiveEqual(t.ethers.recoverAddress(i,r),`0x655C3Aa937530E06A336458D1CF168d297B597A2`))throw Error(`Enclave response signature verification failed: unexpected signer`);return JSON.parse(n)};exports.verifySignedEnclaveResponse=n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const verifySignedEnclaveResponse: <T>(data: string, signature: string) => T;
|