@btc-vision/transaction 1.8.0-beta.3 → 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 +11999 -2647
- 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 +3583 -3184
- 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 +844 -2746
- package/browser/noble-hashes.js +1338 -2067
- 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 +14351 -10031
- 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 +446 -128
- 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 +219 -50
- 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 +12 -35
- 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/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 +114 -71
- package/src/keypair/AddressVerificator.ts +16 -147
- package/src/keypair/EcKeyPair.ts +105 -114
- 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,24 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
fromHex,
|
|
3
|
+
Psbt,
|
|
4
|
+
type PsbtInput,
|
|
5
|
+
type Script,
|
|
6
|
+
toSatoshi,
|
|
7
|
+
toXOnly,
|
|
8
|
+
Transaction,
|
|
9
|
+
} from '@btc-vision/bitcoin';
|
|
10
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
4
11
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
5
12
|
import { MINIMUM_AMOUNT_REWARD, TransactionBuilder } from './TransactionBuilder.js';
|
|
6
13
|
import { HashCommitmentGenerator } from '../../generators/builders/HashCommitmentGenerator.js';
|
|
7
14
|
import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
|
|
8
|
-
import {
|
|
15
|
+
import type {
|
|
9
16
|
IConsolidatedInteractionParameters,
|
|
10
17
|
IConsolidatedInteractionResult,
|
|
11
18
|
IHashCommittedP2WSH,
|
|
12
19
|
IRevealTransactionResult,
|
|
13
20
|
ISetupTransactionResult,
|
|
14
21
|
} from '../interfaces/IConsolidatedTransactionParameters.js';
|
|
15
|
-
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
22
|
+
import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
16
23
|
import { TimeLockGenerator } from '../mineable/TimelockGenerator.js';
|
|
17
|
-
import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
24
|
+
import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
18
25
|
import { EcKeyPair } from '../../keypair/EcKeyPair.js';
|
|
19
26
|
import { BitcoinUtils } from '../../utils/BitcoinUtils.js';
|
|
20
27
|
import { Compressor } from '../../bytecode/Compressor.js';
|
|
21
|
-
import { Feature, FeaturePriority, Features } from '../../generators/Features.js';
|
|
28
|
+
import { type Feature, FeaturePriority, Features } from '../../generators/Features.js';
|
|
22
29
|
import { AddressGenerator } from '../../generators/AddressGenerator.js';
|
|
23
30
|
|
|
24
31
|
/**
|
|
@@ -69,19 +76,19 @@ import { AddressGenerator } from '../../generators/AddressGenerator.js';
|
|
|
69
76
|
export class ConsolidatedInteractionTransaction extends TransactionBuilder<TransactionType.INTERACTION> {
|
|
70
77
|
public readonly type: TransactionType.INTERACTION = TransactionType.INTERACTION;
|
|
71
78
|
/** Random bytes for interaction (same as InteractionTransaction) */
|
|
72
|
-
public readonly randomBytes:
|
|
79
|
+
public readonly randomBytes: Uint8Array;
|
|
73
80
|
/** The contract address (same as InteractionTransaction.to) */
|
|
74
81
|
protected readonly contractAddress: string;
|
|
75
82
|
/** The contract secret - 32 bytes (same as InteractionTransaction) */
|
|
76
|
-
protected readonly contractSecret:
|
|
83
|
+
protected readonly contractSecret: Uint8Array;
|
|
77
84
|
/** The compressed calldata (same as InteractionTransaction) */
|
|
78
|
-
protected readonly calldata:
|
|
85
|
+
protected readonly calldata: Uint8Array;
|
|
79
86
|
/** Challenge solution for epoch (same as InteractionTransaction) */
|
|
80
87
|
protected readonly challenge: IChallengeSolution;
|
|
81
88
|
/** Epoch challenge P2WSH address (same as InteractionTransaction) */
|
|
82
89
|
protected readonly epochChallenge: IP2WSHAddress;
|
|
83
90
|
/** Script signer for interaction (same as InteractionTransaction) */
|
|
84
|
-
protected readonly scriptSigner:
|
|
91
|
+
protected readonly scriptSigner: UniversalSigner;
|
|
85
92
|
|
|
86
93
|
/** Calldata generator - produces same output as InteractionTransaction */
|
|
87
94
|
protected readonly calldataGenerator: CalldataGenerator;
|
|
@@ -90,7 +97,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
90
97
|
protected readonly hashCommitmentGenerator: HashCommitmentGenerator;
|
|
91
98
|
|
|
92
99
|
/** The compiled operation data - SAME as InteractionTransaction's compiledTargetScript */
|
|
93
|
-
protected readonly compiledTargetScript:
|
|
100
|
+
protected readonly compiledTargetScript: Uint8Array;
|
|
94
101
|
|
|
95
102
|
/** Generated hash-committed P2WSH outputs */
|
|
96
103
|
protected readonly commitmentOutputs: IHashCommittedP2WSH[];
|
|
@@ -125,7 +132,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
125
132
|
}
|
|
126
133
|
|
|
127
134
|
this.contractAddress = parameters.to;
|
|
128
|
-
this.contractSecret =
|
|
135
|
+
this.contractSecret = fromHex(parameters.contract.replace('0x', ''));
|
|
129
136
|
this.disableAutoRefund = parameters.disableAutoRefund || false;
|
|
130
137
|
this.maxChunkSize = parameters.maxChunkSize ?? HashCommitmentGenerator.MAX_CHUNK_SIZE;
|
|
131
138
|
|
|
@@ -150,17 +157,17 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
150
157
|
|
|
151
158
|
// Create calldata generator (same as SharedInteractionTransaction)
|
|
152
159
|
this.calldataGenerator = new CalldataGenerator(
|
|
153
|
-
|
|
154
|
-
toXOnly(
|
|
160
|
+
this.signer.publicKey,
|
|
161
|
+
toXOnly(this.scriptSigner.publicKey),
|
|
155
162
|
this.network,
|
|
156
163
|
);
|
|
157
164
|
|
|
158
165
|
// Compile the target script - SAME as InteractionTransaction
|
|
159
166
|
if (parameters.compiledTargetScript) {
|
|
160
|
-
if (
|
|
167
|
+
if (parameters.compiledTargetScript instanceof Uint8Array) {
|
|
161
168
|
this.compiledTargetScript = parameters.compiledTargetScript;
|
|
162
169
|
} else if (typeof parameters.compiledTargetScript === 'string') {
|
|
163
|
-
this.compiledTargetScript =
|
|
170
|
+
this.compiledTargetScript = fromHex(parameters.compiledTargetScript);
|
|
164
171
|
} else {
|
|
165
172
|
throw new Error('Invalid compiled target script format.');
|
|
166
173
|
}
|
|
@@ -176,7 +183,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
176
183
|
|
|
177
184
|
// Create hash commitment generator
|
|
178
185
|
this.hashCommitmentGenerator = new HashCommitmentGenerator(
|
|
179
|
-
|
|
186
|
+
this.signer.publicKey,
|
|
180
187
|
this.network,
|
|
181
188
|
);
|
|
182
189
|
|
|
@@ -204,21 +211,21 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
204
211
|
/**
|
|
205
212
|
* Get the compiled target script (same as InteractionTransaction).
|
|
206
213
|
*/
|
|
207
|
-
public exportCompiledTargetScript():
|
|
214
|
+
public exportCompiledTargetScript(): Uint8Array {
|
|
208
215
|
return this.compiledTargetScript;
|
|
209
216
|
}
|
|
210
217
|
|
|
211
218
|
/**
|
|
212
219
|
* Get the contract secret (same as InteractionTransaction).
|
|
213
220
|
*/
|
|
214
|
-
public getContractSecret():
|
|
221
|
+
public getContractSecret(): Uint8Array {
|
|
215
222
|
return this.contractSecret;
|
|
216
223
|
}
|
|
217
224
|
|
|
218
225
|
/**
|
|
219
226
|
* Get the random bytes (same as InteractionTransaction).
|
|
220
227
|
*/
|
|
221
|
-
public getRndBytes():
|
|
228
|
+
public getRndBytes(): Uint8Array {
|
|
222
229
|
return this.randomBytes;
|
|
223
230
|
}
|
|
224
231
|
|
|
@@ -299,14 +306,14 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
299
306
|
|
|
300
307
|
// Add commitment outputs as inputs (from setup tx)
|
|
301
308
|
for (let i = 0; i < this.commitmentOutputs.length; i++) {
|
|
302
|
-
const commitment = this.commitmentOutputs[i];
|
|
309
|
+
const commitment = this.commitmentOutputs[i] as IHashCommittedP2WSH;
|
|
303
310
|
|
|
304
311
|
revealPsbt.addInput({
|
|
305
312
|
hash: setupTxId,
|
|
306
313
|
index: i,
|
|
307
314
|
witnessUtxo: {
|
|
308
|
-
script: commitment.scriptPubKey,
|
|
309
|
-
value:
|
|
315
|
+
script: commitment.scriptPubKey as Script,
|
|
316
|
+
value: toSatoshi(valuePerOutput),
|
|
310
317
|
},
|
|
311
318
|
witnessScript: commitment.witnessScript,
|
|
312
319
|
});
|
|
@@ -322,7 +329,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
322
329
|
// Add output to epoch challenge address (same as InteractionTransaction)
|
|
323
330
|
revealPsbt.addOutput({
|
|
324
331
|
address: this.epochChallenge.address,
|
|
325
|
-
value:
|
|
332
|
+
value: toSatoshi(feeAmount),
|
|
326
333
|
});
|
|
327
334
|
|
|
328
335
|
// Estimate reveal transaction fee
|
|
@@ -335,7 +342,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
335
342
|
const refundAddress = this.getRefundAddress();
|
|
336
343
|
revealPsbt.addOutput({
|
|
337
344
|
address: refundAddress,
|
|
338
|
-
value:
|
|
345
|
+
value: toSatoshi(changeValue),
|
|
339
346
|
});
|
|
340
347
|
}
|
|
341
348
|
|
|
@@ -346,7 +353,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
346
353
|
|
|
347
354
|
// Finalize all inputs with hash-commitment finalizer
|
|
348
355
|
for (let i = 0; i < this.commitmentOutputs.length; i++) {
|
|
349
|
-
const commitment = this.commitmentOutputs[i];
|
|
356
|
+
const commitment = this.commitmentOutputs[i] as IHashCommittedP2WSH;
|
|
350
357
|
revealPsbt.finalizeInput(i, (_inputIndex: number, input: PsbtInput) => {
|
|
351
358
|
return this.finalizeCommitmentInput(input, commitment);
|
|
352
359
|
});
|
|
@@ -389,7 +396,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
389
396
|
// Add each hash-committed P2WSH as an output
|
|
390
397
|
for (const commitment of this.commitmentOutputs) {
|
|
391
398
|
this.addOutput({
|
|
392
|
-
value:
|
|
399
|
+
value: toSatoshi(valuePerOutput),
|
|
393
400
|
address: commitment.address,
|
|
394
401
|
});
|
|
395
402
|
}
|
|
@@ -416,8 +423,8 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
416
423
|
input: PsbtInput,
|
|
417
424
|
commitment: IHashCommittedP2WSH,
|
|
418
425
|
): {
|
|
419
|
-
finalScriptSig:
|
|
420
|
-
finalScriptWitness:
|
|
426
|
+
finalScriptSig: Uint8Array | undefined;
|
|
427
|
+
finalScriptWitness: Uint8Array | undefined;
|
|
421
428
|
} {
|
|
422
429
|
if (!input.partialSig || input.partialSig.length === 0) {
|
|
423
430
|
throw new Error('No signature for commitment input');
|
|
@@ -429,8 +436,8 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
429
436
|
|
|
430
437
|
// Witness stack for hash-committed P2WSH with multiple chunks
|
|
431
438
|
// Order: [signature, data_1, data_2, ..., data_N, witnessScript]
|
|
432
|
-
const witnessStack:
|
|
433
|
-
input.partialSig[0].signature, // Signature for OP_CHECKSIG
|
|
439
|
+
const witnessStack: Uint8Array[] = [
|
|
440
|
+
(input.partialSig[0] as { signature: Uint8Array }).signature, // Signature for OP_CHECKSIG
|
|
434
441
|
...commitment.dataChunks, // All data chunks for OP_HASH160 verification
|
|
435
442
|
input.witnessScript, // The witness script
|
|
436
443
|
];
|
|
@@ -445,8 +452,6 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder<Trans
|
|
|
445
452
|
* Estimate reveal transaction vBytes.
|
|
446
453
|
*/
|
|
447
454
|
private estimateRevealVBytes(): number {
|
|
448
|
-
const inputCount = this.commitmentOutputs.length;
|
|
449
|
-
|
|
450
455
|
// Calculate actual witness weight based on chunks per output
|
|
451
456
|
let witnessWeight = 0;
|
|
452
457
|
for (const commitment of this.commitmentOutputs) {
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
crypto as bitCrypto,
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
type FinalScriptsFunc,
|
|
4
|
+
type P2TRPayment,
|
|
5
5
|
PaymentType,
|
|
6
6
|
Psbt,
|
|
7
|
-
PsbtInput,
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
type PsbtInput,
|
|
8
|
+
type Script,
|
|
9
|
+
type Signer,
|
|
10
|
+
type Taptree,
|
|
11
|
+
toSatoshi,
|
|
10
12
|
toXOnly,
|
|
11
13
|
} from '@btc-vision/bitcoin';
|
|
12
14
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
13
|
-
import { TapLeafScript } from '../interfaces/Tap.js';
|
|
15
|
+
import type { TapLeafScript } from '../interfaces/Tap.js';
|
|
14
16
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
15
17
|
import { CustomGenerator } from '../../generators/builders/CustomGenerator.js';
|
|
16
18
|
import { BitcoinUtils } from '../../utils/BitcoinUtils.js';
|
|
17
19
|
import { EcKeyPair } from '../../keypair/EcKeyPair.js';
|
|
18
20
|
import { AddressGenerator } from '../../generators/AddressGenerator.js';
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
22
|
+
import { isUniversalSigner } from '../../signer/TweakedSigner.js';
|
|
23
|
+
import type { ICustomTransactionParameters } from '../interfaces/ICustomTransactionParameters.js';
|
|
21
24
|
|
|
22
25
|
/**
|
|
23
26
|
* Class for interaction transactions
|
|
@@ -35,7 +38,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
35
38
|
* The tap leaf script
|
|
36
39
|
* @private
|
|
37
40
|
*/
|
|
38
|
-
protected tapLeafScript: TapLeafScript | null = null;
|
|
41
|
+
protected override tapLeafScript: TapLeafScript | null = null;
|
|
39
42
|
/**
|
|
40
43
|
* The target script redeem
|
|
41
44
|
* @private
|
|
@@ -50,7 +53,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
50
53
|
* The compiled target script
|
|
51
54
|
* @private
|
|
52
55
|
*/
|
|
53
|
-
private readonly compiledTargetScript:
|
|
56
|
+
private readonly compiledTargetScript: Uint8Array;
|
|
54
57
|
/**
|
|
55
58
|
* The script tree
|
|
56
59
|
* @private
|
|
@@ -66,26 +69,26 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
66
69
|
* The contract seed
|
|
67
70
|
* @private
|
|
68
71
|
*/
|
|
69
|
-
private readonly scriptSeed:
|
|
72
|
+
private readonly scriptSeed: Uint8Array;
|
|
70
73
|
|
|
71
74
|
/**
|
|
72
75
|
* The contract signer
|
|
73
76
|
* @private
|
|
74
77
|
*/
|
|
75
|
-
private readonly contractSigner: Signer |
|
|
78
|
+
private readonly contractSigner: Signer | UniversalSigner;
|
|
76
79
|
|
|
77
80
|
/**
|
|
78
81
|
* The contract salt random bytes
|
|
79
82
|
* @private
|
|
80
83
|
*/
|
|
81
|
-
private readonly randomBytes:
|
|
84
|
+
private readonly randomBytes: Uint8Array;
|
|
82
85
|
|
|
83
86
|
/**
|
|
84
87
|
* The witnesses
|
|
85
88
|
* @private
|
|
86
89
|
*/
|
|
87
|
-
private readonly witnesses:
|
|
88
|
-
private readonly annexData?:
|
|
90
|
+
private readonly witnesses: Uint8Array[];
|
|
91
|
+
private readonly annexData?: Uint8Array;
|
|
89
92
|
|
|
90
93
|
public constructor(parameters: ICustomTransactionParameters) {
|
|
91
94
|
super(parameters);
|
|
@@ -125,7 +128,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
125
128
|
return this.to || this.getScriptAddress();
|
|
126
129
|
}
|
|
127
130
|
|
|
128
|
-
public exportCompiledTargetScript():
|
|
131
|
+
public exportCompiledTargetScript(): Uint8Array {
|
|
129
132
|
return this.compiledTargetScript;
|
|
130
133
|
}
|
|
131
134
|
|
|
@@ -133,7 +136,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
133
136
|
* Get the random bytes used for the interaction
|
|
134
137
|
* @returns {Buffer} The random bytes
|
|
135
138
|
*/
|
|
136
|
-
public getRndBytes():
|
|
139
|
+
public getRndBytes(): Uint8Array {
|
|
137
140
|
return this.randomBytes;
|
|
138
141
|
}
|
|
139
142
|
|
|
@@ -141,8 +144,8 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
141
144
|
* Get the contract signer public key
|
|
142
145
|
* @protected
|
|
143
146
|
*/
|
|
144
|
-
protected contractSignerXOnlyPubKey():
|
|
145
|
-
return toXOnly(
|
|
147
|
+
protected contractSignerXOnlyPubKey(): Uint8Array {
|
|
148
|
+
return toXOnly(this.contractSigner.publicKey);
|
|
146
149
|
}
|
|
147
150
|
|
|
148
151
|
/**
|
|
@@ -154,7 +157,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
154
157
|
this.to = this.getScriptAddress();
|
|
155
158
|
}
|
|
156
159
|
|
|
157
|
-
const selectedRedeem:
|
|
160
|
+
const selectedRedeem: P2TRPayment | null = this.contractSigner
|
|
158
161
|
? this.targetScriptRedeem
|
|
159
162
|
: this.leftOverFundsScriptRedeem;
|
|
160
163
|
|
|
@@ -180,7 +183,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
180
183
|
|
|
181
184
|
const amountSpent: bigint = this.getTransactionOPNetFee();
|
|
182
185
|
this.addOutput({
|
|
183
|
-
value:
|
|
186
|
+
value: toSatoshi(amountSpent),
|
|
184
187
|
address: this.to,
|
|
185
188
|
});
|
|
186
189
|
|
|
@@ -192,25 +195,55 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
192
195
|
* @param {Psbt} transaction The transaction to sign
|
|
193
196
|
* @protected
|
|
194
197
|
*/
|
|
195
|
-
protected async signInputs(transaction: Psbt): Promise<void> {
|
|
198
|
+
protected override async signInputs(transaction: Psbt): Promise<void> {
|
|
196
199
|
if (!this.contractSigner) {
|
|
197
200
|
await super.signInputs(transaction);
|
|
198
201
|
|
|
199
202
|
return;
|
|
200
203
|
}
|
|
201
204
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
205
|
+
// Input 0: sequential (contractSigner + main signer, custom finalizer)
|
|
206
|
+
try {
|
|
207
|
+
transaction.signInput(0, this.contractSigner);
|
|
208
|
+
} catch {
|
|
209
|
+
// contractSigner may fail for some script types
|
|
210
|
+
}
|
|
211
|
+
transaction.signInput(0, this.getSignerKey());
|
|
212
|
+
transaction.finalizeInput(0, this.customFinalizer);
|
|
213
|
+
|
|
214
|
+
// Inputs 1+: parallel key-path if available, then sequential for remaining
|
|
215
|
+
const signedIndices = new Set<number>([0]);
|
|
216
|
+
|
|
217
|
+
if (this.canUseParallelSigning && isUniversalSigner(this.signer)) {
|
|
218
|
+
try {
|
|
219
|
+
const result = await this.signKeyPathInputsParallel(
|
|
220
|
+
transaction,
|
|
221
|
+
new Set([0]),
|
|
222
|
+
);
|
|
223
|
+
if (result.success) {
|
|
224
|
+
for (const idx of result.signatures.keys()) signedIndices.add(idx);
|
|
225
|
+
}
|
|
226
|
+
} catch (e) {
|
|
227
|
+
this.error(
|
|
228
|
+
`Parallel signing failed: ${(e as Error).message}`,
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
210
232
|
|
|
211
|
-
|
|
212
|
-
|
|
233
|
+
for (let i = 1; i < transaction.data.inputs.length; i++) {
|
|
234
|
+
if (!signedIndices.has(i)) {
|
|
213
235
|
transaction.signInput(i, this.getSignerKey());
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// Finalize inputs 1+
|
|
240
|
+
for (let i = 1; i < transaction.data.inputs.length; i++) {
|
|
241
|
+
try {
|
|
242
|
+
transaction.finalizeInput(
|
|
243
|
+
i,
|
|
244
|
+
this.customFinalizerP2SH.bind(this) as FinalScriptsFunc,
|
|
245
|
+
);
|
|
246
|
+
} catch {
|
|
214
247
|
transaction.finalizeInput(i);
|
|
215
248
|
}
|
|
216
249
|
}
|
|
@@ -255,12 +288,12 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
255
288
|
};
|
|
256
289
|
}
|
|
257
290
|
|
|
258
|
-
protected getScriptSolution(input: PsbtInput):
|
|
291
|
+
protected getScriptSolution(input: PsbtInput): Uint8Array[] {
|
|
259
292
|
if (!input.tapScriptSig) {
|
|
260
293
|
throw new Error('Tap script signature is required');
|
|
261
294
|
}
|
|
262
295
|
|
|
263
|
-
const witnesses:
|
|
296
|
+
const witnesses: Uint8Array[] = [...this.witnesses];
|
|
264
297
|
if (input.tapScriptSig) {
|
|
265
298
|
for (const sig of input.tapScriptSig) {
|
|
266
299
|
witnesses.push(sig.signature);
|
|
@@ -274,7 +307,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
274
307
|
* Generate the contract seed for the deployment
|
|
275
308
|
* @private
|
|
276
309
|
*/
|
|
277
|
-
private getContractSeed():
|
|
310
|
+
private getContractSeed(): Uint8Array {
|
|
278
311
|
return bitCrypto.hash256(this.randomBytes);
|
|
279
312
|
}
|
|
280
313
|
|
|
@@ -294,11 +327,15 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
294
327
|
.concat(this.tapLeafScript.controlBlock);
|
|
295
328
|
|
|
296
329
|
if (this.annexData && this.annexData.length > 0) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
330
|
+
let annex: Uint8Array;
|
|
331
|
+
if (this.annexData[0] === 0x50) {
|
|
332
|
+
annex = this.annexData;
|
|
333
|
+
} else {
|
|
334
|
+
const prefixed = new Uint8Array(this.annexData.length + 1);
|
|
335
|
+
prefixed[0] = 0x50;
|
|
336
|
+
prefixed.set(this.annexData, 1);
|
|
337
|
+
annex = prefixed;
|
|
338
|
+
}
|
|
302
339
|
witness.push(annex);
|
|
303
340
|
}
|
|
304
341
|
|
|
@@ -307,20 +344,6 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
307
344
|
};
|
|
308
345
|
};
|
|
309
346
|
|
|
310
|
-
/**
|
|
311
|
-
* Get the public keys for the redeem scripts
|
|
312
|
-
* @private
|
|
313
|
-
*/
|
|
314
|
-
private getPubKeys(): Buffer[] {
|
|
315
|
-
const pubkeys = [Buffer.from(this.signer.publicKey)];
|
|
316
|
-
|
|
317
|
-
if (this.contractSigner) {
|
|
318
|
-
pubkeys.push(Buffer.from(this.contractSigner.publicKey));
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
return pubkeys;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
347
|
/**
|
|
325
348
|
* Generate the redeem scripts
|
|
326
349
|
* @private
|
|
@@ -329,7 +352,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
329
352
|
this.targetScriptRedeem = {
|
|
330
353
|
name: PaymentType.P2TR,
|
|
331
354
|
//pubkeys: this.getPubKeys(),
|
|
332
|
-
output: this.compiledTargetScript,
|
|
355
|
+
output: this.compiledTargetScript as Script,
|
|
333
356
|
redeemVersion: 192,
|
|
334
357
|
};
|
|
335
358
|
|
|
@@ -345,7 +368,7 @@ export class CustomScriptTransaction extends TransactionBuilder<TransactionType.
|
|
|
345
368
|
* Get the second leaf script
|
|
346
369
|
* @private
|
|
347
370
|
*/
|
|
348
|
-
private getLeafScript():
|
|
371
|
+
private getLeafScript(): Script {
|
|
349
372
|
return this.LOCK_LEAF_SCRIPT;
|
|
350
373
|
}
|
|
351
374
|
|