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