@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,12 +1,12 @@
|
|
|
1
|
-
import { Signer } from '@btc-vision/bitcoin';
|
|
2
|
-
import {
|
|
1
|
+
import type { Signer } from '@btc-vision/bitcoin';
|
|
2
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Base signer type for address rotation.
|
|
6
6
|
* This is the minimal interface required for UTXO signing.
|
|
7
7
|
* UnisatSigner extends this through the CustomKeypair base class.
|
|
8
8
|
*/
|
|
9
|
-
export type RotationSignerBase = Signer |
|
|
9
|
+
export type RotationSignerBase = Signer | UniversalSigner;
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Map of addresses to their respective signers for address rotation mode.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { PsbtParallelKeyPair } from '@btc-vision/bitcoin/workers';
|
|
2
|
+
import type { UniversalSigner } from '@btc-vision/ecpair';
|
|
3
|
+
import { createPrivateKey, createPublicKey } from '@btc-vision/ecpair';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Wraps an untweaked UniversalSigner as PsbtParallelKeyPair.
|
|
7
|
+
* Used for script-path signing (raw private key needed).
|
|
8
|
+
*/
|
|
9
|
+
export function toParallelKeyPair(signer: UniversalSigner): PsbtParallelKeyPair {
|
|
10
|
+
return {
|
|
11
|
+
publicKey: signer.publicKey,
|
|
12
|
+
getPrivateKey(): Uint8Array {
|
|
13
|
+
if (!signer.privateKey) {
|
|
14
|
+
throw new Error('Signer does not have a private key');
|
|
15
|
+
}
|
|
16
|
+
return createPrivateKey(signer.privateKey);
|
|
17
|
+
},
|
|
18
|
+
sign(hash: Uint8Array, lowR?: boolean): Uint8Array {
|
|
19
|
+
return signer.sign(hash as Parameters<typeof signer.sign>[0], lowR);
|
|
20
|
+
},
|
|
21
|
+
signSchnorr(hash: Uint8Array): Uint8Array {
|
|
22
|
+
if (!signer.signSchnorr) {
|
|
23
|
+
throw new Error('Signer does not support Schnorr signing');
|
|
24
|
+
}
|
|
25
|
+
return signer.signSchnorr(hash as Parameters<typeof signer.signSchnorr>[0]);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Creates a hybrid adapter with untweaked publicKey (for PSBT input matching)
|
|
32
|
+
* but tweaked privateKey (for correct key-path Schnorr signatures).
|
|
33
|
+
* Uses createPrivateKey/createPublicKey for branded type validation.
|
|
34
|
+
*/
|
|
35
|
+
export function toTweakedParallelKeyPair(
|
|
36
|
+
untweakedSigner: UniversalSigner,
|
|
37
|
+
tweakedSigner: UniversalSigner,
|
|
38
|
+
): PsbtParallelKeyPair {
|
|
39
|
+
return {
|
|
40
|
+
publicKey: createPublicKey(untweakedSigner.publicKey),
|
|
41
|
+
getPrivateKey(): Uint8Array {
|
|
42
|
+
if (!tweakedSigner.privateKey) {
|
|
43
|
+
throw new Error('Tweaked signer does not have a private key');
|
|
44
|
+
}
|
|
45
|
+
return createPrivateKey(tweakedSigner.privateKey);
|
|
46
|
+
},
|
|
47
|
+
sign(hash: Uint8Array, lowR?: boolean): Uint8Array {
|
|
48
|
+
return tweakedSigner.sign(hash as Parameters<typeof tweakedSigner.sign>[0], lowR);
|
|
49
|
+
},
|
|
50
|
+
signSchnorr(hash: Uint8Array): Uint8Array {
|
|
51
|
+
if (!tweakedSigner.signSchnorr) {
|
|
52
|
+
throw new Error('Tweaked signer does not support Schnorr signing');
|
|
53
|
+
}
|
|
54
|
+
return tweakedSigner.signSchnorr(
|
|
55
|
+
hash as Parameters<typeof tweakedSigner.signSchnorr>[0],
|
|
56
|
+
);
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Helper functions
|
|
2
|
-
import { isP2TR, PsbtInput, pubkeyPositionInScript } from '@btc-vision/bitcoin';
|
|
2
|
+
import { isP2TR, type PsbtInput, pubkeyPositionInScript } from '@btc-vision/bitcoin';
|
|
3
3
|
|
|
4
4
|
export function isTaprootInput(input: PsbtInput): boolean {
|
|
5
5
|
return (
|
|
@@ -14,7 +14,7 @@ export function isTaprootInput(input: PsbtInput): boolean {
|
|
|
14
14
|
);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export function getInputRelevantScript(input: PsbtInput):
|
|
17
|
+
export function getInputRelevantScript(input: PsbtInput): Uint8Array | null {
|
|
18
18
|
if (input.redeemScript) {
|
|
19
19
|
return input.redeemScript;
|
|
20
20
|
}
|
|
@@ -37,7 +37,7 @@ export function getInputRelevantScript(input: PsbtInput): Buffer | null {
|
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
export function canSignNonTaprootInput(input: PsbtInput, publicKey:
|
|
40
|
+
export function canSignNonTaprootInput(input: PsbtInput, publicKey: Uint8Array): boolean {
|
|
41
41
|
if (
|
|
42
42
|
(input.nonWitnessUtxo &&
|
|
43
43
|
!input.redeemScript &&
|
|
@@ -61,6 +61,6 @@ export function canSignNonTaprootInput(input: PsbtInput, publicKey: Buffer): boo
|
|
|
61
61
|
* @param script The script to search in.
|
|
62
62
|
* @returns A boolean indicating whether the public key is present in the script.
|
|
63
63
|
*/
|
|
64
|
-
export function pubkeyInScript(pubkey:
|
|
64
|
+
export function pubkeyInScript(pubkey: Uint8Array, script: Uint8Array): boolean {
|
|
65
65
|
return pubkeyPositionInScript(pubkey, script) !== -1;
|
|
66
66
|
}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { backend, eccLib } from '../ecc/backend.js';
|
|
2
|
+
import {
|
|
3
|
+
type Bytes32,
|
|
4
|
+
initEccLib,
|
|
5
|
+
type Network,
|
|
6
|
+
type PrivateKey,
|
|
7
|
+
type Signer,
|
|
8
|
+
tapTweakHash,
|
|
9
|
+
toXOnly,
|
|
10
|
+
} from '@btc-vision/bitcoin';
|
|
11
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
4
12
|
import { EcKeyPair } from '../keypair/EcKeyPair.js';
|
|
5
13
|
|
|
6
|
-
initEccLib(
|
|
14
|
+
initEccLib(eccLib);
|
|
7
15
|
|
|
8
16
|
/**
|
|
9
17
|
* Tweak settings
|
|
@@ -17,7 +25,14 @@ export interface TweakSettings {
|
|
|
17
25
|
/**
|
|
18
26
|
* The tweak hash to use
|
|
19
27
|
*/
|
|
20
|
-
tweakHash?:
|
|
28
|
+
tweakHash?: Bytes32;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Type guard to check if a Signer is a UniversalSigner (has privateKey).
|
|
33
|
+
*/
|
|
34
|
+
export function isUniversalSigner(signer: Signer): signer is UniversalSigner {
|
|
35
|
+
return 'privateKey' in signer;
|
|
21
36
|
}
|
|
22
37
|
|
|
23
38
|
/**
|
|
@@ -27,29 +42,29 @@ export interface TweakSettings {
|
|
|
27
42
|
export class TweakedSigner {
|
|
28
43
|
/**
|
|
29
44
|
* Tweak a signer
|
|
30
|
-
* @param {
|
|
45
|
+
* @param {UniversalSigner} signer - The signer to tweak (must have privateKey)
|
|
31
46
|
* @param {TweakSettings} opts - The tweak settings
|
|
32
|
-
* @returns {
|
|
47
|
+
* @returns {UniversalSigner} - The tweaked signer
|
|
33
48
|
*/
|
|
34
|
-
public static tweakSigner(signer:
|
|
35
|
-
let privateKey:
|
|
49
|
+
public static tweakSigner(signer: UniversalSigner, opts: TweakSettings = {}): UniversalSigner {
|
|
50
|
+
let privateKey: PrivateKey | undefined = signer.privateKey;
|
|
36
51
|
if (!privateKey) {
|
|
37
52
|
throw new Error('Private key is required for tweaking signer!');
|
|
38
53
|
}
|
|
39
54
|
|
|
40
55
|
if (signer.publicKey[0] === 3) {
|
|
41
|
-
privateKey =
|
|
56
|
+
privateKey = backend.privateNegate(privateKey);
|
|
42
57
|
}
|
|
43
58
|
|
|
44
|
-
const tweakedPrivateKey =
|
|
59
|
+
const tweakedPrivateKey = backend.privateAdd(
|
|
45
60
|
privateKey,
|
|
46
|
-
tapTweakHash(toXOnly(
|
|
61
|
+
tapTweakHash(toXOnly(signer.publicKey), opts.tweakHash),
|
|
47
62
|
);
|
|
48
63
|
|
|
49
64
|
if (!tweakedPrivateKey) {
|
|
50
65
|
throw new Error('Invalid tweaked private key!');
|
|
51
66
|
}
|
|
52
67
|
|
|
53
|
-
return EcKeyPair.fromPrivateKey(
|
|
68
|
+
return EcKeyPair.fromPrivateKey(tweakedPrivateKey, opts.network);
|
|
54
69
|
}
|
|
55
70
|
}
|
|
@@ -3,14 +3,10 @@ import { Secp256k1PointDeriver } from '../keypair/Secp256k1PointDeriver.js';
|
|
|
3
3
|
class ContractAddressBase {
|
|
4
4
|
private readonly deriver: Secp256k1PointDeriver = new Secp256k1PointDeriver();
|
|
5
5
|
|
|
6
|
-
public generateHybridKeyFromHash(input:
|
|
7
|
-
const p = this.deriver.findOrDeriveValidPoint(
|
|
6
|
+
public generateHybridKeyFromHash(input: Uint8Array): Uint8Array {
|
|
7
|
+
const p = this.deriver.findOrDeriveValidPoint(new Uint8Array(input), false);
|
|
8
8
|
const y = this.deriver.getCanonicalY(p.y1, p.y2);
|
|
9
|
-
return
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
private cloneBuffer(buffer: Buffer): Buffer {
|
|
13
|
-
return Buffer.from(buffer);
|
|
9
|
+
return new Uint8Array(this.deriver.getHybridPublicKey(p.x, y));
|
|
14
10
|
}
|
|
15
11
|
}
|
|
16
12
|
|
|
@@ -1,41 +1,39 @@
|
|
|
1
|
-
import { Transaction, TxOutput } from '@btc-vision/bitcoin';
|
|
2
|
-
import {
|
|
3
|
-
import { UTXO } from '../utxo/interfaces/IUTXO.js';
|
|
1
|
+
import { type PsbtOutputExtended, type Script, toHex, toSatoshi, Transaction, type TxOutput } from '@btc-vision/bitcoin';
|
|
2
|
+
import type { UTXO } from '../utxo/interfaces/IUTXO.js';
|
|
4
3
|
import { CustomScriptTransaction } from './builders/CustomScriptTransaction.js';
|
|
5
4
|
import { DeploymentTransaction } from './builders/DeploymentTransaction.js';
|
|
6
5
|
import { FundingTransaction } from './builders/FundingTransaction.js';
|
|
7
6
|
import { InteractionTransaction } from './builders/InteractionTransaction.js';
|
|
8
7
|
import { TransactionBuilder } from './builders/TransactionBuilder.js';
|
|
9
8
|
import { TransactionType } from './enums/TransactionType.js';
|
|
10
|
-
import {
|
|
9
|
+
import type {
|
|
11
10
|
IDeploymentParameters,
|
|
12
11
|
IFundingTransactionParameters,
|
|
13
12
|
IInteractionParameters,
|
|
14
13
|
ITransactionParameters,
|
|
15
14
|
} from './interfaces/ITransactionParameters.js';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
15
|
+
import type {
|
|
18
16
|
ICancelTransactionParametersWithoutSigner,
|
|
19
17
|
ICustomTransactionWithoutSigner,
|
|
20
18
|
IDeploymentParametersWithoutSigner,
|
|
21
19
|
InteractionParametersWithoutSigner,
|
|
22
20
|
} from './interfaces/IWeb3ProviderTypes.js';
|
|
23
|
-
import { WindowWithWallets } from './browser/extensions/UnisatSigner.js';
|
|
24
|
-
import { IChallengeSolution, RawChallenge } from '../epoch/interfaces/IChallengeSolution.js';
|
|
21
|
+
import type { WindowWithWallets } from './browser/extensions/UnisatSigner.js';
|
|
22
|
+
import type { IChallengeSolution, RawChallenge } from '../epoch/interfaces/IChallengeSolution.js';
|
|
25
23
|
import { P2WDADetector } from '../p2wda/P2WDADetector.js';
|
|
26
24
|
import { InteractionTransactionP2WDA } from './builders/InteractionTransactionP2WDA.js';
|
|
27
25
|
import { Address } from '../keypair/Address.js';
|
|
28
26
|
import { BitcoinUtils } from '../utils/BitcoinUtils.js';
|
|
29
27
|
import { CancelTransaction } from './builders/CancelTransaction.js';
|
|
30
28
|
import { ConsolidatedInteractionTransaction } from './builders/ConsolidatedInteractionTransaction.js';
|
|
31
|
-
import { IConsolidatedInteractionParameters } from './interfaces/IConsolidatedTransactionParameters.js';
|
|
32
|
-
import {
|
|
29
|
+
import type { IConsolidatedInteractionParameters } from './interfaces/IConsolidatedTransactionParameters.js';
|
|
30
|
+
import type {
|
|
33
31
|
CancelledTransaction,
|
|
34
32
|
DeploymentResult,
|
|
35
33
|
InteractionResponse,
|
|
36
34
|
} from './interfaces/ITransactionResponses.js';
|
|
37
|
-
import { ICancelTransactionParameters } from './interfaces/ICancelTransactionParameters.js';
|
|
38
|
-
import { ICustomTransactionParameters } from './interfaces/ICustomTransactionParameters.js';
|
|
35
|
+
import type { ICancelTransactionParameters } from './interfaces/ICancelTransactionParameters.js';
|
|
36
|
+
import type { ICustomTransactionParameters } from './interfaces/ICustomTransactionParameters.js';
|
|
39
37
|
|
|
40
38
|
export interface FundingTransactionResponse {
|
|
41
39
|
readonly tx: Transaction;
|
|
@@ -86,8 +84,8 @@ export interface ConsolidatedInteractionResponse {
|
|
|
86
84
|
export class TransactionFactory {
|
|
87
85
|
public debug: boolean = false;
|
|
88
86
|
|
|
89
|
-
private readonly DUMMY_PUBKEY =
|
|
90
|
-
private readonly P2TR_SCRIPT =
|
|
87
|
+
private readonly DUMMY_PUBKEY = new Uint8Array(32).fill(1);
|
|
88
|
+
private readonly P2TR_SCRIPT = Uint8Array.from([0x51, 0x20, ...this.DUMMY_PUBKEY]) as Script;
|
|
91
89
|
private readonly INITIAL_FUNDING_ESTIMATE = 2000n;
|
|
92
90
|
private readonly MAX_ITERATIONS = 10;
|
|
93
91
|
|
|
@@ -152,7 +150,7 @@ export class TransactionFactory {
|
|
|
152
150
|
|
|
153
151
|
const inputs = this.parseOptionalInputs(interactionParameters.optionalInputs);
|
|
154
152
|
|
|
155
|
-
const { finalTransaction, estimatedAmount
|
|
153
|
+
const { finalTransaction, estimatedAmount } = await this.iterateFundingAmount(
|
|
156
154
|
{ ...interactionParameters, optionalInputs: inputs },
|
|
157
155
|
CustomScriptTransaction,
|
|
158
156
|
async (tx) => {
|
|
@@ -322,7 +320,7 @@ export class TransactionFactory {
|
|
|
322
320
|
challenge: challenge.toRaw(),
|
|
323
321
|
fundingUTXOs: fundingUTXO,
|
|
324
322
|
fundingInputUtxos: interactionParameters.utxos,
|
|
325
|
-
compiledTargetScript: interactionTx.exportCompiledTargetScript()
|
|
323
|
+
compiledTargetScript: toHex(interactionTx.exportCompiledTargetScript()),
|
|
326
324
|
};
|
|
327
325
|
}
|
|
328
326
|
|
|
@@ -380,7 +378,7 @@ export class TransactionFactory {
|
|
|
380
378
|
dataSize: result.setup.totalDataSize,
|
|
381
379
|
challenge: consolidatedTx.getChallenge().toRaw(),
|
|
382
380
|
inputUtxos: interactionParameters.utxos,
|
|
383
|
-
compiledTargetScript: consolidatedTx.exportCompiledTargetScript()
|
|
381
|
+
compiledTargetScript: toHex(consolidatedTx.exportCompiledTargetScript()),
|
|
384
382
|
};
|
|
385
383
|
}
|
|
386
384
|
|
|
@@ -448,12 +446,12 @@ export class TransactionFactory {
|
|
|
448
446
|
throw new Error('Could not sign funding transaction.');
|
|
449
447
|
}
|
|
450
448
|
|
|
451
|
-
const out = signedTransaction.outs[0];
|
|
449
|
+
const out = signedTransaction.outs[0] as TxOutput;
|
|
452
450
|
const newUtxo: UTXO = {
|
|
453
451
|
transactionId: signedTransaction.getId(),
|
|
454
452
|
outputIndex: 0,
|
|
455
453
|
scriptPubKey: {
|
|
456
|
-
hex: out.script
|
|
454
|
+
hex: toHex(out.script),
|
|
457
455
|
address: finalTransaction.getScriptAddress(),
|
|
458
456
|
},
|
|
459
457
|
value: BigInt(out.value),
|
|
@@ -473,13 +471,13 @@ export class TransactionFactory {
|
|
|
473
471
|
const deploymentTx = new DeploymentTransaction(newParams);
|
|
474
472
|
const outTx = await deploymentTx.signTransaction();
|
|
475
473
|
|
|
476
|
-
const out2 = signedTransaction.outs[1];
|
|
474
|
+
const out2 = signedTransaction.outs[1] as TxOutput;
|
|
477
475
|
const refundUTXO: UTXO = {
|
|
478
476
|
transactionId: signedTransaction.getId(),
|
|
479
477
|
outputIndex: 1,
|
|
480
478
|
scriptPubKey: {
|
|
481
|
-
hex: out2.script
|
|
482
|
-
address: deploymentParameters.from,
|
|
479
|
+
hex: toHex(out2.script),
|
|
480
|
+
address: deploymentParameters.from as string,
|
|
483
481
|
},
|
|
484
482
|
value: BigInt(out2.value),
|
|
485
483
|
};
|
|
@@ -532,7 +530,7 @@ export class TransactionFactory {
|
|
|
532
530
|
|
|
533
531
|
const utxos: UTXO[] = [];
|
|
534
532
|
for (let i = 0; i < tx.outs.length; i++) {
|
|
535
|
-
const output = outputs[i];
|
|
533
|
+
const output = outputs[i] as PsbtOutputExtended;
|
|
536
534
|
if ('address' in output) {
|
|
537
535
|
if (output.address !== to) continue;
|
|
538
536
|
} else {
|
|
@@ -558,17 +556,13 @@ export class TransactionFactory {
|
|
|
558
556
|
!(nonWitness instanceof Uint8Array) &&
|
|
559
557
|
typeof nonWitness === 'object'
|
|
560
558
|
) {
|
|
561
|
-
nonWitness =
|
|
562
|
-
Uint8Array.from(
|
|
563
|
-
Object.values(input.nonWitnessUtxo as unknown as Record<number, number>),
|
|
564
|
-
),
|
|
565
|
-
);
|
|
559
|
+
nonWitness = Uint8Array.from(Object.values(nonWitness as Record<string, number>));
|
|
566
560
|
}
|
|
567
561
|
|
|
568
562
|
return {
|
|
569
563
|
...input,
|
|
570
564
|
nonWitnessUtxo: nonWitness,
|
|
571
|
-
};
|
|
565
|
+
} as UTXO;
|
|
572
566
|
});
|
|
573
567
|
}
|
|
574
568
|
|
|
@@ -715,22 +709,6 @@ export class TransactionFactory {
|
|
|
715
709
|
return utxos.some((utxo) => P2WDADetector.isP2WDAUTXO(utxo));
|
|
716
710
|
}
|
|
717
711
|
|
|
718
|
-
/**
|
|
719
|
-
* Write PSBT header with type and consensus version.
|
|
720
|
-
* @param {PSBTTypes} type - The PSBT type
|
|
721
|
-
* @param {string} psbt - The base64 encoded PSBT
|
|
722
|
-
* @returns {string} - The hex encoded PSBT with header
|
|
723
|
-
*/
|
|
724
|
-
private writePSBTHeader(type: PSBTTypes, psbt: string): string {
|
|
725
|
-
const buf = Buffer.from(psbt, 'base64');
|
|
726
|
-
|
|
727
|
-
const header = Buffer.alloc(2);
|
|
728
|
-
header.writeUInt8(type, 0);
|
|
729
|
-
header.writeUInt8(currentConsensus, 1);
|
|
730
|
-
|
|
731
|
-
return Buffer.concat([header, buf]).toString('hex');
|
|
732
|
-
}
|
|
733
|
-
|
|
734
712
|
/**
|
|
735
713
|
* Sign a P2WDA interaction transaction
|
|
736
714
|
*
|
|
@@ -843,13 +821,13 @@ export class TransactionFactory {
|
|
|
843
821
|
previousAmount = estimatedFundingAmount;
|
|
844
822
|
|
|
845
823
|
const dummyTx = new Transaction();
|
|
846
|
-
dummyTx.addOutput(this.P2TR_SCRIPT,
|
|
824
|
+
dummyTx.addOutput(this.P2TR_SCRIPT, toSatoshi(estimatedFundingAmount));
|
|
847
825
|
|
|
848
826
|
const simulatedFundedUtxo: UTXO = {
|
|
849
|
-
transactionId:
|
|
827
|
+
transactionId: toHex(new Uint8Array(32)),
|
|
850
828
|
outputIndex: 0,
|
|
851
829
|
scriptPubKey: {
|
|
852
|
-
hex: this.P2TR_SCRIPT
|
|
830
|
+
hex: toHex(this.P2TR_SCRIPT),
|
|
853
831
|
address: dummyAddress,
|
|
854
832
|
},
|
|
855
833
|
value: estimatedFundingAmount,
|
|
@@ -883,7 +861,7 @@ export class TransactionFactory {
|
|
|
883
861
|
if (error instanceof Error) {
|
|
884
862
|
const match = error.message.match(/need (\d+) sats but only have (\d+) sats/);
|
|
885
863
|
if (match) {
|
|
886
|
-
estimatedFundingAmount = BigInt(match[1]);
|
|
864
|
+
estimatedFundingAmount = BigInt(match[1] as string);
|
|
887
865
|
if (this.debug) {
|
|
888
866
|
console.log(
|
|
889
867
|
`${debugPrefix}: Caught insufficient funds, updating to ${estimatedFundingAmount}`,
|
|
@@ -941,7 +919,7 @@ export class TransactionFactory {
|
|
|
941
919
|
transactionId: tx.getId(),
|
|
942
920
|
outputIndex: index,
|
|
943
921
|
scriptPubKey: {
|
|
944
|
-
hex: out.script
|
|
922
|
+
hex: toHex(out.script),
|
|
945
923
|
address: to,
|
|
946
924
|
},
|
|
947
925
|
value: BigInt(out.value),
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import { Network, Psbt, Signer } from '@btc-vision/bitcoin';
|
|
1
|
+
import { type Network, Psbt, type Signer } from '@btc-vision/bitcoin';
|
|
2
|
+
import {
|
|
3
|
+
type MessageHash,
|
|
4
|
+
type PublicKey,
|
|
5
|
+
type SchnorrSignature,
|
|
6
|
+
type Signature,
|
|
7
|
+
} from '@btc-vision/ecpair';
|
|
2
8
|
|
|
3
9
|
/**
|
|
4
10
|
* Create a custom keypair.
|
|
@@ -7,7 +13,7 @@ import { Network, Psbt, Signer } from '@btc-vision/bitcoin';
|
|
|
7
13
|
export abstract class CustomKeypair implements Signer {
|
|
8
14
|
public abstract network: Network;
|
|
9
15
|
|
|
10
|
-
public abstract publicKey:
|
|
16
|
+
public abstract publicKey: PublicKey;
|
|
11
17
|
|
|
12
18
|
public abstract addresses: string[];
|
|
13
19
|
|
|
@@ -24,13 +30,13 @@ export abstract class CustomKeypair implements Signer {
|
|
|
24
30
|
|
|
25
31
|
public abstract signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
|
|
26
32
|
|
|
27
|
-
public abstract getPublicKey():
|
|
33
|
+
public abstract getPublicKey(): PublicKey;
|
|
28
34
|
|
|
29
|
-
public abstract sign(hash:
|
|
35
|
+
public abstract sign(hash: MessageHash, lowR?: boolean): Signature;
|
|
30
36
|
|
|
31
|
-
public abstract signSchnorr(hash:
|
|
37
|
+
public abstract signSchnorr(hash: MessageHash): SchnorrSignature;
|
|
32
38
|
|
|
33
|
-
public abstract verify(hash:
|
|
39
|
+
public abstract verify(hash: MessageHash, signature: Signature): boolean;
|
|
34
40
|
|
|
35
41
|
public abstract init(): Promise<void>;
|
|
36
42
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
2
|
-
import {
|
|
1
|
+
import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
2
|
+
import type {
|
|
3
3
|
CancelledTransaction,
|
|
4
4
|
DeploymentResult,
|
|
5
5
|
InteractionResponse,
|
|
6
6
|
} from '../interfaces/ITransactionResponses.js';
|
|
7
|
-
import {
|
|
7
|
+
import type {
|
|
8
8
|
BroadcastedTransaction,
|
|
9
9
|
BroadcastTransactionOptions,
|
|
10
10
|
ICancelTransactionParametersWithoutSigner,
|