@btc-vision/transaction 1.8.0-beta.3 → 1.8.0-beta.5
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 +3558 -3167
- 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 +17 -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 +274 -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 +9 -4
- 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 +4 -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 +218 -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 +46 -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 +35 -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 +23 -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 +375 -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 +43 -5
- 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 +4 -7
- 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 +14 -148
- package/src/keypair/EcKeyPair.ts +104 -116
- package/src/keypair/MessageSigner.ts +70 -150
- package/src/keypair/Wallet.ts +56 -241
- package/src/metadata/ContractBaseMetadata.ts +2 -2
- package/src/mnemonic/Mnemonic.ts +31 -222
- 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 +26 -14
- 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 +99 -81
- 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 +9 -9
- 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,44 +1,44 @@
|
|
|
1
|
+
import type { Script } from '@btc-vision/bitcoin';
|
|
1
2
|
import bitcoin, {
|
|
3
|
+
equals,
|
|
4
|
+
fromHex,
|
|
2
5
|
getFinalScripts,
|
|
3
|
-
|
|
4
|
-
Network,
|
|
6
|
+
type Network,
|
|
5
7
|
opcodes,
|
|
6
8
|
Psbt,
|
|
7
|
-
PsbtInputExtended,
|
|
8
|
-
PsbtOutputExtended,
|
|
9
|
+
type PsbtInputExtended,
|
|
10
|
+
type PsbtOutputExtended,
|
|
9
11
|
script,
|
|
10
|
-
Signer,
|
|
12
|
+
type Signer,
|
|
13
|
+
toSatoshi,
|
|
11
14
|
toXOnly,
|
|
12
15
|
Transaction,
|
|
13
16
|
} from '@btc-vision/bitcoin';
|
|
14
17
|
import { witnessStackToScriptWitness } from '../utils/WitnessUtils.js';
|
|
15
|
-
import
|
|
16
|
-
import { UpdateInput } from '../interfaces/Tap.js';
|
|
18
|
+
import type { UpdateInput } from '../interfaces/Tap.js';
|
|
17
19
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
18
|
-
import {
|
|
20
|
+
import type {
|
|
19
21
|
IFundingTransactionParameters,
|
|
20
22
|
ITransactionParameters,
|
|
21
23
|
} from '../interfaces/ITransactionParameters.js';
|
|
22
24
|
import { EcKeyPair } from '../../keypair/EcKeyPair.js';
|
|
23
|
-
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
24
|
-
import {
|
|
25
|
+
import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
26
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
25
27
|
import { AddressVerificator } from '../../keypair/AddressVerificator.js';
|
|
26
28
|
import { TweakedTransaction } from '../shared/TweakedTransaction.js';
|
|
27
29
|
import { UnisatSigner } from '../browser/extensions/UnisatSigner.js';
|
|
28
|
-
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
30
|
+
import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
29
31
|
import { P2WDADetector } from '../../p2wda/P2WDADetector.js';
|
|
30
|
-
import { Feature, FeaturePriority, Features, MLDSALinkRequest } from '../../generators/Features.js';
|
|
32
|
+
import { type Feature, FeaturePriority, Features, type MLDSALinkRequest } from '../../generators/Features.js';
|
|
31
33
|
import { BITCOIN_PROTOCOL_ID, getChainId } from '../../chain/ChainData.js';
|
|
32
34
|
import { BinaryWriter } from '../../buffer/BinaryWriter.js';
|
|
33
35
|
import { MLDSASecurityLevel } from '@btc-vision/bip32';
|
|
34
36
|
import { MessageSigner } from '../../keypair/MessageSigner.js';
|
|
35
37
|
import { getLevelFromPublicKeyLength } from '../../generators/MLDSAData.js';
|
|
36
38
|
|
|
37
|
-
initEccLib(ecc);
|
|
38
|
-
|
|
39
39
|
export const MINIMUM_AMOUNT_REWARD: bigint = 330n; //540n;
|
|
40
40
|
export const MINIMUM_AMOUNT_CA: bigint = 297n;
|
|
41
|
-
export const ANCHOR_SCRIPT =
|
|
41
|
+
export const ANCHOR_SCRIPT = fromHex('51024e73');
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* Allows to build a transaction like you would on Ethereum.
|
|
@@ -50,11 +50,11 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
50
50
|
public static readonly MINIMUM_DUST: bigint = 330n;
|
|
51
51
|
|
|
52
52
|
public abstract readonly type: T;
|
|
53
|
-
public readonly logColor: string = '#785def';
|
|
53
|
+
public override readonly logColor: string = '#785def';
|
|
54
54
|
public debugFees: boolean = false;
|
|
55
55
|
|
|
56
56
|
// Cancel script
|
|
57
|
-
public LOCK_LEAF_SCRIPT:
|
|
57
|
+
public LOCK_LEAF_SCRIPT: Script;
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* @description The overflow fees of the transaction
|
|
@@ -105,12 +105,12 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
105
105
|
/**
|
|
106
106
|
* @description The signer of the transaction
|
|
107
107
|
*/
|
|
108
|
-
protected readonly signer: Signer |
|
|
108
|
+
protected override readonly signer: Signer | UniversalSigner | UnisatSigner;
|
|
109
109
|
|
|
110
110
|
/**
|
|
111
111
|
* @description The network where the transaction will be broadcasted
|
|
112
112
|
*/
|
|
113
|
-
protected readonly network: Network;
|
|
113
|
+
protected override readonly network: Network;
|
|
114
114
|
|
|
115
115
|
/**
|
|
116
116
|
* @description The fee rate of the transaction
|
|
@@ -163,7 +163,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
163
163
|
*/
|
|
164
164
|
protected anchor: boolean;
|
|
165
165
|
|
|
166
|
-
protected note?:
|
|
166
|
+
protected note?: Uint8Array;
|
|
167
167
|
|
|
168
168
|
private optionalOutputsAdded: boolean = false;
|
|
169
169
|
|
|
@@ -188,7 +188,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
188
188
|
|
|
189
189
|
if (parameters.note) {
|
|
190
190
|
if (typeof parameters.note === 'string') {
|
|
191
|
-
this.note =
|
|
191
|
+
this.note = new TextEncoder().encode(parameters.note);
|
|
192
192
|
} else {
|
|
193
193
|
this.note = parameters.note;
|
|
194
194
|
}
|
|
@@ -217,9 +217,20 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
+
public override [Symbol.dispose](): void {
|
|
221
|
+
super[Symbol.dispose]();
|
|
222
|
+
|
|
223
|
+
this.updateInputs.length = 0;
|
|
224
|
+
this.outputs.length = 0;
|
|
225
|
+
this.feeOutput = null;
|
|
226
|
+
this.optionalOutputs = undefined;
|
|
227
|
+
this.utxos = [];
|
|
228
|
+
this.optionalInputs = [];
|
|
229
|
+
}
|
|
230
|
+
|
|
220
231
|
public static getFrom(
|
|
221
232
|
from: string | undefined,
|
|
222
|
-
keypair:
|
|
233
|
+
keypair: UniversalSigner | Signer,
|
|
223
234
|
network: Network,
|
|
224
235
|
): string {
|
|
225
236
|
return from || EcKeyPair.getTaprootAddress(keypair, network);
|
|
@@ -231,23 +242,23 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
231
242
|
* @protected
|
|
232
243
|
* @returns {Buffer}
|
|
233
244
|
*/
|
|
234
|
-
public static witnessStackToScriptWitness(witness:
|
|
245
|
+
public static witnessStackToScriptWitness(witness: Uint8Array[]): Uint8Array {
|
|
235
246
|
return witnessStackToScriptWitness(witness);
|
|
236
247
|
}
|
|
237
248
|
|
|
238
|
-
public addOPReturn(buffer:
|
|
249
|
+
public addOPReturn(buffer: Uint8Array): void {
|
|
239
250
|
const compileScript = script.compile([opcodes.OP_RETURN, buffer]);
|
|
240
251
|
|
|
241
252
|
this.addOutput({
|
|
242
|
-
value:
|
|
253
|
+
value: toSatoshi(0n),
|
|
243
254
|
script: compileScript,
|
|
244
255
|
});
|
|
245
256
|
}
|
|
246
257
|
|
|
247
258
|
public addAnchor(): void {
|
|
248
259
|
this.addOutput({
|
|
249
|
-
value:
|
|
250
|
-
script: ANCHOR_SCRIPT,
|
|
260
|
+
value: toSatoshi(0n),
|
|
261
|
+
script: ANCHOR_SCRIPT as Script,
|
|
251
262
|
});
|
|
252
263
|
}
|
|
253
264
|
|
|
@@ -266,10 +277,10 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
266
277
|
gasSatFee: this.gasSatFee ?? 0n,
|
|
267
278
|
from: this.from,
|
|
268
279
|
amount: this.estimatedFees,
|
|
269
|
-
optionalOutputs: this.optionalOutputs,
|
|
270
280
|
optionalInputs: this.optionalInputs,
|
|
271
281
|
mldsaSigner: null,
|
|
272
|
-
|
|
282
|
+
...(this.optionalOutputs !== undefined ? { optionalOutputs: this.optionalOutputs } : {}),
|
|
283
|
+
} satisfies IFundingTransactionParameters;
|
|
273
284
|
}
|
|
274
285
|
|
|
275
286
|
/**
|
|
@@ -354,7 +365,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
354
365
|
this.transaction.addInputs(inputs, checkPartialSigs);
|
|
355
366
|
|
|
356
367
|
for (let i = 0; i < this.updateInputs.length; i++) {
|
|
357
|
-
this.transaction.updateInput(i, this.updateInputs[i]);
|
|
368
|
+
this.transaction.updateInput(i, this.updateInputs[i] as UpdateInput);
|
|
358
369
|
}
|
|
359
370
|
|
|
360
371
|
this.transaction.addOutputs(outputs);
|
|
@@ -393,25 +404,28 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
393
404
|
* @returns {void}
|
|
394
405
|
*/
|
|
395
406
|
public addOutput(output: PsbtOutputExtended, bypassMinCheck: boolean = false): void {
|
|
396
|
-
if (output.value ===
|
|
397
|
-
const
|
|
398
|
-
script:
|
|
407
|
+
if (output.value === toSatoshi(0n)) {
|
|
408
|
+
const scriptOutput = output as {
|
|
409
|
+
script: Uint8Array;
|
|
399
410
|
};
|
|
400
411
|
|
|
401
|
-
if (!
|
|
412
|
+
if (!scriptOutput.script || scriptOutput.script.length === 0) {
|
|
402
413
|
throw new Error('Output value is 0 and no script provided');
|
|
403
414
|
}
|
|
404
415
|
|
|
405
|
-
if (
|
|
416
|
+
if (scriptOutput.script.length < 2) {
|
|
406
417
|
throw new Error('Output script is too short');
|
|
407
418
|
}
|
|
408
419
|
|
|
409
|
-
if (
|
|
420
|
+
if (
|
|
421
|
+
scriptOutput.script[0] !== opcodes.OP_RETURN &&
|
|
422
|
+
!equals(scriptOutput.script, ANCHOR_SCRIPT)
|
|
423
|
+
) {
|
|
410
424
|
throw new Error(
|
|
411
425
|
'Output script must start with OP_RETURN or be an ANCHOR when value is 0',
|
|
412
426
|
);
|
|
413
427
|
}
|
|
414
|
-
} else if (!bypassMinCheck && output.value < TransactionBuilder.MINIMUM_DUST) {
|
|
428
|
+
} else if (!bypassMinCheck && BigInt(output.value) < TransactionBuilder.MINIMUM_DUST) {
|
|
415
429
|
throw new Error(
|
|
416
430
|
`Output value is less than the minimum dust ${output.value} < ${TransactionBuilder.MINIMUM_DUST}`,
|
|
417
431
|
);
|
|
@@ -460,26 +474,26 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
460
474
|
fakeTx.addInputs(inputs);
|
|
461
475
|
fakeTx.addOutputs(outputs);
|
|
462
476
|
|
|
463
|
-
const dummySchnorrSig =
|
|
464
|
-
const dummyEcdsaSig =
|
|
465
|
-
const dummyCompressedPubkey =
|
|
477
|
+
const dummySchnorrSig = new Uint8Array(64);
|
|
478
|
+
const dummyEcdsaSig = new Uint8Array(72);
|
|
479
|
+
const dummyCompressedPubkey = new Uint8Array(33).fill(2);
|
|
466
480
|
|
|
467
481
|
const finalizer = (inputIndex: number, input: PsbtInputExtended) => {
|
|
468
482
|
if (input.isPayToAnchor || this.anchorInputIndices.has(inputIndex)) {
|
|
469
483
|
return {
|
|
470
484
|
finalScriptSig: undefined,
|
|
471
|
-
finalScriptWitness:
|
|
485
|
+
finalScriptWitness: Uint8Array.from([0]),
|
|
472
486
|
};
|
|
473
487
|
}
|
|
474
488
|
|
|
475
489
|
if (input.witnessScript && P2WDADetector.isP2WDAWitnessScript(input.witnessScript)) {
|
|
476
490
|
// Create dummy witness stack for P2WDA
|
|
477
|
-
const dummyDataSlots:
|
|
491
|
+
const dummyDataSlots: Uint8Array[] = [];
|
|
478
492
|
for (let i = 0; i < 10; i++) {
|
|
479
|
-
dummyDataSlots.push(
|
|
493
|
+
dummyDataSlots.push(new Uint8Array(0));
|
|
480
494
|
}
|
|
481
495
|
|
|
482
|
-
const dummyEcdsaSig =
|
|
496
|
+
const dummyEcdsaSig = new Uint8Array(72);
|
|
483
497
|
return {
|
|
484
498
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
485
499
|
...dummyDataSlots,
|
|
@@ -490,11 +504,11 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
490
504
|
}
|
|
491
505
|
|
|
492
506
|
if (inputIndex === 0 && this.tapLeafScript) {
|
|
493
|
-
const dummySecret =
|
|
507
|
+
const dummySecret = new Uint8Array(32);
|
|
494
508
|
const dummyScript = this.tapLeafScript.script;
|
|
495
509
|
|
|
496
510
|
// A control block for a 2-leaf tree contains one 32-byte hash.
|
|
497
|
-
const dummyControlBlock =
|
|
511
|
+
const dummyControlBlock = new Uint8Array(1 + 32 + 32);
|
|
498
512
|
|
|
499
513
|
return {
|
|
500
514
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
@@ -560,14 +574,14 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
560
574
|
lastOp === opcodes.OP_CHECKMULTISIG
|
|
561
575
|
) {
|
|
562
576
|
const m = firstOp - opcodes.OP_1 + 1;
|
|
563
|
-
const signatures:
|
|
577
|
+
const signatures: Uint8Array[] = [];
|
|
564
578
|
for (let i = 0; i < m; i++) {
|
|
565
579
|
signatures.push(dummyEcdsaSig);
|
|
566
580
|
}
|
|
567
581
|
|
|
568
582
|
return {
|
|
569
583
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
570
|
-
|
|
584
|
+
new Uint8Array(0), // OP_0 due to multisig bug
|
|
571
585
|
...signatures,
|
|
572
586
|
input.witnessScript,
|
|
573
587
|
]),
|
|
@@ -587,7 +601,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
587
601
|
decompiled &&
|
|
588
602
|
decompiled.length === 2 &&
|
|
589
603
|
decompiled[0] === opcodes.OP_0 &&
|
|
590
|
-
|
|
604
|
+
decompiled[1] instanceof Uint8Array &&
|
|
591
605
|
decompiled[1].length === 20
|
|
592
606
|
) {
|
|
593
607
|
// P2SH-P2WPKH
|
|
@@ -609,8 +623,8 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
609
623
|
};
|
|
610
624
|
}
|
|
611
625
|
|
|
612
|
-
const
|
|
613
|
-
if (!
|
|
626
|
+
const inputScript = input.witnessUtxo?.script;
|
|
627
|
+
if (!inputScript) return { finalScriptSig: undefined, finalScriptWitness: undefined };
|
|
614
628
|
|
|
615
629
|
if (input.tapInternalKey) {
|
|
616
630
|
return {
|
|
@@ -620,7 +634,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
620
634
|
};
|
|
621
635
|
}
|
|
622
636
|
|
|
623
|
-
if (
|
|
637
|
+
if (inputScript.length === 22 && inputScript[0] === opcodes.OP_0) {
|
|
624
638
|
return {
|
|
625
639
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
626
640
|
dummyEcdsaSig,
|
|
@@ -641,7 +655,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
641
655
|
return getFinalScripts(
|
|
642
656
|
inputIndex,
|
|
643
657
|
input,
|
|
644
|
-
|
|
658
|
+
inputScript as Script,
|
|
645
659
|
true,
|
|
646
660
|
!!input.redeemScript,
|
|
647
661
|
!!input.witnessScript,
|
|
@@ -715,7 +729,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
715
729
|
|
|
716
730
|
let total = 0n;
|
|
717
731
|
for (let i = 0; i < this.optionalOutputs.length; i++) {
|
|
718
|
-
total += BigInt(this.optionalOutputs[i].value);
|
|
732
|
+
total += BigInt((this.optionalOutputs[i] as PsbtOutputExtended).value);
|
|
719
733
|
}
|
|
720
734
|
|
|
721
735
|
return total;
|
|
@@ -764,23 +778,23 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
764
778
|
// Create the appropriate change output
|
|
765
779
|
if (AddressVerificator.isValidP2TRAddress(this.from, this.network)) {
|
|
766
780
|
this.feeOutput = {
|
|
767
|
-
value:
|
|
781
|
+
value: toSatoshi(sendBackAmount),
|
|
768
782
|
address: this.from,
|
|
769
783
|
tapInternalKey: this.internalPubKeyToXOnly(),
|
|
770
784
|
};
|
|
771
785
|
} else if (AddressVerificator.isValidPublicKey(this.from, this.network)) {
|
|
772
786
|
const pubKeyScript = script.compile([
|
|
773
|
-
|
|
787
|
+
fromHex(this.from.replace('0x', '')),
|
|
774
788
|
opcodes.OP_CHECKSIG,
|
|
775
789
|
]);
|
|
776
790
|
|
|
777
791
|
this.feeOutput = {
|
|
778
|
-
value:
|
|
792
|
+
value: toSatoshi(sendBackAmount),
|
|
779
793
|
script: pubKeyScript,
|
|
780
794
|
};
|
|
781
795
|
} else {
|
|
782
796
|
this.feeOutput = {
|
|
783
|
-
value:
|
|
797
|
+
value: toSatoshi(sendBackAmount),
|
|
784
798
|
address: this.from,
|
|
785
799
|
};
|
|
786
800
|
}
|
|
@@ -828,8 +842,8 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
828
842
|
}
|
|
829
843
|
}
|
|
830
844
|
|
|
831
|
-
protected defineLockScript():
|
|
832
|
-
return script.compile([toXOnly(
|
|
845
|
+
protected defineLockScript(): Script {
|
|
846
|
+
return script.compile([toXOnly(this.signer.publicKey), opcodes.OP_CHECKSIG]);
|
|
833
847
|
}
|
|
834
848
|
|
|
835
849
|
/**
|
|
@@ -839,15 +853,19 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
839
853
|
* @returns {void}
|
|
840
854
|
*/
|
|
841
855
|
protected addValueToToOutput(value: number | bigint): void {
|
|
842
|
-
if (value < TransactionBuilder.MINIMUM_DUST) {
|
|
856
|
+
if (BigInt(value) < TransactionBuilder.MINIMUM_DUST) {
|
|
843
857
|
throw new Error(
|
|
844
858
|
`Value to send is less than the minimum dust ${value} < ${TransactionBuilder.MINIMUM_DUST}`,
|
|
845
859
|
);
|
|
846
860
|
}
|
|
847
861
|
|
|
848
|
-
for (
|
|
862
|
+
for (let i = 0; i < this.outputs.length; i++) {
|
|
863
|
+
const output = this.outputs[i] as PsbtOutputExtended;
|
|
849
864
|
if ('address' in output && output.address === this.to) {
|
|
850
|
-
|
|
865
|
+
this.outputs[i] = {
|
|
866
|
+
...output,
|
|
867
|
+
value: toSatoshi(BigInt(output.value) + BigInt(value)),
|
|
868
|
+
} as PsbtOutputExtended;
|
|
851
869
|
return;
|
|
852
870
|
}
|
|
853
871
|
}
|
|
@@ -855,7 +873,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
855
873
|
throw new Error('Output not found');
|
|
856
874
|
}
|
|
857
875
|
|
|
858
|
-
protected generateLegacySignature():
|
|
876
|
+
protected generateLegacySignature(): Uint8Array {
|
|
859
877
|
this.tweakSigner();
|
|
860
878
|
|
|
861
879
|
if (!this.tweakedSigner) {
|
|
@@ -888,10 +906,10 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
888
906
|
throw new Error('Could not verify generated legacy signature for MLDSA link request');
|
|
889
907
|
}
|
|
890
908
|
|
|
891
|
-
return
|
|
909
|
+
return new Uint8Array(signature.signature);
|
|
892
910
|
}
|
|
893
911
|
|
|
894
|
-
protected generateMLDSASignature():
|
|
912
|
+
protected generateMLDSASignature(): Uint8Array {
|
|
895
913
|
if (!this.mldsaSigner) {
|
|
896
914
|
throw new Error('MLDSA signer is not defined');
|
|
897
915
|
}
|
|
@@ -937,7 +955,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
937
955
|
throw new Error('Could not verify generated MLDSA signature for link request');
|
|
938
956
|
}
|
|
939
957
|
|
|
940
|
-
return
|
|
958
|
+
return new Uint8Array(signature.signature);
|
|
941
959
|
}
|
|
942
960
|
|
|
943
961
|
protected generateMLDSALinkRequest(
|
|
@@ -947,7 +965,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
947
965
|
const mldsaSigner = this.mldsaSigner;
|
|
948
966
|
const legacySignature = this.generateLegacySignature();
|
|
949
967
|
|
|
950
|
-
let mldsaSignature:
|
|
968
|
+
let mldsaSignature: Uint8Array | null = null;
|
|
951
969
|
if (parameters.revealMLDSAPublicKey) {
|
|
952
970
|
mldsaSignature = this.generateMLDSASignature();
|
|
953
971
|
}
|
|
@@ -1029,8 +1047,8 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1029
1047
|
let refundedFromOptionalOutputs: bigint = 0n;
|
|
1030
1048
|
|
|
1031
1049
|
for (let i = 0; i < this.optionalOutputs.length; i++) {
|
|
1032
|
-
this.addOutput(this.optionalOutputs[i]);
|
|
1033
|
-
refundedFromOptionalOutputs += BigInt(this.optionalOutputs[i].value);
|
|
1050
|
+
this.addOutput(this.optionalOutputs[i] as PsbtOutputExtended);
|
|
1051
|
+
refundedFromOptionalOutputs += BigInt((this.optionalOutputs[i] as PsbtOutputExtended).value);
|
|
1034
1052
|
}
|
|
1035
1053
|
|
|
1036
1054
|
this.optionalOutputsAdded = true;
|
|
@@ -1054,7 +1072,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1054
1072
|
}
|
|
1055
1073
|
|
|
1056
1074
|
for (let i = 0; i < this.utxos.length; i++) {
|
|
1057
|
-
const utxo = this.utxos[i];
|
|
1075
|
+
const utxo = this.utxos[i] as UTXO;
|
|
1058
1076
|
|
|
1059
1077
|
// Register signer BEFORE generating input (needed for tapInternalKey)
|
|
1060
1078
|
this.registerInputSigner(i, utxo);
|
|
@@ -1070,7 +1088,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1070
1088
|
i < this.optionalInputs.length + this.utxos.length;
|
|
1071
1089
|
i++
|
|
1072
1090
|
) {
|
|
1073
|
-
const utxo = this.optionalInputs[i - this.utxos.length];
|
|
1091
|
+
const utxo = this.optionalInputs[i - this.utxos.length] as UTXO;
|
|
1074
1092
|
|
|
1075
1093
|
// Register signer BEFORE generating input (needed for tapInternalKey)
|
|
1076
1094
|
this.registerInputSigner(i, utxo);
|
|
@@ -1133,7 +1151,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1133
1151
|
// ALWAYS THE FIRST INPUT.
|
|
1134
1152
|
this.addOutput(
|
|
1135
1153
|
{
|
|
1136
|
-
value:
|
|
1154
|
+
value: toSatoshi(amountToCA),
|
|
1137
1155
|
address: contractAddress,
|
|
1138
1156
|
},
|
|
1139
1157
|
true,
|
|
@@ -1146,7 +1164,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1146
1164
|
) {
|
|
1147
1165
|
this.addOutput(
|
|
1148
1166
|
{
|
|
1149
|
-
value:
|
|
1167
|
+
value: toSatoshi(amountSpent - amountToCA),
|
|
1150
1168
|
address: epochChallenge.address,
|
|
1151
1169
|
},
|
|
1152
1170
|
true,
|
|
@@ -1160,7 +1178,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1160
1178
|
|
|
1161
1179
|
this.addOutput(
|
|
1162
1180
|
{
|
|
1163
|
-
value:
|
|
1181
|
+
value: toSatoshi(amountToEpoch),
|
|
1164
1182
|
address: epochChallenge.address,
|
|
1165
1183
|
},
|
|
1166
1184
|
true,
|
|
@@ -1173,7 +1191,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1173
1191
|
* @protected
|
|
1174
1192
|
* @returns {Buffer}
|
|
1175
1193
|
*/
|
|
1176
|
-
protected getWitness():
|
|
1194
|
+
protected getWitness(): Uint8Array {
|
|
1177
1195
|
if (!this.tapData || !this.tapData.witness) {
|
|
1178
1196
|
throw new Error('Witness is required');
|
|
1179
1197
|
}
|
|
@@ -1182,7 +1200,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1182
1200
|
throw new Error('Witness is empty');
|
|
1183
1201
|
}
|
|
1184
1202
|
|
|
1185
|
-
return this.tapData.witness[this.tapData.witness.length - 1];
|
|
1203
|
+
return this.tapData.witness[this.tapData.witness.length - 1] as Uint8Array;
|
|
1186
1204
|
}
|
|
1187
1205
|
|
|
1188
1206
|
/**
|
|
@@ -1190,7 +1208,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1190
1208
|
* @protected
|
|
1191
1209
|
* @returns {Buffer}
|
|
1192
1210
|
*/
|
|
1193
|
-
protected getTapOutput():
|
|
1211
|
+
protected getTapOutput(): Uint8Array {
|
|
1194
1212
|
if (!this.tapData || !this.tapData.output) {
|
|
1195
1213
|
throw new Error('Tap data is required');
|
|
1196
1214
|
}
|
|
@@ -1245,7 +1263,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1245
1263
|
}
|
|
1246
1264
|
|
|
1247
1265
|
if (valueLeft >= TransactionBuilder.MINIMUM_DUST) {
|
|
1248
|
-
this.feeOutput = { ...output, value:
|
|
1266
|
+
this.feeOutput = { ...output, value: toSatoshi(valueLeft) };
|
|
1249
1267
|
this.overflowFees = valueLeft;
|
|
1250
1268
|
} else {
|
|
1251
1269
|
this.feeOutput = null;
|
|
@@ -1270,7 +1288,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1270
1288
|
}
|
|
1271
1289
|
|
|
1272
1290
|
if (finalValueLeft >= TransactionBuilder.MINIMUM_DUST) {
|
|
1273
|
-
this.feeOutput = { ...output, value:
|
|
1291
|
+
this.feeOutput = { ...output, value: toSatoshi(finalValueLeft) };
|
|
1274
1292
|
this.overflowFees = finalValueLeft;
|
|
1275
1293
|
if (this.debugFees) {
|
|
1276
1294
|
this.log(
|
|
@@ -1340,7 +1358,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1340
1358
|
transaction.addInputs(inputs, checkPartialSigs);
|
|
1341
1359
|
|
|
1342
1360
|
for (let i = 0; i < this.updateInputs.length; i++) {
|
|
1343
|
-
transaction.updateInput(i, this.updateInputs[i]);
|
|
1361
|
+
transaction.updateInput(i, this.updateInputs[i] as UpdateInput);
|
|
1344
1362
|
}
|
|
1345
1363
|
|
|
1346
1364
|
transaction.addOutputs(outputs);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ITransactionParameters } from './ITransactionParameters.js';
|
|
1
|
+
import type { ITransactionParameters } from './ITransactionParameters.js';
|
|
2
2
|
|
|
3
3
|
export interface ICancelTransactionParameters extends Omit<
|
|
4
4
|
ITransactionParameters,
|
|
5
5
|
'priorityFee' | 'gasSatFee'
|
|
6
6
|
> {
|
|
7
|
-
readonly compiledTargetScript: string |
|
|
7
|
+
readonly compiledTargetScript: string | Uint8Array;
|
|
8
8
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IInteractionParameters } from './ITransactionParameters.js';
|
|
2
|
-
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
1
|
+
import type { IInteractionParameters } from './ITransactionParameters.js';
|
|
2
|
+
import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Extended P2WSH address with hash commitments for CHCT system.
|
|
@@ -13,13 +13,13 @@ import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export interface IHashCommittedP2WSH extends IP2WSHAddress {
|
|
15
15
|
/** The HASH160 values of all data chunks this output commits to (in order) */
|
|
16
|
-
readonly dataHashes:
|
|
16
|
+
readonly dataHashes: Uint8Array[];
|
|
17
17
|
/** The actual data chunks (stored for later reveal, in order) */
|
|
18
|
-
readonly dataChunks:
|
|
18
|
+
readonly dataChunks: Uint8Array[];
|
|
19
19
|
/** The starting index of this output's chunks in the overall data sequence */
|
|
20
20
|
readonly chunkStartIndex: number;
|
|
21
21
|
/** The P2WSH scriptPubKey (OP_0 <32-byte-hash>) */
|
|
22
|
-
readonly scriptPubKey:
|
|
22
|
+
readonly scriptPubKey: Uint8Array;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Stack } from '@btc-vision/bitcoin';
|
|
2
|
-
import { SharedInteractionParameters } from './ITransactionParameters.js';
|
|
1
|
+
import type { Stack } from '@btc-vision/bitcoin';
|
|
2
|
+
import type { SharedInteractionParameters } from './ITransactionParameters.js';
|
|
3
3
|
|
|
4
4
|
export interface ICustomTransactionParameters extends Omit<
|
|
5
5
|
SharedInteractionParameters,
|
|
6
6
|
'challenge'
|
|
7
7
|
> {
|
|
8
|
-
script: (
|
|
9
|
-
witnesses:
|
|
8
|
+
script: (Uint8Array | Stack)[];
|
|
9
|
+
witnesses: Uint8Array[];
|
|
10
10
|
|
|
11
11
|
/** optional Taproot annex payload (without the 0x50 prefix) */
|
|
12
|
-
annex?:
|
|
12
|
+
annex?: Uint8Array;
|
|
13
13
|
|
|
14
14
|
to: string;
|
|
15
15
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
2
|
-
import { ITweakedTransactionData } from './ITweakedTransactionData.js';
|
|
3
|
-
import { ChainId } from '../../network/ChainId.js';
|
|
4
|
-
import { PsbtOutputExtended } from '@btc-vision/bitcoin';
|
|
5
|
-
import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
6
|
-
import { AddressRotationConfigBase } from '../../signer/IRotationSigner.js';
|
|
1
|
+
import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
2
|
+
import type { ITweakedTransactionData } from './ITweakedTransactionData.js';
|
|
3
|
+
import type { ChainId } from '../../network/ChainId.js';
|
|
4
|
+
import type { PsbtOutputExtended } from '@btc-vision/bitcoin';
|
|
5
|
+
import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
6
|
+
import type { AddressRotationConfigBase } from '../../signer/IRotationSigner.js';
|
|
7
7
|
|
|
8
8
|
export interface LoadedStorage {
|
|
9
9
|
[key: string]: string[];
|
|
@@ -26,7 +26,7 @@ export interface ITransactionParameters extends ITweakedTransactionData {
|
|
|
26
26
|
|
|
27
27
|
utxos: UTXO[];
|
|
28
28
|
|
|
29
|
-
nonWitnessUtxo?:
|
|
29
|
+
nonWitnessUtxo?: Uint8Array;
|
|
30
30
|
estimatedFees?: bigint;
|
|
31
31
|
|
|
32
32
|
optionalInputs?: UTXO[];
|
|
@@ -35,14 +35,14 @@ export interface ITransactionParameters extends ITweakedTransactionData {
|
|
|
35
35
|
chainId?: ChainId;
|
|
36
36
|
noSignatures?: boolean;
|
|
37
37
|
|
|
38
|
-
readonly note?: string |
|
|
38
|
+
readonly note?: string | Uint8Array;
|
|
39
39
|
readonly anchor?: boolean;
|
|
40
40
|
|
|
41
41
|
readonly feeRate: number;
|
|
42
42
|
readonly priorityFee: bigint;
|
|
43
43
|
readonly gasSatFee: bigint;
|
|
44
44
|
|
|
45
|
-
readonly compiledTargetScript?:
|
|
45
|
+
readonly compiledTargetScript?: Uint8Array | string;
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Address rotation configuration.
|
|
@@ -59,27 +59,27 @@ export interface IFundingTransactionParameters extends ITransactionParameters {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
export interface SharedInteractionParameters extends ITransactionParameters {
|
|
62
|
-
calldata?:
|
|
62
|
+
calldata?: Uint8Array;
|
|
63
63
|
disableAutoRefund?: boolean;
|
|
64
64
|
|
|
65
65
|
readonly challenge: IChallengeSolution;
|
|
66
|
-
readonly randomBytes?:
|
|
66
|
+
readonly randomBytes?: Uint8Array;
|
|
67
67
|
|
|
68
68
|
readonly loadedStorage?: LoadedStorage;
|
|
69
69
|
readonly isCancellation?: boolean;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
export interface IInteractionParameters extends SharedInteractionParameters {
|
|
73
|
-
readonly calldata:
|
|
73
|
+
readonly calldata: Uint8Array;
|
|
74
74
|
|
|
75
75
|
readonly to: string;
|
|
76
76
|
readonly contract?: string;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export interface IDeploymentParameters extends Omit<ITransactionParameters, 'to'> {
|
|
80
|
-
readonly bytecode:
|
|
81
|
-
readonly calldata?:
|
|
80
|
+
readonly bytecode: Uint8Array;
|
|
81
|
+
readonly calldata?: Uint8Array;
|
|
82
82
|
|
|
83
|
-
readonly randomBytes?:
|
|
83
|
+
readonly randomBytes?: Uint8Array;
|
|
84
84
|
readonly challenge: IChallengeSolution;
|
|
85
85
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RawChallenge } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
2
|
-
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
1
|
+
import type { RawChallenge } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
2
|
+
import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
3
3
|
|
|
4
4
|
export interface DeploymentResult {
|
|
5
5
|
readonly transaction: [string, string];
|