@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,16 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { type Network } from '@btc-vision/bitcoin';
|
|
2
|
+
import type { UTXO } from '../utxo/interfaces/IUTXO.js';
|
|
3
|
+
import type { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
|
|
4
|
+
/**
|
|
5
|
+
* P2WDA Detection and Validation Utilities
|
|
6
|
+
*/
|
|
5
7
|
export declare class P2WDADetector {
|
|
8
|
+
/**
|
|
9
|
+
* Check if a UTXO is a P2WDA output by examining its script structure
|
|
10
|
+
*/
|
|
6
11
|
static isP2WDAUTXO(utxo: UTXO): boolean;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Check if a witness script follows the P2WDA pattern
|
|
14
|
+
*/
|
|
15
|
+
static isP2WDAWitnessScript(witnessScript: Uint8Array): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Generate a P2WDA address from a public key
|
|
18
|
+
*/
|
|
19
|
+
static generateP2WDAAddress(publicKey: Uint8Array, network: Network): IP2WSHAddress & {
|
|
20
|
+
scriptPubKey: Uint8Array;
|
|
10
21
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Extract the public key from a P2WDA witness script
|
|
24
|
+
*/
|
|
25
|
+
static extractPublicKeyFromP2WDA(witnessScript: Uint8Array): Uint8Array | null;
|
|
26
|
+
/**
|
|
27
|
+
* Create witness data for a simple P2WDA spend (no operation data)
|
|
28
|
+
*/
|
|
29
|
+
static createSimpleP2WDAWitness(transactionSignature: Uint8Array, witnessScript: Uint8Array): Uint8Array[];
|
|
30
|
+
/**
|
|
31
|
+
* Validate P2WDA operation data signature
|
|
32
|
+
*/
|
|
33
|
+
static validateP2WDASignature(_publicKey: Uint8Array, dataSignature: Uint8Array, _operationData: Uint8Array): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Calculate the witness size for P2WDA transaction estimation
|
|
36
|
+
*/
|
|
14
37
|
static estimateP2WDAWitnessSize(dataSize?: number): number;
|
|
15
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Check if a scriptPubKey is a P2WSH that could be P2WDA
|
|
40
|
+
*/
|
|
41
|
+
static couldBeP2WDA(scriptPubKey: Uint8Array): boolean;
|
|
16
42
|
}
|
|
43
|
+
//# sourceMappingURL=P2WDADetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"P2WDADetector.d.ts","sourceRoot":"","sources":["../../src/p2wda/P2WDADetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAA6B,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;WACW,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAa9C;;OAEG;WACW,oBAAoB,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO;IA0BtE;;OAEG;WACW,oBAAoB,CAC9B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,OAAO,GACjB,aAAa,GAAG;QACf,YAAY,EAAE,UAAU,CAAC;KAC5B;IAiCD;;OAEG;WACW,yBAAyB,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IA6BrF;;OAEG;WACW,wBAAwB,CAClC,oBAAoB,EAAE,UAAU,EAChC,aAAa,EAAE,UAAU,GAC1B,UAAU,EAAE;IAYf;;OAEG;WACW,sBAAsB,CAChC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,UAAU,GAC3B,OAAO;IAIV;;OAEG;WACW,wBAAwB,CAAC,QAAQ,GAAE,MAAU,GAAG,MAAM;IAIpE;;OAEG;WACW,YAAY,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO;CAGhE"}
|
|
@@ -1,38 +1,52 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { fromHex, opcodes, payments, script } from '@btc-vision/bitcoin';
|
|
2
|
+
/**
|
|
3
|
+
* P2WDA Detection and Validation Utilities
|
|
4
|
+
*/
|
|
3
5
|
export class P2WDADetector {
|
|
6
|
+
/**
|
|
7
|
+
* Check if a UTXO is a P2WDA output by examining its script structure
|
|
8
|
+
*/
|
|
4
9
|
static isP2WDAUTXO(utxo) {
|
|
5
10
|
if (!utxo.witnessScript) {
|
|
6
11
|
return false;
|
|
7
12
|
}
|
|
8
|
-
const witnessScript =
|
|
13
|
+
const witnessScript = utxo.witnessScript instanceof Uint8Array
|
|
9
14
|
? utxo.witnessScript
|
|
10
|
-
:
|
|
15
|
+
: fromHex(utxo.witnessScript);
|
|
11
16
|
return this.isP2WDAWitnessScript(witnessScript);
|
|
12
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if a witness script follows the P2WDA pattern
|
|
20
|
+
*/
|
|
13
21
|
static isP2WDAWitnessScript(witnessScript) {
|
|
14
22
|
try {
|
|
15
23
|
const decompiled = script.decompile(witnessScript);
|
|
16
24
|
if (!decompiled || decompiled.length !== 7) {
|
|
17
25
|
return false;
|
|
18
26
|
}
|
|
27
|
+
// Check for 5 OP_2DROP operations
|
|
19
28
|
for (let i = 0; i < 5; i++) {
|
|
20
29
|
if (decompiled[i] !== opcodes.OP_2DROP) {
|
|
21
30
|
return false;
|
|
22
31
|
}
|
|
23
32
|
}
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
// Check for pubkey and OP_CHECKSIG
|
|
34
|
+
return (decompiled[5] instanceof Uint8Array &&
|
|
35
|
+
decompiled[5].length === 33 && // Compressed public key
|
|
26
36
|
decompiled[6] === opcodes.OP_CHECKSIG);
|
|
27
37
|
}
|
|
28
38
|
catch {
|
|
29
39
|
return false;
|
|
30
40
|
}
|
|
31
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Generate a P2WDA address from a public key
|
|
44
|
+
*/
|
|
32
45
|
static generateP2WDAAddress(publicKey, network) {
|
|
33
46
|
if (publicKey.length !== 33) {
|
|
34
47
|
throw new Error('Public key must be 33 bytes (compressed)');
|
|
35
48
|
}
|
|
49
|
+
// Create the P2WDA witness script with 5x OP_2DROP
|
|
36
50
|
const witnessScript = script.compile([
|
|
37
51
|
opcodes.OP_2DROP,
|
|
38
52
|
opcodes.OP_2DROP,
|
|
@@ -42,6 +56,7 @@ export class P2WDADetector {
|
|
|
42
56
|
publicKey,
|
|
43
57
|
opcodes.OP_CHECKSIG,
|
|
44
58
|
]);
|
|
59
|
+
// Wrap in P2WSH
|
|
45
60
|
const p2wsh = payments.p2wsh({
|
|
46
61
|
redeem: { output: witnessScript },
|
|
47
62
|
network,
|
|
@@ -55,18 +70,22 @@ export class P2WDADetector {
|
|
|
55
70
|
scriptPubKey: p2wsh.output,
|
|
56
71
|
};
|
|
57
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract the public key from a P2WDA witness script
|
|
75
|
+
*/
|
|
58
76
|
static extractPublicKeyFromP2WDA(witnessScript) {
|
|
59
77
|
try {
|
|
60
78
|
const decompiled = script.decompile(witnessScript);
|
|
61
79
|
if (!decompiled || decompiled.length !== 7) {
|
|
62
80
|
return null;
|
|
63
81
|
}
|
|
82
|
+
// Check for 5x OP_2DROP pattern
|
|
64
83
|
for (let i = 0; i < 5; i++) {
|
|
65
84
|
if (decompiled[i] !== opcodes.OP_2DROP) {
|
|
66
85
|
return null;
|
|
67
86
|
}
|
|
68
87
|
}
|
|
69
|
-
if (
|
|
88
|
+
if (decompiled[5] instanceof Uint8Array &&
|
|
70
89
|
decompiled[5].length === 33 &&
|
|
71
90
|
decompiled[6] === opcodes.OP_CHECKSIG) {
|
|
72
91
|
return decompiled[5];
|
|
@@ -77,21 +96,35 @@ export class P2WDADetector {
|
|
|
77
96
|
return null;
|
|
78
97
|
}
|
|
79
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Create witness data for a simple P2WDA spend (no operation data)
|
|
101
|
+
*/
|
|
80
102
|
static createSimpleP2WDAWitness(transactionSignature, witnessScript) {
|
|
81
103
|
const witnessStack = [transactionSignature];
|
|
104
|
+
// Add 10 empty buffers for the 5x OP_2DROP operations
|
|
82
105
|
for (let i = 0; i < 10; i++) {
|
|
83
|
-
witnessStack.push(
|
|
106
|
+
witnessStack.push(new Uint8Array(0));
|
|
84
107
|
}
|
|
85
108
|
witnessStack.push(witnessScript);
|
|
86
109
|
return witnessStack;
|
|
87
110
|
}
|
|
88
|
-
|
|
89
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Validate P2WDA operation data signature
|
|
113
|
+
*/
|
|
114
|
+
static validateP2WDASignature(_publicKey, dataSignature, _operationData) {
|
|
115
|
+
return dataSignature.length === 64; // Schnorr signatures are always 64 bytes
|
|
90
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Calculate the witness size for P2WDA transaction estimation
|
|
119
|
+
*/
|
|
91
120
|
static estimateP2WDAWitnessSize(dataSize = 0) {
|
|
92
121
|
return 72 + dataSize + 39 + 12;
|
|
93
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if a scriptPubKey is a P2WSH that could be P2WDA
|
|
125
|
+
*/
|
|
94
126
|
static couldBeP2WDA(scriptPubKey) {
|
|
95
127
|
return scriptPubKey.length === 34 && scriptPubKey[0] === 0x00 && scriptPubKey[1] === 0x20;
|
|
96
128
|
}
|
|
97
129
|
}
|
|
130
|
+
//# sourceMappingURL=P2WDADetector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"P2WDADetector.js","sourceRoot":"","sources":["../../src/p2wda/P2WDADetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIvF;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,IAAU;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GACf,IAAI,CAAC,aAAa,YAAY,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAAC,aAAyB;QACxD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,kCAAkC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YAED,mCAAmC;YACnC,OAAO,CACH,UAAU,CAAC,CAAC,CAAC,YAAY,UAAU;gBACnC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,wBAAwB;gBACvD,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,CACxC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAC9B,SAAqB,EACrB,OAAgB;QAIhB,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,mDAAmD;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;YACjC,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,SAAS;YACT,OAAO,CAAC,WAAW;SACtB,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;YACjC,OAAO;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa;YACb,YAAY,EAAE,KAAK,CAAC,MAAM;SAC7B,CAAC;IACN,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,yBAAyB,CAAC,aAAyB;QAC7D,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,gCAAgC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,IACI,UAAU,CAAC,CAAC,CAAC,YAAY,UAAU;gBACnC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;gBAC3B,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EACvC,CAAC;gBACC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,wBAAwB,CAClC,oBAAgC,EAChC,aAAyB;QAEzB,MAAM,YAAY,GAAiB,CAAC,oBAAoB,CAAC,CAAC;QAE1D,sDAAsD;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,sBAAsB,CAChC,UAAsB,EACtB,aAAyB,EACzB,cAA0B;QAE1B,OAAO,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,yCAAyC;IACjF,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,wBAAwB,CAAC,WAAmB,CAAC;QACvD,OAAO,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,YAAwB;QAC/C,OAAO,YAAY,CAAC,MAAM,KAAK,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9F,CAAC;CACJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polyfill for Symbol.dispose and Symbol.asyncDispose.
|
|
3
|
+
*
|
|
4
|
+
* ES2024 Explicit Resource Management defines these well-known symbols,
|
|
5
|
+
* but Safari and Android WebView do not yet support them. This polyfill
|
|
6
|
+
* creates globally-shared symbols via Symbol.for() so that classes can
|
|
7
|
+
* implement [Symbol.dispose]() and [Symbol.asyncDispose]() today.
|
|
8
|
+
*
|
|
9
|
+
* When native support lands, the guards prevent the polyfill from running
|
|
10
|
+
* and the native symbols are used transparently.
|
|
11
|
+
*
|
|
12
|
+
* NOTE: This file must be imported before any module that references
|
|
13
|
+
* Symbol.dispose or Symbol.asyncDispose at the module-evaluation scope.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=disposable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../src/polyfill/disposable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polyfill for Symbol.dispose and Symbol.asyncDispose.
|
|
3
|
+
*
|
|
4
|
+
* ES2024 Explicit Resource Management defines these well-known symbols,
|
|
5
|
+
* but Safari and Android WebView do not yet support them. This polyfill
|
|
6
|
+
* creates globally-shared symbols via Symbol.for() so that classes can
|
|
7
|
+
* implement [Symbol.dispose]() and [Symbol.asyncDispose]() today.
|
|
8
|
+
*
|
|
9
|
+
* When native support lands, the guards prevent the polyfill from running
|
|
10
|
+
* and the native symbols are used transparently.
|
|
11
|
+
*
|
|
12
|
+
* NOTE: This file must be imported before any module that references
|
|
13
|
+
* Symbol.dispose or Symbol.asyncDispose at the module-evaluation scope.
|
|
14
|
+
*/
|
|
15
|
+
const S = Symbol;
|
|
16
|
+
if (typeof S.dispose !== 'symbol') {
|
|
17
|
+
S.dispose = Symbol.for('Symbol.dispose');
|
|
18
|
+
}
|
|
19
|
+
if (typeof S.asyncDispose !== 'symbol') {
|
|
20
|
+
S.asyncDispose = Symbol.for('Symbol.asyncDispose');
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=disposable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../src/polyfill/disposable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,CAAC,GAAG,MAAkD,CAAC;AAE7D,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;IACrC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1,11 +1,47 @@
|
|
|
1
|
-
import { RotationSignerBase } from './IRotationSigner.js';
|
|
1
|
+
import type { RotationSignerBase } from './IRotationSigner.js';
|
|
2
2
|
import { UnisatSigner } from '../transaction/browser/extensions/UnisatSigner.js';
|
|
3
|
+
/**
|
|
4
|
+
* Supported signer types for address rotation (includes browser signers)
|
|
5
|
+
*/
|
|
3
6
|
export type RotationSigner = RotationSignerBase | UnisatSigner;
|
|
7
|
+
/**
|
|
8
|
+
* Map of addresses to their respective signers for address rotation mode.
|
|
9
|
+
* Each UTXO address can have its own dedicated signer.
|
|
10
|
+
*/
|
|
4
11
|
export type SignerMap = Map<string, RotationSigner>;
|
|
12
|
+
/**
|
|
13
|
+
* Configuration for address rotation mode.
|
|
14
|
+
* When enabled, each UTXO can be signed by a different signer based on its address.
|
|
15
|
+
*/
|
|
5
16
|
export interface AddressRotationConfig {
|
|
17
|
+
/**
|
|
18
|
+
* Whether address rotation mode is enabled.
|
|
19
|
+
* When true, the signerMap will be used to find the appropriate signer for each UTXO.
|
|
20
|
+
* When false, the default single signer will be used for all inputs.
|
|
21
|
+
*/
|
|
6
22
|
readonly enabled: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Map of addresses to their respective signers.
|
|
25
|
+
* The key is the address (from UTXO.scriptPubKey.address).
|
|
26
|
+
* The value is the signer that controls that address.
|
|
27
|
+
*/
|
|
7
28
|
readonly signerMap: SignerMap;
|
|
8
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new SignerMap from an array of address-signer pairs.
|
|
32
|
+
* @param pairs - Array of [address, signer] tuples
|
|
33
|
+
* @returns A SignerMap ready for use with address rotation
|
|
34
|
+
*/
|
|
9
35
|
export declare function createSignerMap(pairs: ReadonlyArray<readonly [string, RotationSigner]>): SignerMap;
|
|
36
|
+
/**
|
|
37
|
+
* Creates an AddressRotationConfig with the given signers.
|
|
38
|
+
* @param signers - Map or array of address-signer pairs
|
|
39
|
+
* @returns AddressRotationConfig ready for use
|
|
40
|
+
*/
|
|
10
41
|
export declare function createAddressRotation(signers: SignerMap | ReadonlyArray<readonly [string, RotationSigner]>): AddressRotationConfig;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a disabled address rotation config (single signer mode).
|
|
44
|
+
* @returns AddressRotationConfig with rotation disabled
|
|
45
|
+
*/
|
|
11
46
|
export declare function disabledAddressRotation(): AddressRotationConfig;
|
|
47
|
+
//# sourceMappingURL=AddressRotation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressRotation.d.ts","sourceRoot":"","sources":["../../src/signer/AddressRotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,YAAY,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GACxD,SAAS,CAEX;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GACtE,qBAAqB,CAOvB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,qBAAqB,CAK/D"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
import { UnisatSigner } from '../transaction/browser/extensions/UnisatSigner.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new SignerMap from an array of address-signer pairs.
|
|
4
|
+
* @param pairs - Array of [address, signer] tuples
|
|
5
|
+
* @returns A SignerMap ready for use with address rotation
|
|
6
|
+
*/
|
|
1
7
|
export function createSignerMap(pairs) {
|
|
2
8
|
return new Map(pairs);
|
|
3
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates an AddressRotationConfig with the given signers.
|
|
12
|
+
* @param signers - Map or array of address-signer pairs
|
|
13
|
+
* @returns AddressRotationConfig ready for use
|
|
14
|
+
*/
|
|
4
15
|
export function createAddressRotation(signers) {
|
|
5
16
|
const signerMap = signers instanceof Map ? signers : createSignerMap(signers);
|
|
6
17
|
return {
|
|
@@ -8,9 +19,14 @@ export function createAddressRotation(signers) {
|
|
|
8
19
|
signerMap,
|
|
9
20
|
};
|
|
10
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Creates a disabled address rotation config (single signer mode).
|
|
24
|
+
* @returns AddressRotationConfig with rotation disabled
|
|
25
|
+
*/
|
|
11
26
|
export function disabledAddressRotation() {
|
|
12
27
|
return {
|
|
13
28
|
enabled: false,
|
|
14
29
|
signerMap: new Map(),
|
|
15
30
|
};
|
|
16
31
|
}
|
|
32
|
+
//# sourceMappingURL=AddressRotation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressRotation.js","sourceRoot":"","sources":["../../src/signer/AddressRotation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAiCjF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAuD;IAEvD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACjC,OAAqE;IAErE,MAAM,SAAS,GAAG,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE9E,OAAO;QACH,OAAO,EAAE,IAAI;QACb,SAAS;KACZ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACnC,OAAO;QACH,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;AACN,CAAC"}
|
|
@@ -1,8 +1,32 @@
|
|
|
1
|
-
import { Signer } from '@btc-vision/bitcoin';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { Signer } from '@btc-vision/bitcoin';
|
|
2
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
3
|
+
/**
|
|
4
|
+
* Base signer type for address rotation.
|
|
5
|
+
* This is the minimal interface required for UTXO signing.
|
|
6
|
+
* UnisatSigner extends this through the CustomKeypair base class.
|
|
7
|
+
*/
|
|
8
|
+
export type RotationSignerBase = Signer | UniversalSigner;
|
|
9
|
+
/**
|
|
10
|
+
* Map of addresses to their respective signers for address rotation mode.
|
|
11
|
+
* Each UTXO address can have its own dedicated signer.
|
|
12
|
+
*/
|
|
4
13
|
export type SignerMapBase = Map<string, RotationSignerBase>;
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for address rotation mode (base version without browser signers).
|
|
16
|
+
* When enabled, each UTXO can be signed by a different signer based on its address.
|
|
17
|
+
*/
|
|
5
18
|
export interface AddressRotationConfigBase {
|
|
19
|
+
/**
|
|
20
|
+
* Whether address rotation mode is enabled.
|
|
21
|
+
* When true, the signerMap will be used to find the appropriate signer for each UTXO.
|
|
22
|
+
* When false, the default single signer will be used for all inputs.
|
|
23
|
+
*/
|
|
6
24
|
readonly enabled: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Map of addresses to their respective signers.
|
|
27
|
+
* The key is the address (from UTXO.scriptPubKey.address).
|
|
28
|
+
* The value is the signer that controls that address.
|
|
29
|
+
*/
|
|
7
30
|
readonly signerMap: SignerMapBase;
|
|
8
31
|
}
|
|
32
|
+
//# sourceMappingURL=IRotationSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IRotationSigner.d.ts","sourceRoot":"","sources":["../../src/signer/IRotationSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,eAAe,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACrC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import {} from '@btc-vision/ecpair';
|
|
2
|
+
//# sourceMappingURL=IRotationSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IRotationSigner.js","sourceRoot":"","sources":["../../src/signer/IRotationSigner.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PsbtParallelKeyPair } from '@btc-vision/bitcoin';
|
|
2
|
+
import type { UniversalSigner } from '@btc-vision/ecpair';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps an untweaked UniversalSigner as PsbtParallelKeyPair.
|
|
5
|
+
* Used for script-path signing (raw private key needed).
|
|
6
|
+
*/
|
|
7
|
+
export declare function toParallelKeyPair(signer: UniversalSigner): PsbtParallelKeyPair;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a hybrid adapter with untweaked publicKey (for PSBT input matching)
|
|
10
|
+
* but tweaked privateKey (for correct key-path Schnorr signatures).
|
|
11
|
+
* Uses createPrivateKey/createPublicKey for branded type validation.
|
|
12
|
+
*/
|
|
13
|
+
export declare function toTweakedParallelKeyPair(untweakedSigner: UniversalSigner, tweakedSigner: UniversalSigner): PsbtParallelKeyPair;
|
|
14
|
+
//# sourceMappingURL=ParallelSignerAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParallelSignerAdapter.d.ts","sourceRoot":"","sources":["../../src/signer/ParallelSignerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAmB9E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,eAAe,GAC/B,mBAAmB,CAqBrB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createPrivateKey, createPublicKey } from '@btc-vision/ecpair';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps an untweaked UniversalSigner as PsbtParallelKeyPair.
|
|
4
|
+
* Used for script-path signing (raw private key needed).
|
|
5
|
+
*/
|
|
6
|
+
export function toParallelKeyPair(signer) {
|
|
7
|
+
return {
|
|
8
|
+
publicKey: signer.publicKey,
|
|
9
|
+
getPrivateKey() {
|
|
10
|
+
if (!signer.privateKey) {
|
|
11
|
+
throw new Error('Signer does not have a private key');
|
|
12
|
+
}
|
|
13
|
+
return createPrivateKey(signer.privateKey);
|
|
14
|
+
},
|
|
15
|
+
sign(hash, lowR) {
|
|
16
|
+
return signer.sign(hash, lowR);
|
|
17
|
+
},
|
|
18
|
+
signSchnorr(hash) {
|
|
19
|
+
if (!signer.signSchnorr) {
|
|
20
|
+
throw new Error('Signer does not support Schnorr signing');
|
|
21
|
+
}
|
|
22
|
+
return signer.signSchnorr(hash);
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a hybrid adapter with untweaked publicKey (for PSBT input matching)
|
|
28
|
+
* but tweaked privateKey (for correct key-path Schnorr signatures).
|
|
29
|
+
* Uses createPrivateKey/createPublicKey for branded type validation.
|
|
30
|
+
*/
|
|
31
|
+
export function toTweakedParallelKeyPair(untweakedSigner, tweakedSigner) {
|
|
32
|
+
return {
|
|
33
|
+
publicKey: createPublicKey(untweakedSigner.publicKey),
|
|
34
|
+
getPrivateKey() {
|
|
35
|
+
if (!tweakedSigner.privateKey) {
|
|
36
|
+
throw new Error('Tweaked signer does not have a private key');
|
|
37
|
+
}
|
|
38
|
+
return createPrivateKey(tweakedSigner.privateKey);
|
|
39
|
+
},
|
|
40
|
+
sign(hash, lowR) {
|
|
41
|
+
return tweakedSigner.sign(hash, lowR);
|
|
42
|
+
},
|
|
43
|
+
signSchnorr(hash) {
|
|
44
|
+
if (!tweakedSigner.signSchnorr) {
|
|
45
|
+
throw new Error('Tweaked signer does not support Schnorr signing');
|
|
46
|
+
}
|
|
47
|
+
return tweakedSigner.signSchnorr(hash);
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=ParallelSignerAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParallelSignerAdapter.js","sourceRoot":"","sources":["../../src/signer/ParallelSignerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACrD,OAAO;QACH,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa;YACT,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAgB,EAAE,IAAc;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAyC,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,WAAW,CAAC,IAAgB;YACxB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAM,CAAC,WAAW,CAAC,IAAgD,CAAC,CAAC;QAChF,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACpC,eAAgC,EAChC,aAA8B;IAE9B,OAAO;QACH,SAAS,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC;QACrD,aAAa;YACT,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,IAAgB,EAAE,IAAc;YACjC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAgD,EAAE,IAAI,CAAC,CAAC;QACtF,CAAC;QACD,WAAW,CAAC,IAAgB;YACxB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,aAAa,CAAC,WAAW,CAC5B,IAAuD,CAC1D,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { PsbtInput } from '@btc-vision/bitcoin';
|
|
1
|
+
import { type PsbtInput } from '@btc-vision/bitcoin';
|
|
2
2
|
export declare function isTaprootInput(input: PsbtInput): boolean;
|
|
3
|
-
export declare function getInputRelevantScript(input: PsbtInput):
|
|
4
|
-
export declare function canSignNonTaprootInput(input: PsbtInput, publicKey:
|
|
5
|
-
|
|
3
|
+
export declare function getInputRelevantScript(input: PsbtInput): Uint8Array | null;
|
|
4
|
+
export declare function canSignNonTaprootInput(input: PsbtInput, publicKey: Uint8Array): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Checks if a public key is present in a script.
|
|
7
|
+
* @param pubkey The public key to check.
|
|
8
|
+
* @param script The script to search in.
|
|
9
|
+
* @returns A boolean indicating whether the public key is present in the script.
|
|
10
|
+
*/
|
|
11
|
+
export declare function pubkeyInScript(pubkey: Uint8Array, script: Uint8Array): boolean;
|
|
12
|
+
//# sourceMappingURL=SignerUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignerUtils.d.ts","sourceRoot":"","sources":["../../src/signer/SignerUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,SAAS,EAA0B,MAAM,qBAAqB,CAAC;AAErF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAWxD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAqB1E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAgBvF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAE9E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Helper functions
|
|
1
2
|
import { isP2TR, pubkeyPositionInScript } from '@btc-vision/bitcoin';
|
|
2
3
|
export function isTaprootInput(input) {
|
|
3
4
|
return (input &&
|
|
@@ -18,6 +19,14 @@ export function getInputRelevantScript(input) {
|
|
|
18
19
|
return input.witnessUtxo.script;
|
|
19
20
|
}
|
|
20
21
|
if (input.nonWitnessUtxo) {
|
|
22
|
+
// Parse the full transaction from nonWitnessUtxo
|
|
23
|
+
/*const tx = Transaction.fromBuffer(input.nonWitnessUtxo);
|
|
24
|
+
// Retrieve the output referenced by the input index
|
|
25
|
+
const out = tx.outs[input.index];
|
|
26
|
+
if (!out) {
|
|
27
|
+
throw new Error(`No output at index ${input.index} in nonWitnessUtxo`);
|
|
28
|
+
}
|
|
29
|
+
return out.script;*/
|
|
21
30
|
}
|
|
22
31
|
return null;
|
|
23
32
|
}
|
|
@@ -35,6 +44,13 @@ export function canSignNonTaprootInput(input, publicKey) {
|
|
|
35
44
|
}
|
|
36
45
|
return false;
|
|
37
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Checks if a public key is present in a script.
|
|
49
|
+
* @param pubkey The public key to check.
|
|
50
|
+
* @param script The script to search in.
|
|
51
|
+
* @returns A boolean indicating whether the public key is present in the script.
|
|
52
|
+
*/
|
|
38
53
|
export function pubkeyInScript(pubkey, script) {
|
|
39
54
|
return pubkeyPositionInScript(pubkey, script) !== -1;
|
|
40
55
|
}
|
|
56
|
+
//# sourceMappingURL=SignerUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignerUtils.js","sourceRoot":"","sources":["../../src/signer/SignerUtils.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAkB,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAErF,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC3C,OAAO,CACH,KAAK;QACL,CAAC,CAAC,CACE,KAAK,CAAC,cAAc;YACpB,KAAK,CAAC,aAAa;YACnB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC7D,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAC1D,CACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAgB;IACnD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,iDAAiD;QACjD;;;;;;4BAMoB;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAgB,EAAE,SAAqB;IAC1E,IACI,CAAC,KAAK,CAAC,cAAc;QACjB,CAAC,KAAK,CAAC,YAAY;QACnB,CAAC,KAAK,CAAC,aAAa;QACpB,CAAC,KAAK,CAAC,WAAW,CAAC;QACvB,KAAK,CAAC,YAAY,EACpB,CAAC;QACC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,EAAE,MAAkB;IACjE,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -1,9 +1,33 @@
|
|
|
1
|
-
import { Network } from '@btc-vision/bitcoin';
|
|
2
|
-
import {
|
|
1
|
+
import { type Bytes32, type Network, type Signer } from '@btc-vision/bitcoin';
|
|
2
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
3
|
+
/**
|
|
4
|
+
* Tweak settings
|
|
5
|
+
*/
|
|
3
6
|
export interface TweakSettings {
|
|
7
|
+
/**
|
|
8
|
+
* The network to use
|
|
9
|
+
*/
|
|
4
10
|
readonly network?: Network;
|
|
5
|
-
|
|
11
|
+
/**
|
|
12
|
+
* The tweak hash to use
|
|
13
|
+
*/
|
|
14
|
+
tweakHash?: Bytes32;
|
|
6
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Type guard to check if a Signer is a UniversalSigner (has privateKey).
|
|
18
|
+
*/
|
|
19
|
+
export declare function isUniversalSigner(signer: Signer): signer is UniversalSigner;
|
|
20
|
+
/**
|
|
21
|
+
* Class for tweaking signers
|
|
22
|
+
* @class TweakedSigner
|
|
23
|
+
*/
|
|
7
24
|
export declare class TweakedSigner {
|
|
8
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Tweak a signer
|
|
27
|
+
* @param {UniversalSigner} signer - The signer to tweak (must have privateKey)
|
|
28
|
+
* @param {TweakSettings} opts - The tweak settings
|
|
29
|
+
* @returns {UniversalSigner} - The tweaked signer
|
|
30
|
+
*/
|
|
31
|
+
static tweakSigner(signer: UniversalSigner, opts?: TweakSettings): UniversalSigner;
|
|
9
32
|
}
|
|
33
|
+
//# sourceMappingURL=TweakedSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TweakedSigner.d.ts","sourceRoot":"","sources":["../../src/signer/TweakedSigner.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EAEZ,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,eAAe,CAE3E;AAED;;;GAGG;AACH,qBAAa,aAAa;IACtB;;;;;OAKG;WACW,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,GAAE,aAAkB,GAAG,eAAe;CAqBhG"}
|
|
@@ -1,20 +1,37 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { backend } from '../ecc/backend.js';
|
|
2
|
+
import { tapTweakHash, toXOnly, } from '@btc-vision/bitcoin';
|
|
3
|
+
import {} from '@btc-vision/ecpair';
|
|
3
4
|
import { EcKeyPair } from '../keypair/EcKeyPair.js';
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Type guard to check if a Signer is a UniversalSigner (has privateKey).
|
|
7
|
+
*/
|
|
8
|
+
export function isUniversalSigner(signer) {
|
|
9
|
+
return 'privateKey' in signer && signer.privateKey != null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Class for tweaking signers
|
|
13
|
+
* @class TweakedSigner
|
|
14
|
+
*/
|
|
5
15
|
export class TweakedSigner {
|
|
16
|
+
/**
|
|
17
|
+
* Tweak a signer
|
|
18
|
+
* @param {UniversalSigner} signer - The signer to tweak (must have privateKey)
|
|
19
|
+
* @param {TweakSettings} opts - The tweak settings
|
|
20
|
+
* @returns {UniversalSigner} - The tweaked signer
|
|
21
|
+
*/
|
|
6
22
|
static tweakSigner(signer, opts = {}) {
|
|
7
23
|
let privateKey = signer.privateKey;
|
|
8
24
|
if (!privateKey) {
|
|
9
25
|
throw new Error('Private key is required for tweaking signer!');
|
|
10
26
|
}
|
|
11
27
|
if (signer.publicKey[0] === 3) {
|
|
12
|
-
privateKey =
|
|
28
|
+
privateKey = backend.privateNegate(privateKey);
|
|
13
29
|
}
|
|
14
|
-
const tweakedPrivateKey =
|
|
30
|
+
const tweakedPrivateKey = backend.privateAdd(privateKey, tapTweakHash(toXOnly(signer.publicKey), opts.tweakHash));
|
|
15
31
|
if (!tweakedPrivateKey) {
|
|
16
32
|
throw new Error('Invalid tweaked private key!');
|
|
17
33
|
}
|
|
18
|
-
return EcKeyPair.fromPrivateKey(
|
|
34
|
+
return EcKeyPair.fromPrivateKey(tweakedPrivateKey, opts.network);
|
|
19
35
|
}
|
|
20
36
|
}
|
|
37
|
+
//# sourceMappingURL=TweakedSigner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TweakedSigner.js","sourceRoot":"","sources":["../../src/signer/TweakedSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAKH,YAAY,EACZ,OAAO,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAiBpD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC5C,OAAO,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACtB;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,MAAuB,EAAE,OAAsB,EAAE;QACvE,IAAI,UAAU,GAA2B,MAAM,CAAC,UAAU,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CACxC,UAAU,EACV,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAC1D,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,SAAS,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare class ContractAddressBase {
|
|
2
2
|
private readonly deriver;
|
|
3
|
-
generateHybridKeyFromHash(input:
|
|
4
|
-
private cloneBuffer;
|
|
3
|
+
generateHybridKeyFromHash(input: Uint8Array): Uint8Array;
|
|
5
4
|
}
|
|
6
5
|
export declare const ContractAddress: ContractAddressBase;
|
|
7
6
|
export {};
|
|
7
|
+
//# sourceMappingURL=ContractAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContractAddress.d.ts","sourceRoot":"","sources":["../../src/transaction/ContractAddress.ts"],"names":[],"mappings":"AAEA,cAAM,mBAAmB;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAEvE,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;CAKlE;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC"}
|