@btc-vision/transaction 1.8.0-beta.0 → 1.8.0-beta.10
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 +2 -1
- package/browser/_version.d.ts.map +1 -0
- package/browser/abi/ABICoder.d.ts +15 -36
- package/browser/abi/ABICoder.d.ts.map +1 -0
- package/browser/abi/ABIDataTypes.d.ts +35 -0
- package/browser/abi/ABIDataTypes.d.ts.map +1 -0
- package/browser/abi/AbiTypes.d.ts +50 -0
- package/browser/abi/AbiTypes.d.ts.map +1 -0
- package/browser/abi/TupleUtils.d.ts +25 -0
- package/browser/abi/TupleUtils.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 +12388 -3684
- 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 +3921 -3450
- 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 -20
- 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 +920 -2966
- package/browser/noble-hashes.js +2067 -1038
- package/browser/opnet.d.ts +25 -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 +5 -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 +238 -15
- 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 +33 -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 +13940 -9389
- package/browser/verification/TapscriptVerificator.d.ts +10 -8
- package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/_version.d.ts +2 -1
- package/build/_version.d.ts.map +1 -0
- package/build/_version.js +2 -1
- package/build/_version.js.map +1 -0
- package/build/abi/ABICoder.d.ts +15 -36
- package/build/abi/ABICoder.d.ts.map +1 -0
- package/build/abi/ABICoder.js +120 -143
- package/build/abi/ABICoder.js.map +1 -0
- package/build/abi/ABIDataTypes.d.ts +35 -0
- package/build/abi/ABIDataTypes.d.ts.map +1 -0
- package/build/abi/ABIDataTypes.js +42 -0
- package/build/abi/ABIDataTypes.js.map +1 -0
- package/build/abi/AbiTypes.d.ts +50 -0
- package/build/abi/AbiTypes.d.ts.map +1 -0
- package/build/abi/AbiTypes.js +78 -0
- package/build/abi/AbiTypes.js.map +1 -0
- package/build/abi/TupleUtils.d.ts +25 -0
- package/build/abi/TupleUtils.d.ts.map +1 -0
- package/build/abi/TupleUtils.js +50 -0
- package/build/abi/TupleUtils.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 +37 -16
- 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 +447 -129
- 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 -22
- package/build/keypair/EcKeyPair.d.ts.map +1 -0
- package/build/keypair/EcKeyPair.js +226 -49
- 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 +29 -3
- package/build/opnet.d.ts.map +1 -0
- package/build/opnet.js +26 -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 +6 -4
- package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/build/transaction/builders/FundingTransaction.js +50 -9
- 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 +244 -20
- package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/build/transaction/builders/TransactionBuilder.js +371 -152
- 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 +38 -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 +280 -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/documentation/offline-transaction-signing.md +10 -8
- package/documentation/quantum-support/01-introduction.md +2 -2
- package/documentation/quantum-support/02-mnemonic-and-wallet.md +5 -3
- package/documentation/quantum-support/03-address-generation.md +6 -4
- package/documentation/quantum-support/04-message-signing.md +36 -43
- package/documentation/quantum-support/05-address-verification.md +13 -18
- package/documentation/quantum-support/README.md +1 -1
- package/documentation/transaction-building.md +9 -9
- package/eslint.config.js +0 -1
- package/package.json +16 -39
- package/src/_version.ts +1 -1
- package/src/abi/ABICoder.ts +131 -154
- package/src/abi/ABIDataTypes.ts +45 -0
- package/src/abi/AbiTypes.ts +183 -0
- package/src/abi/TupleUtils.ts +57 -0
- 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 +36 -25
- package/src/consensus/ConsensusConfig.ts +1 -1
- package/src/consensus/IConsensusConfig.ts +0 -17
- package/src/consensus/metadata/RoswellConsensus.ts +1 -17
- package/src/crypto/crypto-browser.js +3 -4
- 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 +115 -72
- package/src/keypair/AddressVerificator.ts +14 -148
- package/src/keypair/EcKeyPair.ts +110 -111
- 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 +15 -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 +38 -53
- 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 +53 -12
- 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 +159 -255
- 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 +28 -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 +318 -125
- 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/add-refund-output.test.ts +535 -0
- 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 +482 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TapscriptVerificator.js","sourceRoot":"","sources":["../../src/verification/TapscriptVerificator.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EACN,MAAM,IAAI,SAAS,EACnB,MAAM,EAEN,QAAQ,EACR,OAAO,EAGP,QAAQ,EAER,MAAM,EAGN,OAAO,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAgB,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAoBnE,MAAM,OAAO,oBAAoB;IACrB,MAAM,CAAU,kBAAkB,GAAW,GAAG,CAAC;IAElD,MAAM,CAAC,kBAAkB,CAC5B,MAAyC;QAEzC,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEpE,OAAO,oBAAoB,CAAC,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAC5B,MAAyC,EACzC,YAAwB;QAExB,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAC/C,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC1B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAC9C,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE;gBACJ,MAAM,EAAE,oBAA8B;gBACtC,aAAa,EAAE,oBAAoB,CAAC,kBAAkB;aACzD;SACJ,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,oBAAoB,GAAe,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAe,CAAC;QACnF,OAAO,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,eAAe,CACzB,cAA0B,EAC1B,QAAoB,EACpB,QAAoB;QAEpB,MAAM,gBAAgB,GAAe,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,GAAG,GAAe,MAAM,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7E,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,yBAAyB,CACnC,MAAyC,EACzC,UAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;QACnD,MAAM,eAAe,GAA8B;YAC/C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAC9C,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,MAAM,EAAE,GAAY,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,eAAe,CAC1B,MAAyC;QAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;QACnD,MAAM,aAAa,GAAwB,IAAI,mBAAmB,CAC9D,MAAM,CAAC,cAAc,EACrB,OAAO,CAAC,MAAM,CAAC,kBAA+B,CAAC,EAC/C,OAAO,CACV,CAAC;QAEF,MAAM,oBAAoB,GAAe,aAAa,CAAC,OAAO,CAC1D,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,CAClB,CAAC;QAEF,MAAM,cAAc,GAAW,MAAM,CAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAC9B,OAAO,CAAC,WAAW;SACtB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAY;YACxB;gBACI,MAAM,EAAE,oBAAoB;gBAC5B,OAAO,EAAE,oBAAoB,CAAC,kBAAkB;aACnD;YACD;gBACI,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,oBAAoB,CAAC,kBAAkB;aACnD;SACJ,CAAC;QAEF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC;IACzD,CAAC"}
|
|
@@ -195,7 +195,7 @@ Options for reconstructing a transaction from serialized state:
|
|
|
195
195
|
```typescript
|
|
196
196
|
interface ReconstructionOptions {
|
|
197
197
|
// Primary signer (required)
|
|
198
|
-
signer: Signer |
|
|
198
|
+
signer: Signer | UniversalSigner;
|
|
199
199
|
|
|
200
200
|
// Optional: Override fee rate for fee bumping
|
|
201
201
|
newFeeRate?: number;
|
|
@@ -274,9 +274,9 @@ const exported = OfflineTransactionManager.exportFunding(params);
|
|
|
274
274
|
|
|
275
275
|
// Phase 2: Provide signers for each address
|
|
276
276
|
const offlineSignerMap = createSignerMap([
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
]
|
|
277
|
+
['bc1p...address1', offlineSigner1],
|
|
278
|
+
['bc1p...address2', offlineSigner2],
|
|
279
|
+
]);
|
|
280
280
|
|
|
281
281
|
const signedTx = await OfflineTransactionManager.importSignAndExport(
|
|
282
282
|
exported,
|
|
@@ -373,7 +373,7 @@ flowchart LR
|
|
|
373
373
|
// Add a signature from one signer
|
|
374
374
|
static async multiSigAddSignature(
|
|
375
375
|
serializedState: string,
|
|
376
|
-
signer: Signer |
|
|
376
|
+
signer: Signer | UniversalSigner
|
|
377
377
|
): Promise<{
|
|
378
378
|
state: string; // Updated state with new signature
|
|
379
379
|
signed: boolean; // Whether signing succeeded
|
|
@@ -384,7 +384,7 @@ static async multiSigAddSignature(
|
|
|
384
384
|
// Check if a public key has already signed
|
|
385
385
|
static multiSigHasSigned(
|
|
386
386
|
serializedState: string,
|
|
387
|
-
signerPubKey:
|
|
387
|
+
signerPubKey: Uint8Array | string
|
|
388
388
|
): boolean;
|
|
389
389
|
|
|
390
390
|
// Get current signature status
|
|
@@ -508,9 +508,11 @@ interface PrecomputedData {
|
|
|
508
508
|
For Deployment and Interaction transactions, `randomBytes` and `compiledTargetScript` are required:
|
|
509
509
|
|
|
510
510
|
```typescript
|
|
511
|
+
import { toHex } from '@btc-vision/bitcoin';
|
|
512
|
+
|
|
511
513
|
const exported = OfflineTransactionManager.exportDeployment(params, {
|
|
512
|
-
randomBytes: builder.getRandomBytes()
|
|
513
|
-
compiledTargetScript: builder.getCompiledScript()
|
|
514
|
+
randomBytes: toHex(builder.getRandomBytes()),
|
|
515
|
+
compiledTargetScript: toHex(builder.getCompiledScript()),
|
|
514
516
|
});
|
|
515
517
|
```
|
|
516
518
|
|
|
@@ -52,7 +52,7 @@ OPNet uses a **dual-key system** for maximum compatibility and security:
|
|
|
52
52
|
|
|
53
53
|
```typescript
|
|
54
54
|
import { Mnemonic, MessageSigner, MLDSASecurityLevel } from '@btc-vision/transaction';
|
|
55
|
-
import { networks } from '@btc-vision/bitcoin';
|
|
55
|
+
import { networks, toHex } from '@btc-vision/bitcoin';
|
|
56
56
|
|
|
57
57
|
// Generate a new quantum-resistant wallet
|
|
58
58
|
const mnemonic = Mnemonic.generate(undefined, '', networks.bitcoin, MLDSASecurityLevel.LEVEL2);
|
|
@@ -67,7 +67,7 @@ console.log('Quantum Address:', quantumAddress);
|
|
|
67
67
|
// Sign a message with ML-DSA
|
|
68
68
|
const message = 'Hello, Quantum World!';
|
|
69
69
|
const signature = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, message);
|
|
70
|
-
console.log('ML-DSA Signature:',
|
|
70
|
+
console.log('ML-DSA Signature:', toHex(signature.signature));
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
## What's New
|
|
@@ -273,7 +273,7 @@ console.log('Uncompressed:', wallet.toUncompressedPublicKey()); // 65 bytes
|
|
|
273
273
|
console.log('Private key:', wallet.privateKey); // 32 bytes hex
|
|
274
274
|
|
|
275
275
|
// Key pair
|
|
276
|
-
console.log('EC Keypair:', wallet.keypair); //
|
|
276
|
+
console.log('EC Keypair:', wallet.keypair); // UniversalSigner
|
|
277
277
|
```
|
|
278
278
|
|
|
279
279
|
### Quantum Keys
|
|
@@ -383,9 +383,11 @@ console.log('Quantum key size:', quantumRoot.publicKey.length);
|
|
|
383
383
|
const mnemonic = Mnemonic.generate();
|
|
384
384
|
const wallet = mnemonic.derive(0);
|
|
385
385
|
|
|
386
|
+
import { toHex } from '@btc-vision/bitcoin';
|
|
387
|
+
|
|
386
388
|
// Chain codes for key derivation
|
|
387
|
-
console.log('Classical chain code:', wallet.keypair.chainCode
|
|
388
|
-
console.log('Quantum chain code:', wallet.mldsaKeypair.chainCode
|
|
389
|
+
console.log('Classical chain code:', wallet.keypair.chainCode ? toHex(wallet.keypair.chainCode) : undefined);
|
|
390
|
+
console.log('Quantum chain code:', toHex(wallet.mldsaKeypair.chainCode));
|
|
389
391
|
```
|
|
390
392
|
|
|
391
393
|
### Deterministic Derivation
|
|
@@ -120,9 +120,11 @@ console.log('P2WDA:', p2wdaAddress);
|
|
|
120
120
|
import { Address } from '@btc-vision/transaction';
|
|
121
121
|
import { networks } from '@btc-vision/bitcoin';
|
|
122
122
|
|
|
123
|
+
import { fromHex } from '@btc-vision/bitcoin';
|
|
124
|
+
|
|
123
125
|
// From ML-DSA public key hash and classical public key
|
|
124
|
-
const mldsaHash =
|
|
125
|
-
const classicalKey =
|
|
126
|
+
const mldsaHash = new Uint8Array(32).fill(0x01); // SHA256 of ML-DSA public key
|
|
127
|
+
const classicalKey = fromHex('02...'); // 33-byte compressed key
|
|
126
128
|
|
|
127
129
|
const address = new Address(mldsaHash, classicalKey);
|
|
128
130
|
|
|
@@ -157,11 +159,11 @@ const address = wallet.address;
|
|
|
157
159
|
|
|
158
160
|
// Quantum address (SHA256 hash of ML-DSA public key) - Universal public key
|
|
159
161
|
console.log('Quantum address:', address.toHex());
|
|
160
|
-
console.log('Quantum address
|
|
162
|
+
console.log('Quantum address bytes:', address.toBuffer());
|
|
161
163
|
|
|
162
164
|
// Classical public key
|
|
163
165
|
console.log('Classical key (hex):', address.tweakedToHex());
|
|
164
|
-
console.log('Classical key (
|
|
166
|
+
console.log('Classical key (bytes):', address.tweakedPublicKeyToBuffer());
|
|
165
167
|
|
|
166
168
|
// Original keys
|
|
167
169
|
console.log('Full ML-DSA public key:', address.mldsaPublicKey); // 1312-2592 bytes
|
|
@@ -16,7 +16,7 @@ Sign messages with quantum-resistant ML-DSA signatures:
|
|
|
16
16
|
|
|
17
17
|
```typescript
|
|
18
18
|
import { Mnemonic, MessageSigner, MLDSASecurityLevel } from '@btc-vision/transaction';
|
|
19
|
-
import { networks } from '@btc-vision/bitcoin';
|
|
19
|
+
import { networks, toHex } from '@btc-vision/bitcoin';
|
|
20
20
|
|
|
21
21
|
// Generate wallet
|
|
22
22
|
const mnemonic = Mnemonic.generate(undefined, '', networks.bitcoin, MLDSASecurityLevel.LEVEL2);
|
|
@@ -27,8 +27,8 @@ const message = 'Hello, Quantum World!';
|
|
|
27
27
|
const signed = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, message);
|
|
28
28
|
|
|
29
29
|
console.log('Message:', signed.message);
|
|
30
|
-
console.log('Signature:',
|
|
31
|
-
console.log('Public Key:',
|
|
30
|
+
console.log('Signature:', toHex(signed.signature));
|
|
31
|
+
console.log('Public Key:', toHex(signed.publicKey));
|
|
32
32
|
console.log('Security Level:', signed.securityLevel);
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -118,7 +118,7 @@ Parameters for `QuantumBIP32Factory.fromPublicKey()`:
|
|
|
118
118
|
```typescript
|
|
119
119
|
const keypair = QuantumBIP32Factory.fromPublicKey(
|
|
120
120
|
publicKey, // Uint8Array - ML-DSA public key (1312-2592 bytes)
|
|
121
|
-
chainCode, //
|
|
121
|
+
chainCode, // Uint8Array - Chain code (32 bytes)
|
|
122
122
|
network, // Network - networks.bitcoin, networks.testnet, or networks.regtest
|
|
123
123
|
securityLevel // MLDSASecurityLevel - LEVEL2, LEVEL3, or LEVEL5
|
|
124
124
|
);
|
|
@@ -158,11 +158,13 @@ console.log('Valid:', valid); // true
|
|
|
158
158
|
**Scenario 2: Verifying a signature from someone else**
|
|
159
159
|
|
|
160
160
|
```typescript
|
|
161
|
+
import { fromHex } from '@btc-vision/bitcoin';
|
|
162
|
+
|
|
161
163
|
// You receive these from the network/API:
|
|
162
|
-
const receivedPublicKey =
|
|
164
|
+
const receivedPublicKey = fromHex(/* hex string from network */);
|
|
163
165
|
const receivedMessage = 'Message from sender';
|
|
164
|
-
const receivedSignature =
|
|
165
|
-
const receivedChainCode =
|
|
166
|
+
const receivedSignature = fromHex(/* hex string from network */);
|
|
167
|
+
const receivedChainCode = fromHex(/* hex string from network */);
|
|
166
168
|
const receivedSecurityLevel = MLDSASecurityLevel.LEVEL2;
|
|
167
169
|
|
|
168
170
|
// Reconstruct keypair from public key
|
|
@@ -186,6 +188,8 @@ console.log('Signature from other party valid:', valid);
|
|
|
186
188
|
**Scenario 3: Verifying stored signatures**
|
|
187
189
|
|
|
188
190
|
```typescript
|
|
191
|
+
import { fromHex } from '@btc-vision/bitcoin';
|
|
192
|
+
|
|
189
193
|
// Load public key and signature from database
|
|
190
194
|
const storedPublicKey = await db.getPublicKey(userId);
|
|
191
195
|
const storedChainCode = await db.getChainCode(userId);
|
|
@@ -195,8 +199,8 @@ const message = await db.getMessage(messageId);
|
|
|
195
199
|
|
|
196
200
|
// Reconstruct keypair
|
|
197
201
|
const keypair = QuantumBIP32Factory.fromPublicKey(
|
|
198
|
-
|
|
199
|
-
|
|
202
|
+
fromHex(storedPublicKey),
|
|
203
|
+
fromHex(storedChainCode),
|
|
200
204
|
networks.bitcoin,
|
|
201
205
|
storedSecurityLevel
|
|
202
206
|
);
|
|
@@ -205,7 +209,7 @@ const keypair = QuantumBIP32Factory.fromPublicKey(
|
|
|
205
209
|
const valid = MessageSigner.verifyMLDSASignature(
|
|
206
210
|
keypair,
|
|
207
211
|
message,
|
|
208
|
-
|
|
212
|
+
fromHex(signature)
|
|
209
213
|
);
|
|
210
214
|
|
|
211
215
|
console.log('Stored signature valid:', valid);
|
|
@@ -247,8 +251,8 @@ const message = 'Hello, Bitcoin!';
|
|
|
247
251
|
const signed = MessageSigner.signMessage(wallet.keypair, message);
|
|
248
252
|
|
|
249
253
|
console.log('Message:', signed.message);
|
|
250
|
-
console.log('Signature:',
|
|
251
|
-
console.log('Public Key:',
|
|
254
|
+
console.log('Signature:', toHex(signed.signature));
|
|
255
|
+
console.log('Public Key:', toHex(signed.publicKey));
|
|
252
256
|
console.log('Signature Size:', signed.signature.length); // 64 bytes (Schnorr)
|
|
253
257
|
```
|
|
254
258
|
|
|
@@ -286,19 +290,20 @@ const signed2 = MessageSigner.signMLDSAMessage(
|
|
|
286
290
|
);
|
|
287
291
|
```
|
|
288
292
|
|
|
289
|
-
###
|
|
293
|
+
### Uint8Array Messages
|
|
290
294
|
|
|
291
295
|
```typescript
|
|
292
296
|
// From UTF-8 string
|
|
293
|
-
const message1 =
|
|
297
|
+
const message1 = new TextEncoder().encode('Hello, Uint8Array!');
|
|
294
298
|
const signed1 = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, message1);
|
|
295
299
|
|
|
296
300
|
// Binary data
|
|
297
|
-
const message2 =
|
|
301
|
+
const message2 = new Uint8Array([0x01, 0x02, 0x03, 0x04]);
|
|
298
302
|
const signed2 = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, message2);
|
|
299
303
|
|
|
300
304
|
// From hex
|
|
301
|
-
|
|
305
|
+
import { fromHex } from '@btc-vision/bitcoin';
|
|
306
|
+
const message3 = fromHex('abcdef1234567890');
|
|
302
307
|
const signed3 = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, message3);
|
|
303
308
|
```
|
|
304
309
|
|
|
@@ -344,19 +349,18 @@ const publicKeyPair = QuantumBIP32Factory.fromPublicKey(
|
|
|
344
349
|
securityLevel
|
|
345
350
|
);
|
|
346
351
|
|
|
347
|
-
// Verify with
|
|
348
|
-
const
|
|
352
|
+
// Verify with Uint8Array
|
|
353
|
+
const messageBytes = new TextEncoder().encode(message);
|
|
349
354
|
const valid1 = MessageSigner.verifyMLDSASignature(
|
|
350
355
|
publicKeyPair,
|
|
351
|
-
|
|
356
|
+
messageBytes,
|
|
352
357
|
signed.signature
|
|
353
358
|
);
|
|
354
359
|
|
|
355
|
-
// Verify with
|
|
356
|
-
const messageArray = new Uint8Array(Buffer.from(message, 'utf-8'));
|
|
360
|
+
// Verify with string directly
|
|
357
361
|
const valid2 = MessageSigner.verifyMLDSASignature(
|
|
358
362
|
publicKeyPair,
|
|
359
|
-
|
|
363
|
+
message,
|
|
360
364
|
signed.signature
|
|
361
365
|
);
|
|
362
366
|
|
|
@@ -378,8 +382,8 @@ const wallet = mnemonic.derive(0);
|
|
|
378
382
|
const message = 'Taproot message';
|
|
379
383
|
const signed = MessageSigner.tweakAndSignMessage(wallet.keypair, message);
|
|
380
384
|
|
|
381
|
-
console.log('Tweaked Signature:',
|
|
382
|
-
console.log('Tweaked Public Key:',
|
|
385
|
+
console.log('Tweaked Signature:', toHex(signed.signature));
|
|
386
|
+
console.log('Tweaked Public Key:', toHex(signed.publicKey));
|
|
383
387
|
```
|
|
384
388
|
|
|
385
389
|
### Verifying Tweaked Signatures
|
|
@@ -413,7 +417,7 @@ const longMessage = 'This is a very long message that will be hashed before sign
|
|
|
413
417
|
|
|
414
418
|
// Automatically hashed to 32 bytes before signing
|
|
415
419
|
const hash = MessageSigner.sha256(longMessage);
|
|
416
|
-
console.log('Message hash:',
|
|
420
|
+
console.log('Message hash:', toHex(hash));
|
|
417
421
|
console.log('Hash length:', hash.length); // 32 bytes
|
|
418
422
|
|
|
419
423
|
// Then signed
|
|
@@ -465,8 +469,8 @@ if (!isValid) {
|
|
|
465
469
|
// Store signatures with metadata
|
|
466
470
|
const signatureData = {
|
|
467
471
|
message: signed.message,
|
|
468
|
-
signature:
|
|
469
|
-
publicKey:
|
|
472
|
+
signature: toHex(signed.signature),
|
|
473
|
+
publicKey: toHex(signed.publicKey),
|
|
470
474
|
securityLevel: signed.securityLevel,
|
|
471
475
|
timestamp: Date.now()
|
|
472
476
|
};
|
|
@@ -525,7 +529,7 @@ import {
|
|
|
525
529
|
Mnemonic,
|
|
526
530
|
QuantumBIP32Factory,
|
|
527
531
|
} from '@btc-vision/transaction';
|
|
528
|
-
import { networks } from '@btc-vision/bitcoin';
|
|
532
|
+
import { networks, toHex } from '@btc-vision/bitcoin';
|
|
529
533
|
|
|
530
534
|
const network = networks.regtest;
|
|
531
535
|
const securityLevel = MLDSASecurityLevel.LEVEL2;
|
|
@@ -585,13 +589,10 @@ const testMessage = 'Format test';
|
|
|
585
589
|
// String
|
|
586
590
|
const sig1 = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, testMessage);
|
|
587
591
|
|
|
588
|
-
// Buffer
|
|
589
|
-
const sig2 = MessageSigner.signMLDSAMessage(wallet.mldsaKeypair, Buffer.from(testMessage, 'utf-8'));
|
|
590
|
-
|
|
591
592
|
// Uint8Array
|
|
592
|
-
const
|
|
593
|
+
const sig2 = MessageSigner.signMLDSAMessage(
|
|
593
594
|
wallet.mldsaKeypair,
|
|
594
|
-
new
|
|
595
|
+
new TextEncoder().encode(testMessage),
|
|
595
596
|
);
|
|
596
597
|
|
|
597
598
|
// All verify successfully
|
|
@@ -599,20 +600,12 @@ console.log(
|
|
|
599
600
|
'String format valid:',
|
|
600
601
|
MessageSigner.verifyMLDSASignature(wallet.mldsaKeypair, testMessage, sig1.signature),
|
|
601
602
|
);
|
|
602
|
-
console.log(
|
|
603
|
-
'Buffer format valid:',
|
|
604
|
-
MessageSigner.verifyMLDSASignature(
|
|
605
|
-
wallet.mldsaKeypair,
|
|
606
|
-
Buffer.from(testMessage),
|
|
607
|
-
sig2.signature,
|
|
608
|
-
),
|
|
609
|
-
);
|
|
610
603
|
console.log(
|
|
611
604
|
'Uint8Array format valid:',
|
|
612
605
|
MessageSigner.verifyMLDSASignature(
|
|
613
606
|
wallet.mldsaKeypair,
|
|
614
|
-
new
|
|
615
|
-
|
|
607
|
+
new TextEncoder().encode(testMessage),
|
|
608
|
+
sig2.signature,
|
|
616
609
|
),
|
|
617
610
|
);
|
|
618
611
|
```
|
|
@@ -16,22 +16,22 @@ The `AddressVerificator` provides methods to validate ML-DSA public keys and det
|
|
|
16
16
|
import { AddressVerificator, MLDSASecurityLevel } from '@btc-vision/transaction';
|
|
17
17
|
|
|
18
18
|
// Valid ML-DSA-44 public key (1312 bytes)
|
|
19
|
-
const level2Key =
|
|
19
|
+
const level2Key = new Uint8Array(1312);
|
|
20
20
|
const level2Check = AddressVerificator.isValidMLDSAPublicKey(level2Key);
|
|
21
21
|
console.log('LEVEL2 valid:', level2Check); // MLDSASecurityLevel.LEVEL2
|
|
22
22
|
|
|
23
23
|
// Valid ML-DSA-65 public key (1952 bytes)
|
|
24
|
-
const level3Key =
|
|
24
|
+
const level3Key = new Uint8Array(1952);
|
|
25
25
|
const level3Check = AddressVerificator.isValidMLDSAPublicKey(level3Key);
|
|
26
26
|
console.log('LEVEL3 valid:', level3Check); // MLDSASecurityLevel.LEVEL3
|
|
27
27
|
|
|
28
28
|
// Valid ML-DSA-87 public key (2592 bytes)
|
|
29
|
-
const level5Key =
|
|
29
|
+
const level5Key = new Uint8Array(2592);
|
|
30
30
|
const level5Check = AddressVerificator.isValidMLDSAPublicKey(level5Key);
|
|
31
31
|
console.log('LEVEL5 valid:', level5Check); // MLDSASecurityLevel.LEVEL5
|
|
32
32
|
|
|
33
33
|
// Invalid length
|
|
34
|
-
const invalidKey =
|
|
34
|
+
const invalidKey = new Uint8Array(1000);
|
|
35
35
|
const invalidCheck = AddressVerificator.isValidMLDSAPublicKey(invalidKey);
|
|
36
36
|
console.log('Invalid:', invalidCheck); // null
|
|
37
37
|
```
|
|
@@ -53,15 +53,10 @@ const hexWithout0x = 'a'.repeat(2624);
|
|
|
53
53
|
const check2 = AddressVerificator.isValidMLDSAPublicKey(hexWithout0x);
|
|
54
54
|
console.log('Hex without 0x:', check2); // MLDSASecurityLevel.LEVEL2
|
|
55
55
|
|
|
56
|
-
// Buffer
|
|
57
|
-
const buffer = Buffer.alloc(1312);
|
|
58
|
-
const check3 = AddressVerificator.isValidMLDSAPublicKey(buffer);
|
|
59
|
-
console.log('Buffer:', check3); // MLDSASecurityLevel.LEVEL2
|
|
60
|
-
|
|
61
56
|
// Uint8Array
|
|
62
57
|
const uint8Array = new Uint8Array(1312);
|
|
63
|
-
const
|
|
64
|
-
console.log('Uint8Array:',
|
|
58
|
+
const check3 = AddressVerificator.isValidMLDSAPublicKey(uint8Array);
|
|
59
|
+
console.log('Uint8Array:', check3); // MLDSASecurityLevel.LEVEL2
|
|
65
60
|
```
|
|
66
61
|
|
|
67
62
|
### Validating Wallet Keys
|
|
@@ -90,18 +85,18 @@ console.log('Match:', securityLevel === wallet.securityLevel); // true
|
|
|
90
85
|
// Empty string
|
|
91
86
|
console.log(AddressVerificator.isValidMLDSAPublicKey('')); // null
|
|
92
87
|
|
|
93
|
-
// Empty
|
|
94
|
-
console.log(AddressVerificator.isValidMLDSAPublicKey(
|
|
88
|
+
// Empty Uint8Array
|
|
89
|
+
console.log(AddressVerificator.isValidMLDSAPublicKey(new Uint8Array(0))); // null
|
|
95
90
|
|
|
96
91
|
// Invalid hex
|
|
97
92
|
console.log(AddressVerificator.isValidMLDSAPublicKey('not hex')); // null
|
|
98
93
|
|
|
99
94
|
// Wrong length (classical key size)
|
|
100
|
-
const classicalKey =
|
|
95
|
+
const classicalKey = new Uint8Array(33);
|
|
101
96
|
console.log(AddressVerificator.isValidMLDSAPublicKey(classicalKey)); // null
|
|
102
97
|
|
|
103
98
|
// Wrong length (arbitrary size)
|
|
104
|
-
const wrongSize =
|
|
99
|
+
const wrongSize = new Uint8Array(1500);
|
|
105
100
|
console.log(AddressVerificator.isValidMLDSAPublicKey(wrongSize)); // null
|
|
106
101
|
```
|
|
107
102
|
|
|
@@ -234,13 +229,13 @@ console.log('=== ML-DSA Public Key Validation ===');
|
|
|
234
229
|
|
|
235
230
|
// Validate quantum public key
|
|
236
231
|
const quantumKeyHex = wallet.quantumPublicKeyHex;
|
|
237
|
-
const
|
|
232
|
+
const quantumKeyBytes = wallet.quantumPublicKey;
|
|
238
233
|
|
|
239
234
|
const securityLevelFromHex = AddressVerificator.isValidMLDSAPublicKey(quantumKeyHex);
|
|
240
|
-
const
|
|
235
|
+
const securityLevelFromBytes = AddressVerificator.isValidMLDSAPublicKey(quantumKeyBytes);
|
|
241
236
|
|
|
242
237
|
console.log('Hex validation:', securityLevelFromHex); // MLDSASecurityLevel.LEVEL2
|
|
243
|
-
console.log('
|
|
238
|
+
console.log('Uint8Array validation:', securityLevelFromBytes); // MLDSASecurityLevel.LEVEL2
|
|
244
239
|
console.log('Matches wallet:', securityLevelFromHex === wallet.securityLevel); // true
|
|
245
240
|
|
|
246
241
|
console.log('\n=== Address Type Detection ===');
|
|
@@ -44,7 +44,7 @@ Sign and verify messages using ML-DSA (quantum) and Schnorr (classical) signatur
|
|
|
44
44
|
**Topics covered:**
|
|
45
45
|
- ML-DSA message signing and verification
|
|
46
46
|
- Schnorr message signing
|
|
47
|
-
- Multiple input formats (string,
|
|
47
|
+
- Multiple input formats (string, Uint8Array, hex)
|
|
48
48
|
- Cross-format verification
|
|
49
49
|
- Tweaked signatures for Taproot
|
|
50
50
|
- Message hashing (SHA-256)
|
|
@@ -95,12 +95,12 @@ interface UTXO {
|
|
|
95
95
|
};
|
|
96
96
|
|
|
97
97
|
// Optional fields (for specific script types)
|
|
98
|
-
redeemScript?: string |
|
|
99
|
-
witnessScript?: string |
|
|
100
|
-
nonWitnessUtxo?: string |
|
|
98
|
+
redeemScript?: string | Uint8Array; // P2SH redeem script
|
|
99
|
+
witnessScript?: string | Uint8Array; // P2WSH witness script
|
|
100
|
+
nonWitnessUtxo?: string | Uint8Array; // Full previous tx (legacy)
|
|
101
101
|
|
|
102
102
|
// Address rotation support
|
|
103
|
-
signer?:
|
|
103
|
+
signer?: RotationSignerBase; // Per-UTXO signer
|
|
104
104
|
}
|
|
105
105
|
```
|
|
106
106
|
|
|
@@ -198,8 +198,8 @@ const deployResult = await factory.signDeployment({
|
|
|
198
198
|
feeRate: 10,
|
|
199
199
|
priorityFee: 1000n,
|
|
200
200
|
gasSatFee: 500n,
|
|
201
|
-
bytecode: contractBytecode, // Contract bytecode (
|
|
202
|
-
calldata: constructorData, // Constructor params (
|
|
201
|
+
bytecode: contractBytecode, // Contract bytecode (Uint8Array)
|
|
202
|
+
calldata: constructorData, // Constructor params (Uint8Array, optional)
|
|
203
203
|
challenge: epochChallenge, // ChallengeSolution
|
|
204
204
|
randomBytes: crypto.randomBytes(32),
|
|
205
205
|
});
|
|
@@ -222,7 +222,7 @@ const interactResult = await factory.signInteraction({
|
|
|
222
222
|
feeRate: 10,
|
|
223
223
|
priorityFee: 1000n,
|
|
224
224
|
gasSatFee: 500n,
|
|
225
|
-
calldata: functionCalldata, // Encoded function call (
|
|
225
|
+
calldata: functionCalldata, // Encoded function call (Uint8Array)
|
|
226
226
|
challenge: epochChallenge,
|
|
227
227
|
randomBytes: crypto.randomBytes(32),
|
|
228
228
|
});
|
|
@@ -444,11 +444,11 @@ const customTx = new CustomScriptTransaction({
|
|
|
444
444
|
priorityFee: 1000n,
|
|
445
445
|
gasSatFee: 500n,
|
|
446
446
|
script: [
|
|
447
|
-
|
|
447
|
+
new TextEncoder().encode('hello'),
|
|
448
448
|
opcodes.OP_DROP,
|
|
449
449
|
opcodes.OP_TRUE,
|
|
450
450
|
],
|
|
451
|
-
witnesses: [
|
|
451
|
+
witnesses: [new TextEncoder().encode('witness data')],
|
|
452
452
|
});
|
|
453
453
|
```
|
|
454
454
|
|
package/eslint.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@btc-vision/transaction",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.8.0-beta.
|
|
4
|
+
"version": "1.8.0-beta.10",
|
|
5
5
|
"author": "BlobMaster41",
|
|
6
6
|
"description": "OPNet transaction library allows you to create and sign transactions for the OPNet network.",
|
|
7
7
|
"engines": {
|
|
@@ -62,11 +62,6 @@
|
|
|
62
62
|
"require": "./browser/btc-vision-logger.js",
|
|
63
63
|
"default": "./browser/btc-vision-logger.js"
|
|
64
64
|
},
|
|
65
|
-
"./browser/valibot": {
|
|
66
|
-
"import": "./browser/valibot.js",
|
|
67
|
-
"require": "./browser/valibot.js",
|
|
68
|
-
"default": "./browser/valibot.js"
|
|
69
|
-
},
|
|
70
65
|
"./browser/pako": {
|
|
71
66
|
"import": "./browser/pako.js",
|
|
72
67
|
"require": "./browser/pako.js",
|
|
@@ -141,6 +136,8 @@
|
|
|
141
136
|
"browserBuild": "vite build --config vite.config.browser.ts",
|
|
142
137
|
"docs": "typedoc --out docs --exclude 'src/tests/*.ts' --tsconfig tsconfig.json --readme README.md --name OPNet --plugin typedoc-material-theme --themeColor '#cb9820' --exclude src/tests/test.ts --exclude src/index.ts src",
|
|
143
138
|
"test": "npm run build && vitest run",
|
|
139
|
+
"test:browser": "vitest run --config vitest.config.browser.ts",
|
|
140
|
+
"test:browser:watch": "vitest --config vitest.config.browser.ts",
|
|
144
141
|
"test:watch": "npm run build && vitest",
|
|
145
142
|
"test:ui": "npm run build && vitest --ui",
|
|
146
143
|
"test:coverage": "npm run build && vitest run --coverage",
|
|
@@ -148,60 +145,40 @@
|
|
|
148
145
|
"prebuild": "npm run check:circular"
|
|
149
146
|
},
|
|
150
147
|
"devDependencies": {
|
|
151
|
-
"@
|
|
152
|
-
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
153
|
-
"@babel/plugin-transform-runtime": "^7.28.5",
|
|
154
|
-
"@babel/preset-env": "^7.28.6",
|
|
155
|
-
"@babel/preset-flow": "^7.27.1",
|
|
156
|
-
"@babel/preset-react": "^7.28.5",
|
|
157
|
-
"@babel/preset-typescript": "^7.28.5",
|
|
158
|
-
"@rollup/plugin-typescript": "^12.3.0",
|
|
159
|
-
"@types/node": "^25.0.9",
|
|
148
|
+
"@types/node": "^25.1.0",
|
|
160
149
|
"@types/sha.js": "^2.4.4",
|
|
161
|
-
"@
|
|
162
|
-
"@vitest/
|
|
150
|
+
"@vitest/browser": "^4.0.18",
|
|
151
|
+
"@vitest/browser-playwright": "^4.0.18",
|
|
152
|
+
"@vitest/ui": "^4.0.18",
|
|
163
153
|
"eslint": "^9.39.2",
|
|
164
|
-
"https-browserify": "^1.0.0",
|
|
165
154
|
"madge": "^8.0.0",
|
|
166
|
-
"
|
|
167
|
-
"prettier": "^3.8.
|
|
155
|
+
"playwright": "^1.58.0",
|
|
156
|
+
"prettier": "^3.8.1",
|
|
168
157
|
"stream-browserify": "^3.0.0",
|
|
169
|
-
"stream-http": "^3.2.0",
|
|
170
|
-
"tslib": "^2.8.1",
|
|
171
158
|
"typedoc": "^0.28.16",
|
|
172
|
-
"typescript-eslint": "^8.
|
|
159
|
+
"typescript-eslint": "^8.54.0",
|
|
173
160
|
"vite": "^7.3.1",
|
|
174
161
|
"vite-plugin-dts": "^4.5.4",
|
|
175
162
|
"vite-plugin-node-polyfills": "^0.25.0",
|
|
176
|
-
"vitest": "^4.0.
|
|
163
|
+
"vitest": "^4.0.18"
|
|
177
164
|
},
|
|
178
165
|
"dependencies": {
|
|
179
|
-
"@
|
|
180
|
-
"@
|
|
181
|
-
"@btc-vision/bip32": "^6.0.3",
|
|
182
|
-
"@btc-vision/bitcoin": "^6.5.5",
|
|
166
|
+
"@btc-vision/bip32": "^7.0.2",
|
|
167
|
+
"@btc-vision/bitcoin": "^7.0.0-alpha.10",
|
|
183
168
|
"@btc-vision/bitcoin-rpc": "^1.0.6",
|
|
169
|
+
"@btc-vision/ecpair": "^4.0.2",
|
|
184
170
|
"@btc-vision/logger": "^1.0.8",
|
|
185
171
|
"@btc-vision/post-quantum": "^0.5.3",
|
|
186
172
|
"@eslint/js": "^9.39.2",
|
|
187
|
-
"@noble/curves": "^
|
|
188
|
-
"@noble/secp256k1": "^3.0.0",
|
|
189
|
-
"assert": "^2.1.0",
|
|
190
|
-
"babel-loader": "^10.0.0",
|
|
191
|
-
"babel-plugin-transform-import-meta": "^2.3.3",
|
|
192
|
-
"babel-preset-react": "^6.24.1",
|
|
193
|
-
"babelify": "^10.0.0",
|
|
173
|
+
"@noble/curves": "^2.0.1",
|
|
194
174
|
"bech32": "^2.0.0",
|
|
195
|
-
"bip174": "^
|
|
175
|
+
"bip174": "^3.0.0",
|
|
196
176
|
"bip39": "^3.1.0",
|
|
197
177
|
"browserify-zlib": "^0.2.0",
|
|
198
178
|
"buffer": "^6.0.3",
|
|
199
|
-
"ecpair": "^2.1.0",
|
|
200
179
|
"pako": "^2.1.0",
|
|
201
180
|
"process": "^0.11.10",
|
|
202
181
|
"sha.js": "^2.4.12",
|
|
203
|
-
"ts-loader": "^9.5.4",
|
|
204
|
-
"ts-node": "^10.9.2",
|
|
205
182
|
"typescript": "^5.9.3"
|
|
206
183
|
}
|
|
207
184
|
}
|
package/src/_version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '1.8.0-beta.
|
|
1
|
+
export const version = '1.8.0-beta.1';
|