@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,9 +1,40 @@
|
|
|
1
|
-
import { crypto as bitcoinCrypto, opcodes, PaymentType, Psbt, script, toXOnly, } from '@btc-vision/bitcoin';
|
|
1
|
+
import { crypto as bitcoinCrypto, equals, fromHex, opcodes, PaymentType, Psbt, script, toHex, toSatoshi, toXOnly, } from '@btc-vision/bitcoin';
|
|
2
2
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
3
3
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
4
4
|
import { MultiSignGenerator } from '../../generators/builders/MultiSignGenerator.js';
|
|
5
5
|
import { EcKeyPair } from '../../keypair/EcKeyPair.js';
|
|
6
|
+
import {} from '@btc-vision/ecpair';
|
|
7
|
+
/**
|
|
8
|
+
* Create a multi sign p2tr transaction
|
|
9
|
+
* @class MultiSignTransaction
|
|
10
|
+
*/
|
|
6
11
|
export class MultiSignTransaction extends TransactionBuilder {
|
|
12
|
+
static LOCK_LEAF_SCRIPT = script.compile([
|
|
13
|
+
opcodes.OP_XOR,
|
|
14
|
+
opcodes.OP_NOP,
|
|
15
|
+
opcodes.OP_CODESEPARATOR,
|
|
16
|
+
]);
|
|
17
|
+
static signHashTypesArray = [
|
|
18
|
+
//Transaction.SIGHASH_ALL,
|
|
19
|
+
//Transaction.SIGHASH_ANYONECANPAY,
|
|
20
|
+
];
|
|
21
|
+
static numsPoint = fromHex('50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0');
|
|
22
|
+
type = TransactionType.MULTI_SIG;
|
|
23
|
+
targetScriptRedeem = null;
|
|
24
|
+
leftOverFundsScriptRedeem = null;
|
|
25
|
+
compiledTargetScript;
|
|
26
|
+
scriptTree;
|
|
27
|
+
publicKeys;
|
|
28
|
+
minimumSignatures;
|
|
29
|
+
originalInputCount = 0;
|
|
30
|
+
requestedAmount;
|
|
31
|
+
receiver;
|
|
32
|
+
refundVault;
|
|
33
|
+
/**
|
|
34
|
+
* @description Sign hash types
|
|
35
|
+
* @protected
|
|
36
|
+
*/
|
|
37
|
+
sighashTypes = MultiSignTransaction.signHashTypesArray;
|
|
7
38
|
constructor(parameters) {
|
|
8
39
|
if (!parameters.refundVault) {
|
|
9
40
|
throw new Error('Refund vault is required');
|
|
@@ -16,27 +47,10 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
16
47
|
}
|
|
17
48
|
super({
|
|
18
49
|
...parameters,
|
|
19
|
-
signer: EcKeyPair.fromPrivateKey(bitcoinCrypto.sha256(
|
|
50
|
+
signer: EcKeyPair.fromPrivateKey(bitcoinCrypto.sha256(new TextEncoder().encode('aaaaaaaa'))),
|
|
20
51
|
priorityFee: 0n,
|
|
21
52
|
gasSatFee: 0n,
|
|
22
53
|
});
|
|
23
|
-
this.type = TransactionType.MULTI_SIG;
|
|
24
|
-
this.targetScriptRedeem = null;
|
|
25
|
-
this.leftOverFundsScriptRedeem = null;
|
|
26
|
-
this.originalInputCount = 0;
|
|
27
|
-
this.sighashTypes = MultiSignTransaction.signHashTypesArray;
|
|
28
|
-
this.customFinalizer = (_inputIndex, input) => {
|
|
29
|
-
if (!this.tapLeafScript) {
|
|
30
|
-
throw new Error('Tap leaf script is required');
|
|
31
|
-
}
|
|
32
|
-
const scriptSolution = this.getScriptSolution(input);
|
|
33
|
-
const witness = scriptSolution
|
|
34
|
-
.concat(this.tapLeafScript.script)
|
|
35
|
-
.concat(this.tapLeafScript.controlBlock);
|
|
36
|
-
return {
|
|
37
|
-
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
54
|
if (!parameters.pubkeys) {
|
|
41
55
|
throw new Error('Pubkeys are required');
|
|
42
56
|
}
|
|
@@ -54,6 +68,11 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
54
68
|
this.scriptTree = this.getScriptTree();
|
|
55
69
|
this.internalInit();
|
|
56
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate a multisig transaction from a base64 psbt.
|
|
73
|
+
* @param {MultiSignFromBase64Params} params The parameters
|
|
74
|
+
* @returns {MultiSignTransaction} The multisig transaction
|
|
75
|
+
*/
|
|
57
76
|
static fromBase64(params) {
|
|
58
77
|
const psbt = Psbt.fromBase64(params.psbt, { network: params.network });
|
|
59
78
|
return new MultiSignTransaction({
|
|
@@ -61,6 +80,12 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
61
80
|
psbt,
|
|
62
81
|
});
|
|
63
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Verify if that public key already signed the transaction
|
|
85
|
+
* @param {Psbt} psbt The psbt
|
|
86
|
+
* @param {Buffer} signerPubKey The signer public key
|
|
87
|
+
* @returns {boolean} True if the public key signed the transaction
|
|
88
|
+
*/
|
|
64
89
|
static verifyIfSigned(psbt, signerPubKey) {
|
|
65
90
|
let alreadySigned = false;
|
|
66
91
|
for (let i = 1; i < psbt.data.inputs.length; i++) {
|
|
@@ -74,7 +99,7 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
74
99
|
}
|
|
75
100
|
for (let j = 0; j < decoded.length - 2; j += 3) {
|
|
76
101
|
const pubKey = decoded[j + 2];
|
|
77
|
-
if (
|
|
102
|
+
if (equals(pubKey, signerPubKey)) {
|
|
78
103
|
alreadySigned = true;
|
|
79
104
|
break;
|
|
80
105
|
}
|
|
@@ -82,6 +107,11 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
82
107
|
}
|
|
83
108
|
return alreadySigned;
|
|
84
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Partially sign the transaction
|
|
112
|
+
* @returns {boolean} True if the transaction was signed
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
85
115
|
static signPartial(psbt, signer, originalInputCount, minimums) {
|
|
86
116
|
let signed = false;
|
|
87
117
|
let final = true;
|
|
@@ -100,6 +130,7 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
100
130
|
controlBlock: decoded[decoded.length - 1],
|
|
101
131
|
},
|
|
102
132
|
];
|
|
133
|
+
// we must insert all the partial signatures, decoded.length - 2
|
|
103
134
|
for (let j = 0; j < decoded.length - 2; j += 3) {
|
|
104
135
|
partialSignatures.push({
|
|
105
136
|
signature: decoded[j],
|
|
@@ -133,18 +164,84 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
133
164
|
final: !signed ? false : final,
|
|
134
165
|
};
|
|
135
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Partially finalize a P2TR MS transaction
|
|
169
|
+
* @param {number} inputIndex The input index
|
|
170
|
+
* @param {PsbtInput} input The input
|
|
171
|
+
* @param {Buffer[]} partialSignatures The partial signatures
|
|
172
|
+
* @param {Buffer[]} orderedPubKeys The ordered public keys
|
|
173
|
+
* @param {boolean} isFinal If the transaction is final
|
|
174
|
+
*/
|
|
175
|
+
static partialFinalizer = (inputIndex, input, partialSignatures, orderedPubKeys, isFinal) => {
|
|
176
|
+
if (!input.tapLeafScript ||
|
|
177
|
+
!input.tapLeafScript[0]?.script ||
|
|
178
|
+
!input.tapLeafScript[0]?.controlBlock) {
|
|
179
|
+
throw new Error('Tap leaf script is required');
|
|
180
|
+
}
|
|
181
|
+
if (!input.tapScriptSig) {
|
|
182
|
+
throw new Error(`No new signatures for input ${inputIndex}.`);
|
|
183
|
+
}
|
|
184
|
+
let scriptSolution = [];
|
|
185
|
+
if (!isFinal) {
|
|
186
|
+
scriptSolution = input.tapScriptSig
|
|
187
|
+
.map((sig) => {
|
|
188
|
+
return [sig.signature, sig.leafHash, sig.pubkey];
|
|
189
|
+
})
|
|
190
|
+
.flat();
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
/** We must order the signatures and the pub keys. */
|
|
194
|
+
for (const pubKey of orderedPubKeys) {
|
|
195
|
+
let found = false;
|
|
196
|
+
for (const sig of input.tapScriptSig) {
|
|
197
|
+
if (equals(sig.pubkey, toXOnly(pubKey))) {
|
|
198
|
+
scriptSolution.push(sig.signature);
|
|
199
|
+
found = true;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (!found) {
|
|
203
|
+
scriptSolution.push(new Uint8Array(0));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
scriptSolution = scriptSolution.reverse();
|
|
207
|
+
}
|
|
208
|
+
if (partialSignatures.length > 0) {
|
|
209
|
+
scriptSolution = scriptSolution.concat(partialSignatures);
|
|
210
|
+
}
|
|
211
|
+
const tapLeaf = input.tapLeafScript[0];
|
|
212
|
+
const witness = scriptSolution
|
|
213
|
+
.concat(tapLeaf.script)
|
|
214
|
+
.concat(tapLeaf.controlBlock);
|
|
215
|
+
return {
|
|
216
|
+
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Dedupe signatures
|
|
221
|
+
* @param {TapScriptSig[]} original The original signatures
|
|
222
|
+
* @param {TapScriptSig[]} partial The partial signatures
|
|
223
|
+
* @returns {TapScriptSig[]} The deduped signatures
|
|
224
|
+
*/
|
|
136
225
|
static dedupeSignatures(original, partial) {
|
|
137
226
|
const signatures = new Map();
|
|
138
227
|
for (const sig of original) {
|
|
139
|
-
signatures.set(sig.pubkey
|
|
228
|
+
signatures.set(toHex(sig.pubkey), sig);
|
|
140
229
|
}
|
|
141
230
|
for (const sig of partial) {
|
|
142
|
-
if (!signatures.has(sig.pubkey
|
|
143
|
-
signatures.set(sig.pubkey
|
|
231
|
+
if (!signatures.has(toHex(sig.pubkey))) {
|
|
232
|
+
signatures.set(toHex(sig.pubkey), sig);
|
|
144
233
|
}
|
|
145
234
|
}
|
|
146
235
|
return Array.from(signatures.values());
|
|
147
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Attempt to finalize the inputs
|
|
239
|
+
* @param {Psbt} psbt The psbt
|
|
240
|
+
* @param {number} startIndex The start index
|
|
241
|
+
* @param {Buffer[]} orderedPubKeys The ordered public keys
|
|
242
|
+
* @param {boolean} isFinal If the transaction is final
|
|
243
|
+
* @returns {boolean} True if the inputs were finalized
|
|
244
|
+
*/
|
|
148
245
|
static attemptFinalizeInputs(psbt, startIndex, orderedPubKeys, isFinal) {
|
|
149
246
|
let finalizedInputs = 0;
|
|
150
247
|
for (let i = startIndex; i < psbt.data.inputs.length; i++) {
|
|
@@ -156,6 +253,7 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
156
253
|
const partialSignatures = [];
|
|
157
254
|
if (input.finalScriptWitness) {
|
|
158
255
|
const decoded = TransactionBuilder.readScriptWitnessToWitnessStack(input.finalScriptWitness);
|
|
256
|
+
// we must insert all the partial signatures, decoded.length - 2
|
|
159
257
|
for (let j = 0; j < decoded.length - 2; j += 3) {
|
|
160
258
|
partialSignatures.push({
|
|
161
259
|
signature: decoded[j],
|
|
@@ -182,6 +280,9 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
182
280
|
}
|
|
183
281
|
return finalizedInputs === psbt.data.inputs.length - startIndex;
|
|
184
282
|
}
|
|
283
|
+
/**
|
|
284
|
+
* Finalize the psbt multisig transaction
|
|
285
|
+
*/
|
|
185
286
|
finalizeTransactionInputs() {
|
|
186
287
|
let finalized = false;
|
|
187
288
|
try {
|
|
@@ -195,12 +296,27 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
195
296
|
}
|
|
196
297
|
return finalized;
|
|
197
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* @description Signs the transaction
|
|
301
|
+
* @public
|
|
302
|
+
* @returns {Promise<Psbt>} - The signed transaction in hex format
|
|
303
|
+
* @throws {Error} - If something went wrong
|
|
304
|
+
*/
|
|
198
305
|
async signPSBT() {
|
|
199
306
|
if (await this.signTransaction()) {
|
|
200
307
|
return this.transaction;
|
|
201
308
|
}
|
|
202
309
|
throw new Error('Could not sign transaction');
|
|
203
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Build the transaction
|
|
313
|
+
* @protected
|
|
314
|
+
*
|
|
315
|
+
* @throws {Error} If the left over funds script redeem is required
|
|
316
|
+
* @throws {Error} If the left over funds script redeem version is required
|
|
317
|
+
* @throws {Error} If the left over funds script redeem output is required
|
|
318
|
+
*/
|
|
319
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
204
320
|
async buildTransaction() {
|
|
205
321
|
const selectedRedeem = this.targetScriptRedeem;
|
|
206
322
|
if (!selectedRedeem) {
|
|
@@ -224,13 +340,21 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
224
340
|
}
|
|
225
341
|
this.addOutput({
|
|
226
342
|
address: this.refundVault,
|
|
227
|
-
value:
|
|
343
|
+
value: toSatoshi(outputLeftAmount),
|
|
228
344
|
});
|
|
229
345
|
this.addOutput({
|
|
230
346
|
address: this.receiver,
|
|
231
|
-
value:
|
|
347
|
+
value: toSatoshi(this.requestedAmount),
|
|
232
348
|
});
|
|
233
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Builds the transaction.
|
|
352
|
+
* @param {Psbt} transaction - The transaction to build
|
|
353
|
+
* @param checkPartialSigs
|
|
354
|
+
* @protected
|
|
355
|
+
* @returns {Promise<boolean>}
|
|
356
|
+
* @throws {Error} - If something went wrong while building the transaction
|
|
357
|
+
*/
|
|
234
358
|
async internalBuildTransaction(transaction, checkPartialSigs = false) {
|
|
235
359
|
const inputs = this.getInputs();
|
|
236
360
|
const outputs = this.getOutputs();
|
|
@@ -250,10 +374,14 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
250
374
|
}
|
|
251
375
|
return false;
|
|
252
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Sign the inputs
|
|
379
|
+
* @protected
|
|
380
|
+
*/
|
|
253
381
|
async signInputs(_transaction) { }
|
|
254
382
|
generateScriptAddress() {
|
|
255
383
|
return {
|
|
256
|
-
internalPubkey: toXOnly(MultiSignTransaction.numsPoint),
|
|
384
|
+
internalPubkey: toXOnly(MultiSignTransaction.numsPoint), //this.internalPubKeyToXOnly(),
|
|
257
385
|
network: this.network,
|
|
258
386
|
scriptTree: this.scriptTree,
|
|
259
387
|
name: PaymentType.P2TR,
|
|
@@ -268,13 +396,20 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
268
396
|
throw new Error('Script tree is required');
|
|
269
397
|
}
|
|
270
398
|
return {
|
|
271
|
-
internalPubkey: toXOnly(MultiSignTransaction.numsPoint),
|
|
399
|
+
internalPubkey: toXOnly(MultiSignTransaction.numsPoint), //this.internalPubKeyToXOnly(),
|
|
272
400
|
network: this.network,
|
|
273
401
|
scriptTree: this.scriptTree,
|
|
274
402
|
redeem: selectedRedeem,
|
|
275
403
|
name: PaymentType.P2TR,
|
|
276
404
|
};
|
|
277
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Generate the script solution
|
|
408
|
+
* @param {PsbtInput} input The input
|
|
409
|
+
* @protected
|
|
410
|
+
*
|
|
411
|
+
* @returns {Buffer[]} The script solution
|
|
412
|
+
*/
|
|
278
413
|
getScriptSolution(input) {
|
|
279
414
|
if (!input.tapScriptSig) {
|
|
280
415
|
return [];
|
|
@@ -283,6 +418,12 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
283
418
|
return sig.signature;
|
|
284
419
|
});
|
|
285
420
|
}
|
|
421
|
+
/**
|
|
422
|
+
* Get the script tree
|
|
423
|
+
* @private
|
|
424
|
+
*
|
|
425
|
+
* @returns {Taptree} The script tree
|
|
426
|
+
*/
|
|
286
427
|
getScriptTree() {
|
|
287
428
|
this.generateRedeemScripts();
|
|
288
429
|
return [
|
|
@@ -303,10 +444,42 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
303
444
|
}
|
|
304
445
|
return total;
|
|
305
446
|
}
|
|
447
|
+
/**
|
|
448
|
+
* @description Calculate the amount left to refund to the first vault.
|
|
449
|
+
* @private
|
|
450
|
+
* @returns {bigint} The amount left
|
|
451
|
+
*/
|
|
306
452
|
calculateOutputLeftAmountFromVaults(utxos) {
|
|
307
453
|
const total = this.getTotalOutputAmount(utxos);
|
|
308
454
|
return total - this.requestedAmount;
|
|
309
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Transaction finalizer
|
|
458
|
+
* @param {number} _inputIndex The input index
|
|
459
|
+
* @param {PsbtInput} input The input
|
|
460
|
+
*/
|
|
461
|
+
customFinalizer = (_inputIndex, input) => {
|
|
462
|
+
if (!this.tapLeafScript) {
|
|
463
|
+
throw new Error('Tap leaf script is required');
|
|
464
|
+
}
|
|
465
|
+
const scriptSolution = this.getScriptSolution(input);
|
|
466
|
+
const witness = scriptSolution
|
|
467
|
+
.concat(this.tapLeafScript.script)
|
|
468
|
+
.concat(this.tapLeafScript.controlBlock);
|
|
469
|
+
return {
|
|
470
|
+
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
|
|
471
|
+
};
|
|
472
|
+
};
|
|
473
|
+
/**
|
|
474
|
+
* Generate the redeem scripts
|
|
475
|
+
* @private
|
|
476
|
+
*
|
|
477
|
+
* @throws {Error} If the public keys are required
|
|
478
|
+
* @throws {Error} If the leaf script is required
|
|
479
|
+
* @throws {Error} If the leaf script version is required
|
|
480
|
+
* @throws {Error} If the leaf script output is required
|
|
481
|
+
* @throws {Error} If the target script redeem is required
|
|
482
|
+
*/
|
|
310
483
|
generateRedeemScripts() {
|
|
311
484
|
this.targetScriptRedeem = {
|
|
312
485
|
name: PaymentType.P2TR,
|
|
@@ -320,52 +493,4 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
320
493
|
};
|
|
321
494
|
}
|
|
322
495
|
}
|
|
323
|
-
|
|
324
|
-
opcodes.OP_XOR,
|
|
325
|
-
opcodes.OP_NOP,
|
|
326
|
-
opcodes.OP_CODESEPARATOR,
|
|
327
|
-
]);
|
|
328
|
-
MultiSignTransaction.signHashTypesArray = [];
|
|
329
|
-
MultiSignTransaction.numsPoint = Buffer.from('50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0', 'hex');
|
|
330
|
-
MultiSignTransaction.partialFinalizer = (inputIndex, input, partialSignatures, orderedPubKeys, isFinal) => {
|
|
331
|
-
if (!input.tapLeafScript ||
|
|
332
|
-
!input.tapLeafScript[0].script ||
|
|
333
|
-
!input.tapLeafScript[0].controlBlock) {
|
|
334
|
-
throw new Error('Tap leaf script is required');
|
|
335
|
-
}
|
|
336
|
-
if (!input.tapScriptSig) {
|
|
337
|
-
throw new Error(`No new signatures for input ${inputIndex}.`);
|
|
338
|
-
}
|
|
339
|
-
let scriptSolution = [];
|
|
340
|
-
if (!isFinal) {
|
|
341
|
-
scriptSolution = input.tapScriptSig
|
|
342
|
-
.map((sig) => {
|
|
343
|
-
return [sig.signature, sig.leafHash, sig.pubkey];
|
|
344
|
-
})
|
|
345
|
-
.flat();
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
348
|
-
for (const pubKey of orderedPubKeys) {
|
|
349
|
-
let found = false;
|
|
350
|
-
for (const sig of input.tapScriptSig) {
|
|
351
|
-
if (sig.pubkey.equals(toXOnly(pubKey))) {
|
|
352
|
-
scriptSolution.push(sig.signature);
|
|
353
|
-
found = true;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
if (!found) {
|
|
357
|
-
scriptSolution.push(Buffer.alloc(0));
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
scriptSolution = scriptSolution.reverse();
|
|
361
|
-
}
|
|
362
|
-
if (partialSignatures.length > 0) {
|
|
363
|
-
scriptSolution = scriptSolution.concat(partialSignatures);
|
|
364
|
-
}
|
|
365
|
-
const witness = scriptSolution
|
|
366
|
-
.concat(input.tapLeafScript[0].script)
|
|
367
|
-
.concat(input.tapLeafScript[0].controlBlock);
|
|
368
|
-
return {
|
|
369
|
-
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
|
|
370
|
-
};
|
|
371
|
-
};
|
|
496
|
+
//# sourceMappingURL=MultiSignTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSignTransaction.js","sourceRoot":"","sources":["../../../src/transaction/builders/MultiSignTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,132 @@
|
|
|
1
|
-
import { P2TRPayment, Psbt, PsbtInput, Signer, Taptree } from '@btc-vision/bitcoin';
|
|
2
|
-
import {
|
|
1
|
+
import { type P2TRPayment, Psbt, type PsbtInput, type Signer, type Taptree } from '@btc-vision/bitcoin';
|
|
2
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
3
3
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
4
4
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
5
5
|
import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
|
|
6
|
-
import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
|
|
7
|
-
import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
8
|
-
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
6
|
+
import type { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
|
|
7
|
+
import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
8
|
+
import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
9
|
+
/**
|
|
10
|
+
* Shared interaction transaction
|
|
11
|
+
* @class SharedInteractionTransaction
|
|
12
|
+
*/
|
|
9
13
|
export declare abstract class SharedInteractionTransaction<T extends TransactionType> extends TransactionBuilder<T> {
|
|
10
14
|
static readonly MAXIMUM_CALLDATA_SIZE: number;
|
|
11
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Random salt for the interaction
|
|
17
|
+
* @type {Buffer}
|
|
18
|
+
*/
|
|
19
|
+
readonly randomBytes: Uint8Array;
|
|
12
20
|
protected targetScriptRedeem: P2TRPayment | null;
|
|
13
21
|
protected leftOverFundsScriptRedeem: P2TRPayment | null;
|
|
14
|
-
protected abstract readonly compiledTargetScript:
|
|
22
|
+
protected abstract readonly compiledTargetScript: Uint8Array;
|
|
15
23
|
protected abstract readonly scriptTree: Taptree;
|
|
16
24
|
protected readonly challenge: IChallengeSolution;
|
|
17
25
|
protected readonly epochChallenge: IP2WSHAddress;
|
|
18
26
|
protected calldataGenerator: CalldataGenerator;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Calldata for the interaction
|
|
29
|
+
* @protected
|
|
30
|
+
*/
|
|
31
|
+
protected readonly calldata: Uint8Array;
|
|
32
|
+
/**
|
|
33
|
+
* Contract secret for the interaction
|
|
34
|
+
* @protected
|
|
35
|
+
*/
|
|
36
|
+
protected abstract readonly contractSecret: Uint8Array;
|
|
37
|
+
/**
|
|
38
|
+
* Script signer for the interaction
|
|
39
|
+
* @protected
|
|
40
|
+
*/
|
|
41
|
+
protected readonly scriptSigner: Signer | UniversalSigner;
|
|
42
|
+
/**
|
|
43
|
+
* Disable auto refund
|
|
44
|
+
* @protected
|
|
45
|
+
*/
|
|
22
46
|
protected readonly disableAutoRefund: boolean;
|
|
23
47
|
protected constructor(parameters: SharedInteractionParameters);
|
|
24
|
-
exportCompiledTargetScript():
|
|
25
|
-
|
|
26
|
-
|
|
48
|
+
exportCompiledTargetScript(): Uint8Array;
|
|
49
|
+
/**
|
|
50
|
+
* Get the contract secret
|
|
51
|
+
* @returns {Buffer} The contract secret
|
|
52
|
+
*/
|
|
53
|
+
getContractSecret(): Uint8Array;
|
|
54
|
+
/**
|
|
55
|
+
* Get the random bytes used for the interaction
|
|
56
|
+
* @returns {Buffer} The random bytes
|
|
57
|
+
*/
|
|
58
|
+
getRndBytes(): Uint8Array;
|
|
59
|
+
/**
|
|
60
|
+
* Get the preimage
|
|
61
|
+
*/
|
|
27
62
|
getChallenge(): IChallengeSolution;
|
|
28
|
-
|
|
29
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Get the internal pubkey as an x-only key
|
|
65
|
+
* @protected
|
|
66
|
+
* @returns {Buffer} The internal pubkey as an x-only key
|
|
67
|
+
*/
|
|
68
|
+
protected scriptSignerXOnlyPubKey(): Uint8Array;
|
|
69
|
+
/**
|
|
70
|
+
* Generate a key pair from the seed
|
|
71
|
+
* @protected
|
|
72
|
+
*
|
|
73
|
+
* @returns {UniversalSigner} The key pair
|
|
74
|
+
*/
|
|
75
|
+
protected generateKeyPairFromSeed(): UniversalSigner;
|
|
76
|
+
/**
|
|
77
|
+
* Build the transaction
|
|
78
|
+
* @protected
|
|
79
|
+
*
|
|
80
|
+
* @throws {Error} If the left over funds script redeem is required
|
|
81
|
+
* @throws {Error} If the left over funds script redeem version is required
|
|
82
|
+
* @throws {Error} If the left over funds script redeem output is required
|
|
83
|
+
* @throws {Error} If the to address is required
|
|
84
|
+
*/
|
|
30
85
|
protected buildTransaction(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Sign the inputs
|
|
88
|
+
* @param {Psbt} transaction The transaction to sign
|
|
89
|
+
* @protected
|
|
90
|
+
*/
|
|
31
91
|
protected signInputs(transaction: Psbt): Promise<void>;
|
|
32
92
|
protected generateScriptAddress(): P2TRPayment;
|
|
33
93
|
protected generateTapData(): P2TRPayment;
|
|
34
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Generate the script solution
|
|
96
|
+
* @param {PsbtInput} input The input
|
|
97
|
+
* @protected
|
|
98
|
+
*
|
|
99
|
+
* @returns {Buffer[]} The script solution
|
|
100
|
+
*/
|
|
101
|
+
protected getScriptSolution(input: PsbtInput): Uint8Array[];
|
|
102
|
+
/**
|
|
103
|
+
* Get the script tree
|
|
104
|
+
* @private
|
|
105
|
+
*
|
|
106
|
+
* @returns {Taptree} The script tree
|
|
107
|
+
*/
|
|
35
108
|
protected getScriptTree(): Taptree;
|
|
109
|
+
/**
|
|
110
|
+
* Transaction finalizer
|
|
111
|
+
* @param {number} _inputIndex The input index
|
|
112
|
+
* @param {PsbtInput} input The input
|
|
113
|
+
*/
|
|
36
114
|
protected customFinalizer: (_inputIndex: number, input: PsbtInput) => {
|
|
37
|
-
finalScriptWitness:
|
|
115
|
+
finalScriptWitness: Uint8Array<ArrayBufferLike>;
|
|
38
116
|
};
|
|
39
117
|
protected signInputsWalletBased(transaction: Psbt): Promise<void>;
|
|
40
118
|
protected signInputsNonWalletBased(transaction: Psbt): Promise<void>;
|
|
41
119
|
protected createMineableRewardOutputs(): Promise<void>;
|
|
42
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Generate the redeem scripts
|
|
122
|
+
* @private
|
|
123
|
+
*
|
|
124
|
+
* @throws {Error} If the public keys are required
|
|
125
|
+
* @throws {Error} If the leaf script is required
|
|
126
|
+
* @throws {Error} If the leaf script version is required
|
|
127
|
+
* @throws {Error} If the leaf script output is required
|
|
128
|
+
* @throws {Error} If the target script redeem is required
|
|
129
|
+
*/
|
|
43
130
|
private generateRedeemScripts;
|
|
44
131
|
}
|
|
132
|
+
//# sourceMappingURL=SharedInteractionTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedInteractionTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/SharedInteractionTransaction.ts"],"names":[],"mappings":"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"}
|