@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/Wallet.ts
CHANGED
|
@@ -1,161 +1,76 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type UniversalSigner } from '@btc-vision/ecpair';
|
|
2
2
|
import { EcKeyPair } from './EcKeyPair.js';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
fromHex,
|
|
5
|
+
type Network,
|
|
6
|
+
networks,
|
|
7
|
+
type PublicKey,
|
|
8
|
+
toHex,
|
|
9
|
+
toXOnly,
|
|
10
|
+
} from '@btc-vision/bitcoin';
|
|
4
11
|
import { Address } from './Address.js';
|
|
5
12
|
import { BitcoinUtils } from '../utils/BitcoinUtils.js';
|
|
6
|
-
import { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
|
|
7
|
-
import * as ecc from '@bitcoinerlab/secp256k1';
|
|
13
|
+
import type { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
|
|
8
14
|
import {
|
|
9
15
|
getMLDSAConfig,
|
|
10
16
|
MLDSASecurityLevel,
|
|
11
17
|
QuantumBIP32Factory,
|
|
12
|
-
QuantumBIP32Interface,
|
|
18
|
+
type QuantumBIP32Interface,
|
|
13
19
|
} from '@btc-vision/bip32';
|
|
14
20
|
|
|
15
|
-
initEccLib(ecc);
|
|
16
|
-
|
|
17
21
|
/**
|
|
18
22
|
* Wallet class for managing both classical and quantum-resistant keys
|
|
19
|
-
*
|
|
20
|
-
* This class represents a wallet with both ECDSA/Schnorr keys (for classical Bitcoin transactions)
|
|
21
|
-
* and ML-DSA keys (for quantum-resistant security). It can be created from private keys, WIF strings,
|
|
22
|
-
* or generated randomly.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* // Create from private keys
|
|
27
|
-
* const wallet = new Wallet(classicalPrivateKey, mldsaPrivateKey);
|
|
28
|
-
*
|
|
29
|
-
* // Generate a new random wallet
|
|
30
|
-
* const newWallet = Wallet.generate();
|
|
31
|
-
*
|
|
32
|
-
* // Create from WIF
|
|
33
|
-
* const walletFromWif = Wallet.fromWif(wif, quantumWif);
|
|
34
|
-
*
|
|
35
|
-
* // Export keys
|
|
36
|
-
* const classicalWif = wallet.toWIF();
|
|
37
|
-
* const quantumHex = wallet.quantumPrivateKeyHex;
|
|
38
|
-
* ```
|
|
39
23
|
*/
|
|
40
|
-
export class Wallet {
|
|
41
|
-
|
|
42
|
-
* Classical ECDSA/Schnorr keypair for the wallet
|
|
43
|
-
*/
|
|
44
|
-
private readonly _keypair: ECPairInterface;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Quantum ML-DSA keypair for the wallet
|
|
48
|
-
*/
|
|
24
|
+
export class Wallet implements Disposable {
|
|
25
|
+
private readonly _keypair: UniversalSigner;
|
|
49
26
|
private readonly _mldsaKeypair: QuantumBIP32Interface;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* The ML-DSA security level used
|
|
53
|
-
*/
|
|
54
27
|
private readonly _securityLevel: MLDSASecurityLevel;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Chain code for BIP32 derivation (if applicable)
|
|
58
|
-
*/
|
|
59
|
-
private readonly _chainCode: Buffer;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* P2WPKH address for the wallet
|
|
63
|
-
*/
|
|
28
|
+
private readonly _chainCode: Uint8Array;
|
|
64
29
|
private readonly _p2wpkh: string;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* P2TR (Taproot) address for the wallet
|
|
68
|
-
*/
|
|
69
30
|
private readonly _p2tr: string;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* P2WDA (Pay-to-Witness-Data-Authentication) address
|
|
73
|
-
*/
|
|
74
31
|
private readonly _p2wda: IP2WSHAddress;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Legacy P2PKH address for the wallet
|
|
78
|
-
*/
|
|
79
32
|
private readonly _legacy: string;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Legacy SegWit (P2SH-P2WPKH) address for the wallet
|
|
83
|
-
*/
|
|
84
33
|
private readonly _segwitLegacy: string;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
* Classical public key buffer
|
|
88
|
-
*/
|
|
89
|
-
private readonly _bufferPubKey: Buffer;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Tweaked key for Taproot
|
|
93
|
-
*/
|
|
94
|
-
private readonly _tweakedKey: Buffer;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Address corresponding to the wallet
|
|
98
|
-
*/
|
|
34
|
+
private readonly _bufferPubKey: Uint8Array;
|
|
35
|
+
private readonly _tweakedKey: Uint8Array;
|
|
99
36
|
private readonly _address: Address;
|
|
100
37
|
|
|
101
|
-
/**
|
|
102
|
-
* Create a new Wallet instance
|
|
103
|
-
*
|
|
104
|
-
* @param privateKeyOrWif - Classical private key (hex or WIF format)
|
|
105
|
-
* @param mldsaPrivateKeyOrBase58 - ML-DSA private key (hex format) or full base58 extended key
|
|
106
|
-
* @param network - The Bitcoin network to use (default: bitcoin mainnet)
|
|
107
|
-
* @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
|
|
108
|
-
* @param chainCode - Optional chain code for BIP32 derivation (32 bytes)
|
|
109
|
-
* @throws {Error} If the private keys are invalid
|
|
110
|
-
*/
|
|
111
38
|
constructor(
|
|
112
39
|
privateKeyOrWif: string,
|
|
113
40
|
mldsaPrivateKeyOrBase58: string,
|
|
114
41
|
public readonly network: Network = networks.bitcoin,
|
|
115
42
|
securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
|
|
116
|
-
chainCode?:
|
|
43
|
+
chainCode?: Uint8Array,
|
|
117
44
|
) {
|
|
118
45
|
this._securityLevel = securityLevel;
|
|
119
46
|
|
|
120
|
-
// Parse classical private key
|
|
121
47
|
const parsedPrivateKey = privateKeyOrWif.startsWith('0x')
|
|
122
48
|
? privateKeyOrWif.replace('0x', '')
|
|
123
49
|
: privateKeyOrWif;
|
|
124
50
|
|
|
125
51
|
if (BitcoinUtils.isValidHex(parsedPrivateKey)) {
|
|
126
|
-
this._keypair = EcKeyPair.fromPrivateKey(
|
|
127
|
-
Buffer.from(parsedPrivateKey, 'hex'),
|
|
128
|
-
this.network,
|
|
129
|
-
);
|
|
52
|
+
this._keypair = EcKeyPair.fromPrivateKey(fromHex(parsedPrivateKey), this.network);
|
|
130
53
|
} else {
|
|
131
54
|
this._keypair = EcKeyPair.fromWIF(parsedPrivateKey, this.network);
|
|
132
55
|
}
|
|
133
56
|
|
|
134
|
-
// Parse ML-DSA private key
|
|
135
57
|
const parsedMLDSAKey = mldsaPrivateKeyOrBase58.startsWith('0x')
|
|
136
58
|
? mldsaPrivateKeyOrBase58.replace('0x', '')
|
|
137
59
|
: mldsaPrivateKeyOrBase58;
|
|
138
60
|
|
|
139
|
-
// Check if it's a base58 extended key
|
|
140
61
|
if (BitcoinUtils.isValidHex(parsedMLDSAKey)) {
|
|
141
|
-
|
|
142
|
-
const mldsaBuffer = Buffer.from(parsedMLDSAKey, 'hex');
|
|
62
|
+
const mldsaBuffer = fromHex(parsedMLDSAKey);
|
|
143
63
|
|
|
144
|
-
// Get expected lengths for this security level and network
|
|
145
64
|
const config = getMLDSAConfig(securityLevel, this.network);
|
|
146
65
|
const privateKeySize = config.privateKeySize;
|
|
147
66
|
const publicKeySize = config.publicKeySize;
|
|
148
67
|
const combinedSize = privateKeySize + publicKeySize;
|
|
149
68
|
|
|
150
|
-
let mldsaPrivateKeyBuffer:
|
|
69
|
+
let mldsaPrivateKeyBuffer: Uint8Array;
|
|
151
70
|
|
|
152
|
-
// Check if it's just the private key, or private+public combined
|
|
153
71
|
if (mldsaBuffer.length === privateKeySize) {
|
|
154
|
-
// Just the private key
|
|
155
72
|
mldsaPrivateKeyBuffer = mldsaBuffer;
|
|
156
73
|
} else if (mldsaBuffer.length === combinedSize) {
|
|
157
|
-
// Combined privateKey || publicKey format (from Mnemonic.derive)
|
|
158
|
-
// Extract just the private key portion
|
|
159
74
|
mldsaPrivateKeyBuffer = mldsaBuffer.subarray(0, privateKeySize);
|
|
160
75
|
} else {
|
|
161
76
|
throw new Error(
|
|
@@ -163,15 +78,12 @@ export class Wallet {
|
|
|
163
78
|
);
|
|
164
79
|
}
|
|
165
80
|
|
|
166
|
-
// Use provided chain code or generate a random one
|
|
167
81
|
if (chainCode && chainCode.length !== 32) {
|
|
168
82
|
throw new Error('Chain code must be 32 bytes');
|
|
169
83
|
}
|
|
170
84
|
|
|
171
|
-
this._chainCode = chainCode ||
|
|
85
|
+
this._chainCode = chainCode || new Uint8Array(32);
|
|
172
86
|
|
|
173
|
-
// Create QuantumBIP32Interface from private key and chain code
|
|
174
|
-
// Pass network to ensure network-specific derivation
|
|
175
87
|
this._mldsaKeypair = QuantumBIP32Factory.fromPrivateKey(
|
|
176
88
|
mldsaPrivateKeyBuffer,
|
|
177
89
|
this._chainCode,
|
|
@@ -180,11 +92,10 @@ export class Wallet {
|
|
|
180
92
|
);
|
|
181
93
|
} else {
|
|
182
94
|
this._mldsaKeypair = QuantumBIP32Factory.fromBase58(parsedMLDSAKey);
|
|
183
|
-
this._chainCode =
|
|
95
|
+
this._chainCode = new Uint8Array(this._mldsaKeypair.chainCode);
|
|
184
96
|
this._securityLevel = this._mldsaKeypair.securityLevel;
|
|
185
97
|
}
|
|
186
98
|
|
|
187
|
-
// Set up addresses
|
|
188
99
|
this._bufferPubKey = this._keypair.publicKey;
|
|
189
100
|
this._address = new Address(this._mldsaKeypair.publicKey, this._keypair.publicKey);
|
|
190
101
|
|
|
@@ -197,170 +108,99 @@ export class Wallet {
|
|
|
197
108
|
this._tweakedKey = this._address.tweakedPublicKeyToBuffer();
|
|
198
109
|
}
|
|
199
110
|
|
|
200
|
-
/**
|
|
201
|
-
* Get the address for the wallet
|
|
202
|
-
*/
|
|
203
111
|
public get address(): Address {
|
|
204
112
|
return this._address;
|
|
205
113
|
}
|
|
206
114
|
|
|
207
|
-
|
|
208
|
-
* Get the tweaked public key for Taproot
|
|
209
|
-
*/
|
|
210
|
-
public get tweakedPubKeyKey(): Buffer {
|
|
115
|
+
public get tweakedPubKeyKey(): Uint8Array {
|
|
211
116
|
return this._tweakedKey;
|
|
212
117
|
}
|
|
213
118
|
|
|
214
|
-
|
|
215
|
-
* Get the classical keypair for the wallet
|
|
216
|
-
*/
|
|
217
|
-
public get keypair(): ECPairInterface {
|
|
119
|
+
public get keypair(): UniversalSigner {
|
|
218
120
|
if (!this._keypair) throw new Error('Keypair not set');
|
|
219
121
|
return this._keypair;
|
|
220
122
|
}
|
|
221
123
|
|
|
222
|
-
/**
|
|
223
|
-
* Get the quantum ML-DSA keypair
|
|
224
|
-
*/
|
|
225
124
|
public get mldsaKeypair(): QuantumBIP32Interface {
|
|
226
125
|
return this._mldsaKeypair;
|
|
227
126
|
}
|
|
228
127
|
|
|
229
|
-
/**
|
|
230
|
-
* Get the ML-DSA security level
|
|
231
|
-
*/
|
|
232
128
|
public get securityLevel(): MLDSASecurityLevel {
|
|
233
129
|
return this._securityLevel;
|
|
234
130
|
}
|
|
235
131
|
|
|
236
|
-
|
|
237
|
-
* Get the chain code for BIP32 derivation
|
|
238
|
-
*/
|
|
239
|
-
public get chainCode(): Buffer {
|
|
132
|
+
public get chainCode(): Uint8Array {
|
|
240
133
|
return this._chainCode;
|
|
241
134
|
}
|
|
242
135
|
|
|
243
|
-
/**
|
|
244
|
-
* Get the P2WPKH (Native SegWit) address
|
|
245
|
-
*/
|
|
246
136
|
public get p2wpkh(): string {
|
|
247
137
|
return this._p2wpkh;
|
|
248
138
|
}
|
|
249
139
|
|
|
250
|
-
/**
|
|
251
|
-
* Get the P2TR (Taproot) address
|
|
252
|
-
*/
|
|
253
140
|
public get p2tr(): string {
|
|
254
141
|
return this._p2tr;
|
|
255
142
|
}
|
|
256
143
|
|
|
257
|
-
/**
|
|
258
|
-
* Get the P2WDA address
|
|
259
|
-
*/
|
|
260
144
|
public get p2wda(): IP2WSHAddress {
|
|
261
145
|
return this._p2wda;
|
|
262
146
|
}
|
|
263
147
|
|
|
264
|
-
/**
|
|
265
|
-
* Get the legacy P2PKH address
|
|
266
|
-
*/
|
|
267
148
|
public get legacy(): string {
|
|
268
149
|
return this._legacy;
|
|
269
150
|
}
|
|
270
151
|
|
|
271
|
-
/**
|
|
272
|
-
* Get all addresses for the wallet
|
|
273
|
-
*/
|
|
274
152
|
public get addresses(): string[] {
|
|
275
153
|
return [this.p2wpkh, this.p2tr, this.legacy, this.segwitLegacy];
|
|
276
154
|
}
|
|
277
155
|
|
|
278
|
-
/**
|
|
279
|
-
* Get the legacy SegWit (P2SH-P2WPKH) address
|
|
280
|
-
*/
|
|
281
156
|
public get segwitLegacy(): string {
|
|
282
157
|
return this._segwitLegacy;
|
|
283
158
|
}
|
|
284
159
|
|
|
285
|
-
|
|
286
|
-
* Get the classical public key
|
|
287
|
-
*/
|
|
288
|
-
public get publicKey(): Buffer {
|
|
160
|
+
public get publicKey(): Uint8Array {
|
|
289
161
|
if (!this._bufferPubKey) throw new Error('Public key not set');
|
|
290
162
|
return this._bufferPubKey;
|
|
291
163
|
}
|
|
292
164
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
*/
|
|
296
|
-
public get quantumPublicKey(): Buffer {
|
|
297
|
-
return Buffer.from(this._mldsaKeypair.publicKey);
|
|
165
|
+
public get quantumPublicKey(): Uint8Array {
|
|
166
|
+
return new Uint8Array(this._mldsaKeypair.publicKey);
|
|
298
167
|
}
|
|
299
168
|
|
|
300
|
-
|
|
301
|
-
* Get the quantum ML-DSA private key
|
|
302
|
-
*/
|
|
303
|
-
public get quantumPrivateKey(): Buffer {
|
|
169
|
+
public get quantumPrivateKey(): Uint8Array {
|
|
304
170
|
if (!this._mldsaKeypair.privateKey) {
|
|
305
171
|
throw new Error('Quantum private key not set');
|
|
306
172
|
}
|
|
307
173
|
|
|
308
|
-
return
|
|
174
|
+
return new Uint8Array(this._mldsaKeypair.privateKey);
|
|
309
175
|
}
|
|
310
176
|
|
|
311
|
-
/**
|
|
312
|
-
* Get the quantum ML-DSA public key as hex string
|
|
313
|
-
*/
|
|
314
177
|
public get quantumPublicKeyHex(): string {
|
|
315
|
-
return
|
|
178
|
+
return toHex(new Uint8Array(this._mldsaKeypair.publicKey));
|
|
316
179
|
}
|
|
317
180
|
|
|
318
|
-
/**
|
|
319
|
-
* Get the quantum ML-DSA private key as hex string
|
|
320
|
-
*/
|
|
321
181
|
public get quantumPrivateKeyHex(): string {
|
|
322
182
|
if (!this._mldsaKeypair.privateKey) {
|
|
323
183
|
throw new Error('Quantum private key not set');
|
|
324
184
|
}
|
|
325
185
|
|
|
326
|
-
return
|
|
186
|
+
return toHex(new Uint8Array(this._mldsaKeypair.privateKey));
|
|
327
187
|
}
|
|
328
188
|
|
|
329
|
-
|
|
330
|
-
* Get the x-only public key for Taproot
|
|
331
|
-
*/
|
|
332
|
-
public get xOnly(): Buffer {
|
|
189
|
+
public get xOnly(): Uint8Array {
|
|
333
190
|
if (!this.keypair) throw new Error('Keypair not set');
|
|
334
|
-
return toXOnly(this._bufferPubKey);
|
|
191
|
+
return toXOnly(this._bufferPubKey as PublicKey);
|
|
335
192
|
}
|
|
336
193
|
|
|
337
|
-
/**
|
|
338
|
-
* Create a wallet from WIF strings
|
|
339
|
-
*
|
|
340
|
-
* @param wif - The classical WIF private key
|
|
341
|
-
* @param quantumPrivateKeyHex - The quantum ML-DSA private key (hex)
|
|
342
|
-
* @param network - The network (default: bitcoin mainnet)
|
|
343
|
-
* @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
|
|
344
|
-
* @param chainCode - Optional chain code for BIP32 derivation
|
|
345
|
-
* @returns A Wallet instance
|
|
346
|
-
*/
|
|
347
194
|
public static fromWif(
|
|
348
195
|
wif: string,
|
|
349
196
|
quantumPrivateKeyHex: string,
|
|
350
197
|
network: Network = networks.bitcoin,
|
|
351
198
|
securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
|
|
352
|
-
chainCode?:
|
|
199
|
+
chainCode?: Uint8Array,
|
|
353
200
|
): Wallet {
|
|
354
201
|
return new Wallet(wif, quantumPrivateKeyHex, network, securityLevel, chainCode);
|
|
355
202
|
}
|
|
356
203
|
|
|
357
|
-
/**
|
|
358
|
-
* Generate a new random wallet with both classical and quantum keys
|
|
359
|
-
*
|
|
360
|
-
* @param network - The network (default: bitcoin mainnet)
|
|
361
|
-
* @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
|
|
362
|
-
* @returns A new Wallet instance with randomly generated keys
|
|
363
|
-
*/
|
|
364
204
|
public static generate(
|
|
365
205
|
network: Network = networks.bitcoin,
|
|
366
206
|
securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
|
|
@@ -379,22 +219,12 @@ export class Wallet {
|
|
|
379
219
|
);
|
|
380
220
|
}
|
|
381
221
|
|
|
382
|
-
/**
|
|
383
|
-
* Create a wallet from private key hex strings
|
|
384
|
-
*
|
|
385
|
-
* @param privateKeyHexOrWif - The classical private key
|
|
386
|
-
* @param mldsaPrivateKeyOrBase58 - The quantum ML-DSA private key
|
|
387
|
-
* @param network - The network (default: bitcoin mainnet)
|
|
388
|
-
* @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
|
|
389
|
-
* @param chainCode - Optional chain code for BIP32 derivation
|
|
390
|
-
* @returns A Wallet instance
|
|
391
|
-
*/
|
|
392
222
|
public static fromPrivateKeys(
|
|
393
223
|
privateKeyHexOrWif: string,
|
|
394
224
|
mldsaPrivateKeyOrBase58: string,
|
|
395
225
|
network: Network = networks.bitcoin,
|
|
396
226
|
securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
|
|
397
|
-
chainCode?:
|
|
227
|
+
chainCode?: Uint8Array,
|
|
398
228
|
): Wallet {
|
|
399
229
|
return new Wallet(
|
|
400
230
|
privateKeyHexOrWif,
|
|
@@ -405,69 +235,56 @@ export class Wallet {
|
|
|
405
235
|
);
|
|
406
236
|
}
|
|
407
237
|
|
|
408
|
-
/**
|
|
409
|
-
* Export the classical private key as WIF
|
|
410
|
-
*
|
|
411
|
-
* @returns The WIF-encoded private key
|
|
412
|
-
*/
|
|
413
238
|
public toWIF(): string {
|
|
414
239
|
return this._keypair.toWIF();
|
|
415
240
|
}
|
|
416
241
|
|
|
417
|
-
/**
|
|
418
|
-
* Export the classical private key as hex
|
|
419
|
-
*
|
|
420
|
-
* @returns The hex-encoded private key
|
|
421
|
-
*/
|
|
422
242
|
public toPrivateKeyHex(): string {
|
|
423
243
|
if (!this._keypair.privateKey) {
|
|
424
244
|
throw new Error('Private key not available');
|
|
425
245
|
}
|
|
426
|
-
return this._keypair.privateKey
|
|
246
|
+
return toHex(this._keypair.privateKey);
|
|
427
247
|
}
|
|
428
248
|
|
|
429
|
-
/**
|
|
430
|
-
* Export the classical public key as hex
|
|
431
|
-
*
|
|
432
|
-
* @returns The hex-encoded public key
|
|
433
|
-
*/
|
|
434
249
|
public toPublicKeyHex(): string {
|
|
435
|
-
return this._bufferPubKey
|
|
250
|
+
return toHex(this._bufferPubKey);
|
|
436
251
|
}
|
|
437
252
|
|
|
438
|
-
/**
|
|
439
|
-
* Export quantum keypair as base58 extended key
|
|
440
|
-
*
|
|
441
|
-
* @returns The base58-encoded extended quantum key
|
|
442
|
-
*/
|
|
443
253
|
public toQuantumBase58(): string {
|
|
444
254
|
return this._mldsaKeypair.toBase58();
|
|
445
255
|
}
|
|
446
256
|
|
|
447
257
|
/**
|
|
448
|
-
*
|
|
258
|
+
* Best-effort zeroing of private key material held by this wallet.
|
|
449
259
|
*
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
|
|
260
|
+
* Zeros classical and quantum private key buffers and the chain code in-place.
|
|
261
|
+
* This cannot guarantee all copies are erased (the JS runtime may have copied
|
|
262
|
+
* buffers internally, and string representations cannot be zeroed), but it
|
|
263
|
+
* eliminates the primary references.
|
|
264
|
+
*/
|
|
265
|
+
public zeroize(): void {
|
|
266
|
+
this._keypair.privateKey?.fill(0);
|
|
267
|
+
this._mldsaKeypair.privateKey?.fill(0);
|
|
268
|
+
this._chainCode.fill(0);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
public [Symbol.dispose](): void {
|
|
272
|
+
this.zeroize();
|
|
273
|
+
}
|
|
274
|
+
|
|
454
275
|
public derivePath(path: string): Wallet {
|
|
455
|
-
// Derive quantum key
|
|
456
276
|
const derivedQuantum = this._mldsaKeypair.derivePath(path);
|
|
457
277
|
|
|
458
|
-
// Derive classical key using BIP32
|
|
459
278
|
if (!this._keypair.privateKey) {
|
|
460
279
|
throw new Error('Cannot derive from a watch-only wallet (no private key available)');
|
|
461
280
|
}
|
|
462
281
|
|
|
463
|
-
// Create BIP32 node from current private key and chain code
|
|
464
282
|
const bip32Root = EcKeyPair.BIP32.fromPrivateKey(
|
|
465
283
|
this._keypair.privateKey,
|
|
466
284
|
this._chainCode,
|
|
467
285
|
this.network,
|
|
468
286
|
);
|
|
469
287
|
|
|
470
|
-
// Derive the child key using the provided path
|
|
471
288
|
const derivedClassical = bip32Root.derivePath(path);
|
|
472
289
|
if (!derivedClassical.privateKey) {
|
|
473
290
|
throw new Error('Failed to derive classical private key');
|
|
@@ -477,14 +294,12 @@ export class Wallet {
|
|
|
477
294
|
throw new Error('Failed to derive classical chain code');
|
|
478
295
|
}
|
|
479
296
|
|
|
480
|
-
// Create new wallet from derived keys
|
|
481
|
-
// Pass the derived chain code so the child wallet can derive further children
|
|
482
297
|
return new Wallet(
|
|
483
|
-
|
|
298
|
+
toHex(new Uint8Array(derivedClassical.privateKey)),
|
|
484
299
|
derivedQuantum.toBase58(),
|
|
485
300
|
this.network,
|
|
486
301
|
this._securityLevel,
|
|
487
|
-
|
|
302
|
+
new Uint8Array(derivedClassical.chainCode),
|
|
488
303
|
);
|
|
489
304
|
}
|
|
490
305
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Network, networks } from '@btc-vision/bitcoin';
|
|
1
|
+
import { type Network, networks } from '@btc-vision/bitcoin';
|
|
2
2
|
|
|
3
3
|
export abstract class ContractBaseMetadata {
|
|
4
4
|
protected abstract readonly address: string;
|
|
@@ -9,7 +9,7 @@ export abstract class ContractBaseMetadata {
|
|
|
9
9
|
* @description Get the contract address
|
|
10
10
|
* @param {Network} network - The network to get the address for
|
|
11
11
|
*/
|
|
12
|
-
public static getAddress(
|
|
12
|
+
public static getAddress(_network: Network = networks.bitcoin): string {
|
|
13
13
|
throw new Error('Method not implemented.');
|
|
14
14
|
}
|
|
15
15
|
|