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