@btc-vision/transaction 1.8.0-beta.3 → 1.8.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/_version.d.ts +1 -0
- package/browser/_version.d.ts.map +1 -0
- package/browser/abi/ABICoder.d.ts +1 -1
- package/browser/abi/ABICoder.d.ts.map +1 -0
- package/browser/branded/Branded.d.ts +4 -0
- package/browser/branded/Branded.d.ts.map +1 -0
- package/browser/btc-vision-bitcoin.js +11999 -2647
- package/browser/buffer/BinaryReader.d.ts +120 -1
- package/browser/buffer/BinaryReader.d.ts.map +1 -0
- package/browser/buffer/BinaryWriter.d.ts +51 -1
- package/browser/buffer/BinaryWriter.d.ts.map +1 -0
- package/browser/bytecode/Compressor.d.ts +12 -0
- package/browser/bytecode/Compressor.d.ts.map +1 -0
- package/browser/chain/ChainData.d.ts +2 -2
- package/browser/chain/ChainData.d.ts.map +1 -0
- package/browser/consensus/Consensus.d.ts +11 -3
- package/browser/consensus/Consensus.d.ts.map +1 -0
- package/browser/consensus/ConsensusConfig.d.ts +1 -0
- package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
- package/browser/consensus/IConsensusConfig.d.ts +1 -0
- package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
- package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
- package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
- package/browser/crypto/crypto.d.ts +1 -0
- package/browser/crypto/crypto.d.ts.map +1 -0
- package/browser/deterministic/AddressMap.d.ts +6 -1
- package/browser/deterministic/AddressMap.d.ts.map +1 -0
- package/browser/deterministic/AddressSet.d.ts +3 -1
- package/browser/deterministic/AddressSet.d.ts.map +1 -0
- package/browser/deterministic/CustomMap.d.ts +3 -1
- package/browser/deterministic/CustomMap.d.ts.map +1 -0
- package/browser/deterministic/DeterministicMap.d.ts +3 -1
- package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
- package/browser/deterministic/DeterministicSet.d.ts +3 -1
- package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
- package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
- package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
- package/browser/deterministic/FastMap.d.ts +7 -1
- package/browser/deterministic/FastMap.d.ts.map +1 -0
- package/browser/ecc/backend.d.ts +13 -0
- package/browser/ecc/backend.d.ts.map +1 -0
- package/browser/epoch/ChallengeSolution.d.ts +33 -1
- package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
- package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
- package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
- package/browser/epoch/validator/EpochValidator.d.ts +37 -7
- package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
- package/browser/event/NetEvent.d.ts +1 -0
- package/browser/event/NetEvent.d.ts.map +1 -0
- package/browser/generators/AddressGenerator.d.ts +4 -3
- package/browser/generators/AddressGenerator.d.ts.map +1 -0
- package/browser/generators/Features.d.ts +1 -0
- package/browser/generators/Features.d.ts.map +1 -0
- package/browser/generators/Generator.d.ts +46 -10
- package/browser/generators/Generator.d.ts.map +1 -0
- package/browser/generators/MLDSAData.d.ts +1 -0
- package/browser/generators/MLDSAData.d.ts.map +1 -0
- package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
- package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
- package/browser/generators/builders/CustomGenerator.d.ts +13 -3
- package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
- package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
- package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
- package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
- package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
- package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
- package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
- package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
- package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
- package/browser/index.d.ts +1 -0
- package/browser/index.d.ts.map +1 -0
- package/browser/index.js +3583 -3184
- package/browser/keypair/Address.d.ts +283 -13
- package/browser/keypair/Address.d.ts.map +1 -0
- package/browser/keypair/AddressVerificator.d.ts +7 -6
- package/browser/keypair/AddressVerificator.d.ts.map +1 -0
- package/browser/keypair/EcKeyPair.d.ts +183 -21
- package/browser/keypair/EcKeyPair.d.ts.map +1 -0
- package/browser/keypair/MessageSigner.d.ts +17 -16
- package/browser/keypair/MessageSigner.d.ts.map +1 -0
- package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
- package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
- package/browser/keypair/Wallet.d.ts +27 -13
- package/browser/keypair/Wallet.d.ts.map +1 -0
- package/browser/keypair/interfaces/IWallet.d.ts +19 -0
- package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
- package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
- package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
- package/browser/mnemonic/BIPStandard.d.ts +59 -0
- package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
- package/browser/mnemonic/Mnemonic.d.ts +15 -3
- package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
- package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
- package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
- package/browser/network/ChainId.d.ts +1 -0
- package/browser/network/ChainId.d.ts.map +1 -0
- package/browser/noble-curves.js +844 -2746
- package/browser/noble-hashes.js +1338 -2067
- package/browser/opnet.d.ts +22 -1
- package/browser/opnet.d.ts.map +1 -0
- package/browser/p2wda/P2WDADetector.d.ts +36 -9
- package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
- package/browser/polyfill/disposable.d.ts +16 -0
- package/browser/polyfill/disposable.d.ts.map +1 -0
- package/browser/signer/AddressRotation.d.ts +36 -0
- package/browser/signer/AddressRotation.d.ts.map +1 -0
- package/browser/signer/IRotationSigner.d.ts +27 -3
- package/browser/signer/IRotationSigner.d.ts.map +1 -0
- package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
- package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
- package/browser/signer/SignerUtils.d.ts +11 -4
- package/browser/signer/SignerUtils.d.ts.map +1 -0
- package/browser/signer/TweakedSigner.d.ts +28 -4
- package/browser/signer/TweakedSigner.d.ts.map +1 -0
- package/browser/transaction/ContractAddress.d.ts +2 -2
- package/browser/transaction/ContractAddress.d.ts.map +1 -0
- package/browser/transaction/TransactionFactory.d.ts +140 -2
- package/browser/transaction/TransactionFactory.d.ts.map +1 -0
- package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
- package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
- package/browser/transaction/browser/Web3Provider.d.ts +27 -0
- package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
- package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
- package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
- package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
- package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
- package/browser/transaction/browser/types/Unisat.d.ts +1 -0
- package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
- package/browser/transaction/browser/types/Xverse.d.ts +1 -0
- package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
- package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
- package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
- package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
- package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
- package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
- package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
- package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
- package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
- package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
- package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/browser/transaction/enums/TransactionType.d.ts +1 -0
- package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
- package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
- package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
- package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
- package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
- package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
- package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +18 -5
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
- package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
- package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
- package/browser/transaction/interfaces/Tap.d.ts +4 -3
- package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
- package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
- package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
- package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
- package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
- package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
- package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
- package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
- package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
- package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
- package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
- package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
- package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
- package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
- package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
- package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
- package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
- package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
- package/browser/transaction/shared/TweakedTransaction.d.ts +275 -33
- package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
- package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
- package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
- package/browser/utils/BitcoinUtils.d.ts +19 -0
- package/browser/utils/BitcoinUtils.d.ts.map +1 -0
- package/browser/utils/BufferHelper.d.ts +1 -0
- package/browser/utils/BufferHelper.d.ts.map +1 -0
- package/browser/utils/StringToBuffer.d.ts +1 -0
- package/browser/utils/StringToBuffer.d.ts.map +1 -0
- package/browser/utils/lengths.d.ts +1 -0
- package/browser/utils/lengths.d.ts.map +1 -0
- package/browser/utils/types.d.ts +1 -0
- package/browser/utils/types.d.ts.map +1 -0
- package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
- package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
- package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
- package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
- package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
- package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
- package/browser/vendors.js +14351 -10031
- package/browser/verification/TapscriptVerificator.d.ts +10 -8
- package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/_version.d.ts +1 -0
- package/build/_version.d.ts.map +1 -0
- package/build/_version.js +1 -0
- package/build/_version.js.map +1 -0
- package/build/abi/ABICoder.d.ts +1 -1
- package/build/abi/ABICoder.d.ts.map +1 -0
- package/build/abi/ABICoder.js +9 -10
- package/build/abi/ABICoder.js.map +1 -0
- package/build/branded/Branded.d.ts +4 -0
- package/build/branded/Branded.d.ts.map +1 -0
- package/build/branded/Branded.js +2 -0
- package/build/branded/Branded.js.map +1 -0
- package/build/buffer/BinaryReader.d.ts +121 -2
- package/build/buffer/BinaryReader.d.ts.map +1 -0
- package/build/buffer/BinaryReader.js +129 -5
- package/build/buffer/BinaryReader.js.map +1 -0
- package/build/buffer/BinaryWriter.d.ts +52 -2
- package/build/buffer/BinaryWriter.d.ts.map +1 -0
- package/build/buffer/BinaryWriter.js +62 -2
- package/build/buffer/BinaryWriter.js.map +1 -0
- package/build/bytecode/Compressor.d.ts +12 -0
- package/build/bytecode/Compressor.d.ts.map +1 -0
- package/build/bytecode/Compressor.js +17 -5
- package/build/bytecode/Compressor.js.map +1 -0
- package/build/chain/ChainData.d.ts +2 -2
- package/build/chain/ChainData.d.ts.map +1 -0
- package/build/chain/ChainData.js +35 -17
- package/build/chain/ChainData.js.map +1 -0
- package/build/consensus/Consensus.d.ts +11 -3
- package/build/consensus/Consensus.d.ts.map +1 -0
- package/build/consensus/Consensus.js +8 -0
- package/build/consensus/Consensus.js.map +1 -0
- package/build/consensus/ConsensusConfig.d.ts +2 -1
- package/build/consensus/ConsensusConfig.d.ts.map +1 -0
- package/build/consensus/ConsensusConfig.js +1 -0
- package/build/consensus/ConsensusConfig.js.map +1 -0
- package/build/consensus/IConsensusConfig.d.ts +1 -0
- package/build/consensus/IConsensusConfig.d.ts.map +1 -0
- package/build/consensus/IConsensusConfig.js +2 -1
- package/build/consensus/IConsensusConfig.js.map +1 -0
- package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
- package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
- package/build/consensus/metadata/RoswellConsensus.js +2 -0
- package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
- package/build/crypto/crypto.d.ts +1 -0
- package/build/crypto/crypto.d.ts.map +1 -0
- package/build/crypto/crypto.js +1 -0
- package/build/crypto/crypto.js.map +1 -0
- package/build/deterministic/AddressMap.d.ts +6 -1
- package/build/deterministic/AddressMap.d.ts.map +1 -0
- package/build/deterministic/AddressMap.js +8 -0
- package/build/deterministic/AddressMap.js.map +1 -0
- package/build/deterministic/AddressSet.d.ts +3 -1
- package/build/deterministic/AddressSet.d.ts.map +1 -0
- package/build/deterministic/AddressSet.js +7 -0
- package/build/deterministic/AddressSet.js.map +1 -0
- package/build/deterministic/CustomMap.d.ts +3 -1
- package/build/deterministic/CustomMap.d.ts.map +1 -0
- package/build/deterministic/CustomMap.js +65 -47
- package/build/deterministic/CustomMap.js.map +1 -0
- package/build/deterministic/DeterministicMap.d.ts +4 -2
- package/build/deterministic/DeterministicMap.d.ts.map +1 -0
- package/build/deterministic/DeterministicMap.js +24 -27
- package/build/deterministic/DeterministicMap.js.map +1 -0
- package/build/deterministic/DeterministicSet.d.ts +3 -1
- package/build/deterministic/DeterministicSet.d.ts.map +1 -0
- package/build/deterministic/DeterministicSet.js +6 -0
- package/build/deterministic/DeterministicSet.js.map +1 -0
- package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
- package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
- package/build/deterministic/ExtendedAddressMap.js +18 -2
- package/build/deterministic/ExtendedAddressMap.js.map +1 -0
- package/build/deterministic/FastMap.d.ts +7 -1
- package/build/deterministic/FastMap.d.ts.map +1 -0
- package/build/deterministic/FastMap.js +7 -2
- package/build/deterministic/FastMap.js.map +1 -0
- package/build/ecc/backend.d.ts +13 -0
- package/build/ecc/backend.d.ts.map +1 -0
- package/build/ecc/backend.js +15 -0
- package/build/ecc/backend.js.map +1 -0
- package/build/epoch/ChallengeSolution.d.ts +34 -2
- package/build/epoch/ChallengeSolution.d.ts.map +1 -0
- package/build/epoch/ChallengeSolution.js +52 -0
- package/build/epoch/ChallengeSolution.js.map +1 -0
- package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
- package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
- package/build/epoch/interfaces/IChallengeSolution.js +2 -1
- package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
- package/build/epoch/validator/EpochValidator.d.ts +38 -8
- package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
- package/build/epoch/validator/EpochValidator.js +45 -19
- package/build/epoch/validator/EpochValidator.js.map +1 -0
- package/build/event/NetEvent.d.ts +1 -0
- package/build/event/NetEvent.d.ts.map +1 -0
- package/build/event/NetEvent.js +3 -0
- package/build/event/NetEvent.js.map +1 -0
- package/build/generators/AddressGenerator.d.ts +4 -3
- package/build/generators/AddressGenerator.d.ts.map +1 -0
- package/build/generators/AddressGenerator.js +10 -3
- package/build/generators/AddressGenerator.js.map +1 -0
- package/build/generators/Features.d.ts +4 -3
- package/build/generators/Features.d.ts.map +1 -0
- package/build/generators/Features.js +1 -0
- package/build/generators/Features.js.map +1 -0
- package/build/generators/Generator.d.ts +47 -11
- package/build/generators/Generator.d.ts.map +1 -0
- package/build/generators/Generator.js +48 -12
- package/build/generators/Generator.js.map +1 -0
- package/build/generators/MLDSAData.d.ts +1 -0
- package/build/generators/MLDSAData.d.ts.map +1 -0
- package/build/generators/MLDSAData.js +1 -0
- package/build/generators/MLDSAData.js.map +1 -0
- package/build/generators/builders/CalldataGenerator.d.ts +27 -6
- package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
- package/build/generators/builders/CalldataGenerator.js +33 -4
- package/build/generators/builders/CalldataGenerator.js.map +1 -0
- package/build/generators/builders/CustomGenerator.d.ts +13 -3
- package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
- package/build/generators/builders/CustomGenerator.js +11 -0
- package/build/generators/builders/CustomGenerator.js.map +1 -0
- package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
- package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
- package/build/generators/builders/DeploymentGenerator.js +18 -2
- package/build/generators/builders/DeploymentGenerator.js.map +1 -0
- package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
- package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
- package/build/generators/builders/HashCommitmentGenerator.js +193 -27
- package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
- package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
- package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
- package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
- package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
- package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
- package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
- package/build/generators/builders/MultiSignGenerator.js +20 -10
- package/build/generators/builders/MultiSignGenerator.js.map +1 -0
- package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
- package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
- package/build/generators/builders/P2WDAGenerator.js +41 -2
- package/build/generators/builders/P2WDAGenerator.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/build/keypair/Address.d.ts +284 -14
- package/build/keypair/Address.d.ts.map +1 -0
- package/build/keypair/Address.js +446 -128
- package/build/keypair/Address.js.map +1 -0
- package/build/keypair/AddressVerificator.d.ts +7 -6
- package/build/keypair/AddressVerificator.d.ts.map +1 -0
- package/build/keypair/AddressVerificator.js +6 -5
- package/build/keypair/AddressVerificator.js.map +1 -0
- package/build/keypair/EcKeyPair.d.ts +185 -23
- package/build/keypair/EcKeyPair.d.ts.map +1 -0
- package/build/keypair/EcKeyPair.js +219 -50
- package/build/keypair/EcKeyPair.js.map +1 -0
- package/build/keypair/MessageSigner.d.ts +18 -17
- package/build/keypair/MessageSigner.d.ts.map +1 -0
- package/build/keypair/MessageSigner.js +34 -25
- package/build/keypair/MessageSigner.js.map +1 -0
- package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
- package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
- package/build/keypair/Secp256k1PointDeriver.js +66 -0
- package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
- package/build/keypair/Wallet.d.ts +29 -15
- package/build/keypair/Wallet.d.ts.map +1 -0
- package/build/keypair/Wallet.js +48 -14
- package/build/keypair/Wallet.js.map +1 -0
- package/build/keypair/interfaces/IWallet.d.ts +19 -0
- package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
- package/build/keypair/interfaces/IWallet.js +1 -0
- package/build/keypair/interfaces/IWallet.js.map +1 -0
- package/build/metadata/ContractBaseMetadata.d.ts +10 -2
- package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
- package/build/metadata/ContractBaseMetadata.js +10 -1
- package/build/metadata/ContractBaseMetadata.js.map +1 -0
- package/build/mnemonic/BIPStandard.d.ts +59 -0
- package/build/mnemonic/BIPStandard.d.ts.map +1 -0
- package/build/mnemonic/BIPStandard.js +59 -0
- package/build/mnemonic/BIPStandard.js.map +1 -0
- package/build/mnemonic/Mnemonic.d.ts +16 -4
- package/build/mnemonic/Mnemonic.d.ts.map +1 -0
- package/build/mnemonic/Mnemonic.js +36 -8
- package/build/mnemonic/Mnemonic.js.map +1 -0
- package/build/mnemonic/MnemonicStrength.d.ts +6 -0
- package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
- package/build/mnemonic/MnemonicStrength.js +6 -0
- package/build/mnemonic/MnemonicStrength.js.map +1 -0
- package/build/network/ChainId.d.ts +1 -0
- package/build/network/ChainId.d.ts.map +1 -0
- package/build/network/ChainId.js +1 -0
- package/build/network/ChainId.js.map +1 -0
- package/build/opnet.d.ts +26 -3
- package/build/opnet.d.ts.map +1 -0
- package/build/opnet.js +23 -0
- package/build/opnet.js.map +1 -0
- package/build/p2wda/P2WDADetector.d.ts +38 -11
- package/build/p2wda/P2WDADetector.d.ts.map +1 -0
- package/build/p2wda/P2WDADetector.js +43 -10
- package/build/p2wda/P2WDADetector.js.map +1 -0
- package/build/polyfill/disposable.d.ts +16 -0
- package/build/polyfill/disposable.d.ts.map +1 -0
- package/build/polyfill/disposable.js +23 -0
- package/build/polyfill/disposable.js.map +1 -0
- package/build/signer/AddressRotation.d.ts +37 -1
- package/build/signer/AddressRotation.d.ts.map +1 -0
- package/build/signer/AddressRotation.js +16 -0
- package/build/signer/AddressRotation.js.map +1 -0
- package/build/signer/IRotationSigner.d.ts +27 -3
- package/build/signer/IRotationSigner.d.ts.map +1 -0
- package/build/signer/IRotationSigner.js +2 -1
- package/build/signer/IRotationSigner.js.map +1 -0
- package/build/signer/ParallelSignerAdapter.d.ts +14 -0
- package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
- package/build/signer/ParallelSignerAdapter.js +51 -0
- package/build/signer/ParallelSignerAdapter.js.map +1 -0
- package/build/signer/SignerUtils.d.ts +11 -4
- package/build/signer/SignerUtils.d.ts.map +1 -0
- package/build/signer/SignerUtils.js +16 -0
- package/build/signer/SignerUtils.js.map +1 -0
- package/build/signer/TweakedSigner.d.ts +28 -4
- package/build/signer/TweakedSigner.d.ts.map +1 -0
- package/build/signer/TweakedSigner.js +24 -6
- package/build/signer/TweakedSigner.js.map +1 -0
- package/build/transaction/ContractAddress.d.ts +2 -2
- package/build/transaction/ContractAddress.d.ts.map +1 -0
- package/build/transaction/ContractAddress.js +4 -8
- package/build/transaction/ContractAddress.js.map +1 -0
- package/build/transaction/TransactionFactory.d.ts +147 -9
- package/build/transaction/TransactionFactory.d.ts.map +1 -0
- package/build/transaction/TransactionFactory.js +145 -26
- package/build/transaction/TransactionFactory.js.map +1 -0
- package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
- package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
- package/build/transaction/browser/BrowserSignerBase.js +7 -0
- package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
- package/build/transaction/browser/WalletNetworks.js +1 -0
- package/build/transaction/browser/WalletNetworks.js.map +1 -0
- package/build/transaction/browser/Web3Provider.d.ts +30 -3
- package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
- package/build/transaction/browser/Web3Provider.js +1 -0
- package/build/transaction/browser/Web3Provider.js.map +1 -0
- package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
- package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
- package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
- package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
- package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
- package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
- package/build/transaction/browser/extensions/XverseSigner.js +25 -15
- package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
- package/build/transaction/browser/types/OPWallet.d.ts +12 -2
- package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
- package/build/transaction/browser/types/OPWallet.js +4 -0
- package/build/transaction/browser/types/OPWallet.js.map +1 -0
- package/build/transaction/browser/types/Unisat.d.ts +2 -1
- package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
- package/build/transaction/browser/types/Unisat.js +2 -0
- package/build/transaction/browser/types/Unisat.js.map +1 -0
- package/build/transaction/browser/types/Xverse.d.ts +1 -0
- package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
- package/build/transaction/browser/types/Xverse.js +1 -0
- package/build/transaction/browser/types/Xverse.js.map +1 -0
- package/build/transaction/builders/CancelTransaction.d.ts +31 -6
- package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
- package/build/transaction/builders/CancelTransaction.js +116 -33
- package/build/transaction/builders/CancelTransaction.js.map +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
- package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
- package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
- package/build/transaction/builders/CustomScriptTransaction.js +176 -39
- package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
- package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
- package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
- package/build/transaction/builders/DeploymentTransaction.js +194 -51
- package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
- package/build/transaction/builders/FundingTransaction.d.ts +5 -4
- package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/build/transaction/builders/FundingTransaction.js +15 -8
- package/build/transaction/builders/FundingTransaction.js.map +1 -0
- package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
- package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/InteractionTransaction.js +18 -5
- package/build/transaction/builders/InteractionTransaction.js.map +1 -0
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
- package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
- package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
- package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
- package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
- package/build/transaction/builders/MultiSignTransaction.js +201 -76
- package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
- package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
- package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
- package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
- package/build/transaction/builders/TransactionBuilder.d.ts +249 -19
- package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/build/transaction/builders/TransactionBuilder.js +377 -60
- package/build/transaction/builders/TransactionBuilder.js.map +1 -0
- package/build/transaction/enums/TransactionType.d.ts +1 -0
- package/build/transaction/enums/TransactionType.d.ts.map +1 -0
- package/build/transaction/enums/TransactionType.js +1 -0
- package/build/transaction/enums/TransactionType.js.map +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
- package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
- package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ITransactionParameters.d.ts +27 -15
- package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ITransactionParameters.js +1 -0
- package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
- package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
- package/build/transaction/interfaces/ITransactionResponses.js +1 -0
- package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
- package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
- package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
- package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
- package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
- package/build/transaction/interfaces/Tap.d.ts +4 -3
- package/build/transaction/interfaces/Tap.d.ts.map +1 -0
- package/build/transaction/interfaces/Tap.js +1 -0
- package/build/transaction/interfaces/Tap.js.map +1 -0
- package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
- package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
- package/build/transaction/mineable/IP2WSHAddress.js +1 -0
- package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
- package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
- package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
- package/build/transaction/mineable/TimelockGenerator.js +12 -3
- package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
- package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
- package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
- package/build/transaction/offline/OfflineTransactionManager.js +192 -8
- package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
- package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
- package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
- package/build/transaction/offline/TransactionReconstructor.js +111 -75
- package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
- package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
- package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
- package/build/transaction/offline/TransactionSerializer.js +206 -95
- package/build/transaction/offline/TransactionSerializer.js.map +1 -0
- package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
- package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
- package/build/transaction/offline/TransactionStateCapture.js +124 -60
- package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
- package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
- package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
- package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
- package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
- package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
- package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
- package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
- package/build/transaction/psbt/PSBTTypes.js +1 -0
- package/build/transaction/psbt/PSBTTypes.js.map +1 -0
- package/build/transaction/shared/P2TR_MS.d.ts +11 -2
- package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
- package/build/transaction/shared/P2TR_MS.js +10 -0
- package/build/transaction/shared/P2TR_MS.js.map +1 -0
- package/build/transaction/shared/TweakedTransaction.d.ts +281 -38
- package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
- package/build/transaction/shared/TweakedTransaction.js +576 -114
- package/build/transaction/shared/TweakedTransaction.js.map +1 -0
- package/build/transaction/utils/WitnessUtils.d.ts +7 -1
- package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
- package/build/transaction/utils/WitnessUtils.js +17 -3
- package/build/transaction/utils/WitnessUtils.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/utils/BitcoinUtils.d.ts +19 -0
- package/build/utils/BitcoinUtils.d.ts.map +1 -0
- package/build/utils/BitcoinUtils.js +19 -0
- package/build/utils/BitcoinUtils.js.map +1 -0
- package/build/utils/BufferHelper.d.ts +2 -1
- package/build/utils/BufferHelper.d.ts.map +1 -0
- package/build/utils/BufferHelper.js +38 -32
- package/build/utils/BufferHelper.js.map +1 -0
- package/build/utils/StringToBuffer.d.ts +1 -0
- package/build/utils/StringToBuffer.d.ts.map +1 -0
- package/build/utils/StringToBuffer.js +1 -0
- package/build/utils/StringToBuffer.js.map +1 -0
- package/build/utils/lengths.d.ts +1 -0
- package/build/utils/lengths.d.ts.map +1 -0
- package/build/utils/lengths.js +1 -0
- package/build/utils/lengths.js.map +1 -0
- package/build/utils/types.d.ts +1 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/types.js +2 -1
- package/build/utils/types.js.map +1 -0
- package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
- package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
- package/build/utxo/OPNetLimitedProvider.js +41 -3
- package/build/utxo/OPNetLimitedProvider.js.map +1 -0
- package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
- package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
- package/build/utxo/interfaces/BroadcastResponse.js +1 -0
- package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
- package/build/utxo/interfaces/IUTXO.d.ts +13 -7
- package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
- package/build/utxo/interfaces/IUTXO.js +1 -0
- package/build/utxo/interfaces/IUTXO.js.map +1 -0
- package/build/verification/TapscriptVerificator.d.ts +12 -10
- package/build/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/verification/TapscriptVerificator.js +28 -38
- package/build/verification/TapscriptVerificator.js.map +1 -0
- package/eslint.config.js +0 -1
- package/package.json +12 -35
- package/src/abi/ABICoder.ts +0 -13
- package/src/branded/Branded.ts +5 -0
- package/src/buffer/BinaryReader.ts +7 -7
- package/src/buffer/BinaryWriter.ts +29 -24
- package/src/bytecode/Compressor.ts +1 -1
- package/src/chain/ChainData.ts +34 -27
- package/src/consensus/ConsensusConfig.ts +1 -1
- package/src/consensus/IConsensusConfig.ts +0 -17
- package/src/consensus/metadata/RoswellConsensus.ts +1 -17
- package/src/deterministic/AddressMap.ts +5 -1
- package/src/deterministic/AddressSet.ts +5 -1
- package/src/deterministic/CustomMap.ts +6 -2
- package/src/deterministic/DeterministicMap.ts +8 -4
- package/src/deterministic/DeterministicSet.ts +6 -2
- package/src/deterministic/ExtendedAddressMap.ts +9 -4
- package/src/deterministic/FastMap.ts +9 -5
- package/src/ecc/backend.ts +17 -0
- package/src/epoch/ChallengeSolution.ts +3 -3
- package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
- package/src/epoch/validator/EpochValidator.ts +24 -43
- package/src/generators/AddressGenerator.ts +6 -6
- package/src/generators/Features.ts +3 -3
- package/src/generators/Generator.ts +42 -26
- package/src/generators/builders/CalldataGenerator.ts +26 -24
- package/src/generators/builders/CustomGenerator.ts +4 -4
- package/src/generators/builders/DeploymentGenerator.ts +25 -23
- package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
- package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
- package/src/generators/builders/MultiSignGenerator.ts +12 -12
- package/src/generators/builders/P2WDAGenerator.ts +10 -10
- package/src/keypair/Address.ts +114 -71
- package/src/keypair/AddressVerificator.ts +16 -147
- package/src/keypair/EcKeyPair.ts +105 -114
- package/src/keypair/MessageSigner.ts +70 -150
- package/src/keypair/Wallet.ts +59 -240
- package/src/metadata/ContractBaseMetadata.ts +2 -2
- package/src/mnemonic/Mnemonic.ts +32 -221
- package/src/opnet.ts +12 -6
- package/src/p2wda/P2WDADetector.ts +23 -72
- package/src/polyfill/disposable.ts +29 -0
- package/src/signer/AddressRotation.ts +1 -1
- package/src/signer/IRotationSigner.ts +3 -3
- package/src/signer/ParallelSignerAdapter.ts +59 -0
- package/src/signer/SignerUtils.ts +4 -4
- package/src/signer/TweakedSigner.ts +28 -13
- package/src/transaction/ContractAddress.ts +3 -7
- package/src/transaction/TransactionFactory.ts +28 -50
- package/src/transaction/browser/BrowserSignerBase.ts +12 -6
- package/src/transaction/browser/Web3Provider.ts +3 -3
- package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
- package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
- package/src/transaction/browser/types/OPWallet.ts +2 -2
- package/src/transaction/browser/types/Unisat.ts +1 -1
- package/src/transaction/builders/CancelTransaction.ts +59 -24
- package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
- package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
- package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
- package/src/transaction/builders/DeploymentTransaction.ts +82 -63
- package/src/transaction/builders/FundingTransaction.ts +11 -11
- package/src/transaction/builders/InteractionTransaction.ts +10 -10
- package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
- package/src/transaction/builders/MultiSignTransaction.ts +68 -61
- package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
- package/src/transaction/builders/TransactionBuilder.ts +101 -79
- package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
- package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
- package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
- package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
- package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
- package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
- package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
- package/src/transaction/interfaces/Tap.ts +3 -3
- package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
- package/src/transaction/mineable/TimelockGenerator.ts +19 -12
- package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
- package/src/transaction/offline/TransactionReconstructor.ts +83 -91
- package/src/transaction/offline/TransactionSerializer.ts +151 -101
- package/src/transaction/offline/TransactionStateCapture.ts +83 -79
- package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
- package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
- package/src/transaction/shared/P2TR_MS.ts +4 -4
- package/src/transaction/shared/TweakedTransaction.ts +326 -124
- package/src/transaction/utils/WitnessUtils.ts +18 -9
- package/src/utils/BufferHelper.ts +39 -37
- package/src/utxo/OPNetLimitedProvider.ts +7 -7
- package/src/utxo/interfaces/IUTXO.ts +7 -7
- package/src/verification/TapscriptVerificator.ts +73 -86
- package/test/address-rotation.test.ts +24 -24
- package/test/address.test.ts +12 -12
- package/test/addressmap.test.ts +30 -30
- package/test/binary-reader-writer.test.ts +8 -8
- package/test/browser/offline-transaction.test.ts +2206 -0
- package/test/browser/parallel-signing.test.ts +316 -0
- package/test/browser/setup.ts +11 -0
- package/test/browser/transaction-signing.test.ts +416 -0
- package/test/buffer-helper.test.ts +287 -0
- package/test/derivePath.test.ts +4 -3
- package/test/disposable.test.ts +279 -0
- package/test/fastmap-setall.test.ts +1 -1
- package/test/fastmap.test.ts +3 -3
- package/test/messagesigner-mldsa.test.ts +3 -3
- package/test/messagesigner-schnorr.test.ts +9 -9
- package/test/offline-transaction.test.ts +461 -288
- package/test/old/FastBigIntMap.ts +3 -3
- package/test/oldfastmap.test.ts +6 -6
- package/test/transaction-builders.test.ts +321 -0
- package/tsconfig.base.json +34 -18
- package/tsconfig.browser.json +15 -0
- package/tsconfig.json +3 -8
- package/vite.config.browser.ts +4 -5
- package/vitest.config.browser.ts +68 -0
- package/vitest.config.ts +1 -1
- package/browser/valibot.js +0 -4948
- package/tsconfig.webpack.json +0 -18
package/src/keypair/EcKeyPair.ts
CHANGED
|
@@ -1,33 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { backend, eccLib } 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
15
|
initEccLib,
|
|
14
|
-
Network,
|
|
16
|
+
type Network,
|
|
15
17
|
networks,
|
|
16
18
|
opcodes,
|
|
17
19
|
payments,
|
|
20
|
+
type PrivateKey,
|
|
21
|
+
type PublicKey,
|
|
18
22
|
script,
|
|
19
|
-
Signer,
|
|
23
|
+
type Signer,
|
|
24
|
+
toHex,
|
|
20
25
|
toXOnly,
|
|
26
|
+
type XOnlyPublicKey,
|
|
21
27
|
} from '@btc-vision/bitcoin';
|
|
22
|
-
import {
|
|
23
|
-
import { IWallet } from './interfaces/IWallet.js';
|
|
28
|
+
import { ECPairSigner, type UniversalSigner } from '@btc-vision/ecpair';
|
|
29
|
+
import type { IWallet } from './interfaces/IWallet.js';
|
|
24
30
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
25
31
|
import { mod } from '@noble/curves/abstract/modular.js';
|
|
26
32
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
27
33
|
import { bytesToNumberBE, concatBytes, randomBytes } from '@noble/curves/utils.js';
|
|
28
|
-
import { Buffer } from 'buffer';
|
|
29
34
|
|
|
30
|
-
initEccLib(
|
|
35
|
+
initEccLib(eccLib);
|
|
31
36
|
|
|
32
37
|
const BIP32factory = typeof bip32 === 'function' ? bip32 : BIP32Factory;
|
|
33
38
|
if (!BIP32factory) {
|
|
@@ -37,7 +42,7 @@ if (!BIP32factory) {
|
|
|
37
42
|
const Point = secp256k1.Point;
|
|
38
43
|
const CURVE_N = Point.Fn.ORDER;
|
|
39
44
|
|
|
40
|
-
const TAP_TAG =
|
|
45
|
+
const TAP_TAG = new Uint8Array([84, 97, 112, 84, 119, 101, 97, 107]); // 'TapTweak' in UTF-8
|
|
41
46
|
const TAP_TAG_HASH = sha256(TAP_TAG);
|
|
42
47
|
|
|
43
48
|
function tapTweakHash(x: Uint8Array): Uint8Array {
|
|
@@ -52,8 +57,8 @@ function tapTweakHash(x: Uint8Array): Uint8Array {
|
|
|
52
57
|
* @example import { EcKeyPair } from '@btc-vision/transaction';
|
|
53
58
|
*/
|
|
54
59
|
export class EcKeyPair {
|
|
55
|
-
public static BIP32: BIP32API = BIP32factory(
|
|
56
|
-
public static
|
|
60
|
+
public static BIP32: BIP32API = BIP32factory(backend);
|
|
61
|
+
public static ECPairSigner = ECPairSigner;
|
|
57
62
|
|
|
58
63
|
// Initialize precomputation for better performance
|
|
59
64
|
static {
|
|
@@ -65,62 +70,57 @@ export class EcKeyPair {
|
|
|
65
70
|
* Generate a keypair from a WIF
|
|
66
71
|
* @param {string} wif - The WIF to use
|
|
67
72
|
* @param {Network} network - The network to use
|
|
68
|
-
* @returns {
|
|
73
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
69
74
|
*/
|
|
70
|
-
public static fromWIF(wif: string, network: Network = networks.bitcoin):
|
|
71
|
-
return
|
|
75
|
+
public static fromWIF(wif: string, network: Network = networks.bitcoin): UniversalSigner {
|
|
76
|
+
return ECPairSigner.fromWIF(backend, wif, network);
|
|
72
77
|
}
|
|
73
78
|
|
|
74
79
|
/**
|
|
75
80
|
* Generate a keypair from a private key
|
|
76
|
-
* @param {
|
|
81
|
+
* @param {Uint8Array} privateKey - The private key to use
|
|
77
82
|
* @param {Network} network - The network to use
|
|
78
|
-
* @returns {
|
|
83
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
79
84
|
*/
|
|
80
85
|
public static fromPrivateKey(
|
|
81
|
-
privateKey:
|
|
86
|
+
privateKey: Uint8Array | PrivateKey,
|
|
82
87
|
network: Network = networks.bitcoin,
|
|
83
|
-
):
|
|
84
|
-
return
|
|
85
|
-
!Buffer.isBuffer(privateKey) ? Buffer.from(privateKey) : privateKey,
|
|
86
|
-
{ network },
|
|
87
|
-
);
|
|
88
|
+
): UniversalSigner {
|
|
89
|
+
return ECPairSigner.fromPrivateKey(backend, privateKey as PrivateKey, network);
|
|
88
90
|
}
|
|
89
91
|
|
|
90
92
|
/**
|
|
91
93
|
* Generate a keypair from a public key
|
|
92
|
-
* @param {
|
|
94
|
+
* @param {Uint8Array} publicKey - The public key to use
|
|
93
95
|
* @param {Network} network - The network to use
|
|
94
|
-
* @returns {
|
|
96
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
95
97
|
*/
|
|
96
98
|
public static fromPublicKey(
|
|
97
|
-
publicKey:
|
|
99
|
+
publicKey: Uint8Array | PublicKey,
|
|
98
100
|
network: Network = networks.bitcoin,
|
|
99
|
-
):
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
return this.ECPair.fromPublicKey(buf, { network });
|
|
101
|
+
): UniversalSigner {
|
|
102
|
+
return ECPairSigner.fromPublicKey(backend, publicKey as PublicKey, network);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
/**
|
|
106
106
|
* Generate a multi-sig address
|
|
107
|
-
* @param {
|
|
107
|
+
* @param {Uint8Array[]} pubKeys - The public keys to use
|
|
108
108
|
* @param {number} minimumSignatureRequired - The minimum number of signatures required
|
|
109
109
|
* @param {Network} network - The network to use
|
|
110
110
|
* @returns {string} - The generated address
|
|
111
111
|
* @throws {Error} - If the address cannot be generated
|
|
112
112
|
*/
|
|
113
113
|
public static generateMultiSigAddress(
|
|
114
|
-
pubKeys:
|
|
114
|
+
pubKeys: Uint8Array[] | PublicKey[],
|
|
115
115
|
minimumSignatureRequired: number,
|
|
116
116
|
network: Network = networks.bitcoin,
|
|
117
117
|
): string {
|
|
118
|
-
const publicKeys:
|
|
118
|
+
const publicKeys: Uint8Array[] = this.verifyPubKeys(pubKeys, network);
|
|
119
119
|
if (publicKeys.length !== pubKeys.length) throw new Error(`Contains invalid public keys`);
|
|
120
120
|
|
|
121
121
|
const p2ms = payments.p2ms({
|
|
122
122
|
m: minimumSignatureRequired,
|
|
123
|
-
pubkeys: publicKeys,
|
|
123
|
+
pubkeys: publicKeys as PublicKey[],
|
|
124
124
|
network: network,
|
|
125
125
|
});
|
|
126
126
|
|
|
@@ -136,12 +136,15 @@ export class EcKeyPair {
|
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
138
|
* Verify public keys and return the public keys
|
|
139
|
-
* @param {
|
|
139
|
+
* @param {Uint8Array[]} pubKeys - The public keys to verify
|
|
140
140
|
* @param {Network} network - The network to use
|
|
141
|
-
* @returns {
|
|
141
|
+
* @returns {Uint8Array[]} - The verified public keys
|
|
142
142
|
* @throws {Error} - If the key cannot be regenerated
|
|
143
143
|
*/
|
|
144
|
-
public static verifyPubKeys(
|
|
144
|
+
public static verifyPubKeys(
|
|
145
|
+
pubKeys: Uint8Array[],
|
|
146
|
+
network: Network = networks.bitcoin,
|
|
147
|
+
): Uint8Array[] {
|
|
145
148
|
return pubKeys.map((pubKey) => {
|
|
146
149
|
const key = EcKeyPair.fromPublicKey(pubKey, network);
|
|
147
150
|
|
|
@@ -149,21 +152,21 @@ export class EcKeyPair {
|
|
|
149
152
|
throw new Error('Failed to regenerate key');
|
|
150
153
|
}
|
|
151
154
|
|
|
152
|
-
return
|
|
155
|
+
return key.publicKey;
|
|
153
156
|
});
|
|
154
157
|
}
|
|
155
158
|
|
|
156
159
|
/**
|
|
157
160
|
* Get a P2WPKH address from a keypair
|
|
158
|
-
* @param {
|
|
161
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
159
162
|
* @param {Network} network - The network to use
|
|
160
163
|
* @returns {string} - The address
|
|
161
164
|
*/
|
|
162
165
|
public static getP2WPKHAddress(
|
|
163
|
-
keyPair:
|
|
166
|
+
keyPair: UniversalSigner | Signer,
|
|
164
167
|
network: Network = networks.bitcoin,
|
|
165
168
|
): string {
|
|
166
|
-
const res = payments.p2wpkh({ pubkey:
|
|
169
|
+
const res = payments.p2wpkh({ pubkey: keyPair.publicKey, network: network });
|
|
167
170
|
|
|
168
171
|
if (!res.address) {
|
|
169
172
|
throw new Error('Failed to generate wallet');
|
|
@@ -184,8 +187,8 @@ export class EcKeyPair {
|
|
|
184
187
|
tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
|
|
185
188
|
}
|
|
186
189
|
|
|
187
|
-
// Convert the tweaked public key hex string to a
|
|
188
|
-
let tweakedPubKeyBuffer:
|
|
190
|
+
// Convert the tweaked public key hex string to a Uint8Array
|
|
191
|
+
let tweakedPubKeyBuffer: XOnlyPublicKey = fromHex(tweakedPubKeyHex) as XOnlyPublicKey;
|
|
189
192
|
if (tweakedPubKeyBuffer.length !== 32) {
|
|
190
193
|
tweakedPubKeyBuffer = toXOnly(tweakedPubKeyBuffer);
|
|
191
194
|
}
|
|
@@ -195,20 +198,18 @@ export class EcKeyPair {
|
|
|
195
198
|
|
|
196
199
|
/**
|
|
197
200
|
* Get the address of a tweaked public key
|
|
198
|
-
* @param {
|
|
201
|
+
* @param {Uint8Array} tweakedPubKeyBuffer - The tweaked public key buffer
|
|
199
202
|
* @param {Network} network - The network to use
|
|
200
203
|
* @returns {string} - The address
|
|
201
204
|
* @throws {Error} - If the address cannot be generated
|
|
202
205
|
*/
|
|
203
206
|
public static tweakedPubKeyBufferToAddress(
|
|
204
|
-
tweakedPubKeyBuffer:
|
|
207
|
+
tweakedPubKeyBuffer: XOnlyPublicKey,
|
|
205
208
|
network: Network,
|
|
206
209
|
): string {
|
|
207
210
|
// Generate the Taproot address using the p2tr payment method
|
|
208
211
|
const { address } = payments.p2tr({
|
|
209
|
-
pubkey:
|
|
210
|
-
? tweakedPubKeyBuffer
|
|
211
|
-
: Buffer.from(tweakedPubKeyBuffer),
|
|
212
|
+
pubkey: tweakedPubKeyBuffer,
|
|
212
213
|
network: network,
|
|
213
214
|
});
|
|
214
215
|
|
|
@@ -227,14 +228,14 @@ export class EcKeyPair {
|
|
|
227
228
|
* @returns {string} - The generated P2OP address
|
|
228
229
|
*/
|
|
229
230
|
public static p2op(
|
|
230
|
-
bytes:
|
|
231
|
+
bytes: Uint8Array,
|
|
231
232
|
network: Network = networks.bitcoin,
|
|
232
233
|
deploymentVersion: number = 0,
|
|
233
234
|
): string {
|
|
234
235
|
// custom opnet contract addresses
|
|
235
|
-
const witnessProgram =
|
|
236
|
-
|
|
237
|
-
bitcoin.crypto.hash160(
|
|
236
|
+
const witnessProgram = concat([
|
|
237
|
+
new Uint8Array([deploymentVersion]),
|
|
238
|
+
bitcoin.crypto.hash160(bytes),
|
|
238
239
|
]);
|
|
239
240
|
|
|
240
241
|
if (witnessProgram.length < 2 || witnessProgram.length > 40) {
|
|
@@ -257,8 +258,11 @@ export class EcKeyPair {
|
|
|
257
258
|
tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
|
|
258
259
|
}
|
|
259
260
|
|
|
260
|
-
// Convert the tweaked public key hex string to a
|
|
261
|
-
const tweakedPubKeyBuffer =
|
|
261
|
+
// Convert the tweaked public key hex string to a Uint8Array
|
|
262
|
+
const tweakedPubKeyBuffer = fromHex(tweakedPubKeyHex) as XOnlyPublicKey;
|
|
263
|
+
if (tweakedPubKeyBuffer.length !== 32) {
|
|
264
|
+
throw new Error('Invalid xOnly public key length');
|
|
265
|
+
}
|
|
262
266
|
|
|
263
267
|
// Generate the Taproot address using the p2tr payment method
|
|
264
268
|
const { address } = payments.p2tr({
|
|
@@ -275,22 +279,23 @@ export class EcKeyPair {
|
|
|
275
279
|
|
|
276
280
|
/**
|
|
277
281
|
* Tweak a public key
|
|
278
|
-
* @param {
|
|
279
|
-
* @returns {
|
|
282
|
+
* @param {Uint8Array | string} pub - The public key to tweak
|
|
283
|
+
* @returns {Uint8Array} - The tweaked public key
|
|
280
284
|
* @throws {Error} - If the public key cannot be tweaked
|
|
281
285
|
*/
|
|
282
|
-
public static tweakPublicKey(pub: Uint8Array |
|
|
286
|
+
public static tweakPublicKey(pub: Uint8Array | string): Uint8Array {
|
|
283
287
|
if (typeof pub === 'string' && pub.startsWith('0x')) pub = pub.slice(2);
|
|
284
288
|
|
|
285
|
-
const
|
|
289
|
+
const hexStr = typeof pub === 'string' ? pub : toHex(pub);
|
|
290
|
+
const P = Point.fromHex(hexStr);
|
|
286
291
|
const Peven = (P.y & 1n) === 0n ? P : P.negate();
|
|
287
292
|
|
|
288
|
-
const xBytes =
|
|
293
|
+
const xBytes = Peven.toBytes(true).subarray(1);
|
|
289
294
|
const tBytes = tapTweakHash(xBytes);
|
|
290
295
|
const t = mod(bytesToNumberBE(tBytes), CURVE_N);
|
|
291
296
|
|
|
292
297
|
const Q = Peven.add(Point.BASE.multiply(t));
|
|
293
|
-
return
|
|
298
|
+
return Q.toBytes(true);
|
|
294
299
|
}
|
|
295
300
|
|
|
296
301
|
/**
|
|
@@ -306,7 +311,7 @@ export class EcKeyPair {
|
|
|
306
311
|
const T = Point.BASE.multiply(tweakScalar);
|
|
307
312
|
|
|
308
313
|
return pubkeys.map((bytes) => {
|
|
309
|
-
const P = Point.fromHex(
|
|
314
|
+
const P = Point.fromHex(toHex(bytes));
|
|
310
315
|
const P_even = P.y % 2n === 0n ? P : P.negate();
|
|
311
316
|
const Q = P_even.add(T);
|
|
312
317
|
return Q.toBytes(true);
|
|
@@ -324,13 +329,9 @@ export class EcKeyPair {
|
|
|
324
329
|
network: Network = networks.bitcoin,
|
|
325
330
|
securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
|
|
326
331
|
): IWallet {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
network: network,
|
|
331
|
-
rng: (size: number): Buffer => {
|
|
332
|
-
const bytes = randomBytes(size);
|
|
333
|
-
return Buffer.from(bytes);
|
|
332
|
+
const keyPair = ECPairSigner.makeRandom(backend, network, {
|
|
333
|
+
rng: (size: number): Uint8Array => {
|
|
334
|
+
return randomBytes(size);
|
|
334
335
|
},
|
|
335
336
|
});
|
|
336
337
|
|
|
@@ -346,9 +347,9 @@ export class EcKeyPair {
|
|
|
346
347
|
return {
|
|
347
348
|
address: wallet,
|
|
348
349
|
privateKey: keyPair.toWIF(),
|
|
349
|
-
publicKey:
|
|
350
|
-
quantumPrivateKey:
|
|
351
|
-
quantumPublicKey:
|
|
350
|
+
publicKey: toHex(keyPair.publicKey),
|
|
351
|
+
quantumPrivateKey: toHex(quantumKeyPair.privateKey),
|
|
352
|
+
quantumPublicKey: toHex(quantumKeyPair.publicKey),
|
|
352
353
|
};
|
|
353
354
|
}
|
|
354
355
|
|
|
@@ -370,19 +371,15 @@ export class EcKeyPair {
|
|
|
370
371
|
const randomSeed = randomBytes(64);
|
|
371
372
|
|
|
372
373
|
// 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
|
-
);
|
|
374
|
+
const quantumRoot = QuantumBIP32Factory.fromSeed(randomSeed, network, securityLevel);
|
|
378
375
|
|
|
379
376
|
if (!quantumRoot.privateKey || !quantumRoot.publicKey) {
|
|
380
377
|
throw new Error('Failed to generate quantum keypair');
|
|
381
378
|
}
|
|
382
379
|
|
|
383
380
|
return {
|
|
384
|
-
privateKey:
|
|
385
|
-
publicKey:
|
|
381
|
+
privateKey: new Uint8Array(quantumRoot.privateKey),
|
|
382
|
+
publicKey: new Uint8Array(quantumRoot.publicKey),
|
|
386
383
|
};
|
|
387
384
|
}
|
|
388
385
|
|
|
@@ -401,16 +398,16 @@ export class EcKeyPair {
|
|
|
401
398
|
|
|
402
399
|
/**
|
|
403
400
|
* Get the legacy segwit address from a keypair
|
|
404
|
-
* @param {
|
|
401
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
405
402
|
* @param {Network} network - The network to use
|
|
406
403
|
* @returns {string} - The legacy address
|
|
407
404
|
*/
|
|
408
405
|
public static getLegacySegwitAddress(
|
|
409
|
-
keyPair:
|
|
406
|
+
keyPair: UniversalSigner,
|
|
410
407
|
network: Network = networks.bitcoin,
|
|
411
408
|
): string {
|
|
412
409
|
const wallet = payments.p2sh({
|
|
413
|
-
redeem: payments.p2wpkh({ pubkey:
|
|
410
|
+
redeem: payments.p2wpkh({ pubkey: keyPair.publicKey, network: network }),
|
|
414
411
|
network: network,
|
|
415
412
|
});
|
|
416
413
|
|
|
@@ -423,15 +420,15 @@ export class EcKeyPair {
|
|
|
423
420
|
|
|
424
421
|
/**
|
|
425
422
|
* Get the legacy address from a keypair
|
|
426
|
-
* @param {
|
|
423
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
427
424
|
* @param {Network} network - The network to use
|
|
428
425
|
* @returns {string} - The legacy address
|
|
429
426
|
*/
|
|
430
427
|
public static getLegacyAddress(
|
|
431
|
-
keyPair:
|
|
428
|
+
keyPair: UniversalSigner,
|
|
432
429
|
network: Network = networks.bitcoin,
|
|
433
430
|
): string {
|
|
434
|
-
const wallet = payments.p2pkh({ pubkey:
|
|
431
|
+
const wallet = payments.p2pkh({ pubkey: keyPair.publicKey, network: network });
|
|
435
432
|
if (!wallet.address) {
|
|
436
433
|
throw new Error('Failed to generate wallet');
|
|
437
434
|
}
|
|
@@ -440,16 +437,13 @@ export class EcKeyPair {
|
|
|
440
437
|
}
|
|
441
438
|
|
|
442
439
|
/**
|
|
443
|
-
* Get the legacy address from a
|
|
440
|
+
* Get the legacy address from a public key
|
|
444
441
|
* @param publicKey
|
|
445
442
|
* @param {Network} network - The network to use
|
|
446
443
|
* @returns {string} - The legacy address
|
|
447
444
|
*/
|
|
448
|
-
public static getP2PKH(
|
|
449
|
-
publicKey:
|
|
450
|
-
network: Network = networks.bitcoin,
|
|
451
|
-
): string {
|
|
452
|
-
const wallet = payments.p2pkh({ pubkey: Buffer.from(publicKey), network: network });
|
|
445
|
+
public static getP2PKH(publicKey: PublicKey, network: Network = networks.bitcoin): string {
|
|
446
|
+
const wallet = payments.p2pkh({ pubkey: publicKey, network: network });
|
|
453
447
|
if (!wallet.address) {
|
|
454
448
|
throw new Error('Failed to generate wallet');
|
|
455
449
|
}
|
|
@@ -458,61 +452,58 @@ export class EcKeyPair {
|
|
|
458
452
|
}
|
|
459
453
|
|
|
460
454
|
/**
|
|
461
|
-
* Get the
|
|
462
|
-
* @param {
|
|
455
|
+
* Get the P2PK output from a keypair
|
|
456
|
+
* @param {UniversalSigner} keyPair - The keypair to get the address for
|
|
463
457
|
* @param {Network} network - The network to use
|
|
464
458
|
* @returns {string} - The legacy address
|
|
465
459
|
*/
|
|
466
460
|
public static getP2PKAddress(
|
|
467
|
-
keyPair:
|
|
461
|
+
keyPair: UniversalSigner,
|
|
468
462
|
network: Network = networks.bitcoin,
|
|
469
463
|
): string {
|
|
470
|
-
const wallet = payments.p2pk({ pubkey:
|
|
464
|
+
const wallet = payments.p2pk({ pubkey: keyPair.publicKey, network: network });
|
|
471
465
|
if (!wallet.output) {
|
|
472
466
|
throw new Error('Failed to generate wallet');
|
|
473
467
|
}
|
|
474
468
|
|
|
475
|
-
return '0x' + wallet.output
|
|
469
|
+
return '0x' + toHex(wallet.output);
|
|
476
470
|
}
|
|
477
471
|
|
|
478
472
|
/**
|
|
479
473
|
* Generate a random keypair
|
|
480
474
|
* @param {Network} network - The network to use
|
|
481
|
-
* @returns {
|
|
475
|
+
* @returns {UniversalSigner} - The generated keypair
|
|
482
476
|
*/
|
|
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);
|
|
477
|
+
public static generateRandomKeyPair(network: Network = networks.bitcoin): UniversalSigner {
|
|
478
|
+
return ECPairSigner.makeRandom(backend, network, {
|
|
479
|
+
rng: (size: number): Uint8Array => {
|
|
480
|
+
return randomBytes(size);
|
|
490
481
|
},
|
|
491
482
|
});
|
|
492
483
|
}
|
|
493
484
|
|
|
494
485
|
/**
|
|
495
486
|
* Generate a BIP32 keypair from a seed
|
|
496
|
-
* @param {
|
|
487
|
+
* @param {Uint8Array} seed - The seed to generate the keypair from
|
|
497
488
|
* @param {Network} network - The network to use
|
|
498
489
|
* @returns {BIP32Interface} - The generated keypair
|
|
499
490
|
*/
|
|
500
|
-
public static fromSeed(seed:
|
|
491
|
+
public static fromSeed(seed: Uint8Array, network: Network = networks.bitcoin): BIP32Interface {
|
|
501
492
|
return this.BIP32.fromSeed(seed, network);
|
|
502
493
|
}
|
|
503
494
|
|
|
504
495
|
/**
|
|
505
496
|
* Get taproot address from keypair
|
|
506
|
-
* @param {
|
|
497
|
+
* @param {UniversalSigner | Signer} keyPair - The keypair to get the taproot address for
|
|
507
498
|
* @param {Network} network - The network to use
|
|
508
499
|
* @returns {string} - The taproot address
|
|
509
500
|
*/
|
|
510
501
|
public static getTaprootAddress(
|
|
511
|
-
keyPair:
|
|
502
|
+
keyPair: UniversalSigner | Signer,
|
|
512
503
|
network: Network = networks.bitcoin,
|
|
513
504
|
): string {
|
|
514
505
|
const { address } = payments.p2tr({
|
|
515
|
-
internalPubkey: toXOnly(
|
|
506
|
+
internalPubkey: toXOnly(keyPair.publicKey),
|
|
516
507
|
network: network,
|
|
517
508
|
});
|
|
518
509
|
|
|
@@ -547,18 +538,18 @@ export class EcKeyPair {
|
|
|
547
538
|
|
|
548
539
|
/**
|
|
549
540
|
* Get a keypair from a given seed.
|
|
550
|
-
* @param {
|
|
541
|
+
* @param {Uint8Array} seed - The seed to generate the key pair from
|
|
551
542
|
* @param {Network} network - The network to use
|
|
552
|
-
* @returns {
|
|
543
|
+
* @returns {UniversalSigner} - The generated key pair
|
|
553
544
|
*/
|
|
554
545
|
public static fromSeedKeyPair(
|
|
555
|
-
seed:
|
|
546
|
+
seed: Uint8Array,
|
|
556
547
|
network: Network = networks.bitcoin,
|
|
557
|
-
):
|
|
548
|
+
): UniversalSigner {
|
|
558
549
|
const fromSeed = this.BIP32.fromSeed(seed, network);
|
|
559
550
|
const privKey = fromSeed.privateKey;
|
|
560
551
|
if (!privKey) throw new Error('Failed to generate key pair');
|
|
561
552
|
|
|
562
|
-
return
|
|
553
|
+
return ECPairSigner.fromPrivateKey(backend, privKey, network);
|
|
563
554
|
}
|
|
564
555
|
}
|