@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,44 +1,48 @@
|
|
|
1
|
+
import type { Script } from '@btc-vision/bitcoin';
|
|
1
2
|
import bitcoin, {
|
|
3
|
+
equals,
|
|
4
|
+
fromHex,
|
|
2
5
|
getFinalScripts,
|
|
3
6
|
initEccLib,
|
|
4
|
-
Network,
|
|
7
|
+
type Network,
|
|
5
8
|
opcodes,
|
|
6
9
|
Psbt,
|
|
7
|
-
PsbtInputExtended,
|
|
8
|
-
PsbtOutputExtended,
|
|
10
|
+
type PsbtInputExtended,
|
|
11
|
+
type PsbtOutputExtended,
|
|
9
12
|
script,
|
|
10
|
-
Signer,
|
|
13
|
+
type Signer,
|
|
14
|
+
toSatoshi,
|
|
11
15
|
toXOnly,
|
|
12
16
|
Transaction,
|
|
13
17
|
} from '@btc-vision/bitcoin';
|
|
14
18
|
import { witnessStackToScriptWitness } from '../utils/WitnessUtils.js';
|
|
15
|
-
import
|
|
16
|
-
import { UpdateInput } from '../interfaces/Tap.js';
|
|
19
|
+
import { eccLib } from '../../ecc/backend.js';
|
|
20
|
+
import type { UpdateInput } from '../interfaces/Tap.js';
|
|
17
21
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
18
|
-
import {
|
|
22
|
+
import type {
|
|
19
23
|
IFundingTransactionParameters,
|
|
20
24
|
ITransactionParameters,
|
|
21
25
|
} from '../interfaces/ITransactionParameters.js';
|
|
22
26
|
import { EcKeyPair } from '../../keypair/EcKeyPair.js';
|
|
23
|
-
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
24
|
-
import {
|
|
27
|
+
import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
28
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
25
29
|
import { AddressVerificator } from '../../keypair/AddressVerificator.js';
|
|
26
30
|
import { TweakedTransaction } from '../shared/TweakedTransaction.js';
|
|
27
31
|
import { UnisatSigner } from '../browser/extensions/UnisatSigner.js';
|
|
28
|
-
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
32
|
+
import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
29
33
|
import { P2WDADetector } from '../../p2wda/P2WDADetector.js';
|
|
30
|
-
import { Feature, FeaturePriority, Features, MLDSALinkRequest } from '../../generators/Features.js';
|
|
34
|
+
import { type Feature, FeaturePriority, Features, type MLDSALinkRequest } from '../../generators/Features.js';
|
|
31
35
|
import { BITCOIN_PROTOCOL_ID, getChainId } from '../../chain/ChainData.js';
|
|
32
36
|
import { BinaryWriter } from '../../buffer/BinaryWriter.js';
|
|
33
37
|
import { MLDSASecurityLevel } from '@btc-vision/bip32';
|
|
34
38
|
import { MessageSigner } from '../../keypair/MessageSigner.js';
|
|
35
39
|
import { getLevelFromPublicKeyLength } from '../../generators/MLDSAData.js';
|
|
36
40
|
|
|
37
|
-
initEccLib(
|
|
41
|
+
initEccLib(eccLib);
|
|
38
42
|
|
|
39
43
|
export const MINIMUM_AMOUNT_REWARD: bigint = 330n; //540n;
|
|
40
44
|
export const MINIMUM_AMOUNT_CA: bigint = 297n;
|
|
41
|
-
export const ANCHOR_SCRIPT =
|
|
45
|
+
export const ANCHOR_SCRIPT = fromHex('51024e73');
|
|
42
46
|
|
|
43
47
|
/**
|
|
44
48
|
* Allows to build a transaction like you would on Ethereum.
|
|
@@ -50,11 +54,11 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
50
54
|
public static readonly MINIMUM_DUST: bigint = 330n;
|
|
51
55
|
|
|
52
56
|
public abstract readonly type: T;
|
|
53
|
-
public readonly logColor: string = '#785def';
|
|
57
|
+
public override readonly logColor: string = '#785def';
|
|
54
58
|
public debugFees: boolean = false;
|
|
55
59
|
|
|
56
60
|
// Cancel script
|
|
57
|
-
public LOCK_LEAF_SCRIPT:
|
|
61
|
+
public LOCK_LEAF_SCRIPT: Script;
|
|
58
62
|
|
|
59
63
|
/**
|
|
60
64
|
* @description The overflow fees of the transaction
|
|
@@ -105,12 +109,12 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
105
109
|
/**
|
|
106
110
|
* @description The signer of the transaction
|
|
107
111
|
*/
|
|
108
|
-
protected readonly signer: Signer |
|
|
112
|
+
protected override readonly signer: Signer | UniversalSigner | UnisatSigner;
|
|
109
113
|
|
|
110
114
|
/**
|
|
111
115
|
* @description The network where the transaction will be broadcasted
|
|
112
116
|
*/
|
|
113
|
-
protected readonly network: Network;
|
|
117
|
+
protected override readonly network: Network;
|
|
114
118
|
|
|
115
119
|
/**
|
|
116
120
|
* @description The fee rate of the transaction
|
|
@@ -163,7 +167,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
163
167
|
*/
|
|
164
168
|
protected anchor: boolean;
|
|
165
169
|
|
|
166
|
-
protected note?:
|
|
170
|
+
protected note?: Uint8Array;
|
|
167
171
|
|
|
168
172
|
private optionalOutputsAdded: boolean = false;
|
|
169
173
|
|
|
@@ -188,7 +192,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
188
192
|
|
|
189
193
|
if (parameters.note) {
|
|
190
194
|
if (typeof parameters.note === 'string') {
|
|
191
|
-
this.note =
|
|
195
|
+
this.note = new TextEncoder().encode(parameters.note);
|
|
192
196
|
} else {
|
|
193
197
|
this.note = parameters.note;
|
|
194
198
|
}
|
|
@@ -217,9 +221,20 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
217
221
|
});
|
|
218
222
|
}
|
|
219
223
|
|
|
224
|
+
public override [Symbol.dispose](): void {
|
|
225
|
+
super[Symbol.dispose]();
|
|
226
|
+
|
|
227
|
+
this.updateInputs.length = 0;
|
|
228
|
+
this.outputs.length = 0;
|
|
229
|
+
this.feeOutput = null;
|
|
230
|
+
this.optionalOutputs = undefined;
|
|
231
|
+
this.utxos = [];
|
|
232
|
+
this.optionalInputs = [];
|
|
233
|
+
}
|
|
234
|
+
|
|
220
235
|
public static getFrom(
|
|
221
236
|
from: string | undefined,
|
|
222
|
-
keypair:
|
|
237
|
+
keypair: UniversalSigner | Signer,
|
|
223
238
|
network: Network,
|
|
224
239
|
): string {
|
|
225
240
|
return from || EcKeyPair.getTaprootAddress(keypair, network);
|
|
@@ -231,23 +246,23 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
231
246
|
* @protected
|
|
232
247
|
* @returns {Buffer}
|
|
233
248
|
*/
|
|
234
|
-
public static witnessStackToScriptWitness(witness:
|
|
249
|
+
public static witnessStackToScriptWitness(witness: Uint8Array[]): Uint8Array {
|
|
235
250
|
return witnessStackToScriptWitness(witness);
|
|
236
251
|
}
|
|
237
252
|
|
|
238
|
-
public addOPReturn(buffer:
|
|
253
|
+
public addOPReturn(buffer: Uint8Array): void {
|
|
239
254
|
const compileScript = script.compile([opcodes.OP_RETURN, buffer]);
|
|
240
255
|
|
|
241
256
|
this.addOutput({
|
|
242
|
-
value:
|
|
257
|
+
value: toSatoshi(0n),
|
|
243
258
|
script: compileScript,
|
|
244
259
|
});
|
|
245
260
|
}
|
|
246
261
|
|
|
247
262
|
public addAnchor(): void {
|
|
248
263
|
this.addOutput({
|
|
249
|
-
value:
|
|
250
|
-
script: ANCHOR_SCRIPT,
|
|
264
|
+
value: toSatoshi(0n),
|
|
265
|
+
script: ANCHOR_SCRIPT as Script,
|
|
251
266
|
});
|
|
252
267
|
}
|
|
253
268
|
|
|
@@ -266,10 +281,10 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
266
281
|
gasSatFee: this.gasSatFee ?? 0n,
|
|
267
282
|
from: this.from,
|
|
268
283
|
amount: this.estimatedFees,
|
|
269
|
-
optionalOutputs: this.optionalOutputs,
|
|
270
284
|
optionalInputs: this.optionalInputs,
|
|
271
285
|
mldsaSigner: null,
|
|
272
|
-
|
|
286
|
+
...(this.optionalOutputs !== undefined ? { optionalOutputs: this.optionalOutputs } : {}),
|
|
287
|
+
} satisfies IFundingTransactionParameters;
|
|
273
288
|
}
|
|
274
289
|
|
|
275
290
|
/**
|
|
@@ -354,7 +369,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
354
369
|
this.transaction.addInputs(inputs, checkPartialSigs);
|
|
355
370
|
|
|
356
371
|
for (let i = 0; i < this.updateInputs.length; i++) {
|
|
357
|
-
this.transaction.updateInput(i, this.updateInputs[i]);
|
|
372
|
+
this.transaction.updateInput(i, this.updateInputs[i] as UpdateInput);
|
|
358
373
|
}
|
|
359
374
|
|
|
360
375
|
this.transaction.addOutputs(outputs);
|
|
@@ -393,25 +408,28 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
393
408
|
* @returns {void}
|
|
394
409
|
*/
|
|
395
410
|
public addOutput(output: PsbtOutputExtended, bypassMinCheck: boolean = false): void {
|
|
396
|
-
if (output.value ===
|
|
397
|
-
const
|
|
398
|
-
script:
|
|
411
|
+
if (output.value === toSatoshi(0n)) {
|
|
412
|
+
const scriptOutput = output as {
|
|
413
|
+
script: Uint8Array;
|
|
399
414
|
};
|
|
400
415
|
|
|
401
|
-
if (!
|
|
416
|
+
if (!scriptOutput.script || scriptOutput.script.length === 0) {
|
|
402
417
|
throw new Error('Output value is 0 and no script provided');
|
|
403
418
|
}
|
|
404
419
|
|
|
405
|
-
if (
|
|
420
|
+
if (scriptOutput.script.length < 2) {
|
|
406
421
|
throw new Error('Output script is too short');
|
|
407
422
|
}
|
|
408
423
|
|
|
409
|
-
if (
|
|
424
|
+
if (
|
|
425
|
+
scriptOutput.script[0] !== opcodes.OP_RETURN &&
|
|
426
|
+
!equals(scriptOutput.script, ANCHOR_SCRIPT)
|
|
427
|
+
) {
|
|
410
428
|
throw new Error(
|
|
411
429
|
'Output script must start with OP_RETURN or be an ANCHOR when value is 0',
|
|
412
430
|
);
|
|
413
431
|
}
|
|
414
|
-
} else if (!bypassMinCheck && output.value < TransactionBuilder.MINIMUM_DUST) {
|
|
432
|
+
} else if (!bypassMinCheck && BigInt(output.value) < TransactionBuilder.MINIMUM_DUST) {
|
|
415
433
|
throw new Error(
|
|
416
434
|
`Output value is less than the minimum dust ${output.value} < ${TransactionBuilder.MINIMUM_DUST}`,
|
|
417
435
|
);
|
|
@@ -460,26 +478,26 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
460
478
|
fakeTx.addInputs(inputs);
|
|
461
479
|
fakeTx.addOutputs(outputs);
|
|
462
480
|
|
|
463
|
-
const dummySchnorrSig =
|
|
464
|
-
const dummyEcdsaSig =
|
|
465
|
-
const dummyCompressedPubkey =
|
|
481
|
+
const dummySchnorrSig = new Uint8Array(64);
|
|
482
|
+
const dummyEcdsaSig = new Uint8Array(72);
|
|
483
|
+
const dummyCompressedPubkey = new Uint8Array(33).fill(2);
|
|
466
484
|
|
|
467
485
|
const finalizer = (inputIndex: number, input: PsbtInputExtended) => {
|
|
468
486
|
if (input.isPayToAnchor || this.anchorInputIndices.has(inputIndex)) {
|
|
469
487
|
return {
|
|
470
488
|
finalScriptSig: undefined,
|
|
471
|
-
finalScriptWitness:
|
|
489
|
+
finalScriptWitness: Uint8Array.from([0]),
|
|
472
490
|
};
|
|
473
491
|
}
|
|
474
492
|
|
|
475
493
|
if (input.witnessScript && P2WDADetector.isP2WDAWitnessScript(input.witnessScript)) {
|
|
476
494
|
// Create dummy witness stack for P2WDA
|
|
477
|
-
const dummyDataSlots:
|
|
495
|
+
const dummyDataSlots: Uint8Array[] = [];
|
|
478
496
|
for (let i = 0; i < 10; i++) {
|
|
479
|
-
dummyDataSlots.push(
|
|
497
|
+
dummyDataSlots.push(new Uint8Array(0));
|
|
480
498
|
}
|
|
481
499
|
|
|
482
|
-
const dummyEcdsaSig =
|
|
500
|
+
const dummyEcdsaSig = new Uint8Array(72);
|
|
483
501
|
return {
|
|
484
502
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
485
503
|
...dummyDataSlots,
|
|
@@ -490,11 +508,11 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
490
508
|
}
|
|
491
509
|
|
|
492
510
|
if (inputIndex === 0 && this.tapLeafScript) {
|
|
493
|
-
const dummySecret =
|
|
511
|
+
const dummySecret = new Uint8Array(32);
|
|
494
512
|
const dummyScript = this.tapLeafScript.script;
|
|
495
513
|
|
|
496
514
|
// A control block for a 2-leaf tree contains one 32-byte hash.
|
|
497
|
-
const dummyControlBlock =
|
|
515
|
+
const dummyControlBlock = new Uint8Array(1 + 32 + 32);
|
|
498
516
|
|
|
499
517
|
return {
|
|
500
518
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
@@ -560,14 +578,14 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
560
578
|
lastOp === opcodes.OP_CHECKMULTISIG
|
|
561
579
|
) {
|
|
562
580
|
const m = firstOp - opcodes.OP_1 + 1;
|
|
563
|
-
const signatures:
|
|
581
|
+
const signatures: Uint8Array[] = [];
|
|
564
582
|
for (let i = 0; i < m; i++) {
|
|
565
583
|
signatures.push(dummyEcdsaSig);
|
|
566
584
|
}
|
|
567
585
|
|
|
568
586
|
return {
|
|
569
587
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
570
|
-
|
|
588
|
+
new Uint8Array(0), // OP_0 due to multisig bug
|
|
571
589
|
...signatures,
|
|
572
590
|
input.witnessScript,
|
|
573
591
|
]),
|
|
@@ -587,7 +605,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
587
605
|
decompiled &&
|
|
588
606
|
decompiled.length === 2 &&
|
|
589
607
|
decompiled[0] === opcodes.OP_0 &&
|
|
590
|
-
|
|
608
|
+
decompiled[1] instanceof Uint8Array &&
|
|
591
609
|
decompiled[1].length === 20
|
|
592
610
|
) {
|
|
593
611
|
// P2SH-P2WPKH
|
|
@@ -609,8 +627,8 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
609
627
|
};
|
|
610
628
|
}
|
|
611
629
|
|
|
612
|
-
const
|
|
613
|
-
if (!
|
|
630
|
+
const inputScript = input.witnessUtxo?.script;
|
|
631
|
+
if (!inputScript) return { finalScriptSig: undefined, finalScriptWitness: undefined };
|
|
614
632
|
|
|
615
633
|
if (input.tapInternalKey) {
|
|
616
634
|
return {
|
|
@@ -620,7 +638,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
620
638
|
};
|
|
621
639
|
}
|
|
622
640
|
|
|
623
|
-
if (
|
|
641
|
+
if (inputScript.length === 22 && inputScript[0] === opcodes.OP_0) {
|
|
624
642
|
return {
|
|
625
643
|
finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness([
|
|
626
644
|
dummyEcdsaSig,
|
|
@@ -641,7 +659,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
641
659
|
return getFinalScripts(
|
|
642
660
|
inputIndex,
|
|
643
661
|
input,
|
|
644
|
-
|
|
662
|
+
inputScript as Script,
|
|
645
663
|
true,
|
|
646
664
|
!!input.redeemScript,
|
|
647
665
|
!!input.witnessScript,
|
|
@@ -715,7 +733,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
715
733
|
|
|
716
734
|
let total = 0n;
|
|
717
735
|
for (let i = 0; i < this.optionalOutputs.length; i++) {
|
|
718
|
-
total += BigInt(this.optionalOutputs[i].value);
|
|
736
|
+
total += BigInt((this.optionalOutputs[i] as PsbtOutputExtended).value);
|
|
719
737
|
}
|
|
720
738
|
|
|
721
739
|
return total;
|
|
@@ -764,23 +782,23 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
764
782
|
// Create the appropriate change output
|
|
765
783
|
if (AddressVerificator.isValidP2TRAddress(this.from, this.network)) {
|
|
766
784
|
this.feeOutput = {
|
|
767
|
-
value:
|
|
785
|
+
value: toSatoshi(sendBackAmount),
|
|
768
786
|
address: this.from,
|
|
769
787
|
tapInternalKey: this.internalPubKeyToXOnly(),
|
|
770
788
|
};
|
|
771
789
|
} else if (AddressVerificator.isValidPublicKey(this.from, this.network)) {
|
|
772
790
|
const pubKeyScript = script.compile([
|
|
773
|
-
|
|
791
|
+
fromHex(this.from.replace('0x', '')),
|
|
774
792
|
opcodes.OP_CHECKSIG,
|
|
775
793
|
]);
|
|
776
794
|
|
|
777
795
|
this.feeOutput = {
|
|
778
|
-
value:
|
|
796
|
+
value: toSatoshi(sendBackAmount),
|
|
779
797
|
script: pubKeyScript,
|
|
780
798
|
};
|
|
781
799
|
} else {
|
|
782
800
|
this.feeOutput = {
|
|
783
|
-
value:
|
|
801
|
+
value: toSatoshi(sendBackAmount),
|
|
784
802
|
address: this.from,
|
|
785
803
|
};
|
|
786
804
|
}
|
|
@@ -828,8 +846,8 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
828
846
|
}
|
|
829
847
|
}
|
|
830
848
|
|
|
831
|
-
protected defineLockScript():
|
|
832
|
-
return script.compile([toXOnly(
|
|
849
|
+
protected defineLockScript(): Script {
|
|
850
|
+
return script.compile([toXOnly(this.signer.publicKey), opcodes.OP_CHECKSIG]);
|
|
833
851
|
}
|
|
834
852
|
|
|
835
853
|
/**
|
|
@@ -839,15 +857,19 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
839
857
|
* @returns {void}
|
|
840
858
|
*/
|
|
841
859
|
protected addValueToToOutput(value: number | bigint): void {
|
|
842
|
-
if (value < TransactionBuilder.MINIMUM_DUST) {
|
|
860
|
+
if (BigInt(value) < TransactionBuilder.MINIMUM_DUST) {
|
|
843
861
|
throw new Error(
|
|
844
862
|
`Value to send is less than the minimum dust ${value} < ${TransactionBuilder.MINIMUM_DUST}`,
|
|
845
863
|
);
|
|
846
864
|
}
|
|
847
865
|
|
|
848
|
-
for (
|
|
866
|
+
for (let i = 0; i < this.outputs.length; i++) {
|
|
867
|
+
const output = this.outputs[i] as PsbtOutputExtended;
|
|
849
868
|
if ('address' in output && output.address === this.to) {
|
|
850
|
-
|
|
869
|
+
this.outputs[i] = {
|
|
870
|
+
...output,
|
|
871
|
+
value: toSatoshi(BigInt(output.value) + BigInt(value)),
|
|
872
|
+
} as PsbtOutputExtended;
|
|
851
873
|
return;
|
|
852
874
|
}
|
|
853
875
|
}
|
|
@@ -855,7 +877,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
855
877
|
throw new Error('Output not found');
|
|
856
878
|
}
|
|
857
879
|
|
|
858
|
-
protected generateLegacySignature():
|
|
880
|
+
protected generateLegacySignature(): Uint8Array {
|
|
859
881
|
this.tweakSigner();
|
|
860
882
|
|
|
861
883
|
if (!this.tweakedSigner) {
|
|
@@ -888,10 +910,10 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
888
910
|
throw new Error('Could not verify generated legacy signature for MLDSA link request');
|
|
889
911
|
}
|
|
890
912
|
|
|
891
|
-
return
|
|
913
|
+
return new Uint8Array(signature.signature);
|
|
892
914
|
}
|
|
893
915
|
|
|
894
|
-
protected generateMLDSASignature():
|
|
916
|
+
protected generateMLDSASignature(): Uint8Array {
|
|
895
917
|
if (!this.mldsaSigner) {
|
|
896
918
|
throw new Error('MLDSA signer is not defined');
|
|
897
919
|
}
|
|
@@ -937,7 +959,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
937
959
|
throw new Error('Could not verify generated MLDSA signature for link request');
|
|
938
960
|
}
|
|
939
961
|
|
|
940
|
-
return
|
|
962
|
+
return new Uint8Array(signature.signature);
|
|
941
963
|
}
|
|
942
964
|
|
|
943
965
|
protected generateMLDSALinkRequest(
|
|
@@ -947,7 +969,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
947
969
|
const mldsaSigner = this.mldsaSigner;
|
|
948
970
|
const legacySignature = this.generateLegacySignature();
|
|
949
971
|
|
|
950
|
-
let mldsaSignature:
|
|
972
|
+
let mldsaSignature: Uint8Array | null = null;
|
|
951
973
|
if (parameters.revealMLDSAPublicKey) {
|
|
952
974
|
mldsaSignature = this.generateMLDSASignature();
|
|
953
975
|
}
|
|
@@ -1029,8 +1051,8 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1029
1051
|
let refundedFromOptionalOutputs: bigint = 0n;
|
|
1030
1052
|
|
|
1031
1053
|
for (let i = 0; i < this.optionalOutputs.length; i++) {
|
|
1032
|
-
this.addOutput(this.optionalOutputs[i]);
|
|
1033
|
-
refundedFromOptionalOutputs += BigInt(this.optionalOutputs[i].value);
|
|
1054
|
+
this.addOutput(this.optionalOutputs[i] as PsbtOutputExtended);
|
|
1055
|
+
refundedFromOptionalOutputs += BigInt((this.optionalOutputs[i] as PsbtOutputExtended).value);
|
|
1034
1056
|
}
|
|
1035
1057
|
|
|
1036
1058
|
this.optionalOutputsAdded = true;
|
|
@@ -1054,7 +1076,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1054
1076
|
}
|
|
1055
1077
|
|
|
1056
1078
|
for (let i = 0; i < this.utxos.length; i++) {
|
|
1057
|
-
const utxo = this.utxos[i];
|
|
1079
|
+
const utxo = this.utxos[i] as UTXO;
|
|
1058
1080
|
|
|
1059
1081
|
// Register signer BEFORE generating input (needed for tapInternalKey)
|
|
1060
1082
|
this.registerInputSigner(i, utxo);
|
|
@@ -1070,7 +1092,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1070
1092
|
i < this.optionalInputs.length + this.utxos.length;
|
|
1071
1093
|
i++
|
|
1072
1094
|
) {
|
|
1073
|
-
const utxo = this.optionalInputs[i - this.utxos.length];
|
|
1095
|
+
const utxo = this.optionalInputs[i - this.utxos.length] as UTXO;
|
|
1074
1096
|
|
|
1075
1097
|
// Register signer BEFORE generating input (needed for tapInternalKey)
|
|
1076
1098
|
this.registerInputSigner(i, utxo);
|
|
@@ -1133,7 +1155,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1133
1155
|
// ALWAYS THE FIRST INPUT.
|
|
1134
1156
|
this.addOutput(
|
|
1135
1157
|
{
|
|
1136
|
-
value:
|
|
1158
|
+
value: toSatoshi(amountToCA),
|
|
1137
1159
|
address: contractAddress,
|
|
1138
1160
|
},
|
|
1139
1161
|
true,
|
|
@@ -1146,7 +1168,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1146
1168
|
) {
|
|
1147
1169
|
this.addOutput(
|
|
1148
1170
|
{
|
|
1149
|
-
value:
|
|
1171
|
+
value: toSatoshi(amountSpent - amountToCA),
|
|
1150
1172
|
address: epochChallenge.address,
|
|
1151
1173
|
},
|
|
1152
1174
|
true,
|
|
@@ -1160,7 +1182,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1160
1182
|
|
|
1161
1183
|
this.addOutput(
|
|
1162
1184
|
{
|
|
1163
|
-
value:
|
|
1185
|
+
value: toSatoshi(amountToEpoch),
|
|
1164
1186
|
address: epochChallenge.address,
|
|
1165
1187
|
},
|
|
1166
1188
|
true,
|
|
@@ -1173,7 +1195,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1173
1195
|
* @protected
|
|
1174
1196
|
* @returns {Buffer}
|
|
1175
1197
|
*/
|
|
1176
|
-
protected getWitness():
|
|
1198
|
+
protected getWitness(): Uint8Array {
|
|
1177
1199
|
if (!this.tapData || !this.tapData.witness) {
|
|
1178
1200
|
throw new Error('Witness is required');
|
|
1179
1201
|
}
|
|
@@ -1182,7 +1204,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1182
1204
|
throw new Error('Witness is empty');
|
|
1183
1205
|
}
|
|
1184
1206
|
|
|
1185
|
-
return this.tapData.witness[this.tapData.witness.length - 1];
|
|
1207
|
+
return this.tapData.witness[this.tapData.witness.length - 1] as Uint8Array;
|
|
1186
1208
|
}
|
|
1187
1209
|
|
|
1188
1210
|
/**
|
|
@@ -1190,7 +1212,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1190
1212
|
* @protected
|
|
1191
1213
|
* @returns {Buffer}
|
|
1192
1214
|
*/
|
|
1193
|
-
protected getTapOutput():
|
|
1215
|
+
protected getTapOutput(): Uint8Array {
|
|
1194
1216
|
if (!this.tapData || !this.tapData.output) {
|
|
1195
1217
|
throw new Error('Tap data is required');
|
|
1196
1218
|
}
|
|
@@ -1245,7 +1267,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1245
1267
|
}
|
|
1246
1268
|
|
|
1247
1269
|
if (valueLeft >= TransactionBuilder.MINIMUM_DUST) {
|
|
1248
|
-
this.feeOutput = { ...output, value:
|
|
1270
|
+
this.feeOutput = { ...output, value: toSatoshi(valueLeft) };
|
|
1249
1271
|
this.overflowFees = valueLeft;
|
|
1250
1272
|
} else {
|
|
1251
1273
|
this.feeOutput = null;
|
|
@@ -1270,7 +1292,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1270
1292
|
}
|
|
1271
1293
|
|
|
1272
1294
|
if (finalValueLeft >= TransactionBuilder.MINIMUM_DUST) {
|
|
1273
|
-
this.feeOutput = { ...output, value:
|
|
1295
|
+
this.feeOutput = { ...output, value: toSatoshi(finalValueLeft) };
|
|
1274
1296
|
this.overflowFees = finalValueLeft;
|
|
1275
1297
|
if (this.debugFees) {
|
|
1276
1298
|
this.log(
|
|
@@ -1340,7 +1362,7 @@ export abstract class TransactionBuilder<T extends TransactionType> extends Twea
|
|
|
1340
1362
|
transaction.addInputs(inputs, checkPartialSigs);
|
|
1341
1363
|
|
|
1342
1364
|
for (let i = 0; i < this.updateInputs.length; i++) {
|
|
1343
|
-
transaction.updateInput(i, this.updateInputs[i]);
|
|
1365
|
+
transaction.updateInput(i, this.updateInputs[i] as UpdateInput);
|
|
1344
1366
|
}
|
|
1345
1367
|
|
|
1346
1368
|
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
|
}
|