@btc-vision/transaction 1.8.0-beta.1 → 1.8.0-beta.4
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/browser/_version.d.ts +1 -0
- package/browser/_version.d.ts.map +1 -0
- package/browser/abi/ABICoder.d.ts +1 -1
- package/browser/abi/ABICoder.d.ts.map +1 -0
- package/browser/branded/Branded.d.ts +4 -0
- package/browser/branded/Branded.d.ts.map +1 -0
- package/browser/btc-vision-bitcoin.js +12420 -3637
- package/browser/buffer/BinaryReader.d.ts +120 -1
- package/browser/buffer/BinaryReader.d.ts.map +1 -0
- package/browser/buffer/BinaryWriter.d.ts +51 -1
- package/browser/buffer/BinaryWriter.d.ts.map +1 -0
- package/browser/bytecode/Compressor.d.ts +12 -0
- package/browser/bytecode/Compressor.d.ts.map +1 -0
- package/browser/chain/ChainData.d.ts +2 -2
- package/browser/chain/ChainData.d.ts.map +1 -0
- package/browser/consensus/Consensus.d.ts +11 -3
- package/browser/consensus/Consensus.d.ts.map +1 -0
- package/browser/consensus/ConsensusConfig.d.ts +1 -0
- package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
- package/browser/consensus/IConsensusConfig.d.ts +1 -0
- package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
- package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
- package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
- package/browser/crypto/crypto.d.ts +1 -0
- package/browser/crypto/crypto.d.ts.map +1 -0
- package/browser/deterministic/AddressMap.d.ts +6 -1
- package/browser/deterministic/AddressMap.d.ts.map +1 -0
- package/browser/deterministic/AddressSet.d.ts +3 -1
- package/browser/deterministic/AddressSet.d.ts.map +1 -0
- package/browser/deterministic/CustomMap.d.ts +3 -1
- package/browser/deterministic/CustomMap.d.ts.map +1 -0
- package/browser/deterministic/DeterministicMap.d.ts +3 -1
- package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
- package/browser/deterministic/DeterministicSet.d.ts +3 -1
- package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
- package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
- package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
- package/browser/deterministic/FastMap.d.ts +7 -1
- package/browser/deterministic/FastMap.d.ts.map +1 -0
- package/browser/ecc/backend.d.ts +13 -0
- package/browser/ecc/backend.d.ts.map +1 -0
- package/browser/epoch/ChallengeSolution.d.ts +33 -1
- package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
- package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
- package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
- package/browser/epoch/validator/EpochValidator.d.ts +37 -7
- package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
- package/browser/event/NetEvent.d.ts +1 -0
- package/browser/event/NetEvent.d.ts.map +1 -0
- package/browser/generators/AddressGenerator.d.ts +4 -3
- package/browser/generators/AddressGenerator.d.ts.map +1 -0
- package/browser/generators/Features.d.ts +1 -0
- package/browser/generators/Features.d.ts.map +1 -0
- package/browser/generators/Generator.d.ts +46 -10
- package/browser/generators/Generator.d.ts.map +1 -0
- package/browser/generators/MLDSAData.d.ts +1 -0
- package/browser/generators/MLDSAData.d.ts.map +1 -0
- package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
- package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
- package/browser/generators/builders/CustomGenerator.d.ts +13 -3
- package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
- package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
- package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
- package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
- package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
- package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
- package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
- package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
- package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
- package/browser/index.d.ts +1 -0
- package/browser/index.d.ts.map +1 -0
- package/browser/index.js +3602 -3203
- package/browser/keypair/Address.d.ts +283 -13
- package/browser/keypair/Address.d.ts.map +1 -0
- package/browser/keypair/AddressVerificator.d.ts +7 -6
- package/browser/keypair/AddressVerificator.d.ts.map +1 -0
- package/browser/keypair/EcKeyPair.d.ts +183 -21
- package/browser/keypair/EcKeyPair.d.ts.map +1 -0
- package/browser/keypair/MessageSigner.d.ts +17 -16
- package/browser/keypair/MessageSigner.d.ts.map +1 -0
- package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
- package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
- package/browser/keypair/Wallet.d.ts +27 -13
- package/browser/keypair/Wallet.d.ts.map +1 -0
- package/browser/keypair/interfaces/IWallet.d.ts +19 -0
- package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
- package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
- package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
- package/browser/mnemonic/BIPStandard.d.ts +59 -0
- package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
- package/browser/mnemonic/Mnemonic.d.ts +15 -3
- package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
- package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
- package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
- package/browser/network/ChainId.d.ts +1 -0
- package/browser/network/ChainId.d.ts.map +1 -0
- package/browser/noble-curves.js +920 -2966
- package/browser/noble-hashes.js +2067 -1038
- package/browser/opnet.d.ts +22 -1
- package/browser/opnet.d.ts.map +1 -0
- package/browser/p2wda/P2WDADetector.d.ts +36 -9
- package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
- package/browser/polyfill/disposable.d.ts +16 -0
- package/browser/polyfill/disposable.d.ts.map +1 -0
- package/browser/signer/AddressRotation.d.ts +36 -0
- package/browser/signer/AddressRotation.d.ts.map +1 -0
- package/browser/signer/IRotationSigner.d.ts +27 -3
- package/browser/signer/IRotationSigner.d.ts.map +1 -0
- package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
- package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
- package/browser/signer/SignerUtils.d.ts +11 -4
- package/browser/signer/SignerUtils.d.ts.map +1 -0
- package/browser/signer/TweakedSigner.d.ts +28 -4
- package/browser/signer/TweakedSigner.d.ts.map +1 -0
- package/browser/transaction/ContractAddress.d.ts +2 -2
- package/browser/transaction/ContractAddress.d.ts.map +1 -0
- package/browser/transaction/TransactionFactory.d.ts +140 -2
- package/browser/transaction/TransactionFactory.d.ts.map +1 -0
- package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
- package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
- package/browser/transaction/browser/Web3Provider.d.ts +27 -0
- package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
- package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
- package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
- package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
- package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
- package/browser/transaction/browser/types/Unisat.d.ts +1 -0
- package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
- package/browser/transaction/browser/types/Xverse.d.ts +1 -0
- package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
- package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
- package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
- package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
- package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
- package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
- package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
- package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
- package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
- package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
- package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/browser/transaction/enums/TransactionType.d.ts +1 -0
- package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
- package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
- package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
- package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
- package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
- package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
- package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +18 -5
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
- package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
- package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
- package/browser/transaction/interfaces/Tap.d.ts +4 -3
- package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
- package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
- package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
- package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
- package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
- package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
- package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
- package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
- package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
- package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
- package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
- package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
- package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
- package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
- package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
- package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
- package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
- package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
- package/browser/transaction/shared/TweakedTransaction.d.ts +275 -33
- package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
- package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
- package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
- package/browser/utils/BitcoinUtils.d.ts +19 -0
- package/browser/utils/BitcoinUtils.d.ts.map +1 -0
- package/browser/utils/BufferHelper.d.ts +1 -0
- package/browser/utils/BufferHelper.d.ts.map +1 -0
- package/browser/utils/StringToBuffer.d.ts +1 -0
- package/browser/utils/StringToBuffer.d.ts.map +1 -0
- package/browser/utils/lengths.d.ts +1 -0
- package/browser/utils/lengths.d.ts.map +1 -0
- package/browser/utils/types.d.ts +1 -0
- package/browser/utils/types.d.ts.map +1 -0
- package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
- package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
- package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
- package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
- package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
- package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
- package/browser/vendors.js +13940 -9389
- package/browser/verification/TapscriptVerificator.d.ts +10 -8
- package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/_version.d.ts +1 -0
- package/build/_version.d.ts.map +1 -0
- package/build/_version.js +1 -0
- package/build/_version.js.map +1 -0
- package/build/abi/ABICoder.d.ts +1 -1
- package/build/abi/ABICoder.d.ts.map +1 -0
- package/build/abi/ABICoder.js +9 -10
- package/build/abi/ABICoder.js.map +1 -0
- package/build/branded/Branded.d.ts +4 -0
- package/build/branded/Branded.d.ts.map +1 -0
- package/build/branded/Branded.js +2 -0
- package/build/branded/Branded.js.map +1 -0
- package/build/buffer/BinaryReader.d.ts +121 -2
- package/build/buffer/BinaryReader.d.ts.map +1 -0
- package/build/buffer/BinaryReader.js +129 -5
- package/build/buffer/BinaryReader.js.map +1 -0
- package/build/buffer/BinaryWriter.d.ts +52 -2
- package/build/buffer/BinaryWriter.d.ts.map +1 -0
- package/build/buffer/BinaryWriter.js +62 -2
- package/build/buffer/BinaryWriter.js.map +1 -0
- package/build/bytecode/Compressor.d.ts +12 -0
- package/build/bytecode/Compressor.d.ts.map +1 -0
- package/build/bytecode/Compressor.js +17 -5
- package/build/bytecode/Compressor.js.map +1 -0
- package/build/chain/ChainData.d.ts +2 -2
- package/build/chain/ChainData.d.ts.map +1 -0
- package/build/chain/ChainData.js +35 -17
- package/build/chain/ChainData.js.map +1 -0
- package/build/consensus/Consensus.d.ts +11 -3
- package/build/consensus/Consensus.d.ts.map +1 -0
- package/build/consensus/Consensus.js +8 -0
- package/build/consensus/Consensus.js.map +1 -0
- package/build/consensus/ConsensusConfig.d.ts +2 -1
- package/build/consensus/ConsensusConfig.d.ts.map +1 -0
- package/build/consensus/ConsensusConfig.js +1 -0
- package/build/consensus/ConsensusConfig.js.map +1 -0
- package/build/consensus/IConsensusConfig.d.ts +1 -0
- package/build/consensus/IConsensusConfig.d.ts.map +1 -0
- package/build/consensus/IConsensusConfig.js +2 -1
- package/build/consensus/IConsensusConfig.js.map +1 -0
- package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
- package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
- package/build/consensus/metadata/RoswellConsensus.js +2 -0
- package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
- package/build/crypto/crypto.d.ts +1 -0
- package/build/crypto/crypto.d.ts.map +1 -0
- package/build/crypto/crypto.js +1 -0
- package/build/crypto/crypto.js.map +1 -0
- package/build/deterministic/AddressMap.d.ts +6 -1
- package/build/deterministic/AddressMap.d.ts.map +1 -0
- package/build/deterministic/AddressMap.js +8 -0
- package/build/deterministic/AddressMap.js.map +1 -0
- package/build/deterministic/AddressSet.d.ts +3 -1
- package/build/deterministic/AddressSet.d.ts.map +1 -0
- package/build/deterministic/AddressSet.js +7 -0
- package/build/deterministic/AddressSet.js.map +1 -0
- package/build/deterministic/CustomMap.d.ts +3 -1
- package/build/deterministic/CustomMap.d.ts.map +1 -0
- package/build/deterministic/CustomMap.js +65 -47
- package/build/deterministic/CustomMap.js.map +1 -0
- package/build/deterministic/DeterministicMap.d.ts +4 -2
- package/build/deterministic/DeterministicMap.d.ts.map +1 -0
- package/build/deterministic/DeterministicMap.js +24 -27
- package/build/deterministic/DeterministicMap.js.map +1 -0
- package/build/deterministic/DeterministicSet.d.ts +3 -1
- package/build/deterministic/DeterministicSet.d.ts.map +1 -0
- package/build/deterministic/DeterministicSet.js +6 -0
- package/build/deterministic/DeterministicSet.js.map +1 -0
- package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
- package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
- package/build/deterministic/ExtendedAddressMap.js +18 -2
- package/build/deterministic/ExtendedAddressMap.js.map +1 -0
- package/build/deterministic/FastMap.d.ts +7 -1
- package/build/deterministic/FastMap.d.ts.map +1 -0
- package/build/deterministic/FastMap.js +7 -2
- package/build/deterministic/FastMap.js.map +1 -0
- package/build/ecc/backend.d.ts +13 -0
- package/build/ecc/backend.d.ts.map +1 -0
- package/build/ecc/backend.js +15 -0
- package/build/ecc/backend.js.map +1 -0
- package/build/epoch/ChallengeSolution.d.ts +34 -2
- package/build/epoch/ChallengeSolution.d.ts.map +1 -0
- package/build/epoch/ChallengeSolution.js +52 -0
- package/build/epoch/ChallengeSolution.js.map +1 -0
- package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
- package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
- package/build/epoch/interfaces/IChallengeSolution.js +2 -1
- package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
- package/build/epoch/validator/EpochValidator.d.ts +38 -8
- package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
- package/build/epoch/validator/EpochValidator.js +45 -19
- package/build/epoch/validator/EpochValidator.js.map +1 -0
- package/build/event/NetEvent.d.ts +1 -0
- package/build/event/NetEvent.d.ts.map +1 -0
- package/build/event/NetEvent.js +3 -0
- package/build/event/NetEvent.js.map +1 -0
- package/build/generators/AddressGenerator.d.ts +4 -3
- package/build/generators/AddressGenerator.d.ts.map +1 -0
- package/build/generators/AddressGenerator.js +10 -3
- package/build/generators/AddressGenerator.js.map +1 -0
- package/build/generators/Features.d.ts +4 -3
- package/build/generators/Features.d.ts.map +1 -0
- package/build/generators/Features.js +1 -0
- package/build/generators/Features.js.map +1 -0
- package/build/generators/Generator.d.ts +47 -11
- package/build/generators/Generator.d.ts.map +1 -0
- package/build/generators/Generator.js +48 -12
- package/build/generators/Generator.js.map +1 -0
- package/build/generators/MLDSAData.d.ts +1 -0
- package/build/generators/MLDSAData.d.ts.map +1 -0
- package/build/generators/MLDSAData.js +1 -0
- package/build/generators/MLDSAData.js.map +1 -0
- package/build/generators/builders/CalldataGenerator.d.ts +27 -6
- package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
- package/build/generators/builders/CalldataGenerator.js +33 -4
- package/build/generators/builders/CalldataGenerator.js.map +1 -0
- package/build/generators/builders/CustomGenerator.d.ts +13 -3
- package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
- package/build/generators/builders/CustomGenerator.js +11 -0
- package/build/generators/builders/CustomGenerator.js.map +1 -0
- package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
- package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
- package/build/generators/builders/DeploymentGenerator.js +18 -2
- package/build/generators/builders/DeploymentGenerator.js.map +1 -0
- package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
- package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
- package/build/generators/builders/HashCommitmentGenerator.js +193 -27
- package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
- package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
- package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
- package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
- package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
- package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
- package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
- package/build/generators/builders/MultiSignGenerator.js +20 -10
- package/build/generators/builders/MultiSignGenerator.js.map +1 -0
- package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
- package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
- package/build/generators/builders/P2WDAGenerator.js +41 -2
- package/build/generators/builders/P2WDAGenerator.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/build/keypair/Address.d.ts +284 -14
- package/build/keypair/Address.d.ts.map +1 -0
- package/build/keypair/Address.js +447 -129
- package/build/keypair/Address.js.map +1 -0
- package/build/keypair/AddressVerificator.d.ts +7 -6
- package/build/keypair/AddressVerificator.d.ts.map +1 -0
- package/build/keypair/AddressVerificator.js +6 -5
- package/build/keypair/AddressVerificator.js.map +1 -0
- package/build/keypair/EcKeyPair.d.ts +185 -23
- package/build/keypair/EcKeyPair.d.ts.map +1 -0
- package/build/keypair/EcKeyPair.js +223 -54
- package/build/keypair/EcKeyPair.js.map +1 -0
- package/build/keypair/MessageSigner.d.ts +18 -17
- package/build/keypair/MessageSigner.d.ts.map +1 -0
- package/build/keypair/MessageSigner.js +34 -25
- package/build/keypair/MessageSigner.js.map +1 -0
- package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
- package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
- package/build/keypair/Secp256k1PointDeriver.js +66 -0
- package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
- package/build/keypair/Wallet.d.ts +29 -15
- package/build/keypair/Wallet.d.ts.map +1 -0
- package/build/keypair/Wallet.js +48 -14
- package/build/keypair/Wallet.js.map +1 -0
- package/build/keypair/interfaces/IWallet.d.ts +19 -0
- package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
- package/build/keypair/interfaces/IWallet.js +1 -0
- package/build/keypair/interfaces/IWallet.js.map +1 -0
- package/build/metadata/ContractBaseMetadata.d.ts +10 -2
- package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
- package/build/metadata/ContractBaseMetadata.js +10 -1
- package/build/metadata/ContractBaseMetadata.js.map +1 -0
- package/build/mnemonic/BIPStandard.d.ts +59 -0
- package/build/mnemonic/BIPStandard.d.ts.map +1 -0
- package/build/mnemonic/BIPStandard.js +59 -0
- package/build/mnemonic/BIPStandard.js.map +1 -0
- package/build/mnemonic/Mnemonic.d.ts +16 -4
- package/build/mnemonic/Mnemonic.d.ts.map +1 -0
- package/build/mnemonic/Mnemonic.js +36 -8
- package/build/mnemonic/Mnemonic.js.map +1 -0
- package/build/mnemonic/MnemonicStrength.d.ts +6 -0
- package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
- package/build/mnemonic/MnemonicStrength.js +6 -0
- package/build/mnemonic/MnemonicStrength.js.map +1 -0
- package/build/network/ChainId.d.ts +1 -0
- package/build/network/ChainId.d.ts.map +1 -0
- package/build/network/ChainId.js +1 -0
- package/build/network/ChainId.js.map +1 -0
- package/build/opnet.d.ts +26 -3
- package/build/opnet.d.ts.map +1 -0
- package/build/opnet.js +23 -0
- package/build/opnet.js.map +1 -0
- package/build/p2wda/P2WDADetector.d.ts +38 -11
- package/build/p2wda/P2WDADetector.d.ts.map +1 -0
- package/build/p2wda/P2WDADetector.js +43 -10
- package/build/p2wda/P2WDADetector.js.map +1 -0
- package/build/polyfill/disposable.d.ts +16 -0
- package/build/polyfill/disposable.d.ts.map +1 -0
- package/build/polyfill/disposable.js +23 -0
- package/build/polyfill/disposable.js.map +1 -0
- package/build/signer/AddressRotation.d.ts +37 -1
- package/build/signer/AddressRotation.d.ts.map +1 -0
- package/build/signer/AddressRotation.js +16 -0
- package/build/signer/AddressRotation.js.map +1 -0
- package/build/signer/IRotationSigner.d.ts +27 -3
- package/build/signer/IRotationSigner.d.ts.map +1 -0
- package/build/signer/IRotationSigner.js +2 -1
- package/build/signer/IRotationSigner.js.map +1 -0
- package/build/signer/ParallelSignerAdapter.d.ts +14 -0
- package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
- package/build/signer/ParallelSignerAdapter.js +51 -0
- package/build/signer/ParallelSignerAdapter.js.map +1 -0
- package/build/signer/SignerUtils.d.ts +11 -4
- package/build/signer/SignerUtils.d.ts.map +1 -0
- package/build/signer/SignerUtils.js +16 -0
- package/build/signer/SignerUtils.js.map +1 -0
- package/build/signer/TweakedSigner.d.ts +28 -4
- package/build/signer/TweakedSigner.d.ts.map +1 -0
- package/build/signer/TweakedSigner.js +24 -6
- package/build/signer/TweakedSigner.js.map +1 -0
- package/build/transaction/ContractAddress.d.ts +2 -2
- package/build/transaction/ContractAddress.d.ts.map +1 -0
- package/build/transaction/ContractAddress.js +4 -8
- package/build/transaction/ContractAddress.js.map +1 -0
- package/build/transaction/TransactionFactory.d.ts +147 -9
- package/build/transaction/TransactionFactory.d.ts.map +1 -0
- package/build/transaction/TransactionFactory.js +145 -26
- package/build/transaction/TransactionFactory.js.map +1 -0
- package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
- package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
- package/build/transaction/browser/BrowserSignerBase.js +7 -0
- package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
- package/build/transaction/browser/WalletNetworks.js +1 -0
- package/build/transaction/browser/WalletNetworks.js.map +1 -0
- package/build/transaction/browser/Web3Provider.d.ts +30 -3
- package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
- package/build/transaction/browser/Web3Provider.js +1 -0
- package/build/transaction/browser/Web3Provider.js.map +1 -0
- package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
- package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
- package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
- package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
- package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
- package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
- package/build/transaction/browser/extensions/XverseSigner.js +25 -15
- package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
- package/build/transaction/browser/types/OPWallet.d.ts +12 -2
- package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
- package/build/transaction/browser/types/OPWallet.js +4 -0
- package/build/transaction/browser/types/OPWallet.js.map +1 -0
- package/build/transaction/browser/types/Unisat.d.ts +2 -1
- package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
- package/build/transaction/browser/types/Unisat.js +2 -0
- package/build/transaction/browser/types/Unisat.js.map +1 -0
- package/build/transaction/browser/types/Xverse.d.ts +1 -0
- package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
- package/build/transaction/browser/types/Xverse.js +1 -0
- package/build/transaction/browser/types/Xverse.js.map +1 -0
- package/build/transaction/builders/CancelTransaction.d.ts +31 -6
- package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
- package/build/transaction/builders/CancelTransaction.js +116 -33
- package/build/transaction/builders/CancelTransaction.js.map +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
- package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
- package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
- package/build/transaction/builders/CustomScriptTransaction.js +176 -39
- package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
- package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
- package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
- package/build/transaction/builders/DeploymentTransaction.js +194 -51
- package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
- package/build/transaction/builders/FundingTransaction.d.ts +5 -4
- package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/build/transaction/builders/FundingTransaction.js +15 -8
- package/build/transaction/builders/FundingTransaction.js.map +1 -0
- package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
- package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/InteractionTransaction.js +18 -5
- package/build/transaction/builders/InteractionTransaction.js.map +1 -0
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
- package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
- package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
- package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
- package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
- package/build/transaction/builders/MultiSignTransaction.js +201 -76
- package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
- package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
- package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
- package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
- package/build/transaction/builders/TransactionBuilder.d.ts +249 -19
- package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/build/transaction/builders/TransactionBuilder.js +377 -60
- package/build/transaction/builders/TransactionBuilder.js.map +1 -0
- package/build/transaction/enums/TransactionType.d.ts +1 -0
- package/build/transaction/enums/TransactionType.d.ts.map +1 -0
- package/build/transaction/enums/TransactionType.js +1 -0
- package/build/transaction/enums/TransactionType.js.map +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
- package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
- package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ITransactionParameters.d.ts +27 -15
- package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ITransactionParameters.js +1 -0
- package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
- package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
- package/build/transaction/interfaces/ITransactionResponses.js +1 -0
- package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
- package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
- package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
- package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
- package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
- package/build/transaction/interfaces/Tap.d.ts +4 -3
- package/build/transaction/interfaces/Tap.d.ts.map +1 -0
- package/build/transaction/interfaces/Tap.js +1 -0
- package/build/transaction/interfaces/Tap.js.map +1 -0
- package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
- package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
- package/build/transaction/mineable/IP2WSHAddress.js +1 -0
- package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
- package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
- package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
- package/build/transaction/mineable/TimelockGenerator.js +12 -3
- package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
- package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
- package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
- package/build/transaction/offline/OfflineTransactionManager.js +192 -8
- package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
- package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
- package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
- package/build/transaction/offline/TransactionReconstructor.js +111 -75
- package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
- package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
- package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
- package/build/transaction/offline/TransactionSerializer.js +206 -95
- package/build/transaction/offline/TransactionSerializer.js.map +1 -0
- package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
- package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
- package/build/transaction/offline/TransactionStateCapture.js +124 -60
- package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
- package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
- package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
- package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
- package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
- package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
- package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
- package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
- package/build/transaction/psbt/PSBTTypes.js +1 -0
- package/build/transaction/psbt/PSBTTypes.js.map +1 -0
- package/build/transaction/shared/P2TR_MS.d.ts +11 -2
- package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
- package/build/transaction/shared/P2TR_MS.js +10 -0
- package/build/transaction/shared/P2TR_MS.js.map +1 -0
- package/build/transaction/shared/TweakedTransaction.d.ts +281 -38
- package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
- package/build/transaction/shared/TweakedTransaction.js +576 -114
- package/build/transaction/shared/TweakedTransaction.js.map +1 -0
- package/build/transaction/utils/WitnessUtils.d.ts +7 -1
- package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
- package/build/transaction/utils/WitnessUtils.js +17 -3
- package/build/transaction/utils/WitnessUtils.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/utils/BitcoinUtils.d.ts +19 -0
- package/build/utils/BitcoinUtils.d.ts.map +1 -0
- package/build/utils/BitcoinUtils.js +19 -0
- package/build/utils/BitcoinUtils.js.map +1 -0
- package/build/utils/BufferHelper.d.ts +2 -1
- package/build/utils/BufferHelper.d.ts.map +1 -0
- package/build/utils/BufferHelper.js +38 -32
- package/build/utils/BufferHelper.js.map +1 -0
- package/build/utils/StringToBuffer.d.ts +1 -0
- package/build/utils/StringToBuffer.d.ts.map +1 -0
- package/build/utils/StringToBuffer.js +1 -0
- package/build/utils/StringToBuffer.js.map +1 -0
- package/build/utils/lengths.d.ts +1 -0
- package/build/utils/lengths.d.ts.map +1 -0
- package/build/utils/lengths.js +1 -0
- package/build/utils/lengths.js.map +1 -0
- package/build/utils/types.d.ts +1 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/types.js +2 -1
- package/build/utils/types.js.map +1 -0
- package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
- package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
- package/build/utxo/OPNetLimitedProvider.js +41 -3
- package/build/utxo/OPNetLimitedProvider.js.map +1 -0
- package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
- package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
- package/build/utxo/interfaces/BroadcastResponse.js +1 -0
- package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
- package/build/utxo/interfaces/IUTXO.d.ts +13 -7
- package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
- package/build/utxo/interfaces/IUTXO.js +1 -0
- package/build/utxo/interfaces/IUTXO.js.map +1 -0
- package/build/verification/TapscriptVerificator.d.ts +12 -10
- package/build/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/verification/TapscriptVerificator.js +28 -38
- package/build/verification/TapscriptVerificator.js.map +1 -0
- package/eslint.config.js +0 -1
- package/package.json +16 -39
- package/src/abi/ABICoder.ts +0 -13
- package/src/branded/Branded.ts +5 -0
- package/src/buffer/BinaryReader.ts +7 -7
- package/src/buffer/BinaryWriter.ts +29 -24
- package/src/bytecode/Compressor.ts +1 -1
- package/src/chain/ChainData.ts +34 -27
- package/src/consensus/ConsensusConfig.ts +1 -1
- package/src/consensus/IConsensusConfig.ts +0 -17
- package/src/consensus/metadata/RoswellConsensus.ts +1 -17
- package/src/crypto/crypto-browser.js +3 -4
- package/src/deterministic/AddressMap.ts +5 -1
- package/src/deterministic/AddressSet.ts +5 -1
- package/src/deterministic/CustomMap.ts +6 -2
- package/src/deterministic/DeterministicMap.ts +8 -4
- package/src/deterministic/DeterministicSet.ts +6 -2
- package/src/deterministic/ExtendedAddressMap.ts +9 -4
- package/src/deterministic/FastMap.ts +9 -5
- package/src/ecc/backend.ts +17 -0
- package/src/epoch/ChallengeSolution.ts +3 -3
- package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
- package/src/epoch/validator/EpochValidator.ts +24 -43
- package/src/generators/AddressGenerator.ts +6 -6
- package/src/generators/Features.ts +3 -3
- package/src/generators/Generator.ts +42 -26
- package/src/generators/builders/CalldataGenerator.ts +26 -24
- package/src/generators/builders/CustomGenerator.ts +4 -4
- package/src/generators/builders/DeploymentGenerator.ts +25 -23
- package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
- package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
- package/src/generators/builders/MultiSignGenerator.ts +12 -12
- package/src/generators/builders/P2WDAGenerator.ts +10 -10
- package/src/keypair/Address.ts +115 -72
- package/src/keypair/AddressVerificator.ts +16 -147
- package/src/keypair/EcKeyPair.ts +109 -118
- package/src/keypair/MessageSigner.ts +70 -150
- package/src/keypair/Wallet.ts +59 -240
- package/src/metadata/ContractBaseMetadata.ts +2 -2
- package/src/mnemonic/Mnemonic.ts +32 -221
- package/src/opnet.ts +12 -6
- package/src/p2wda/P2WDADetector.ts +23 -72
- package/src/polyfill/disposable.ts +29 -0
- package/src/signer/AddressRotation.ts +1 -1
- package/src/signer/IRotationSigner.ts +3 -3
- package/src/signer/ParallelSignerAdapter.ts +59 -0
- package/src/signer/SignerUtils.ts +4 -4
- package/src/signer/TweakedSigner.ts +28 -13
- package/src/transaction/ContractAddress.ts +3 -7
- package/src/transaction/TransactionFactory.ts +28 -50
- package/src/transaction/browser/BrowserSignerBase.ts +12 -6
- package/src/transaction/browser/Web3Provider.ts +3 -3
- package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
- package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
- package/src/transaction/browser/types/OPWallet.ts +2 -2
- package/src/transaction/browser/types/Unisat.ts +1 -1
- package/src/transaction/builders/CancelTransaction.ts +59 -24
- package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
- package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
- package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
- package/src/transaction/builders/DeploymentTransaction.ts +82 -63
- package/src/transaction/builders/FundingTransaction.ts +11 -11
- package/src/transaction/builders/InteractionTransaction.ts +10 -10
- package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
- package/src/transaction/builders/MultiSignTransaction.ts +68 -61
- package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
- package/src/transaction/builders/TransactionBuilder.ts +101 -79
- package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
- package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
- package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
- package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
- package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
- package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
- package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
- package/src/transaction/interfaces/Tap.ts +3 -3
- package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
- package/src/transaction/mineable/TimelockGenerator.ts +19 -12
- package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
- package/src/transaction/offline/TransactionReconstructor.ts +83 -91
- package/src/transaction/offline/TransactionSerializer.ts +151 -101
- package/src/transaction/offline/TransactionStateCapture.ts +83 -79
- package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
- package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
- package/src/transaction/shared/P2TR_MS.ts +4 -4
- package/src/transaction/shared/TweakedTransaction.ts +326 -124
- package/src/transaction/utils/WitnessUtils.ts +18 -9
- package/src/utils/BufferHelper.ts +39 -37
- package/src/utxo/OPNetLimitedProvider.ts +7 -7
- package/src/utxo/interfaces/IUTXO.ts +7 -7
- package/src/verification/TapscriptVerificator.ts +73 -86
- package/test/address-rotation.test.ts +24 -24
- package/test/address.test.ts +12 -12
- package/test/addressmap.test.ts +30 -30
- package/test/binary-reader-writer.test.ts +8 -8
- package/test/browser/offline-transaction.test.ts +2206 -0
- package/test/browser/parallel-signing.test.ts +316 -0
- package/test/browser/setup.ts +11 -0
- package/test/browser/transaction-signing.test.ts +416 -0
- package/test/buffer-helper.test.ts +287 -0
- package/test/derivePath.test.ts +4 -3
- package/test/disposable.test.ts +279 -0
- package/test/fastmap-setall.test.ts +1 -1
- package/test/fastmap.test.ts +3 -3
- package/test/messagesigner-mldsa.test.ts +3 -3
- package/test/messagesigner-schnorr.test.ts +9 -9
- package/test/offline-transaction.test.ts +461 -288
- package/test/old/FastBigIntMap.ts +3 -3
- package/test/oldfastmap.test.ts +6 -6
- package/test/transaction-builders.test.ts +321 -0
- package/tsconfig.base.json +34 -18
- package/tsconfig.browser.json +15 -0
- package/tsconfig.json +3 -8
- package/vite.config.browser.ts +4 -5
- package/vitest.config.browser.ts +68 -0
- package/vitest.config.ts +1 -1
- package/browser/valibot.js +0 -4948
- package/tsconfig.webpack.json +0 -18
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
crypto as bitCrypto,
|
|
3
|
-
|
|
3
|
+
equals,
|
|
4
|
+
fromHex,
|
|
5
|
+
type Network,
|
|
4
6
|
networks,
|
|
5
7
|
Psbt,
|
|
8
|
+
type PsbtInput,
|
|
6
9
|
script as bitScript,
|
|
7
|
-
TapScriptSig,
|
|
10
|
+
type TapScriptSig,
|
|
11
|
+
toHex,
|
|
8
12
|
toXOnly,
|
|
9
13
|
} from '@btc-vision/bitcoin';
|
|
10
|
-
import { PartialSig } from 'bip174
|
|
11
|
-
import {
|
|
14
|
+
import type { PartialSig } from 'bip174';
|
|
15
|
+
import {
|
|
16
|
+
createPublicKey,
|
|
17
|
+
type MessageHash,
|
|
18
|
+
type PublicKey,
|
|
19
|
+
type SchnorrSignature,
|
|
20
|
+
type Signature,
|
|
21
|
+
} from '@btc-vision/ecpair';
|
|
12
22
|
import { EcKeyPair } from '../../../keypair/EcKeyPair.js';
|
|
13
23
|
import { canSignNonTaprootInput, isTaprootInput } from '../../../signer/SignerUtils.js';
|
|
14
24
|
import { CustomKeypair } from '../BrowserSignerBase.js';
|
|
15
|
-
import { PsbtSignatureOptions, SignatureType, Unisat } from '../types/Unisat.js';
|
|
25
|
+
import { type PsbtSignatureOptions, SignatureType, type Unisat } from '../types/Unisat.js';
|
|
16
26
|
import { WalletNetworks } from '../WalletNetworks.js';
|
|
17
|
-
import { OPWallet } from '../types/OPWallet.js';
|
|
27
|
+
import type { OPWallet } from '../types/OPWallet.js';
|
|
18
28
|
|
|
19
29
|
export interface WindowWithWallets {
|
|
20
30
|
unisat?: Unisat;
|
|
@@ -62,9 +72,9 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
62
72
|
return this._addresses;
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
private _publicKey:
|
|
75
|
+
private _publicKey: PublicKey | undefined;
|
|
66
76
|
|
|
67
|
-
public get publicKey():
|
|
77
|
+
public get publicKey(): PublicKey {
|
|
68
78
|
if (!this._publicKey) {
|
|
69
79
|
throw new Error('Public key not set');
|
|
70
80
|
}
|
|
@@ -93,11 +103,11 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
93
103
|
return module;
|
|
94
104
|
}
|
|
95
105
|
|
|
96
|
-
public async signData(data:
|
|
97
|
-
const str = data
|
|
106
|
+
public async signData(data: Uint8Array, type: SignatureType): Promise<Uint8Array> {
|
|
107
|
+
const str = toHex(data);
|
|
98
108
|
const signature = await this.unisat.signData(str, type);
|
|
99
109
|
|
|
100
|
-
return
|
|
110
|
+
return fromHex(signature);
|
|
101
111
|
}
|
|
102
112
|
|
|
103
113
|
public async init(): Promise<void> {
|
|
@@ -125,18 +135,18 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
125
135
|
throw new Error('Unlock your wallet first');
|
|
126
136
|
}
|
|
127
137
|
|
|
128
|
-
this._publicKey =
|
|
138
|
+
this._publicKey = createPublicKey(fromHex(publicKey));
|
|
129
139
|
|
|
130
|
-
this._p2wpkh = EcKeyPair.getP2WPKHAddress(this
|
|
140
|
+
this._p2wpkh = EcKeyPair.getP2WPKHAddress(this, this.network);
|
|
131
141
|
|
|
132
|
-
this._p2tr = EcKeyPair.getTaprootAddress(this
|
|
142
|
+
this._p2tr = EcKeyPair.getTaprootAddress(this, this.network);
|
|
133
143
|
|
|
134
144
|
this._addresses = [this._p2wpkh, this._p2tr];
|
|
135
145
|
|
|
136
146
|
this.isInitialized = true;
|
|
137
147
|
}
|
|
138
148
|
|
|
139
|
-
public getPublicKey():
|
|
149
|
+
public getPublicKey(): PublicKey {
|
|
140
150
|
if (!this.isInitialized) {
|
|
141
151
|
throw new Error('UnisatSigner not initialized');
|
|
142
152
|
}
|
|
@@ -144,15 +154,15 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
144
154
|
return this.publicKey;
|
|
145
155
|
}
|
|
146
156
|
|
|
147
|
-
public sign(_hash:
|
|
157
|
+
public sign(_hash: MessageHash, _lowR?: boolean): Signature {
|
|
148
158
|
throw new Error('Not implemented: sign');
|
|
149
159
|
}
|
|
150
160
|
|
|
151
|
-
public signSchnorr(_hash:
|
|
161
|
+
public signSchnorr(_hash: MessageHash): SchnorrSignature {
|
|
152
162
|
throw new Error('Not implemented: signSchnorr');
|
|
153
163
|
}
|
|
154
164
|
|
|
155
|
-
public verify(_hash:
|
|
165
|
+
public verify(_hash: MessageHash, _signature: Signature): boolean {
|
|
156
166
|
throw new Error('Not implemented: verify');
|
|
157
167
|
}
|
|
158
168
|
|
|
@@ -161,7 +171,7 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
161
171
|
i: number,
|
|
162
172
|
sighashTypes: number[],
|
|
163
173
|
): Promise<void> {
|
|
164
|
-
const input = transaction.data.inputs[i];
|
|
174
|
+
const input = transaction.data.inputs[i] as PsbtInput;
|
|
165
175
|
if (
|
|
166
176
|
input.tapKeySig ||
|
|
167
177
|
input.finalScriptSig ||
|
|
@@ -180,7 +190,7 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
180
190
|
}
|
|
181
191
|
|
|
182
192
|
public async signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void> {
|
|
183
|
-
const input = transaction.data.inputs[i];
|
|
193
|
+
const input = transaction.data.inputs[i] as PsbtInput;
|
|
184
194
|
if (
|
|
185
195
|
input.tapKeySig ||
|
|
186
196
|
input.finalScriptSig ||
|
|
@@ -226,7 +236,7 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
226
236
|
const tapInternalKey = input.tapInternalKey;
|
|
227
237
|
const xOnlyPubKey = toXOnly(this.publicKey);
|
|
228
238
|
|
|
229
|
-
if (
|
|
239
|
+
if (equals(tapInternalKey, xOnlyPubKey)) {
|
|
230
240
|
needsToSign = true;
|
|
231
241
|
viaTaproot = true;
|
|
232
242
|
}
|
|
@@ -240,7 +250,7 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
240
250
|
if (needsToSign) {
|
|
241
251
|
return {
|
|
242
252
|
index: i,
|
|
243
|
-
publicKey: this.publicKey
|
|
253
|
+
publicKey: toHex(this.publicKey),
|
|
244
254
|
disableTweakSigner: !viaTaproot,
|
|
245
255
|
};
|
|
246
256
|
} else {
|
|
@@ -255,24 +265,17 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
255
265
|
});
|
|
256
266
|
}
|
|
257
267
|
|
|
258
|
-
const signed = await this.unisat.signPsbt(toSignPsbts[0], options[0]);
|
|
259
|
-
const signedPsbts = Psbt.fromHex(signed);
|
|
260
|
-
|
|
261
|
-
/*for (let i = 0; i < signedPsbts.length; i++) {
|
|
262
|
-
const psbtOriginal = transactions[i];
|
|
263
|
-
const psbtSigned = signedPsbts[i];
|
|
264
|
-
|
|
265
|
-
psbtOriginal.combine(psbtSigned);
|
|
266
|
-
}*/
|
|
268
|
+
const signed = await this.unisat.signPsbt(toSignPsbts[0] as string, options[0] as PsbtSignatureOptions);
|
|
269
|
+
const signedPsbts = Psbt.fromHex(signed);
|
|
267
270
|
|
|
268
|
-
transactions[0].combine(signedPsbts);
|
|
271
|
+
(transactions[0] as Psbt).combine(signedPsbts);
|
|
269
272
|
}
|
|
270
273
|
|
|
271
274
|
private hasAlreadySignedTapScriptSig(input: TapScriptSig[]): boolean {
|
|
272
275
|
for (let i = 0; i < input.length; i++) {
|
|
273
|
-
const item = input[i];
|
|
274
|
-
const buf =
|
|
275
|
-
if (
|
|
276
|
+
const item = input[i] as TapScriptSig;
|
|
277
|
+
const buf = new Uint8Array(item.pubkey);
|
|
278
|
+
if (equals(buf, this.publicKey) && item.signature) {
|
|
276
279
|
return true;
|
|
277
280
|
}
|
|
278
281
|
}
|
|
@@ -282,9 +285,9 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
282
285
|
|
|
283
286
|
private hasAlreadyPartialSig(input: PartialSig[]): boolean {
|
|
284
287
|
for (let i = 0; i < input.length; i++) {
|
|
285
|
-
const item = input[i];
|
|
286
|
-
const buf =
|
|
287
|
-
if (
|
|
288
|
+
const item = input[i] as PartialSig;
|
|
289
|
+
const buf = new Uint8Array(item.pubkey);
|
|
290
|
+
if (equals(buf, this.publicKey) && item.signature) {
|
|
288
291
|
return true;
|
|
289
292
|
}
|
|
290
293
|
}
|
|
@@ -293,8 +296,8 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
293
296
|
}
|
|
294
297
|
|
|
295
298
|
private combine(transaction: Psbt, newPsbt: Psbt, i: number): void {
|
|
296
|
-
const signedInput = newPsbt.data.inputs[i];
|
|
297
|
-
const originalInput = transaction.data.inputs[i];
|
|
299
|
+
const signedInput = newPsbt.data.inputs[i] as PsbtInput;
|
|
300
|
+
const originalInput = transaction.data.inputs[i] as PsbtInput;
|
|
298
301
|
|
|
299
302
|
if (signedInput.partialSig) {
|
|
300
303
|
transaction.updateInput(i, { partialSig: signedInput.partialSig });
|
|
@@ -326,7 +329,7 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
326
329
|
sighashTypes: number[],
|
|
327
330
|
disableTweakSigner: boolean = false,
|
|
328
331
|
): Promise<Psbt> {
|
|
329
|
-
const pubKey = this.publicKey
|
|
332
|
+
const pubKey = toHex(this.publicKey);
|
|
330
333
|
const toSign = transaction.data.inputs.map((_, i) => {
|
|
331
334
|
return [
|
|
332
335
|
{
|
|
@@ -355,9 +358,10 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
355
358
|
): TapScriptSig[] {
|
|
356
359
|
const nonDuplicate: TapScriptSig[] = [];
|
|
357
360
|
for (let i = 0; i < scriptSig2.length; i++) {
|
|
358
|
-
const
|
|
361
|
+
const sig2 = scriptSig2[i] as TapScriptSig;
|
|
362
|
+
const found = scriptSig1.find((item) => equals(item.pubkey, sig2.pubkey));
|
|
359
363
|
if (!found) {
|
|
360
|
-
nonDuplicate.push(
|
|
364
|
+
nonDuplicate.push(sig2);
|
|
361
365
|
}
|
|
362
366
|
}
|
|
363
367
|
|
|
@@ -365,13 +369,13 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
365
369
|
}
|
|
366
370
|
}
|
|
367
371
|
|
|
368
|
-
function pubkeyInScript(pubkey:
|
|
372
|
+
function pubkeyInScript(pubkey: Uint8Array, script: Uint8Array): boolean {
|
|
369
373
|
return pubkeyPositionInScript(pubkey, script) !== -1;
|
|
370
374
|
}
|
|
371
375
|
|
|
372
|
-
function pubkeyPositionInScript(pubkey:
|
|
376
|
+
function pubkeyPositionInScript(pubkey: Uint8Array, script: Uint8Array): number {
|
|
373
377
|
const pubkeyHash = bitCrypto.hash160(pubkey);
|
|
374
|
-
const pubkeyXOnly = toXOnly(pubkey);
|
|
378
|
+
const pubkeyXOnly = toXOnly(pubkey as PublicKey);
|
|
375
379
|
|
|
376
380
|
const decompiled = bitScript.decompile(script);
|
|
377
381
|
if (decompiled === null) throw new Error('Unknown script error');
|
|
@@ -379,8 +383,8 @@ function pubkeyPositionInScript(pubkey: Buffer, script: Buffer): number {
|
|
|
379
383
|
return decompiled.findIndex((element) => {
|
|
380
384
|
if (typeof element === 'number') return false;
|
|
381
385
|
return (
|
|
382
|
-
|
|
383
|
-
(
|
|
386
|
+
element instanceof Uint8Array &&
|
|
387
|
+
(equals(element, pubkey) || equals(element, pubkeyHash) || equals(element, pubkeyXOnly))
|
|
384
388
|
);
|
|
385
389
|
});
|
|
386
390
|
}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
equals,
|
|
3
|
+
fromHex,
|
|
4
|
+
type Network,
|
|
5
|
+
networks,
|
|
6
|
+
Psbt,
|
|
7
|
+
type PsbtInput,
|
|
8
|
+
type TapScriptSig,
|
|
9
|
+
toHex,
|
|
10
|
+
toXOnly,
|
|
11
|
+
} from '@btc-vision/bitcoin';
|
|
12
|
+
import type { PartialSig } from 'bip174';
|
|
13
|
+
import {
|
|
14
|
+
createPublicKey,
|
|
15
|
+
type MessageHash,
|
|
16
|
+
type PublicKey,
|
|
17
|
+
type SchnorrSignature,
|
|
18
|
+
type Signature,
|
|
19
|
+
} from '@btc-vision/ecpair';
|
|
4
20
|
import { EcKeyPair } from '../../../keypair/EcKeyPair.js';
|
|
5
21
|
import {
|
|
6
22
|
canSignNonTaprootInput,
|
|
@@ -8,8 +24,8 @@ import {
|
|
|
8
24
|
pubkeyInScript,
|
|
9
25
|
} from '../../../signer/SignerUtils.js';
|
|
10
26
|
import { CustomKeypair } from '../BrowserSignerBase.js';
|
|
11
|
-
import { PsbtSignatureOptions } from '../types/Unisat.js';
|
|
12
|
-
import { SigningProtocol, Xverse } from '../types/Xverse.js';
|
|
27
|
+
import type { PsbtSignatureOptions } from '../types/Unisat.js';
|
|
28
|
+
import { SigningProtocol, type Xverse } from '../types/Xverse.js';
|
|
13
29
|
|
|
14
30
|
declare global {
|
|
15
31
|
interface Window {
|
|
@@ -58,9 +74,9 @@ export class XverseSigner extends CustomKeypair {
|
|
|
58
74
|
return this._addresses;
|
|
59
75
|
}
|
|
60
76
|
|
|
61
|
-
private _publicKey:
|
|
77
|
+
private _publicKey: PublicKey | undefined;
|
|
62
78
|
|
|
63
|
-
public get publicKey():
|
|
79
|
+
public get publicKey(): PublicKey {
|
|
64
80
|
if (!this._publicKey) {
|
|
65
81
|
throw new Error('Public key not set');
|
|
66
82
|
}
|
|
@@ -112,11 +128,11 @@ export class XverseSigner extends CustomKeypair {
|
|
|
112
128
|
|
|
113
129
|
this._network = network;
|
|
114
130
|
|
|
115
|
-
this._publicKey =
|
|
131
|
+
this._publicKey = createPublicKey(fromHex(payementAddress.publicKey));
|
|
116
132
|
|
|
117
|
-
this._p2wpkh = EcKeyPair.getP2WPKHAddress(this
|
|
133
|
+
this._p2wpkh = EcKeyPair.getP2WPKHAddress(this, this.network);
|
|
118
134
|
|
|
119
|
-
this._p2tr = EcKeyPair.getTaprootAddress(this
|
|
135
|
+
this._p2tr = EcKeyPair.getTaprootAddress(this, this.network);
|
|
120
136
|
|
|
121
137
|
this._addresses = [this._p2wpkh, this._p2tr];
|
|
122
138
|
|
|
@@ -124,17 +140,17 @@ export class XverseSigner extends CustomKeypair {
|
|
|
124
140
|
}
|
|
125
141
|
|
|
126
142
|
public async signData(
|
|
127
|
-
data:
|
|
143
|
+
data: Uint8Array,
|
|
128
144
|
address: string,
|
|
129
145
|
protocol: SigningProtocol,
|
|
130
|
-
): Promise<
|
|
146
|
+
): Promise<Uint8Array> {
|
|
131
147
|
if (!this.isInitialized) {
|
|
132
148
|
throw new Error('UnisatSigner not initialized');
|
|
133
149
|
}
|
|
134
150
|
|
|
135
151
|
const callSign = await this.BitcoinProvider.request('signMessage', {
|
|
136
152
|
address,
|
|
137
|
-
message:
|
|
153
|
+
message: new TextDecoder().decode(data),
|
|
138
154
|
protocol,
|
|
139
155
|
});
|
|
140
156
|
|
|
@@ -150,10 +166,10 @@ export class XverseSigner extends CustomKeypair {
|
|
|
150
166
|
throw new Error('Signature not found');
|
|
151
167
|
}
|
|
152
168
|
|
|
153
|
-
return
|
|
169
|
+
return fromHex(res.signature);
|
|
154
170
|
}
|
|
155
171
|
|
|
156
|
-
public getPublicKey():
|
|
172
|
+
public getPublicKey(): PublicKey {
|
|
157
173
|
if (!this.isInitialized) {
|
|
158
174
|
throw new Error('UnisatSigner not initialized');
|
|
159
175
|
}
|
|
@@ -161,15 +177,15 @@ export class XverseSigner extends CustomKeypair {
|
|
|
161
177
|
return this.publicKey;
|
|
162
178
|
}
|
|
163
179
|
|
|
164
|
-
public sign(_hash:
|
|
180
|
+
public sign(_hash: MessageHash, _lowR?: boolean): Signature {
|
|
165
181
|
throw new Error('Not implemented: sign');
|
|
166
182
|
}
|
|
167
183
|
|
|
168
|
-
public signSchnorr(_hash:
|
|
184
|
+
public signSchnorr(_hash: MessageHash): SchnorrSignature {
|
|
169
185
|
throw new Error('Not implemented: signSchnorr');
|
|
170
186
|
}
|
|
171
187
|
|
|
172
|
-
public verify(_hash:
|
|
188
|
+
public verify(_hash: MessageHash, _signature: Signature): boolean {
|
|
173
189
|
throw new Error('Not implemented: verify');
|
|
174
190
|
}
|
|
175
191
|
|
|
@@ -178,7 +194,7 @@ export class XverseSigner extends CustomKeypair {
|
|
|
178
194
|
i: number,
|
|
179
195
|
sighashTypes: number[],
|
|
180
196
|
): Promise<void> {
|
|
181
|
-
const input = transaction.data.inputs[i];
|
|
197
|
+
const input = transaction.data.inputs[i] as PsbtInput;
|
|
182
198
|
if (
|
|
183
199
|
input.tapKeySig ||
|
|
184
200
|
input.finalScriptSig ||
|
|
@@ -197,7 +213,7 @@ export class XverseSigner extends CustomKeypair {
|
|
|
197
213
|
}
|
|
198
214
|
|
|
199
215
|
public async signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void> {
|
|
200
|
-
const input = transaction.data.inputs[i];
|
|
216
|
+
const input = transaction.data.inputs[i] as PsbtInput;
|
|
201
217
|
if (
|
|
202
218
|
input.tapKeySig ||
|
|
203
219
|
input.finalScriptSig ||
|
|
@@ -243,7 +259,7 @@ export class XverseSigner extends CustomKeypair {
|
|
|
243
259
|
const tapInternalKey = input.tapInternalKey;
|
|
244
260
|
const xOnlyPubKey = toXOnly(this.publicKey);
|
|
245
261
|
|
|
246
|
-
if (
|
|
262
|
+
if (equals(tapInternalKey, xOnlyPubKey)) {
|
|
247
263
|
needsToSign = true;
|
|
248
264
|
viaTaproot = true;
|
|
249
265
|
}
|
|
@@ -257,7 +273,7 @@ export class XverseSigner extends CustomKeypair {
|
|
|
257
273
|
if (needsToSign) {
|
|
258
274
|
return {
|
|
259
275
|
index: i,
|
|
260
|
-
publicKey: this.publicKey
|
|
276
|
+
publicKey: toHex(this.publicKey),
|
|
261
277
|
disableTweakSigner: !viaTaproot,
|
|
262
278
|
};
|
|
263
279
|
} else {
|
|
@@ -275,26 +291,26 @@ export class XverseSigner extends CustomKeypair {
|
|
|
275
291
|
const toSignInputs: {
|
|
276
292
|
[x: string]: number[];
|
|
277
293
|
} = {
|
|
278
|
-
[this.p2wpkh]: options[0].toSignInputs?.map((input) => input.index) || [],
|
|
294
|
+
[this.p2wpkh]: (options[0] as PsbtSignatureOptions).toSignInputs?.map((input) => input.index) || [],
|
|
279
295
|
};
|
|
280
296
|
|
|
281
297
|
const callSign = await this.BitcoinProvider.request('signPsbt', {
|
|
282
|
-
psbt: toSignPsbts[0],
|
|
298
|
+
psbt: toSignPsbts[0] as string,
|
|
283
299
|
signInputs: toSignInputs,
|
|
284
300
|
});
|
|
285
301
|
|
|
286
302
|
if ('error' in callSign) throw new Error(callSign.error.message);
|
|
287
303
|
|
|
288
|
-
const signedPsbts = Psbt.fromBase64(callSign.result.psbt);
|
|
304
|
+
const signedPsbts = Psbt.fromBase64((callSign.result as { psbt: string }).psbt);
|
|
289
305
|
|
|
290
|
-
transactions[0].combine(signedPsbts);
|
|
306
|
+
(transactions[0] as Psbt).combine(signedPsbts);
|
|
291
307
|
}
|
|
292
308
|
|
|
293
309
|
private hasAlreadySignedTapScriptSig(input: TapScriptSig[]): boolean {
|
|
294
310
|
for (let i = 0; i < input.length; i++) {
|
|
295
|
-
const item = input[i];
|
|
296
|
-
const buf =
|
|
297
|
-
if (
|
|
311
|
+
const item = input[i] as TapScriptSig;
|
|
312
|
+
const buf = new Uint8Array(item.pubkey);
|
|
313
|
+
if (equals(buf, this.publicKey) && item.signature) {
|
|
298
314
|
return true;
|
|
299
315
|
}
|
|
300
316
|
}
|
|
@@ -304,9 +320,9 @@ export class XverseSigner extends CustomKeypair {
|
|
|
304
320
|
|
|
305
321
|
private hasAlreadyPartialSig(input: PartialSig[]): boolean {
|
|
306
322
|
for (let i = 0; i < input.length; i++) {
|
|
307
|
-
const item = input[i];
|
|
308
|
-
const buf =
|
|
309
|
-
if (
|
|
323
|
+
const item = input[i] as PartialSig;
|
|
324
|
+
const buf = new Uint8Array(item.pubkey);
|
|
325
|
+
if (equals(buf, this.publicKey) && item.signature) {
|
|
310
326
|
return true;
|
|
311
327
|
}
|
|
312
328
|
}
|
|
@@ -315,8 +331,8 @@ export class XverseSigner extends CustomKeypair {
|
|
|
315
331
|
}
|
|
316
332
|
|
|
317
333
|
private combine(transaction: Psbt, newPsbt: Psbt, i: number): void {
|
|
318
|
-
const signedInput = newPsbt.data.inputs[i];
|
|
319
|
-
const originalInput = transaction.data.inputs[i];
|
|
334
|
+
const signedInput = newPsbt.data.inputs[i] as PsbtInput;
|
|
335
|
+
const originalInput = transaction.data.inputs[i] as PsbtInput;
|
|
320
336
|
|
|
321
337
|
if (signedInput.partialSig) {
|
|
322
338
|
transaction.updateInput(i, { partialSig: signedInput.partialSig });
|
|
@@ -348,7 +364,7 @@ export class XverseSigner extends CustomKeypair {
|
|
|
348
364
|
sighashTypes: number[],
|
|
349
365
|
disableTweakSigner: boolean = false,
|
|
350
366
|
): Promise<Psbt> {
|
|
351
|
-
const pubKey = this.publicKey
|
|
367
|
+
const pubKey = toHex(this.publicKey);
|
|
352
368
|
const toSign = transaction.data.inputs.map((_, i) => {
|
|
353
369
|
return [
|
|
354
370
|
{
|
|
@@ -380,7 +396,7 @@ export class XverseSigner extends CustomKeypair {
|
|
|
380
396
|
|
|
381
397
|
if ('error' in callSign) throw new Error(callSign.error.message);
|
|
382
398
|
|
|
383
|
-
return Psbt.fromBase64(callSign.result.psbt);
|
|
399
|
+
return Psbt.fromBase64((callSign.result as { psbt: string }).psbt);
|
|
384
400
|
}
|
|
385
401
|
|
|
386
402
|
private getNonDuplicateScriptSig(
|
|
@@ -389,9 +405,10 @@ export class XverseSigner extends CustomKeypair {
|
|
|
389
405
|
): TapScriptSig[] {
|
|
390
406
|
const nonDuplicate: TapScriptSig[] = [];
|
|
391
407
|
for (let i = 0; i < scriptSig2.length; i++) {
|
|
392
|
-
const
|
|
408
|
+
const sig2 = scriptSig2[i] as TapScriptSig;
|
|
409
|
+
const found = scriptSig1.find((item) => equals(item.pubkey, sig2.pubkey));
|
|
393
410
|
if (!found) {
|
|
394
|
-
nonDuplicate.push(
|
|
411
|
+
nonDuplicate.push(sig2);
|
|
395
412
|
}
|
|
396
413
|
}
|
|
397
414
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Unisat } from './Unisat.js';
|
|
2
|
-
import { Web3Provider } from '../Web3Provider.js';
|
|
1
|
+
import type { Unisat } from './Unisat.js';
|
|
2
|
+
import type { Web3Provider } from '../Web3Provider.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* OPWallet interface extending Unisat with ML-DSA (FIPS 204) support
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
type FinalScriptsFunc,
|
|
4
|
+
fromHex,
|
|
5
|
+
type P2TRPayment,
|
|
6
|
+
PaymentType,
|
|
7
|
+
Psbt,
|
|
8
|
+
type PsbtInput,
|
|
9
|
+
type TapScriptSig,
|
|
10
|
+
type Taptree,
|
|
11
|
+
} from '@btc-vision/bitcoin';
|
|
3
12
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
4
|
-
import { TapLeafScript } from '../interfaces/Tap.js';
|
|
5
|
-
import {
|
|
6
|
-
import { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
|
|
13
|
+
import type { TapLeafScript } from '../interfaces/Tap.js';
|
|
14
|
+
import type { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
|
|
7
15
|
import { UnisatSigner } from '../browser/extensions/UnisatSigner.js';
|
|
16
|
+
import type { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
|
|
17
|
+
import { isUniversalSigner } from '../../signer/TweakedSigner.js';
|
|
8
18
|
|
|
9
19
|
export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL> {
|
|
10
20
|
public type: TransactionType.CANCEL = TransactionType.CANCEL;
|
|
@@ -12,12 +22,12 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
|
|
|
12
22
|
/**
|
|
13
23
|
* The tap leaf script for spending
|
|
14
24
|
*/
|
|
15
|
-
protected tapLeafScript: TapLeafScript | null = null;
|
|
25
|
+
protected override tapLeafScript: TapLeafScript | null = null;
|
|
16
26
|
|
|
17
|
-
protected readonly compiledTargetScript:
|
|
27
|
+
protected readonly compiledTargetScript: Uint8Array;
|
|
18
28
|
protected readonly scriptTree: Taptree;
|
|
19
29
|
|
|
20
|
-
protected readonly contractSecret:
|
|
30
|
+
protected readonly contractSecret: Uint8Array;
|
|
21
31
|
protected leftOverFundsScriptRedeem: P2TRPayment | null = null;
|
|
22
32
|
|
|
23
33
|
public constructor(parameters: ICancelTransactionParameters) {
|
|
@@ -29,12 +39,12 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
|
|
|
29
39
|
calldata: Buffer.alloc(0),
|
|
30
40
|
} as unknown as SharedInteractionParameters);
|
|
31
41
|
|
|
32
|
-
this.contractSecret =
|
|
42
|
+
this.contractSecret = new Uint8Array(0);
|
|
33
43
|
|
|
34
|
-
if (
|
|
44
|
+
if (parameters.compiledTargetScript instanceof Uint8Array) {
|
|
35
45
|
this.compiledTargetScript = parameters.compiledTargetScript;
|
|
36
46
|
} else {
|
|
37
|
-
this.compiledTargetScript =
|
|
47
|
+
this.compiledTargetScript = fromHex(parameters.compiledTargetScript);
|
|
38
48
|
}
|
|
39
49
|
|
|
40
50
|
// Generate the minimal script tree needed for recovery
|
|
@@ -163,7 +173,7 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
|
|
|
163
173
|
}
|
|
164
174
|
|
|
165
175
|
// For the simple lock script, we only need the signature
|
|
166
|
-
const scriptSolution = [input.tapScriptSig[0].signature];
|
|
176
|
+
const scriptSolution = [(input.tapScriptSig[0] as TapScriptSig).signature];
|
|
167
177
|
|
|
168
178
|
const witness = scriptSolution
|
|
169
179
|
.concat(this.tapLeafScript.script)
|
|
@@ -203,24 +213,49 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
|
|
|
203
213
|
}
|
|
204
214
|
|
|
205
215
|
protected override async signInputsNonWalletBased(transaction: Psbt): Promise<void> {
|
|
206
|
-
|
|
207
|
-
|
|
216
|
+
// Input 0: always sequential (script-path with custom finalizer)
|
|
217
|
+
await this.signInput(transaction, transaction.data.inputs[0] as PsbtInput, 0, this.getSignerKey());
|
|
218
|
+
transaction.finalizeInput(0, this.customFinalizer.bind(this));
|
|
219
|
+
|
|
220
|
+
// Inputs 1+: parallel key-path if available, then sequential for remaining
|
|
221
|
+
let parallelSignedIndices = new Set<number>();
|
|
222
|
+
|
|
223
|
+
if (this.canUseParallelSigning && isUniversalSigner(this.signer)) {
|
|
224
|
+
try {
|
|
225
|
+
const result = await this.signKeyPathInputsParallel(
|
|
226
|
+
transaction,
|
|
227
|
+
new Set([0]),
|
|
228
|
+
);
|
|
229
|
+
if (result.success) {
|
|
230
|
+
parallelSignedIndices = new Set(result.signatures.keys());
|
|
231
|
+
}
|
|
232
|
+
} catch (e) {
|
|
233
|
+
this.error(
|
|
234
|
+
`Parallel signing failed, falling back to sequential: ${(e as Error).message}`,
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
for (let i = 1; i < transaction.data.inputs.length; i++) {
|
|
240
|
+
if (!parallelSignedIndices.has(i)) {
|
|
208
241
|
await this.signInput(
|
|
209
242
|
transaction,
|
|
210
|
-
transaction.data.inputs[i],
|
|
243
|
+
transaction.data.inputs[i] as PsbtInput,
|
|
211
244
|
i,
|
|
212
|
-
this.
|
|
245
|
+
this.signer,
|
|
213
246
|
);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
214
249
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
250
|
+
// Finalize inputs 1+
|
|
251
|
+
for (let i = 1; i < transaction.data.inputs.length; i++) {
|
|
252
|
+
try {
|
|
253
|
+
transaction.finalizeInput(
|
|
254
|
+
i,
|
|
255
|
+
this.customFinalizerP2SH.bind(this) as FinalScriptsFunc,
|
|
256
|
+
);
|
|
257
|
+
} catch {
|
|
258
|
+
transaction.finalizeInput(i);
|
|
224
259
|
}
|
|
225
260
|
}
|
|
226
261
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*import { TransactionType } from '../enums/TransactionType.js';
|
|
2
2
|
import { getFinalScripts, opcodes, Psbt, PsbtInput, script, Signer } from '@btc-vision/bitcoin';
|
|
3
3
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
4
|
-
import {
|
|
4
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
5
5
|
|
|
6
6
|
export class ChallengeSolutionTransaction extends TransactionBuilder<TransactionType.CHALLENGE_SOLUTION> {
|
|
7
7
|
public readonly type: TransactionType.CHALLENGE_SOLUTION = TransactionType.CHALLENGE_SOLUTION;
|
|
@@ -49,7 +49,7 @@ export class ChallengeSolutionTransaction extends TransactionBuilder<Transaction
|
|
|
49
49
|
transaction: Psbt,
|
|
50
50
|
input: PsbtInput,
|
|
51
51
|
i: number,
|
|
52
|
-
signer: Signer |
|
|
52
|
+
signer: Signer | UniversalSigner,
|
|
53
53
|
reverse: boolean = false,
|
|
54
54
|
errored: boolean = false,
|
|
55
55
|
): Promise<void> {
|
|
@@ -81,7 +81,7 @@ export class ChallengeSolutionTransaction extends TransactionBuilder<Transaction
|
|
|
81
81
|
return getFinalScripts(inputIndex, input, scriptA, isSegwit, isP2SH, isP2WSH, false);
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
-
protected override getSignerKey(): Signer |
|
|
84
|
+
protected override getSignerKey(): Signer | UniversalSigner {
|
|
85
85
|
return this.signer;
|
|
86
86
|
}
|
|
87
87
|
}*/
|