@hinkal/common 0.3.6 → 0.3.8
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 +1 -0
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +6 -5
- package/common/src/API/API.mjs +75 -74
- package/common/src/API/admin-calls.cjs +1 -1
- package/common/src/API/admin-calls.d.ts +1 -1
- package/common/src/API/admin-calls.mjs +3 -1
- package/common/src/API/callLifiAPI.d.ts +1 -0
- package/common/src/API/callNearIntentsAPI.cjs +1 -1
- package/common/src/API/callNearIntentsAPI.mjs +2 -2
- package/common/src/API/callRelayer.cjs +1 -1
- package/common/src/API/callRelayer.d.ts +32 -1
- package/common/src/API/callRelayer.mjs +7 -1
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +16 -16
- package/common/src/API/enclaveUtxoCalls.mjs +3 -3
- package/common/src/API/evm-rpc-fallback.cjs +1 -0
- package/common/src/API/evm-rpc-fallback.d.ts +1 -0
- package/common/src/API/evm-rpc-fallback.mjs +17 -0
- package/common/src/API/evm-token-assets.cjs +1 -0
- package/common/src/API/evm-token-assets.d.ts +8 -0
- package/common/src/API/evm-token-assets.mjs +20 -0
- package/common/src/API/index.cjs +1 -1
- package/common/src/API/index.d.ts +1 -0
- package/common/src/API/index.mjs +1 -0
- package/common/src/API/route-config.cjs +1 -0
- package/common/src/API/route-config.d.ts +1 -0
- package/common/src/API/route-config.mjs +26 -0
- package/common/src/API/solana-nft-assets.cjs +1 -0
- package/common/src/API/solana-nft-assets.d.ts +1 -0
- package/common/src/API/solana-nft-assets.mjs +11 -0
- package/common/src/API/solana-priority-fee.cjs +1 -0
- package/common/src/API/solana-priority-fee.d.ts +3 -0
- package/common/src/API/solana-priority-fee.mjs +20 -0
- package/common/src/API/solana-rpc-fallback.cjs +1 -0
- package/common/src/API/solana-rpc-fallback.d.ts +1 -0
- package/common/src/API/solana-rpc-fallback.mjs +13 -0
- package/common/src/API/temporaryWalletCalls.cjs +1 -1
- package/common/src/API/temporaryWalletCalls.d.ts +0 -4
- package/common/src/API/temporaryWalletCalls.mjs +1 -5
- package/common/src/constants/balance.constants.d.ts +2 -0
- package/common/src/constants/bridging.constants.d.ts +1 -0
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +0 -3
- package/common/src/constants/chains.constants.mjs +33 -54
- package/common/src/constants/coingecko.constants.cjs +1 -1
- 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 +1 -0
- package/common/src/constants/contracts.constants.mjs +19 -15
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +3 -2
- package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +3 -2
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +3 -2
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +3 -2
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +3 -2
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +7 -6
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +3 -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 +3 -2
- 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 +18 -1
- 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/okx.constants.d.ts +1 -0
- package/common/src/constants/protocol.constants.cjs +2 -2
- package/common/src/constants/protocol.constants.d.ts +4 -1
- package/common/src/constants/protocol.constants.mjs +3 -8
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +7 -2
- package/common/src/constants/server.constants.mjs +8 -3
- package/common/src/constants/vite.constants.cjs +1 -1
- package/common/src/constants/vite.constants.mjs +5 -23
- package/common/src/data-structures/ApprovalDBs/EventsPublicApprovalsDB.d.ts +1 -2
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -4
- package/common/src/data-structures/Hinkal/Hinkal.mjs +39 -39
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +4 -4
- package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +11 -9
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.d.ts +2 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +81 -90
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +3 -5
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +100 -104
- 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 +86 -93
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +20 -7
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +51 -39
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +2 -2
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +15 -13
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +3 -5
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +88 -121
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +1 -3
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +24 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +77 -58
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -3
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +5 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.d.ts +8 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.mjs +31 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +44 -42
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +29 -24
- package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +27 -24
- package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransact.mjs +73 -56
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +21 -18
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +19 -18
- package/common/src/data-structures/Hinkal/index.d.ts +2 -0
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +2 -2
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.d.ts +0 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +55 -119
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +11 -61
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +2 -0
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +41 -27
- package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -1
- package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +1 -0
- package/common/src/data-structures/merkle-tree/MerkleTree.mjs +3 -0
- package/common/src/error-handling/get-error.message.cjs +1 -1
- package/common/src/error-handling/get-error.message.mjs +1 -4
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +9 -6
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +2 -3
- package/common/src/functions/pre-transaction/index.cjs +1 -1
- package/common/src/functions/pre-transaction/index.d.ts +1 -0
- package/common/src/functions/pre-transaction/index.mjs +1 -1
- package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
- package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +2 -2
- package/common/src/functions/pre-transaction/sendV0Transaction.cjs +2 -2
- package/common/src/functions/pre-transaction/sendV0Transaction.d.ts +5 -2
- package/common/src/functions/pre-transaction/sendV0Transaction.mjs +4 -4
- package/common/src/functions/pre-transaction/solanaTransfer.utils.cjs +1 -1
- package/common/src/functions/pre-transaction/solanaTransfer.utils.mjs +16 -15
- package/common/src/functions/pre-transaction/speculativeUtxo.cjs +1 -0
- package/common/src/functions/pre-transaction/speculativeUtxo.d.ts +9 -0
- package/common/src/functions/pre-transaction/speculativeUtxo.mjs +19 -0
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.d.ts +9 -2
- package/common/src/functions/private-wallet/emporium.helpers.mjs +93 -74
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +1 -0
- package/common/src/functions/snarkjs/common.snarkjs.mjs +36 -32
- package/common/src/functions/snarkjs/constant.cjs +1 -1
- package/common/src/functions/snarkjs/constant.d.ts +48 -0
- package/common/src/functions/snarkjs/constant.mjs +48 -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 +75 -71
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +27 -27
- package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
- package/common/src/functions/snarkjs/constructTxEnclave.mjs +8 -3
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +10 -21
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -2
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +3 -3
- package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.d.ts +4 -0
- package/common/src/functions/snarkjs/signedMessageHash.mjs +27 -18
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.mjs +19 -12
- package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -0
- package/common/src/functions/utils/bridge-arrival.utils.d.ts +1 -0
- package/common/src/functions/utils/bridge-arrival.utils.mjs +15 -0
- package/common/src/functions/utils/bridge-claimable-utxo.utils.cjs +1 -0
- package/common/src/functions/utils/bridge-claimable-utxo.utils.d.ts +19 -0
- package/common/src/functions/utils/bridge-claimable-utxo.utils.mjs +24 -0
- package/common/src/functions/utils/bridge-claimable.utils.d.ts +2 -3
- package/common/src/functions/utils/create-provider.cjs +1 -1
- package/common/src/functions/utils/create-provider.d.ts +9 -2
- package/common/src/functions/utils/create-provider.mjs +42 -9
- package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.d.ts +2 -5
- package/common/src/functions/utils/deposit-claimable.utils.mjs +1 -6
- package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-utxo-storage.d.ts +4 -8
- package/common/src/functions/utils/enclave-utxo-storage.mjs +13 -2
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.d.ts +2 -0
- package/common/src/functions/utils/fees.utils.mjs +15 -6
- package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +5 -51
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +7 -23
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +6 -0
- package/common/src/functions/utils/index.mjs +10 -4
- package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +27 -13
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.d.ts +0 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +35 -22
- package/common/src/functions/utils/recovery-balance.utils.cjs +1 -0
- package/common/src/functions/utils/recovery-balance.utils.d.ts +2 -0
- package/common/src/functions/utils/recovery-balance.utils.mjs +1 -0
- package/common/src/functions/utils/solana-program.utils.cjs +1 -0
- package/common/src/functions/utils/solana-program.utils.d.ts +3 -0
- package/common/src/functions/utils/solana-program.utils.mjs +17 -0
- package/common/src/functions/utils/solana-sponsored.utils.cjs +1 -0
- package/common/src/functions/utils/solana-sponsored.utils.d.ts +22 -0
- package/common/src/functions/utils/solana-sponsored.utils.mjs +30 -0
- package/common/src/functions/utils/solanaMint.utils.cjs +1 -1
- package/common/src/functions/utils/solanaMint.utils.d.ts +7 -0
- package/common/src/functions/utils/solanaMint.utils.mjs +18 -8
- package/common/src/functions/utils/sponsored-shield.utils.cjs +1 -0
- package/common/src/functions/utils/sponsored-shield.utils.d.ts +3 -0
- package/common/src/functions/utils/sponsored-shield.utils.mjs +3 -0
- package/common/src/functions/utils/temp-wallet.utils.cjs +1 -1
- package/common/src/functions/utils/temp-wallet.utils.d.ts +5 -4
- package/common/src/functions/utils/temp-wallet.utils.mjs +35 -14
- package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
- package/common/src/functions/utils/transfer-claimable.utils.d.ts +1 -2
- package/common/src/functions/utils/transfer-claimable.utils.mjs +2 -5
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.d.ts +2 -2
- package/common/src/functions/utils/tron.utils.mjs +19 -18
- package/common/src/functions/utils/tronSimulation.utils.cjs +1 -1
- package/common/src/functions/utils/tronSimulation.utils.mjs +4 -6
- package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +15 -25
- package/common/src/functions/web3/functionCalls/submitProof.cjs +1 -1
- package/common/src/functions/web3/functionCalls/submitProof.mjs +6 -6
- package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +2 -2
- package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +8 -6
- package/common/src/functions/web3/getContractMetadata.cjs +1 -1
- package/common/src/functions/web3/getContractMetadata.mjs +1 -1
- package/common/src/functions/web3/getPublicAddressBalance.cjs +1 -1
- package/common/src/functions/web3/getPublicAddressBalance.d.ts +1 -2
- package/common/src/functions/web3/getPublicAddressBalance.mjs +6 -5
- package/common/src/functions/web3/index.cjs +1 -1
- package/common/src/functions/web3/index.d.ts +1 -1
- package/common/src/functions/web3/index.mjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.mjs +1 -2
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +35 -38
- package/common/src/types/bridging-tx.types.d.ts +1 -4
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +0 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/ethereum-network.types.cjs +1 -1
- package/common/src/types/ethereum-network.types.d.ts +9 -7
- 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 +1 -0
- package/common/src/types/external-action.types.mjs +1 -1
- package/common/src/types/index.cjs +1 -1
- package/common/src/types/index.d.ts +1 -1
- package/common/src/types/index.mjs +1 -1
- package/common/src/types/pay-activities.types.d.ts +3 -1
- package/common/src/types/remote-tx-build.types.d.ts +23 -0
- package/common/src/types/scheduled-transactions.types.d.ts +4 -12
- package/common/src/types/solana.types.cjs +1 -0
- package/common/src/types/solana.types.d.ts +5 -0
- package/common/src/types/solana.types.mjs +6 -0
- package/common/src/types/temp-wallet.types.d.ts +9 -0
- package/common/src/types/token.types.d.ts +1 -0
- package/common/src/webworker/logError-RKYfeI6h.js +2 -0
- package/common/src/webworker/package.json +20 -20
- 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 +28 -1
- package/common/src/webworker/viteWorkerURL.constant.mjs +27 -13
- package/common/src/webworker/workerProxy-COB7g4Qc.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 +20 -20
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +2 -2
- package/services/Hinkal.mjs +3 -3
- package/types/IHinkal.d.ts +2 -2
- package/assets/snarkjsWorkerLauncher-SrStwJvX.js +0 -1
- package/assets/snarkjsWorkerLogic-DtIjisbE.js +0 -132
- package/assets/utxoWorkerLauncher-CIBeBAML.js +0 -1
- package/assets/utxoWorkerLogic-C8R4GSaf.js +0 -199
- package/assets/zkProofWorkerLauncher-DfwteloJ.js +0 -1
- package/assets/zkProofWorkerLogic-CY9y6rOV.js +0 -199
- package/common/src/API/deposit-and-withdraw-status-calls.cjs +0 -1
- package/common/src/API/deposit-and-withdraw-status-calls.d.ts +0 -21
- package/common/src/API/deposit-and-withdraw-status-calls.mjs +0 -13
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.d.ts +0 -8
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.mjs +0 -30
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.cjs +0 -1
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.mjs +0 -31
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +0 -1
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +0 -29
- package/common/src/functions/utils/enum.utils.cjs +0 -1
- package/common/src/functions/utils/enum.utils.mjs +0 -12
- package/common/src/functions/web3/getSolanaPriorityFee.cjs +0 -1
- package/common/src/functions/web3/getSolanaPriorityFee.d.ts +0 -3
- package/common/src/functions/web3/getSolanaPriorityFee.mjs +0 -26
- package/common/src/types/scheduled-transactions.types.cjs +0 -1
- package/common/src/types/scheduled-transactions.types.mjs +0 -6
- package/common/src/webworker/logError-Dex6ch32.js +0 -2
- package/common/src/webworker/workerProxy-BuJUMCQ4.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../web3/etherFunctions.cjs`),i=require(`../../data-structures/crypto-keys/keys.cjs`),ee=require(`../utils/time.utils.cjs`);require(`../../types/circom-data.types.cjs`);const te=require(`../../types/external-action.types.cjs`),a=require(`../../error-handling/logger.cjs`),o=require(`./common.snarkjs.cjs`),s=require(`./signedMessageHash.cjs`),c=require(`./generateCircomData.cjs`),ne=require(`../../data-structures/AccountActions/AccountActions.cjs`),re=require(`./generateMainAndCommitmentZkProof.cjs`),ie=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`),l=require(`../private-wallet/emporium.helpers.cjs`),u=require(`./fetchTronInsertionSiblings.cjs`);var d=async(d,f,p,m,h,g,_,v,y=t.zeroAddress,b=e.chainIds.localhost,x=f.map(()=>!1),S=void 0,C,w,T=`0x`,E=!1,ae=!1,oe)=>{let{hinkalAddress:D}=e.networkRegistry[b].contractData,O=e.isTronLike(b),k=o.getZkProofVerifierName(f,p,O),A=o.calcAmountChanges(f,p),j=f.map(e=>e[0].erc20TokenAddress),M=o.calcEncryptedOutputs(p),N=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:se}=m.getSpendingKeyPair(),P=o.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),N),N,m.getSpendingKeyPair().pubSpendingBJJPoint),F=o.calcOnchainEncryptedOutput(i.UserKeys.getEncryptionKeyPair(N).publicKey,P),{inCommitmentSiblings:ce,inCommitmentSiblingSides:le,rootHashHinkal:I,rootHashHinkalIndex:ue,inNullifiers:L}=await ie.getDataFromWorkers(b,d,f.map(e=>e.map(e=>e.getConstructableParams())),ae),R=o.buildOutCommitments(p),z=r.randomBigInt(31),B=n.poseidonFunction(z),V=BigInt(p.length>0?p[0][0].timeStamp:ee.getCurrentTimeInSeconds()),H={rootHashHinkal:I,spendingPublicKey:se,nullifyingPrivateKey:N,erc20TokenAddresses:j,amountChanges:A,inAmounts:f.map(e=>e.map(e=>e.amount.toString())),inH0Ax:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:f.map(e=>e.map(e=>o.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:f.map(e=>e.map(e=>e.timeStamp)),inNullifiers:L,inCommitmentSiblings:ce,inCommitmentSiblingSides:le,outAmounts:p.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:V,outPublicKeys:p.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:R,calldataHash:0n,messageSeed:z},U;if(O){let e=await u.fetchTronInsertionSiblings(b,R);H.insertionSiblings=e.insertionSiblings,H.insertionSiblingSides=e.insertionSiblingSides,U=BigInt(e.insertedLeafIndex),H.insertedLeafIndex=e.insertedLeafIndex}else H.H0Ax=P.H0x,H.H0Ay=P.H0y;let W=o.calcPublicSignalCount(k,H.erc20TokenAddresses,H.amountChanges,H.inNullifiers,H.outCommitments),G=o.calcAmountChanges(f,p,!0),K=oe??o.getSlippageValues(G);a.Logger.log({publicSignalCount:W});let q=Array.isArray(_)?_:[_],J=e.getOnchainChainId(b),de=w?ne.AccountActions.getSignerAddressFromPrivateKey(J,w):void 0,Y;Y=h===te.ExternalActionId.Emporium?await l.encodeEmporiumMetadata(b,g??t.zeroAddress,w,q,B,de,v.flatFee):h===0n?`0x`:q[0]??`0x`,H.calldataHash=o.createCallDataHash(W,y,g,h,B,Y,M,F,S,K,x,v,C,T,b,E);let X=O?s.computeSignedMessageHashTron({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,chainId:BigInt(J),verifyingContract:D}):s.computeSignedMessageHashEvm({rootHashHinkal:I,erc20TokenAddresses:j,amountChanges:A,outTimeStamp:V,inNullifiers:L,outCommitments:R,calldataHash:H.calldataHash,message:B,outH1Ax:P.H1x,outH1Ay:P.H1y,H0Ax:H.H0Ax,H0Ay:P.H0y,chainId:BigInt(J),verifyingContract:D}),{R8:Z,S:Q}=m.signEddsa(X);H.eddsaSignature=[Z[0],Z[1],Q],H.signedMessageHash=X;let $=k.startsWith(`mainEVMCircuitMin0`),fe={outTimeStamp:V,calldataHash:H.calldataHash,messageSeed:z},{zkCallData:pe,publicSignals:me,commitmentValidationData:he}=await re.generateMainAndCommitmentZkProof(b,m,j,f,k,$?fe:H);return{zkCallData:pe,circomData:c.generateCircomData(R,L,I,ue,G,j,p,M,F,W,h,g,B,Y,y,H.calldataHash,P,x,S,$?Number(V):void 0,K,v,C,O,me,T,U,E),dimData:{tokenNumber:f.length,nullifierAmount:f.length>0?f[0].length:0,outputAmount:p.length>0?p[0].length:0},encryptedOutputs:M,commitmentValidationData:he}};exports.constructZkProof=d;
|
|
@@ -4,7 +4,7 @@ import { Utxo } from '../../data-structures/utxo/Utxo';
|
|
|
4
4
|
import { CircomDataType, DimDataType, HookDataType } from '../../types/circom-data.types';
|
|
5
5
|
import { ExternalActionId } from '../../types/external-action.types';
|
|
6
6
|
import { FeeStructure } from '../../types/hinkal.types';
|
|
7
|
-
export declare const constructZkProof: <T = CircomDataType>(merkleTree: MerkleTree<bigint>, inputUtxos: Utxo[][], outputUtxos: Utxo[][], userKeys: UserKeys, externalActionId: ExternalActionId | 0n, externalAddress: string | undefined, externalActionMetadata: string | string[], feeStructure: FeeStructure, relay?: string, chainId?: number, onChainCreation?: boolean[], hookData?: HookDataType | undefined, originalSender?: string, subAccountPrivateKey?: string, extraData?: string, createBlockedUtxos?: boolean) => Promise<{
|
|
7
|
+
export declare const constructZkProof: <T = CircomDataType>(merkleTree: MerkleTree<bigint>, inputUtxos: Utxo[][], outputUtxos: Utxo[][], userKeys: UserKeys, externalActionId: ExternalActionId | 0n, externalAddress: string | undefined, externalActionMetadata: string | string[], feeStructure: FeeStructure, relay?: string, chainId?: number, onChainCreation?: boolean[], hookData?: HookDataType | undefined, originalSender?: string, subAccountPrivateKey?: string, extraData?: string, createBlockedUtxos?: boolean, isSpeculativeTree?: boolean, slippageValuesOverride?: bigint[]) => Promise<{
|
|
8
8
|
zkCallData: import('../..').NewZkCallDataType;
|
|
9
9
|
circomData: T;
|
|
10
10
|
dimData: DimDataType;
|
|
@@ -1,94 +1,98 @@
|
|
|
1
|
-
import { chainIds as e, getOnchainChainId as t, isTronLike as
|
|
2
|
-
import { zeroAddress as
|
|
3
|
-
import { poseidonFunction as
|
|
4
|
-
import { randomBigInt as
|
|
5
|
-
import { UserKeys as
|
|
6
|
-
import { getCurrentTimeInSeconds as
|
|
1
|
+
import { chainIds as e, getOnchainChainId as t, isTronLike as ee, networkRegistry as te } from "../../constants/chains.constants.mjs";
|
|
2
|
+
import { zeroAddress as n } from "../../constants/protocol.constants.mjs";
|
|
3
|
+
import { poseidonFunction as ne } from "../../crypto/poseidon.mjs";
|
|
4
|
+
import { randomBigInt as r } from "../web3/etherFunctions.mjs";
|
|
5
|
+
import { UserKeys as i } from "../../data-structures/crypto-keys/keys.mjs";
|
|
6
|
+
import { getCurrentTimeInSeconds as re } from "../utils/time.utils.mjs";
|
|
7
7
|
import "../../types/circom-data.types.mjs";
|
|
8
|
-
import { ExternalActionId as
|
|
9
|
-
import { Logger as
|
|
10
|
-
import { buildOutCommitments as
|
|
11
|
-
import { computeSignedMessageHashEvm as
|
|
12
|
-
import { generateCircomData as
|
|
13
|
-
import { AccountActions as
|
|
14
|
-
import { generateMainAndCommitmentZkProof as
|
|
15
|
-
import { getDataFromWorkers as
|
|
16
|
-
import { encodeEmporiumMetadata as
|
|
17
|
-
import { fetchTronInsertionSiblings as
|
|
8
|
+
import { ExternalActionId as ie } from "../../types/external-action.types.mjs";
|
|
9
|
+
import { Logger as ae } from "../../error-handling/logger.mjs";
|
|
10
|
+
import { buildOutCommitments as oe, calcAmountChanges as a, calcEncryptedOutputs as se, calcOnchainEncryptedOutput as o, calcPublicSignalCount as s, calcStealthAddressStructure as c, createCallDataHash as l, getSlippageValues as ce, getUtxoCircuitH0Coords as u, getZkProofVerifierName as le } from "./common.snarkjs.mjs";
|
|
11
|
+
import { computeSignedMessageHashEvm as ue, computeSignedMessageHashTron as de } from "./signedMessageHash.mjs";
|
|
12
|
+
import { generateCircomData as fe } from "./generateCircomData.mjs";
|
|
13
|
+
import { AccountActions as pe } from "../../data-structures/AccountActions/AccountActions.mjs";
|
|
14
|
+
import { generateMainAndCommitmentZkProof as me } from "./generateMainAndCommitmentZkProof.mjs";
|
|
15
|
+
import { getDataFromWorkers as he } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
|
|
16
|
+
import { encodeEmporiumMetadata as ge } from "../private-wallet/emporium.helpers.mjs";
|
|
17
|
+
import { fetchTronInsertionSiblings as _e } from "./fetchTronInsertionSiblings.mjs";
|
|
18
18
|
//#region libs/shared/common/src/functions/snarkjs/constructGeneralZkProof.ts
|
|
19
|
-
var
|
|
20
|
-
let O =
|
|
21
|
-
rootHashHinkal:
|
|
19
|
+
var d = async (d, f, p, m, h, g, _, v, y = n, b = e.localhost, x = f.map(() => !1), S = void 0, C, w, T = "0x", E = !1, ve = !1, ye) => {
|
|
20
|
+
let { hinkalAddress: D } = te[b].contractData, O = ee(b), k = le(f, p, O), A = a(f, p), j = f.map((e) => e[0].erc20TokenAddress), M = se(p), N = m.getShieldedPrivateKey(), { pubSpendingBJJPoint: P } = m.getSpendingKeyPair(), F = c(i.findCorrectRandomization(r(31), N), N, m.getSpendingKeyPair().pubSpendingBJJPoint), I = o(i.getEncryptionKeyPair(N).publicKey, F), { inCommitmentSiblings: be, inCommitmentSiblingSides: xe, rootHashHinkal: L, rootHashHinkalIndex: Se, inNullifiers: R } = await he(b, d, f.map((e) => e.map((e) => e.getConstructableParams())), ve), z = oe(p), B = r(31), V = ne(B), H = BigInt(p.length > 0 ? p[0][0].timeStamp : re()), U = {
|
|
21
|
+
rootHashHinkal: L,
|
|
22
22
|
spendingPublicKey: P,
|
|
23
23
|
nullifyingPrivateKey: N,
|
|
24
24
|
erc20TokenAddresses: j,
|
|
25
25
|
amountChanges: A,
|
|
26
|
-
inAmounts:
|
|
27
|
-
inH0Ax:
|
|
28
|
-
inH0Ay:
|
|
29
|
-
inTimeStamps:
|
|
30
|
-
inNullifiers:
|
|
31
|
-
inCommitmentSiblings:
|
|
32
|
-
inCommitmentSiblingSides:
|
|
33
|
-
outAmounts:
|
|
34
|
-
outTimeStamp:
|
|
35
|
-
outPublicKeys:
|
|
36
|
-
outCommitments:
|
|
26
|
+
inAmounts: f.map((e) => e.map((e) => e.amount.toString())),
|
|
27
|
+
inH0Ax: f.map((e) => e.map((e) => u(e)[0].toString())),
|
|
28
|
+
inH0Ay: f.map((e) => e.map((e) => u(e)[1].toString())),
|
|
29
|
+
inTimeStamps: f.map((e) => e.map((e) => e.timeStamp)),
|
|
30
|
+
inNullifiers: R,
|
|
31
|
+
inCommitmentSiblings: be,
|
|
32
|
+
inCommitmentSiblingSides: xe,
|
|
33
|
+
outAmounts: p.map((e) => e.map((e) => e.amount.toString())),
|
|
34
|
+
outTimeStamp: H,
|
|
35
|
+
outPublicKeys: p.map((e) => e.map((e) => e.getStealthAddress())),
|
|
36
|
+
outCommitments: z,
|
|
37
37
|
calldataHash: 0n,
|
|
38
|
-
messageSeed:
|
|
39
|
-
},
|
|
38
|
+
messageSeed: B
|
|
39
|
+
}, W;
|
|
40
40
|
if (O) {
|
|
41
|
-
let e = await
|
|
42
|
-
|
|
43
|
-
} else
|
|
44
|
-
let
|
|
45
|
-
|
|
46
|
-
let
|
|
47
|
-
X =
|
|
48
|
-
let Z = O ?
|
|
49
|
-
rootHashHinkal:
|
|
41
|
+
let e = await _e(b, z);
|
|
42
|
+
U.insertionSiblings = e.insertionSiblings, U.insertionSiblingSides = e.insertionSiblingSides, W = BigInt(e.insertedLeafIndex), U.insertedLeafIndex = e.insertedLeafIndex;
|
|
43
|
+
} else U.H0Ax = F.H0x, U.H0Ay = F.H0y;
|
|
44
|
+
let G = s(k, U.erc20TokenAddresses, U.amountChanges, U.inNullifiers, U.outCommitments), K = a(f, p, !0), q = ye ?? ce(K);
|
|
45
|
+
ae.log({ publicSignalCount: G });
|
|
46
|
+
let J = Array.isArray(_) ? _ : [_], Y = t(b), Ce = w ? pe.getSignerAddressFromPrivateKey(Y, w) : void 0, X;
|
|
47
|
+
X = h === ie.Emporium ? await ge(b, g ?? n, w, J, V, Ce, v.flatFee) : h === 0n ? "0x" : J[0] ?? "0x", U.calldataHash = l(G, y, g, h, V, X, M, I, S, q, x, v, C, T, b, E);
|
|
48
|
+
let Z = O ? de({
|
|
49
|
+
rootHashHinkal: L,
|
|
50
50
|
erc20TokenAddresses: j,
|
|
51
51
|
amountChanges: A,
|
|
52
|
-
outTimeStamp:
|
|
53
|
-
inNullifiers:
|
|
54
|
-
outCommitments:
|
|
55
|
-
calldataHash:
|
|
56
|
-
message:
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
outTimeStamp: H,
|
|
53
|
+
inNullifiers: R,
|
|
54
|
+
outCommitments: z,
|
|
55
|
+
calldataHash: U.calldataHash,
|
|
56
|
+
message: V,
|
|
57
|
+
chainId: BigInt(Y),
|
|
58
|
+
verifyingContract: D
|
|
59
|
+
}) : ue({
|
|
60
|
+
rootHashHinkal: L,
|
|
59
61
|
erc20TokenAddresses: j,
|
|
60
62
|
amountChanges: A,
|
|
61
|
-
outTimeStamp:
|
|
62
|
-
inNullifiers:
|
|
63
|
-
outCommitments:
|
|
64
|
-
calldataHash:
|
|
65
|
-
message:
|
|
63
|
+
outTimeStamp: H,
|
|
64
|
+
inNullifiers: R,
|
|
65
|
+
outCommitments: z,
|
|
66
|
+
calldataHash: U.calldataHash,
|
|
67
|
+
message: V,
|
|
66
68
|
outH1Ax: F.H1x,
|
|
67
69
|
outH1Ay: F.H1y,
|
|
68
|
-
H0Ax:
|
|
69
|
-
H0Ay: F.H0y
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
H0Ax: U.H0Ax,
|
|
71
|
+
H0Ay: F.H0y,
|
|
72
|
+
chainId: BigInt(Y),
|
|
73
|
+
verifyingContract: D
|
|
74
|
+
}), { R8: Q, S: we } = m.signEddsa(Z);
|
|
75
|
+
U.eddsaSignature = [
|
|
72
76
|
Q[0],
|
|
73
77
|
Q[1],
|
|
74
|
-
|
|
75
|
-
],
|
|
76
|
-
let $ = k.startsWith("mainEVMCircuitMin0"),
|
|
77
|
-
outTimeStamp:
|
|
78
|
-
calldataHash:
|
|
79
|
-
messageSeed:
|
|
80
|
-
}, { zkCallData:
|
|
78
|
+
we
|
|
79
|
+
], U.signedMessageHash = Z;
|
|
80
|
+
let $ = k.startsWith("mainEVMCircuitMin0"), Te = {
|
|
81
|
+
outTimeStamp: H,
|
|
82
|
+
calldataHash: U.calldataHash,
|
|
83
|
+
messageSeed: B
|
|
84
|
+
}, { zkCallData: Ee, publicSignals: De, commitmentValidationData: Oe } = await me(b, m, j, f, k, $ ? Te : U);
|
|
81
85
|
return {
|
|
82
|
-
zkCallData:
|
|
83
|
-
circomData:
|
|
86
|
+
zkCallData: Ee,
|
|
87
|
+
circomData: fe(z, R, L, Se, K, j, p, M, I, G, h, g, V, X, y, U.calldataHash, F, x, S, $ ? Number(H) : void 0, q, v, C, O, De, T, W, E),
|
|
84
88
|
dimData: {
|
|
85
|
-
tokenNumber:
|
|
86
|
-
nullifierAmount:
|
|
87
|
-
outputAmount:
|
|
89
|
+
tokenNumber: f.length,
|
|
90
|
+
nullifierAmount: f.length > 0 ? f[0].length : 0,
|
|
91
|
+
outputAmount: p.length > 0 ? p[0].length : 0
|
|
88
92
|
},
|
|
89
93
|
encryptedOutputs: M,
|
|
90
|
-
commitmentValidationData:
|
|
94
|
+
commitmentValidationData: Oe
|
|
91
95
|
};
|
|
92
96
|
};
|
|
93
97
|
//#endregion
|
|
94
|
-
export {
|
|
98
|
+
export { d as constructZkProof };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../web3/etherFunctions.cjs`),r=require(`../../data-structures/crypto-keys/keys.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`);require(`../pre-transaction/index.cjs`);const c=require(`./generateMainAndCommitmentZkProof.cjs`),l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);require(`../web3/index.cjs`);const u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);let d=require(`ethers`),f=require(`@solana/web3.js`);var p=async(p,m,h,g,_,v,y,b,x,S,C=[],w=e.chainIds.solanaLocalnet,T=[],E=[],D=0n)=>{let
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../web3/etherFunctions.cjs`),r=require(`../../data-structures/crypto-keys/keys.cjs`),i=require(`../utils/solanaMint.utils.cjs`),a=require(`./common.snarkjs.cjs`),o=require(`../pre-transaction/solana.cjs`),s=require(`./signedMessageHash.cjs`);require(`../pre-transaction/index.cjs`);const c=require(`./generateMainAndCommitmentZkProof.cjs`),l=require(`./getMerkleTreeSiblingsAndRootHashes.cjs`);require(`../web3/index.cjs`);const u=require(`../pre-transaction/getSolanaCalldataHash.cjs`);let d=require(`ethers`),f=require(`@solana/web3.js`);var p=async(p,m,h,g,_,v,y,b,x,S,C=[],w=e.chainIds.solanaLocalnet,T=[],E=[],D=0n,O=!1)=>{let k=new f.PublicKey(b),A=new f.PublicKey(x),j=m.getShieldedPrivateKey(),{pubSpendingBJJPoint:ee}=m.getSpendingKeyPair(),M=a.calcStealthAddressStructure(r.UserKeys.findCorrectRandomization(n.randomBigInt(31),j),j,m.getSpendingKeyPair().pubSpendingBJJPoint),N=C.some(Boolean)?a.calcOnchainEncryptedOutput(r.UserKeys.getEncryptionKeyPair(j).publicKey,M):`0x`,P=a.calcEncryptedOutputs(_).flatMap((e,t)=>C[t]?e.map(()=>[]):e.map(e=>[...d.ethers.getBytes(e)])),F=n.randomBigInt(31),I=t.poseidonFunction(F),L=t.poseidonFunction(D),R=h.map(e=>i.formatMintAddress(e)),z=R.map(e=>e.mintAccountPart1),B=R.map(e=>e.mintAccountPart2),V=u.getSolanaCalldataHash(S,k,A,P,N,v,y,T,E),H=`${S.tokenNumber}x${S.nullifierAmount}x${S.outputAmount}`,U=a.calcAmountChanges(g,_),{inCommitmentSiblings:W,inCommitmentSiblingSides:G,rootHashHinkal:K,rootHashHinkalIndex:q,inNullifiers:J}=await l.getDataFromWorkers(w,p,g.map(e=>e.map(e=>e.getConstructableParams())),O),Y=a.buildOutCommitments(_),X=M.H0x,Z=M.H0y,Q=s.computeSignedMessageHashSolana({rootHashHinkal:K,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,outTimeStamp:BigInt(_[0][0].timeStamp),inNullifiers:J,outCommitments:Y,calldataHash:V,message:I,swapperAccountAdditionalSeed:L,outH1Ay:M.H1y,H0Ax:X,H0Ay:Z}),{R8:$,S:te}=m.signEddsa(Q),ne={rootHashHinkal:K,spendingPublicKey:ee,eddsaSignature:[$[0],$[1],te],signedMessageHash:Q,nullifyingPrivateKey:j,mintAccountPart1:z,mintAccountPart2:B,amountChanges:U,inAmounts:g.map(e=>e.map(e=>e.amount.toString())),inH0Ax:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[0].toString())),inH0Ay:g.map(e=>e.map(e=>a.getUtxoCircuitH0Coords(e)[1].toString())),inTimeStamps:g.map(e=>e.map(e=>e.timeStamp)),inNullifiers:J,inCommitmentSiblings:W,inCommitmentSiblingSides:G,outAmounts:_.map(e=>e.map(e=>e.amount.toString())),outTimeStamp:BigInt(_[0][0].timeStamp),outPublicKeys:_.map(e=>e.map(e=>e.getStealthAddress())),outCommitments:Y,calldataHash:V,messageSeed:F,swapperAccountSalt:D,H0Ax:X,H0Ay:Z},{zkCallData:re,publicSignals:ie,commitmentValidationData:ae}=await c.generateMainAndCommitmentZkProof(w,m,h,g,`mainSolanaCircuit${H}`,ne),[oe,se,ce]=re;return{proofAArr:oe.map(BigInt).map(o.encodeToByte32Array).flat(),proofBArr:se.flat().map(BigInt).map(o.encodeToByte32Array).flat(),proofCArr:ce.map(BigInt).map(o.encodeToByte32Array).flat(),publicInputsArr:ie.map(BigInt).map(o.encodeToByte32Array),commitmentValidationData:ae,rootHashHinkalIndex:q,encryptedOutputs:P,onChainEncryptedOutput:N}};exports.constructSolanaZkProof=p;
|
|
@@ -4,7 +4,7 @@ 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: (merkleTreeHinkal: MerkleTree<bigint>, userKeys: UserKeys, mintAddresses: string[], inputUtxosArray: Utxo[][], outputUtxosArray: Utxo[][], relayerFee: bigint, variableRate: bigint, recipientAddress: string, signerAddress: string, dimensions: DimDataType, onChainCreation?: boolean[], chainId?: number, instructions?: HinkalInstruction[], remainingAccounts?: AccountMeta[], swapperAccountSalt?: bigint) => Promise<{
|
|
7
|
+
export declare const constructSolanaZkProof: (merkleTreeHinkal: MerkleTree<bigint>, userKeys: UserKeys, mintAddresses: string[], inputUtxosArray: Utxo[][], outputUtxosArray: Utxo[][], relayerFee: bigint, variableRate: bigint, recipientAddress: string, signerAddress: string, dimensions: DimDataType, onChainCreation?: boolean[], chainId?: number, instructions?: HinkalInstruction[], remainingAccounts?: AccountMeta[], swapperAccountSalt?: bigint, isSpeculativeTree?: boolean) => Promise<{
|
|
8
8
|
proofAArr: number[];
|
|
9
9
|
proofBArr: number[];
|
|
10
10
|
proofCArr: number[];
|
|
@@ -7,20 +7,20 @@ import { buildOutCommitments as a, calcAmountChanges as o, calcEncryptedOutputs
|
|
|
7
7
|
import { encodeToByte32Array as d } from "../pre-transaction/solana.mjs";
|
|
8
8
|
import { computeSignedMessageHashSolana as f } from "./signedMessageHash.mjs";
|
|
9
9
|
import "../pre-transaction/index.mjs";
|
|
10
|
-
import { generateMainAndCommitmentZkProof as
|
|
11
|
-
import { getDataFromWorkers as
|
|
10
|
+
import { generateMainAndCommitmentZkProof as ee } from "./generateMainAndCommitmentZkProof.mjs";
|
|
11
|
+
import { getDataFromWorkers as te } from "./getMerkleTreeSiblingsAndRootHashes.mjs";
|
|
12
12
|
import "../web3/index.mjs";
|
|
13
|
-
import { getSolanaCalldataHash as
|
|
14
|
-
import { ethers as
|
|
15
|
-
import { PublicKey as
|
|
13
|
+
import { getSolanaCalldataHash as ne } from "../pre-transaction/getSolanaCalldataHash.mjs";
|
|
14
|
+
import { ethers as p } from "ethers";
|
|
15
|
+
import { PublicKey as m } from "@solana/web3.js";
|
|
16
16
|
//#region libs/shared/common/src/functions/snarkjs/constructSolanaZkProof.ts
|
|
17
|
-
var
|
|
18
|
-
let
|
|
17
|
+
var h = async (h, g, _, v, y, b, x, S, C, w, T = [], E = e.solanaLocalnet, re = [], ie = [], D = 0n, ae = !1) => {
|
|
18
|
+
let O = new m(S), k = new m(C), A = g.getShieldedPrivateKey(), { pubSpendingBJJPoint: j } = g.getSpendingKeyPair(), M = l(r.findCorrectRandomization(n(31), A), A, g.getSpendingKeyPair().pubSpendingBJJPoint), N = T.some(Boolean) ? c(r.getEncryptionKeyPair(A).publicKey, M) : "0x", P = s(y).flatMap((e, t) => T[t] ? e.map(() => []) : e.map((e) => [...p.getBytes(e)])), F = n(31), I = t(F), L = t(D), R = _.map((e) => i(e)), z = R.map((e) => e.mintAccountPart1), B = R.map((e) => e.mintAccountPart2), V = ne(w, O, k, P, N, b, x, re, ie), H = `${w.tokenNumber}x${w.nullifierAmount}x${w.outputAmount}`, U = o(v, y), { inCommitmentSiblings: oe, inCommitmentSiblingSides: W, rootHashHinkal: G, rootHashHinkalIndex: K, inNullifiers: q } = await te(E, h, v.map((e) => e.map((e) => e.getConstructableParams())), ae), J = a(y), Y = M.H0x, X = M.H0y, Z = f({
|
|
19
19
|
rootHashHinkal: G,
|
|
20
20
|
mintAccountPart1: z,
|
|
21
21
|
mintAccountPart2: B,
|
|
22
22
|
amountChanges: U,
|
|
23
|
-
outTimeStamp: BigInt(
|
|
23
|
+
outTimeStamp: BigInt(y[0][0].timeStamp),
|
|
24
24
|
inNullifiers: q,
|
|
25
25
|
outCommitments: J,
|
|
26
26
|
calldataHash: V,
|
|
@@ -29,46 +29,46 @@ var g = async (g, _, v, y, b, x, S, C, w, T, E = [], D = e.solanaLocalnet, ne =
|
|
|
29
29
|
outH1Ay: M.H1y,
|
|
30
30
|
H0Ax: Y,
|
|
31
31
|
H0Ay: X
|
|
32
|
-
}), { R8: Q, S:
|
|
32
|
+
}), { R8: Q, S: se } = g.signEddsa(Z), ce = {
|
|
33
33
|
rootHashHinkal: G,
|
|
34
34
|
spendingPublicKey: j,
|
|
35
35
|
eddsaSignature: [
|
|
36
36
|
Q[0],
|
|
37
37
|
Q[1],
|
|
38
|
-
|
|
38
|
+
se
|
|
39
39
|
],
|
|
40
40
|
signedMessageHash: Z,
|
|
41
41
|
nullifyingPrivateKey: A,
|
|
42
42
|
mintAccountPart1: z,
|
|
43
43
|
mintAccountPart2: B,
|
|
44
44
|
amountChanges: U,
|
|
45
|
-
inAmounts:
|
|
46
|
-
inH0Ax:
|
|
47
|
-
inH0Ay:
|
|
48
|
-
inTimeStamps:
|
|
45
|
+
inAmounts: v.map((e) => e.map((e) => e.amount.toString())),
|
|
46
|
+
inH0Ax: v.map((e) => e.map((e) => u(e)[0].toString())),
|
|
47
|
+
inH0Ay: v.map((e) => e.map((e) => u(e)[1].toString())),
|
|
48
|
+
inTimeStamps: v.map((e) => e.map((e) => e.timeStamp)),
|
|
49
49
|
inNullifiers: q,
|
|
50
|
-
inCommitmentSiblings:
|
|
51
|
-
inCommitmentSiblingSides:
|
|
52
|
-
outAmounts:
|
|
53
|
-
outTimeStamp: BigInt(
|
|
54
|
-
outPublicKeys:
|
|
50
|
+
inCommitmentSiblings: oe,
|
|
51
|
+
inCommitmentSiblingSides: W,
|
|
52
|
+
outAmounts: y.map((e) => e.map((e) => e.amount.toString())),
|
|
53
|
+
outTimeStamp: BigInt(y[0][0].timeStamp),
|
|
54
|
+
outPublicKeys: y.map((e) => e.map((e) => e.getStealthAddress())),
|
|
55
55
|
outCommitments: J,
|
|
56
56
|
calldataHash: V,
|
|
57
57
|
messageSeed: F,
|
|
58
|
-
swapperAccountSalt:
|
|
58
|
+
swapperAccountSalt: D,
|
|
59
59
|
H0Ax: Y,
|
|
60
60
|
H0Ay: X
|
|
61
|
-
}, { zkCallData:
|
|
61
|
+
}, { zkCallData: le, publicSignals: $, commitmentValidationData: ue } = await ee(E, g, _, v, `mainSolanaCircuit${H}`, ce), [de, fe, pe] = le;
|
|
62
62
|
return {
|
|
63
|
-
proofAArr:
|
|
64
|
-
proofBArr:
|
|
65
|
-
proofCArr:
|
|
66
|
-
publicInputsArr:
|
|
67
|
-
commitmentValidationData:
|
|
63
|
+
proofAArr: de.map(BigInt).map(d).flat(),
|
|
64
|
+
proofBArr: fe.flat().map(BigInt).map(d).flat(),
|
|
65
|
+
proofCArr: pe.map(BigInt).map(d).flat(),
|
|
66
|
+
publicInputsArr: $.map(BigInt).map(d),
|
|
67
|
+
commitmentValidationData: ue,
|
|
68
68
|
rootHashHinkalIndex: K,
|
|
69
69
|
encryptedOutputs: P,
|
|
70
70
|
onChainEncryptedOutput: N
|
|
71
71
|
};
|
|
72
72
|
};
|
|
73
73
|
//#endregion
|
|
74
|
-
export {
|
|
74
|
+
export { h as constructSolanaZkProof };
|
|
@@ -1 +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=e=>e?.flat().filter(e=>e.amount>0n).map(e=>e.getCommitment()),a=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)},o=e=>{if(Array.isArray(e))return`[${e.map(o).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)}:${o(t[e])}`).join(`,`)}}`}return JSON.stringify(e)},s=(e,t)=>{if(o({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})!==o(t))throw Error(`Enclave prepare-tx response does not match the request sent - refusing to sign`)},c=(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),o(n)!==o(t))throw Error(`Enclave prepare-solana-tx response does not match the request sent - refusing to sign`)},l=e=>({R8:e.R8.map(String),S:e.S.toString()}),u=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),d=(e,t)=>{if(o({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})!==o(t))throw Error(`Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign`)},f=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)},i=await a(`/prepare-tx`,r);return s(r,i.request),i},p=async(e,t)=>{let{nullifierCount:n}=await a(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},m=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)},i=await a(`/prepare-solana-tx`,r);return c(r,i.request),i},h=async(e,t)=>{let n={...t,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},{jobs:r,request:i}=await a(`/prepare-stuck-withdraw`,n);return d(n,i),r},g=async(e,t)=>{let n=Object.fromEntries(Object.entries(t.feeStructures).map(([e,t])=>[e,u(t)])),{jobs:r}=await a(`/prepare-solana-stuck-withdraw`,{...t,feeStructures:n,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return r},_=async(e,t)=>a(`/finalize-tx`,{jobId:e,eddsaSignature:l(t)}),v=async(e,t)=>a(`/finalize-solana-tx`,{jobId:e,eddsaSignature:l(t)}),y=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return i},b=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData});return i};exports.collectInputCommitments=i,exports.estimateNullifiersEnclaveCall=p,exports.finalizeSolanaTxEnclaveCall=v,exports.finalizeSolanaTxEnclaveCallRelay=b,exports.finalizeTxEnclaveCall=_,exports.finalizeTxEnclaveCallRelay=y,exports.prepareSolanaStuckWithdrawEnclaveCall=g,exports.prepareSolanaTxEnclaveCall=m,exports.prepareStuckWithdrawEnclaveCall=h,exports.prepareTxEnclaveCall=f;
|
|
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=e=>e?.flat().filter(e=>e.amount>0n).map(e=>e.getCommitment()),a=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)},o=e=>{if(Array.isArray(e))return`[${e.map(o).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)}:${o(t[e])}`).join(`,`)}}`}return JSON.stringify(e)},s=(e,t)=>{if(o({chainId:String(e.chainId),hinkalAddress:e.hinkalAddress??``,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,...e.speculative?{speculative:e.speculative}:{},slippageValues:e.slippageValues??null})!==o(t))throw Error(`Enclave prepare-tx response does not match the request sent - refusing to sign`)},c=(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),e.speculative&&(n.speculative=e.speculative),o(n)!==o(t))throw Error(`Enclave prepare-solana-tx response does not match the request sent - refusing to sign`)},l=e=>({R8:e.R8.map(String),S:e.S.toString()}),u=e=>({feeToken:e.feeToken,flatFee:e.flatFee.toString(),variableRate:e.variableRate.toString()}),d=(e,t)=>{if(o({chainId:String(e.chainId),hinkalAddress:e.hinkalAddress??``,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})!==o(t))throw Error(`Enclave prepare-stuck-withdraw response does not match the request sent - refusing to sign`)},f=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),slippageValues:t.slippageValues?.map(String)},i=await a(`/prepare-tx`,r);return s(r,i.request),i},p=async(e,t)=>{let{nullifierCount:n}=await a(`/estimate-nullifiers`,{...t,amountChanges:t.amountChanges.map(String),nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return n},m=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)},i=await a(`/prepare-solana-tx`,r);return c(r,i.request),i},h=async(e,t)=>{let n={...t,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)},{jobs:r,request:i}=await a(`/prepare-stuck-withdraw`,n);return d(n,i),r},g=async(e,t)=>{let n=Object.fromEntries(Object.entries(t.feeStructures).map(([e,t])=>[e,u(t)])),{jobs:r}=await a(`/prepare-solana-stuck-withdraw`,{...t,feeStructures:n,nullifyingKey:e.userKeys.getShieldedPrivateKey(),spendingPublicKey:e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint.map(String)});return r},_=async(e,t)=>a(`/finalize-tx`,{jobId:e,eddsaSignature:l(t)}),v=async(e,t)=>a(`/finalize-solana-tx`,{jobId:e,eddsaSignature:l(t)}),y=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData,authorizationData:r?.authorizationData,withUniswapWorkAround:r?.withUniswapWorkAround});return i},b=async(e,t,n,r)=>{let{txHash:i}=await a(`/finalize-solana-tx-relay`,{jobId:e,eddsaSignature:l(t),chainId:n,adminData:r?.adminData});return i};exports.collectInputCommitments=i,exports.estimateNullifiersEnclaveCall=p,exports.finalizeSolanaTxEnclaveCall=v,exports.finalizeSolanaTxEnclaveCallRelay=b,exports.finalizeTxEnclaveCall=_,exports.finalizeTxEnclaveCallRelay=y,exports.prepareSolanaStuckWithdrawEnclaveCall=g,exports.prepareSolanaTxEnclaveCall=m,exports.prepareStuckWithdrawEnclaveCall=h,exports.prepareTxEnclaveCall=f;
|
|
@@ -20,6 +20,7 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
|
|
|
20
20
|
}, s = (e, t) => {
|
|
21
21
|
if (o({
|
|
22
22
|
chainId: String(e.chainId),
|
|
23
|
+
hinkalAddress: e.hinkalAddress ?? "",
|
|
23
24
|
erc20Addresses: e.erc20Addresses,
|
|
24
25
|
amountChanges: e.amountChanges,
|
|
25
26
|
externalAddress: e.externalAddress,
|
|
@@ -41,7 +42,9 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
|
|
|
41
42
|
createBlockedUtxos: e.createBlockedUtxos ?? !1,
|
|
42
43
|
...e.forceEmptyUtxos ? { forceEmptyUtxos: !0 } : {},
|
|
43
44
|
messageSeed: e.messageSeed ?? "",
|
|
44
|
-
skipLock: e.skipLock ?? !1
|
|
45
|
+
skipLock: e.skipLock ?? !1,
|
|
46
|
+
...e.speculative ? { speculative: e.speculative } : {},
|
|
47
|
+
slippageValues: e.slippageValues ?? null
|
|
45
48
|
}) !== o(t)) throw Error("Enclave prepare-tx response does not match the request sent - refusing to sign");
|
|
46
49
|
}, c = (e, t) => {
|
|
47
50
|
let n = {
|
|
@@ -65,7 +68,7 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
|
|
|
65
68
|
useBlockedUtxos: e.useBlockedUtxos ?? !1,
|
|
66
69
|
messageSeed: e.messageSeed ?? ""
|
|
67
70
|
};
|
|
68
|
-
if (e.recipientAmount && (n.recipientAmount = e.recipientAmount), e.displayRecipient && (n.displayRecipient = e.displayRecipient), o(n) !== o(t)) throw Error("Enclave prepare-solana-tx response does not match the request sent - refusing to sign");
|
|
71
|
+
if (e.recipientAmount && (n.recipientAmount = e.recipientAmount), e.displayRecipient && (n.displayRecipient = e.displayRecipient), e.speculative && (n.speculative = e.speculative), o(n) !== o(t)) throw Error("Enclave prepare-solana-tx response does not match the request sent - refusing to sign");
|
|
69
72
|
}, l = (e) => ({
|
|
70
73
|
R8: e.R8.map(String),
|
|
71
74
|
S: e.S.toString()
|
|
@@ -76,6 +79,7 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
|
|
|
76
79
|
}), d = (e, t) => {
|
|
77
80
|
if (o({
|
|
78
81
|
chainId: String(e.chainId),
|
|
82
|
+
hinkalAddress: e.hinkalAddress ?? "",
|
|
79
83
|
erc20Address: e.erc20Address,
|
|
80
84
|
externalAddress: e.externalAddress,
|
|
81
85
|
relay: e.relay,
|
|
@@ -94,7 +98,8 @@ var i = (e) => e?.flat().filter((e) => e.amount > 0n).map((e) => e.getCommitment
|
|
|
94
98
|
selfOutputAmounts: t.selfOutputAmounts?.map(String),
|
|
95
99
|
messageSeed: t.messageSeed?.toString(),
|
|
96
100
|
nullifyingKey: n.getShieldedPrivateKey(),
|
|
97
|
-
spendingPublicKey: n.getSpendingKeyPair().pubSpendingBJJPoint.map(String)
|
|
101
|
+
spendingPublicKey: n.getSpendingKeyPair().pubSpendingBJJPoint.map(String),
|
|
102
|
+
slippageValues: t.slippageValues?.map(String)
|
|
98
103
|
}, i = await a("/prepare-tx", r);
|
|
99
104
|
return s(r, i.request), i;
|
|
100
105
|
}, p = async (e, t) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../pre-transaction/solana.cjs`),r=require(`../utils/create-provider.cjs`),i=require(`../web3/getContractMetadata.cjs`),a=require(`../web3/fetchSolanaMerkleTreeRootHash.cjs`);let
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../pre-transaction/solana.cjs`),r=require(`../utils/create-provider.cjs`),i=require(`../web3/getContractMetadata.cjs`),a=require(`../utils/solana-program.utils.cjs`),o=require(`../web3/fetchSolanaMerkleTreeRootHash.cjs`);let s=require(`@solana/web3.js`);var c=async e=>{let n=i.getContractWithFetcherByChainId(e,t.ContractType.HinkalContract);return{hinkalRootHash:await n.getRootHash(),hinkalRootHashIndex:BigInt(await n.m_index())-1n}},l=async t=>{let{contractData:i,rpcUrl:c}=e.networkRegistry[t],{hinkalIdl:l,hinkalAddress:u,originalDeployer:d}=i;if(!l||!u||!d)throw Error(`Missing Solana configuration for chain ${t}`);return{hinkalRootHash:await o.fetchSolanaMerkleTreeRootHash(a.createReadOnlySolanaProgram(r.createCustomSolanaConnection(c),l),n.getMerkleAccountPublicKey(new s.PublicKey(u),new s.PublicKey(d))),hinkalRootHashIndex:0n}},u=async t=>e.isSolanaLike(t)?l(t):c(t);exports.fetchOnChainRootHashes=u;
|
|
@@ -3,34 +3,23 @@ import { ContractType as n } from "../../types/ethereum-network.types.mjs";
|
|
|
3
3
|
import { getMerkleAccountPublicKey as r } from "../pre-transaction/solana.mjs";
|
|
4
4
|
import { createCustomSolanaConnection as i } from "../utils/create-provider.mjs";
|
|
5
5
|
import { getContractWithFetcherByChainId as a } from "../web3/getContractMetadata.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { createReadOnlySolanaProgram as o } from "../utils/solana-program.utils.mjs";
|
|
7
|
+
import { fetchSolanaMerkleTreeRootHash as s } from "../web3/fetchSolanaMerkleTreeRootHash.mjs";
|
|
8
|
+
import { PublicKey as c } from "@solana/web3.js";
|
|
9
9
|
//#region libs/shared/common/src/functions/snarkjs/fetchOnChainRootHashes.ts
|
|
10
|
-
var
|
|
11
|
-
let e = s.generate();
|
|
12
|
-
return {
|
|
13
|
-
publicKey: e.publicKey,
|
|
14
|
-
payer: e,
|
|
15
|
-
signTransaction: async (e) => e,
|
|
16
|
-
signAllTransactions: async (e) => e
|
|
17
|
-
};
|
|
18
|
-
}, f = async (e) => {
|
|
10
|
+
var l = async (e) => {
|
|
19
11
|
let t = a(e, n.HinkalContract);
|
|
20
12
|
return {
|
|
21
13
|
hinkalRootHash: await t.getRootHash(),
|
|
22
14
|
hinkalRootHashIndex: BigInt(await t.m_index()) - 1n
|
|
23
15
|
};
|
|
24
|
-
},
|
|
25
|
-
let { contractData: n,
|
|
26
|
-
if (!
|
|
16
|
+
}, u = async (e) => {
|
|
17
|
+
let { contractData: n, rpcUrl: a } = t[e], { hinkalIdl: l, hinkalAddress: u, originalDeployer: d } = n;
|
|
18
|
+
if (!l || !u || !d) throw Error(`Missing Solana configuration for chain ${e}`);
|
|
27
19
|
return {
|
|
28
|
-
hinkalRootHash: await o(
|
|
29
|
-
preflightCommitment: "confirmed",
|
|
30
|
-
commitment: "confirmed"
|
|
31
|
-
})), r(new c(f), new c(p))),
|
|
20
|
+
hinkalRootHash: await s(o(i(a), l), r(new c(u), new c(d))),
|
|
32
21
|
hinkalRootHashIndex: 0n
|
|
33
22
|
};
|
|
34
|
-
},
|
|
23
|
+
}, d = async (t) => e(t) ? u(t) : l(t);
|
|
35
24
|
//#endregion
|
|
36
|
-
export {
|
|
25
|
+
export { d as fetchOnChainRootHashes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),s=require(`./fetchMerkleTreeSiblings.cjs`),c=require(`./fetchOnChainRootHashes.cjs`);var l=async(t,n)=>{let r=t.getRootHash();if(r===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s=t.getIndex()-1n,c;return c=(e.isNode,await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:c.inCommitmentSiblings,inCommitmentSiblingSides:c.inCommitmentSiblingSides,rootHashHinkal:r,rootHashHinkalIndex:s}},u=async(e,t)=>{let r=await s.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal),rootHashHinkalIndex:n.toBigInt(r.rootHashHinkalIndex)}},d=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await c.fetchOnChainRootHashes(e);return n===r}catch{return!1}},f=async(e,n,r)=>await d(e,r)||t.isLocalNetwork(e)?l(r,n):u(e,n),p=async(n,s,l)=>{if(r.hasOnlyZeroAmounts(l)){let e=r.buildZeroInputMerkleDataFromSerialized(l);if(t.isLocalNetwork(n)){let t=s.getRootHash();if(t===void 0)throw Error(`Root hash not available from hinkal merkle tree`);return{...e,rootHashHinkal:t,rootHashHinkalIndex:s.getIndex()-1n}}let{hinkalRootHash:i,hinkalRootHashIndex:a}=await c.fetchOnChainRootHashes(n);return{...e,rootHashHinkal:i,rootHashHinkalIndex:a}}if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c}=await f(n,l,s);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c},
|
|
1
|
+
const e=require(`../../constants/vite.constants.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`./common.snarkjs.cjs`),i=require(`../../webworker/worker.registry.cjs`),a=require(`../../webworker/performTaskWithWorker.cjs`),o=require(`../../webworker/zkProofWorker/zkProofWorker.types.cjs`),s=require(`./fetchMerkleTreeSiblings.cjs`),c=require(`./fetchOnChainRootHashes.cjs`);var l=async(t,n)=>{let r=t.getRootHash();if(r===void 0)throw Error(`Root hash not available from hinkal merkle tree`);let s=t.getIndex()-1n,c;return c=(e.isNode,await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.CALC_COMMITMENTS_SIBLING_AND_SIDES,data:{inputUtxosSerialized:n,merkleTreeSerialized:t.toJSON()}}})),{inCommitmentSiblings:c.inCommitmentSiblings,inCommitmentSiblingSides:c.inCommitmentSiblingSides,rootHashHinkal:r,rootHashHinkalIndex:s}},u=async(e,t)=>{let r=await s.fetchMerkleTreeSiblings(e,t);return{inCommitmentSiblings:r.inCommitmentSiblings,inCommitmentSiblingSides:r.inCommitmentSiblingSides,rootHashHinkal:n.toBigInt(r.rootHashHinkal),rootHashHinkalIndex:n.toBigInt(r.rootHashHinkalIndex)}},d=async(e,t)=>{if(!t)return!1;try{let n=t.getRootHash();if(n===void 0)return!1;let{hinkalRootHash:r}=await c.fetchOnChainRootHashes(e);return n===r}catch{return!1}},f=async(e,n,r,i=!1)=>i||await d(e,r)||t.isLocalNetwork(e)?l(r,n):u(e,n),p=async(n,s,l,u=!1)=>{if(r.hasOnlyZeroAmounts(l)){let e=r.buildZeroInputMerkleDataFromSerialized(l);if(t.isLocalNetwork(n)){let t=s.getRootHash();if(t===void 0)throw Error(`Root hash not available from hinkal merkle tree`);return{...e,rootHashHinkal:t,rootHashHinkalIndex:s.getIndex()-1n}}let{hinkalRootHash:i,hinkalRootHashIndex:a}=await c.fetchOnChainRootHashes(n);return{...e,rootHashHinkal:i,rootHashHinkalIndex:a}}if(e.isNode){let{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c}=await f(n,l,s,u);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:await a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})}}else{let[{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c},d]=await Promise.all([f(n,l,s,u),a.performTaskWithWorker({type:i.WorkerVariant.ZKProof,payload:{type:o.ZKProofWorkerActionType.BUILD_IN_NULLIFIERS,data:{inputUtxosSerialized:l}}})]);return{inCommitmentSiblings:e,inCommitmentSiblingSides:t,rootHashHinkal:r,rootHashHinkalIndex:c,inNullifiers:d}}};exports.getDataFromWorkers=p;
|
|
@@ -6,8 +6,8 @@ interface MerkleTreeSiblingsAndRootHashes {
|
|
|
6
6
|
rootHashHinkal: bigint;
|
|
7
7
|
rootHashHinkalIndex: bigint;
|
|
8
8
|
}
|
|
9
|
-
export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, inputUtxosSerialized: IUtxoConstructor[][], merkleTree: MerkleTree<bigint
|
|
10
|
-
export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, inputUtxosSerialized: IUtxoConstructor[][]) => Promise<{
|
|
9
|
+
export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, inputUtxosSerialized: IUtxoConstructor[][], merkleTree: MerkleTree<bigint>, isSpeculativeTree?: boolean) => Promise<MerkleTreeSiblingsAndRootHashes>;
|
|
10
|
+
export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, inputUtxosSerialized: IUtxoConstructor[][], isSpeculativeTree?: boolean) => Promise<{
|
|
11
11
|
rootHashHinkal: bigint;
|
|
12
12
|
rootHashHinkalIndex: bigint;
|
|
13
13
|
inCommitmentSiblings: string[][][];
|
|
@@ -45,7 +45,7 @@ var u = async (e, t) => {
|
|
|
45
45
|
} catch {
|
|
46
46
|
return !1;
|
|
47
47
|
}
|
|
48
|
-
}, p = async (e, n, r) => await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u) => {
|
|
48
|
+
}, p = async (e, n, r, i = !1) => i || await f(e, r) || t(e) ? u(r, n) : d(e, n), m = async (n, c, u, d = !1) => {
|
|
49
49
|
if (i(u)) {
|
|
50
50
|
let e = r(u);
|
|
51
51
|
if (t(n)) {
|
|
@@ -65,7 +65,7 @@ var u = async (e, t) => {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
if (e) {
|
|
68
|
-
let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i } = await p(n, u, c);
|
|
68
|
+
let { inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i } = await p(n, u, c, d);
|
|
69
69
|
return {
|
|
70
70
|
inCommitmentSiblings: e,
|
|
71
71
|
inCommitmentSiblingSides: t,
|
|
@@ -80,7 +80,7 @@ var u = async (e, t) => {
|
|
|
80
80
|
})
|
|
81
81
|
};
|
|
82
82
|
} else {
|
|
83
|
-
let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i }, l] = await Promise.all([p(n, u, c), o({
|
|
83
|
+
let [{ inCommitmentSiblings: e, inCommitmentSiblingSides: t, rootHashHinkal: r, rootHashHinkalIndex: i }, l] = await Promise.all([p(n, u, c, d), o({
|
|
84
84
|
type: a.ZKProof,
|
|
85
85
|
payload: {
|
|
86
86
|
type: s.BUILD_IN_NULLIFIERS,
|
|
@@ -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
|
|
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`,`address`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`],s=[`uint256`,`uint256`,`uint256`,`uint256`],c=[`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256[]`,`uint256[]`,`uint256`,`uint256`],l=e=>{let t=n.ethers.keccak256(n.ethers.AbiCoder.defaultAbiCoder().encode(o,[e.chainId,e.verifyingContract,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])),r=n.ethers.keccak256(n.ethers.AbiCoder.defaultAbiCoder().encode(s,[e.outH1Ax,e.outH1Ay,e.H0Ax,e.H0Ay]));return a(n.ethers.AbiCoder.defaultAbiCoder().encode([`uint256`,`uint256`],[BigInt(t),BigInt(r)]))},u=e=>a(n.ethers.AbiCoder.defaultAbiCoder().encode(c,[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])),d=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=l,exports.computeSignedMessageHashSolana=d,exports.computeSignedMessageHashTron=u;
|
|
@@ -11,6 +11,8 @@ type EvmSignedMessageHashParams = {
|
|
|
11
11
|
outH1Ay: bigint;
|
|
12
12
|
H0Ax: bigint;
|
|
13
13
|
H0Ay: bigint;
|
|
14
|
+
chainId: bigint;
|
|
15
|
+
verifyingContract: string;
|
|
14
16
|
};
|
|
15
17
|
type TronSignedMessageHashParams = {
|
|
16
18
|
rootHashHinkal: bigint;
|
|
@@ -21,6 +23,8 @@ type TronSignedMessageHashParams = {
|
|
|
21
23
|
outCommitments: string[][];
|
|
22
24
|
calldataHash: bigint;
|
|
23
25
|
message: bigint;
|
|
26
|
+
chainId: bigint;
|
|
27
|
+
verifyingContract: string;
|
|
24
28
|
};
|
|
25
29
|
type SolanaSignedMessageHashParams = {
|
|
26
30
|
rootHashHinkal: bigint;
|