@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
package/src/keypair/EcKeyPair.ts
CHANGED
|
@@ -1,33 +1,35 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { backend } from '../ecc/backend.js';
|
|
2
2
|
import bip32, {
|
|
3
|
-
BIP32API,
|
|
3
|
+
type BIP32API,
|
|
4
4
|
BIP32Factory,
|
|
5
|
-
BIP32Interface,
|
|
6
|
-
MLDSAKeyPair,
|
|
5
|
+
type BIP32Interface,
|
|
6
|
+
type MLDSAKeyPair,
|
|
7
7
|
MLDSASecurityLevel,
|
|
8
8
|
QuantumBIP32Factory,
|
|
9
9
|
} from '@btc-vision/bip32';
|
|
10
10
|
import bitcoin, {
|
|
11
11
|
address,
|
|
12
|
+
concat,
|
|
13
|
+
fromHex,
|
|
12
14
|
fromOutputScript,
|
|
13
|
-
|
|
14
|
-
Network,
|
|
15
|
+
type Network,
|
|
15
16
|
networks,
|
|
16
17
|
opcodes,
|
|
17
18
|
payments,
|
|
19
|
+
type PrivateKey,
|
|
20
|
+
type PublicKey,
|
|
18
21
|
script,
|
|
19
|
-
Signer,
|
|
22
|
+
type Signer,
|
|
23
|
+
toHex,
|
|
20
24
|
toXOnly,
|
|
25
|
+
type XOnlyPublicKey,
|
|
21
26
|
} from '@btc-vision/bitcoin';
|
|
22
|
-
import {
|
|
23
|
-
import { IWallet } from './interfaces/IWallet.js';
|
|
27
|
+
import { ECPairSigner, type UniversalSigner } from '@btc-vision/ecpair';
|
|
28
|
+
import type { IWallet } from './interfaces/IWallet.js';
|
|
24
29
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
25
30
|
import { mod } from '@noble/curves/abstract/modular.js';
|
|
26
31
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
27
32
|
import { bytesToNumberBE, concatBytes, randomBytes } from '@noble/curves/utils.js';
|
|
28
|
-
import { Buffer } from 'buffer';
|
|
29
|
-
|
|
30
|
-
initEccLib(ecc);
|
|
31
33
|
|
|
32
34
|
const BIP32factory = typeof bip32 === 'function' ? bip32 : BIP32Factory;
|
|
33
35
|
if (!BIP32factory) {
|
|
@@ -37,7 +39,7 @@ if (!BIP32factory) {
|
|
|
37
39
|
const Point = secp256k1.Point;
|
|
38
40
|
const CURVE_N = Point.Fn.ORDER;
|
|
39
41
|
|
|
40
|
-
const TAP_TAG =
|
|
42
|
+
const TAP_TAG = new Uint8Array([84, 97, 112, 84, 119, 101, 97, 107]); // 'TapTweak' in UTF-8
|
|
41
43
|
const TAP_TAG_HASH = sha256(TAP_TAG);
|
|
42
44
|
|
|
43
45
|
function tapTweakHash(x: Uint8Array): Uint8Array {
|
|
@@ -52,8 +54,8 @@ function tapTweakHash(x: Uint8Array): Uint8Array {
|
|
|
52
54
|
* @example import { EcKeyPair } from '@btc-vision/transaction';
|
|
53
55
|
*/
|
|
54
56
|
export class EcKeyPair {
|
|
55
|
-
public static BIP32: BIP32API = BIP32factory(
|
|
56
|
-
public static
|
|
57
|
+
public static BIP32: BIP32API = BIP32factory(backend);
|
|
58
|
+
public static ECPairSigner = ECPairSigner;
|
|
57
59
|
|
|
58
60
|
// Initialize precomputation for better performance
|
|
59
61
|
static {
|
|
@@ -65,62 +67,57 @@ export class EcKeyPair {
|
|
|
65
67
|
* Generate a keypair from a WIF
|
|
66
68
|
* @param {string} wif - The WIF to use
|
|
67
69
|
* @param {Network} network - The network to use
|
|
68
|
-
* @returns {
|
|
70
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
69
71
|
*/
|
|
70
|
-
public static fromWIF(wif: string, network: Network = networks.bitcoin):
|
|
71
|
-
return
|
|
72
|
+
public static fromWIF(wif: string, network: Network = networks.bitcoin): UniversalSigner {
|
|
73
|
+
return ECPairSigner.fromWIF(backend, wif, network);
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
/**
|
|
75
77
|
* Generate a keypair from a private key
|
|
76
|
-
* @param {
|
|
78
|
+
* @param {Uint8Array} privateKey - The private key to use
|
|
77
79
|
* @param {Network} network - The network to use
|
|
78
|
-
* @returns {
|
|
80
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
79
81
|
*/
|
|
80
82
|
public static fromPrivateKey(
|
|
81
|
-
privateKey:
|
|
83
|
+
privateKey: Uint8Array | PrivateKey,
|
|
82
84
|
network: Network = networks.bitcoin,
|
|
83
|
-
):
|
|
84
|
-
return
|
|
85
|
-
!Buffer.isBuffer(privateKey) ? Buffer.from(privateKey) : privateKey,
|
|
86
|
-
{ network },
|
|
87
|
-
);
|
|
85
|
+
): UniversalSigner {
|
|
86
|
+
return ECPairSigner.fromPrivateKey(backend, privateKey as PrivateKey, network);
|
|
88
87
|
}
|
|
89
88
|
|
|
90
89
|
/**
|
|
91
90
|
* Generate a keypair from a public key
|
|
92
|
-
* @param {
|
|
91
|
+
* @param {Uint8Array} publicKey - The public key to use
|
|
93
92
|
* @param {Network} network - The network to use
|
|
94
|
-
* @returns {
|
|
93
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
95
94
|
*/
|
|
96
95
|
public static fromPublicKey(
|
|
97
|
-
publicKey:
|
|
96
|
+
publicKey: Uint8Array | PublicKey,
|
|
98
97
|
network: Network = networks.bitcoin,
|
|
99
|
-
):
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return this.ECPair.fromPublicKey(buf, { network });
|
|
98
|
+
): UniversalSigner {
|
|
99
|
+
return ECPairSigner.fromPublicKey(backend, publicKey as PublicKey, network);
|
|
103
100
|
}
|
|
104
101
|
|
|
105
102
|
/**
|
|
106
103
|
* Generate a multi-sig address
|
|
107
|
-
* @param {
|
|
104
|
+
* @param {Uint8Array[]} pubKeys - The public keys to use
|
|
108
105
|
* @param {number} minimumSignatureRequired - The minimum number of signatures required
|
|
109
106
|
* @param {Network} network - The network to use
|
|
110
107
|
* @returns {string} - The generated address
|
|
111
108
|
* @throws {Error} - If the address cannot be generated
|
|
112
109
|
*/
|
|
113
110
|
public static generateMultiSigAddress(
|
|
114
|
-
pubKeys:
|
|
111
|
+
pubKeys: Uint8Array[] | PublicKey[],
|
|
115
112
|
minimumSignatureRequired: number,
|
|
116
113
|
network: Network = networks.bitcoin,
|
|
117
114
|
): string {
|
|
118
|
-
const publicKeys:
|
|
115
|
+
const publicKeys: Uint8Array[] = this.verifyPubKeys(pubKeys, network);
|
|
119
116
|
if (publicKeys.length !== pubKeys.length) throw new Error(`Contains invalid public keys`);
|
|
120
117
|
|
|
121
118
|
const p2ms = payments.p2ms({
|
|
122
119
|
m: minimumSignatureRequired,
|
|
123
|
-
pubkeys: publicKeys,
|
|
120
|
+
pubkeys: publicKeys as PublicKey[],
|
|
124
121
|
network: network,
|
|
125
122
|
});
|
|
126
123
|
|
|
@@ -136,12 +133,15 @@ export class EcKeyPair {
|
|
|
136
133
|
|
|
137
134
|
/**
|
|
138
135
|
* Verify public keys and return the public keys
|
|
139
|
-
* @param {
|
|
136
|
+
* @param {Uint8Array[]} pubKeys - The public keys to verify
|
|
140
137
|
* @param {Network} network - The network to use
|
|
141
|
-
* @returns {
|
|
138
|
+
* @returns {Uint8Array[]} - The verified public keys
|
|
142
139
|
* @throws {Error} - If the key cannot be regenerated
|
|
143
140
|
*/
|
|
144
|
-
public static verifyPubKeys(
|
|
141
|
+
public static verifyPubKeys(
|
|
142
|
+
pubKeys: Uint8Array[],
|
|
143
|
+
network: Network = networks.bitcoin,
|
|
144
|
+
): Uint8Array[] {
|
|
145
145
|
return pubKeys.map((pubKey) => {
|
|
146
146
|
const key = EcKeyPair.fromPublicKey(pubKey, network);
|
|
147
147
|
|
|
@@ -149,21 +149,21 @@ export class EcKeyPair {
|
|
|
149
149
|
throw new Error('Failed to regenerate key');
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
return
|
|
152
|
+
return key.publicKey;
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
157
|
* Get a P2WPKH address from a keypair
|
|
158
|
-
* @param {
|
|
158
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
159
159
|
* @param {Network} network - The network to use
|
|
160
160
|
* @returns {string} - The address
|
|
161
161
|
*/
|
|
162
162
|
public static getP2WPKHAddress(
|
|
163
|
-
keyPair:
|
|
163
|
+
keyPair: UniversalSigner | Signer,
|
|
164
164
|
network: Network = networks.bitcoin,
|
|
165
165
|
): string {
|
|
166
|
-
const res = payments.p2wpkh({ pubkey:
|
|
166
|
+
const res = payments.p2wpkh({ pubkey: keyPair.publicKey, network: network });
|
|
167
167
|
|
|
168
168
|
if (!res.address) {
|
|
169
169
|
throw new Error('Failed to generate wallet');
|
|
@@ -184,8 +184,8 @@ export class EcKeyPair {
|
|
|
184
184
|
tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
// Convert the tweaked public key hex string to a
|
|
188
|
-
let tweakedPubKeyBuffer:
|
|
187
|
+
// Convert the tweaked public key hex string to a Uint8Array
|
|
188
|
+
let tweakedPubKeyBuffer: XOnlyPublicKey = fromHex(tweakedPubKeyHex) as XOnlyPublicKey;
|
|
189
189
|
if (tweakedPubKeyBuffer.length !== 32) {
|
|
190
190
|
tweakedPubKeyBuffer = toXOnly(tweakedPubKeyBuffer);
|
|
191
191
|
}
|
|
@@ -195,20 +195,18 @@ export class EcKeyPair {
|
|
|
195
195
|
|
|
196
196
|
/**
|
|
197
197
|
* Get the address of a tweaked public key
|
|
198
|
-
* @param {
|
|
198
|
+
* @param {Uint8Array} tweakedPubKeyBuffer - The tweaked public key buffer
|
|
199
199
|
* @param {Network} network - The network to use
|
|
200
200
|
* @returns {string} - The address
|
|
201
201
|
* @throws {Error} - If the address cannot be generated
|
|
202
202
|
*/
|
|
203
203
|
public static tweakedPubKeyBufferToAddress(
|
|
204
|
-
tweakedPubKeyBuffer:
|
|
204
|
+
tweakedPubKeyBuffer: XOnlyPublicKey,
|
|
205
205
|
network: Network,
|
|
206
206
|
): string {
|
|
207
207
|
// Generate the Taproot address using the p2tr payment method
|
|
208
208
|
const { address } = payments.p2tr({
|
|
209
|
-
pubkey:
|
|
210
|
-
? tweakedPubKeyBuffer
|
|
211
|
-
: Buffer.from(tweakedPubKeyBuffer),
|
|
209
|
+
pubkey: tweakedPubKeyBuffer,
|
|
212
210
|
network: network,
|
|
213
211
|
});
|
|
214
212
|
|
|
@@ -227,14 +225,14 @@ export class EcKeyPair {
|
|
|
227
225
|
* @returns {string} - The generated P2OP address
|
|
228
226
|
*/
|
|
229
227
|
public static p2op(
|
|
230
|
-
bytes:
|
|
228
|
+
bytes: Uint8Array,
|
|
231
229
|
network: Network = networks.bitcoin,
|
|
232
230
|
deploymentVersion: number = 0,
|
|
233
231
|
): string {
|
|
234
232
|
// custom opnet contract addresses
|
|
235
|
-
const witnessProgram =
|
|
236
|
-
|
|
237
|
-
bitcoin.crypto.hash160(
|
|
233
|
+
const witnessProgram = concat([
|
|
234
|
+
new Uint8Array([deploymentVersion]),
|
|
235
|
+
bitcoin.crypto.hash160(bytes),
|
|
238
236
|
]);
|
|
239
237
|
|
|
240
238
|
if (witnessProgram.length < 2 || witnessProgram.length > 40) {
|
|
@@ -257,8 +255,11 @@ export class EcKeyPair {
|
|
|
257
255
|
tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
|
|
258
256
|
}
|
|
259
257
|
|
|
260
|
-
// Convert the tweaked public key hex string to a
|
|
261
|
-
const tweakedPubKeyBuffer =
|
|
258
|
+
// Convert the tweaked public key hex string to a Uint8Array
|
|
259
|
+
const tweakedPubKeyBuffer = fromHex(tweakedPubKeyHex) as XOnlyPublicKey;
|
|
260
|
+
if (tweakedPubKeyBuffer.length !== 32) {
|
|
261
|
+
throw new Error('Invalid xOnly public key length');
|
|
262
|
+
}
|
|
262
263
|
|
|
263
264
|
// Generate the Taproot address using the p2tr payment method
|
|
264
265
|
const { address } = payments.p2tr({
|
|
@@ -275,22 +276,23 @@ export class EcKeyPair {
|
|
|
275
276
|
|
|
276
277
|
/**
|
|
277
278
|
* Tweak a public key
|
|
278
|
-
* @param {
|
|
279
|
-
* @returns {
|
|
279
|
+
* @param {Uint8Array | string} pub - The public key to tweak
|
|
280
|
+
* @returns {Uint8Array} - The tweaked public key
|
|
280
281
|
* @throws {Error} - If the public key cannot be tweaked
|
|
281
282
|
*/
|
|
282
|
-
public static tweakPublicKey(pub: Uint8Array |
|
|
283
|
+
public static tweakPublicKey(pub: Uint8Array | string): Uint8Array {
|
|
283
284
|
if (typeof pub === 'string' && pub.startsWith('0x')) pub = pub.slice(2);
|
|
284
285
|
|
|
285
|
-
const
|
|
286
|
+
const hexStr = typeof pub === 'string' ? pub : toHex(pub);
|
|
287
|
+
const P = Point.fromHex(hexStr);
|
|
286
288
|
const Peven = (P.y & 1n) === 0n ? P : P.negate();
|
|
287
289
|
|
|
288
|
-
const xBytes =
|
|
290
|
+
const xBytes = Peven.toBytes(true).subarray(1);
|
|
289
291
|
const tBytes = tapTweakHash(xBytes);
|
|
290
292
|
const t = mod(bytesToNumberBE(tBytes), CURVE_N);
|
|
291
293
|
|
|
292
294
|
const Q = Peven.add(Point.BASE.multiply(t));
|
|
293
|
-
return
|
|
295
|
+
return Q.toBytes(true);
|
|
294
296
|
}
|
|
295
297
|
|
|
296
298
|
/**
|
|
@@ -306,7 +308,7 @@ export class EcKeyPair {
|
|
|
306
308
|
const T = Point.BASE.multiply(tweakScalar);
|
|
307
309
|
|
|
308
310
|
return pubkeys.map((bytes) => {
|
|
309
|
-
const P = Point.fromHex(
|
|
311
|
+
const P = Point.fromHex(toHex(bytes));
|
|
310
312
|
const P_even = P.y % 2n === 0n ? P : P.negate();
|
|
311
313
|
const Q = P_even.add(T);
|
|
312
314
|
return Q.toBytes(true);
|
|
@@ -324,13 +326,9 @@ export class EcKeyPair {
|
|
|
324
326
|
network: Network = networks.bitcoin,
|
|
325
327
|
securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
|
|
326
328
|
): IWallet {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
network: network,
|
|
331
|
-
rng: (size: number): Buffer => {
|
|
332
|
-
const bytes = randomBytes(size);
|
|
333
|
-
return Buffer.from(bytes);
|
|
329
|
+
const keyPair = ECPairSigner.makeRandom(backend, network, {
|
|
330
|
+
rng: (size: number): Uint8Array => {
|
|
331
|
+
return randomBytes(size);
|
|
334
332
|
},
|
|
335
333
|
});
|
|
336
334
|
|
|
@@ -346,9 +344,9 @@ export class EcKeyPair {
|
|
|
346
344
|
return {
|
|
347
345
|
address: wallet,
|
|
348
346
|
privateKey: keyPair.toWIF(),
|
|
349
|
-
publicKey:
|
|
350
|
-
quantumPrivateKey:
|
|
351
|
-
quantumPublicKey:
|
|
347
|
+
publicKey: toHex(keyPair.publicKey),
|
|
348
|
+
quantumPrivateKey: toHex(quantumKeyPair.privateKey),
|
|
349
|
+
quantumPublicKey: toHex(quantumKeyPair.publicKey),
|
|
352
350
|
};
|
|
353
351
|
}
|
|
354
352
|
|
|
@@ -370,19 +368,15 @@ export class EcKeyPair {
|
|
|
370
368
|
const randomSeed = randomBytes(64);
|
|
371
369
|
|
|
372
370
|
// Create a quantum root from the random seed with network parameter
|
|
373
|
-
const quantumRoot = QuantumBIP32Factory.fromSeed(
|
|
374
|
-
Buffer.from(randomSeed),
|
|
375
|
-
network,
|
|
376
|
-
securityLevel,
|
|
377
|
-
);
|
|
371
|
+
const quantumRoot = QuantumBIP32Factory.fromSeed(randomSeed, network, securityLevel);
|
|
378
372
|
|
|
379
373
|
if (!quantumRoot.privateKey || !quantumRoot.publicKey) {
|
|
380
374
|
throw new Error('Failed to generate quantum keypair');
|
|
381
375
|
}
|
|
382
376
|
|
|
383
377
|
return {
|
|
384
|
-
privateKey:
|
|
385
|
-
publicKey:
|
|
378
|
+
privateKey: new Uint8Array(quantumRoot.privateKey),
|
|
379
|
+
publicKey: new Uint8Array(quantumRoot.publicKey),
|
|
386
380
|
};
|
|
387
381
|
}
|
|
388
382
|
|
|
@@ -401,16 +395,16 @@ export class EcKeyPair {
|
|
|
401
395
|
|
|
402
396
|
/**
|
|
403
397
|
* Get the legacy segwit address from a keypair
|
|
404
|
-
* @param {
|
|
398
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
405
399
|
* @param {Network} network - The network to use
|
|
406
400
|
* @returns {string} - The legacy address
|
|
407
401
|
*/
|
|
408
402
|
public static getLegacySegwitAddress(
|
|
409
|
-
keyPair:
|
|
403
|
+
keyPair: UniversalSigner,
|
|
410
404
|
network: Network = networks.bitcoin,
|
|
411
405
|
): string {
|
|
412
406
|
const wallet = payments.p2sh({
|
|
413
|
-
redeem: payments.p2wpkh({ pubkey:
|
|
407
|
+
redeem: payments.p2wpkh({ pubkey: keyPair.publicKey, network: network }),
|
|
414
408
|
network: network,
|
|
415
409
|
});
|
|
416
410
|
|
|
@@ -423,15 +417,15 @@ export class EcKeyPair {
|
|
|
423
417
|
|
|
424
418
|
/**
|
|
425
419
|
* Get the legacy address from a keypair
|
|
426
|
-
* @param {
|
|
420
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
427
421
|
* @param {Network} network - The network to use
|
|
428
422
|
* @returns {string} - The legacy address
|
|
429
423
|
*/
|
|
430
424
|
public static getLegacyAddress(
|
|
431
|
-
keyPair:
|
|
425
|
+
keyPair: UniversalSigner,
|
|
432
426
|
network: Network = networks.bitcoin,
|
|
433
427
|
): string {
|
|
434
|
-
const wallet = payments.p2pkh({ pubkey:
|
|
428
|
+
const wallet = payments.p2pkh({ pubkey: keyPair.publicKey, network: network });
|
|
435
429
|
if (!wallet.address) {
|
|
436
430
|
throw new Error('Failed to generate wallet');
|
|
437
431
|
}
|
|
@@ -440,16 +434,13 @@ export class EcKeyPair {
|
|
|
440
434
|
}
|
|
441
435
|
|
|
442
436
|
/**
|
|
443
|
-
* Get the legacy address from a
|
|
437
|
+
* Get the legacy address from a public key
|
|
444
438
|
* @param publicKey
|
|
445
439
|
* @param {Network} network - The network to use
|
|
446
440
|
* @returns {string} - The legacy address
|
|
447
441
|
*/
|
|
448
|
-
public static getP2PKH(
|
|
449
|
-
publicKey:
|
|
450
|
-
network: Network = networks.bitcoin,
|
|
451
|
-
): string {
|
|
452
|
-
const wallet = payments.p2pkh({ pubkey: Buffer.from(publicKey), network: network });
|
|
442
|
+
public static getP2PKH(publicKey: PublicKey, network: Network = networks.bitcoin): string {
|
|
443
|
+
const wallet = payments.p2pkh({ pubkey: publicKey, network: network });
|
|
453
444
|
if (!wallet.address) {
|
|
454
445
|
throw new Error('Failed to generate wallet');
|
|
455
446
|
}
|
|
@@ -458,61 +449,58 @@ export class EcKeyPair {
|
|
|
458
449
|
}
|
|
459
450
|
|
|
460
451
|
/**
|
|
461
|
-
* Get the
|
|
462
|
-
* @param {
|
|
452
|
+
* Get the P2PK output from a keypair
|
|
453
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
463
454
|
* @param {Network} network - The network to use
|
|
464
455
|
* @returns {string} - The legacy address
|
|
465
456
|
*/
|
|
466
457
|
public static getP2PKAddress(
|
|
467
|
-
keyPair:
|
|
458
|
+
keyPair: UniversalSigner,
|
|
468
459
|
network: Network = networks.bitcoin,
|
|
469
460
|
): string {
|
|
470
|
-
const wallet = payments.p2pk({ pubkey:
|
|
461
|
+
const wallet = payments.p2pk({ pubkey: keyPair.publicKey, network: network });
|
|
471
462
|
if (!wallet.output) {
|
|
472
463
|
throw new Error('Failed to generate wallet');
|
|
473
464
|
}
|
|
474
465
|
|
|
475
|
-
return '0x' + wallet.output
|
|
466
|
+
return '0x' + toHex(wallet.output);
|
|
476
467
|
}
|
|
477
468
|
|
|
478
469
|
/**
|
|
479
470
|
* Generate a random keypair
|
|
480
471
|
* @param {Network} network - The network to use
|
|
481
|
-
* @returns {
|
|
472
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
482
473
|
*/
|
|
483
|
-
public static generateRandomKeyPair(network: Network = networks.bitcoin):
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
rng: (size: number): Buffer => {
|
|
488
|
-
const bytes = randomBytes(size);
|
|
489
|
-
return Buffer.from(bytes);
|
|
474
|
+
public static generateRandomKeyPair(network: Network = networks.bitcoin): UniversalSigner {
|
|
475
|
+
return ECPairSigner.makeRandom(backend, network, {
|
|
476
|
+
rng: (size: number): Uint8Array => {
|
|
477
|
+
return randomBytes(size);
|
|
490
478
|
},
|
|
491
479
|
});
|
|
492
480
|
}
|
|
493
481
|
|
|
494
482
|
/**
|
|
495
483
|
* Generate a BIP32 keypair from a seed
|
|
496
|
-
* @param {
|
|
484
|
+
* @param {Uint8Array} seed - The seed to generate the keypair from
|
|
497
485
|
* @param {Network} network - The network to use
|
|
498
486
|
* @returns {BIP32Interface} - The generated keypair
|
|
499
487
|
*/
|
|
500
|
-
public static fromSeed(seed:
|
|
488
|
+
public static fromSeed(seed: Uint8Array, network: Network = networks.bitcoin): BIP32Interface {
|
|
501
489
|
return this.BIP32.fromSeed(seed, network);
|
|
502
490
|
}
|
|
503
491
|
|
|
504
492
|
/**
|
|
505
493
|
* Get taproot address from keypair
|
|
506
|
-
* @param {
|
|
494
|
+
* @param {UniversalSigner | Signer} keyPair - The keypair to get the taproot address for
|
|
507
495
|
* @param {Network} network - The network to use
|
|
508
496
|
* @returns {string} - The taproot address
|
|
509
497
|
*/
|
|
510
498
|
public static getTaprootAddress(
|
|
511
|
-
keyPair:
|
|
499
|
+
keyPair: UniversalSigner | Signer,
|
|
512
500
|
network: Network = networks.bitcoin,
|
|
513
501
|
): string {
|
|
514
502
|
const { address } = payments.p2tr({
|
|
515
|
-
internalPubkey: toXOnly(
|
|
503
|
+
internalPubkey: toXOnly(keyPair.publicKey),
|
|
516
504
|
network: network,
|
|
517
505
|
});
|
|
518
506
|
|
|
@@ -547,18 +535,18 @@ export class EcKeyPair {
|
|
|
547
535
|
|
|
548
536
|
/**
|
|
549
537
|
* Get a keypair from a given seed.
|
|
550
|
-
* @param {
|
|
538
|
+
* @param {Uint8Array} seed - The seed to generate the key pair from
|
|
551
539
|
* @param {Network} network - The network to use
|
|
552
|
-
* @returns {
|
|
540
|
+
* @returns {UniversalSigner} - The generated key pair
|
|
553
541
|
*/
|
|
554
542
|
public static fromSeedKeyPair(
|
|
555
|
-
seed:
|
|
543
|
+
seed: Uint8Array,
|
|
556
544
|
network: Network = networks.bitcoin,
|
|
557
|
-
):
|
|
545
|
+
): UniversalSigner {
|
|
558
546
|
const fromSeed = this.BIP32.fromSeed(seed, network);
|
|
559
547
|
const privKey = fromSeed.privateKey;
|
|
560
548
|
if (!privKey) throw new Error('Failed to generate key pair');
|
|
561
549
|
|
|
562
|
-
return
|
|
550
|
+
return ECPairSigner.fromPrivateKey(backend, privKey, network);
|
|
563
551
|
}
|
|
564
552
|
}
|