@btc-vision/transaction 1.8.0-beta.3 → 1.8.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/_version.d.ts +1 -0
- package/browser/_version.d.ts.map +1 -0
- package/browser/abi/ABICoder.d.ts +1 -1
- package/browser/abi/ABICoder.d.ts.map +1 -0
- package/browser/branded/Branded.d.ts +4 -0
- package/browser/branded/Branded.d.ts.map +1 -0
- package/browser/btc-vision-bitcoin.js +11999 -2647
- package/browser/buffer/BinaryReader.d.ts +120 -1
- package/browser/buffer/BinaryReader.d.ts.map +1 -0
- package/browser/buffer/BinaryWriter.d.ts +51 -1
- package/browser/buffer/BinaryWriter.d.ts.map +1 -0
- package/browser/bytecode/Compressor.d.ts +12 -0
- package/browser/bytecode/Compressor.d.ts.map +1 -0
- package/browser/chain/ChainData.d.ts +2 -2
- package/browser/chain/ChainData.d.ts.map +1 -0
- package/browser/consensus/Consensus.d.ts +11 -3
- package/browser/consensus/Consensus.d.ts.map +1 -0
- package/browser/consensus/ConsensusConfig.d.ts +1 -0
- package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
- package/browser/consensus/IConsensusConfig.d.ts +1 -0
- package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
- package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
- package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
- package/browser/crypto/crypto.d.ts +1 -0
- package/browser/crypto/crypto.d.ts.map +1 -0
- package/browser/deterministic/AddressMap.d.ts +6 -1
- package/browser/deterministic/AddressMap.d.ts.map +1 -0
- package/browser/deterministic/AddressSet.d.ts +3 -1
- package/browser/deterministic/AddressSet.d.ts.map +1 -0
- package/browser/deterministic/CustomMap.d.ts +3 -1
- package/browser/deterministic/CustomMap.d.ts.map +1 -0
- package/browser/deterministic/DeterministicMap.d.ts +3 -1
- package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
- package/browser/deterministic/DeterministicSet.d.ts +3 -1
- package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
- package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
- package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
- package/browser/deterministic/FastMap.d.ts +7 -1
- package/browser/deterministic/FastMap.d.ts.map +1 -0
- package/browser/ecc/backend.d.ts +13 -0
- package/browser/ecc/backend.d.ts.map +1 -0
- package/browser/epoch/ChallengeSolution.d.ts +33 -1
- package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
- package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
- package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
- package/browser/epoch/validator/EpochValidator.d.ts +37 -7
- package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
- package/browser/event/NetEvent.d.ts +1 -0
- package/browser/event/NetEvent.d.ts.map +1 -0
- package/browser/generators/AddressGenerator.d.ts +4 -3
- package/browser/generators/AddressGenerator.d.ts.map +1 -0
- package/browser/generators/Features.d.ts +1 -0
- package/browser/generators/Features.d.ts.map +1 -0
- package/browser/generators/Generator.d.ts +46 -10
- package/browser/generators/Generator.d.ts.map +1 -0
- package/browser/generators/MLDSAData.d.ts +1 -0
- package/browser/generators/MLDSAData.d.ts.map +1 -0
- package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
- package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
- package/browser/generators/builders/CustomGenerator.d.ts +13 -3
- package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
- package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
- package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
- package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
- package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
- package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
- package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
- package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
- package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
- package/browser/index.d.ts +1 -0
- package/browser/index.d.ts.map +1 -0
- package/browser/index.js +3583 -3184
- package/browser/keypair/Address.d.ts +283 -13
- package/browser/keypair/Address.d.ts.map +1 -0
- package/browser/keypair/AddressVerificator.d.ts +7 -6
- package/browser/keypair/AddressVerificator.d.ts.map +1 -0
- package/browser/keypair/EcKeyPair.d.ts +183 -21
- package/browser/keypair/EcKeyPair.d.ts.map +1 -0
- package/browser/keypair/MessageSigner.d.ts +17 -16
- package/browser/keypair/MessageSigner.d.ts.map +1 -0
- package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
- package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
- package/browser/keypair/Wallet.d.ts +27 -13
- package/browser/keypair/Wallet.d.ts.map +1 -0
- package/browser/keypair/interfaces/IWallet.d.ts +19 -0
- package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
- package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
- package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
- package/browser/mnemonic/BIPStandard.d.ts +59 -0
- package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
- package/browser/mnemonic/Mnemonic.d.ts +15 -3
- package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
- package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
- package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
- package/browser/network/ChainId.d.ts +1 -0
- package/browser/network/ChainId.d.ts.map +1 -0
- package/browser/noble-curves.js +844 -2746
- package/browser/noble-hashes.js +1338 -2067
- package/browser/opnet.d.ts +22 -1
- package/browser/opnet.d.ts.map +1 -0
- package/browser/p2wda/P2WDADetector.d.ts +36 -9
- package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
- package/browser/polyfill/disposable.d.ts +16 -0
- package/browser/polyfill/disposable.d.ts.map +1 -0
- package/browser/signer/AddressRotation.d.ts +36 -0
- package/browser/signer/AddressRotation.d.ts.map +1 -0
- package/browser/signer/IRotationSigner.d.ts +27 -3
- package/browser/signer/IRotationSigner.d.ts.map +1 -0
- package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
- package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
- package/browser/signer/SignerUtils.d.ts +11 -4
- package/browser/signer/SignerUtils.d.ts.map +1 -0
- package/browser/signer/TweakedSigner.d.ts +28 -4
- package/browser/signer/TweakedSigner.d.ts.map +1 -0
- package/browser/transaction/ContractAddress.d.ts +2 -2
- package/browser/transaction/ContractAddress.d.ts.map +1 -0
- package/browser/transaction/TransactionFactory.d.ts +140 -2
- package/browser/transaction/TransactionFactory.d.ts.map +1 -0
- package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
- package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
- package/browser/transaction/browser/Web3Provider.d.ts +27 -0
- package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
- package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
- package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
- package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
- package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
- package/browser/transaction/browser/types/Unisat.d.ts +1 -0
- package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
- package/browser/transaction/browser/types/Xverse.d.ts +1 -0
- package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
- package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
- package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
- package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
- package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
- package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
- package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
- package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
- package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
- package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
- package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
- package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/browser/transaction/enums/TransactionType.d.ts +1 -0
- package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
- package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
- package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
- package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
- package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
- package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
- package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +18 -5
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
- package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
- package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
- package/browser/transaction/interfaces/Tap.d.ts +4 -3
- package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
- package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
- package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
- package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
- package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
- package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
- package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
- package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
- package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
- package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
- package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
- package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
- package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
- package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
- package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
- package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
- package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
- package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
- package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
- package/browser/transaction/shared/TweakedTransaction.d.ts +275 -33
- package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
- package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
- package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
- package/browser/utils/BitcoinUtils.d.ts +19 -0
- package/browser/utils/BitcoinUtils.d.ts.map +1 -0
- package/browser/utils/BufferHelper.d.ts +1 -0
- package/browser/utils/BufferHelper.d.ts.map +1 -0
- package/browser/utils/StringToBuffer.d.ts +1 -0
- package/browser/utils/StringToBuffer.d.ts.map +1 -0
- package/browser/utils/lengths.d.ts +1 -0
- package/browser/utils/lengths.d.ts.map +1 -0
- package/browser/utils/types.d.ts +1 -0
- package/browser/utils/types.d.ts.map +1 -0
- package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
- package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
- package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
- package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
- package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
- package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
- package/browser/vendors.js +14351 -10031
- package/browser/verification/TapscriptVerificator.d.ts +10 -8
- package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/_version.d.ts +1 -0
- package/build/_version.d.ts.map +1 -0
- package/build/_version.js +1 -0
- package/build/_version.js.map +1 -0
- package/build/abi/ABICoder.d.ts +1 -1
- package/build/abi/ABICoder.d.ts.map +1 -0
- package/build/abi/ABICoder.js +9 -10
- package/build/abi/ABICoder.js.map +1 -0
- package/build/branded/Branded.d.ts +4 -0
- package/build/branded/Branded.d.ts.map +1 -0
- package/build/branded/Branded.js +2 -0
- package/build/branded/Branded.js.map +1 -0
- package/build/buffer/BinaryReader.d.ts +121 -2
- package/build/buffer/BinaryReader.d.ts.map +1 -0
- package/build/buffer/BinaryReader.js +129 -5
- package/build/buffer/BinaryReader.js.map +1 -0
- package/build/buffer/BinaryWriter.d.ts +52 -2
- package/build/buffer/BinaryWriter.d.ts.map +1 -0
- package/build/buffer/BinaryWriter.js +62 -2
- package/build/buffer/BinaryWriter.js.map +1 -0
- package/build/bytecode/Compressor.d.ts +12 -0
- package/build/bytecode/Compressor.d.ts.map +1 -0
- package/build/bytecode/Compressor.js +17 -5
- package/build/bytecode/Compressor.js.map +1 -0
- package/build/chain/ChainData.d.ts +2 -2
- package/build/chain/ChainData.d.ts.map +1 -0
- package/build/chain/ChainData.js +35 -17
- package/build/chain/ChainData.js.map +1 -0
- package/build/consensus/Consensus.d.ts +11 -3
- package/build/consensus/Consensus.d.ts.map +1 -0
- package/build/consensus/Consensus.js +8 -0
- package/build/consensus/Consensus.js.map +1 -0
- package/build/consensus/ConsensusConfig.d.ts +2 -1
- package/build/consensus/ConsensusConfig.d.ts.map +1 -0
- package/build/consensus/ConsensusConfig.js +1 -0
- package/build/consensus/ConsensusConfig.js.map +1 -0
- package/build/consensus/IConsensusConfig.d.ts +1 -0
- package/build/consensus/IConsensusConfig.d.ts.map +1 -0
- package/build/consensus/IConsensusConfig.js +2 -1
- package/build/consensus/IConsensusConfig.js.map +1 -0
- package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
- package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
- package/build/consensus/metadata/RoswellConsensus.js +2 -0
- package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
- package/build/crypto/crypto.d.ts +1 -0
- package/build/crypto/crypto.d.ts.map +1 -0
- package/build/crypto/crypto.js +1 -0
- package/build/crypto/crypto.js.map +1 -0
- package/build/deterministic/AddressMap.d.ts +6 -1
- package/build/deterministic/AddressMap.d.ts.map +1 -0
- package/build/deterministic/AddressMap.js +8 -0
- package/build/deterministic/AddressMap.js.map +1 -0
- package/build/deterministic/AddressSet.d.ts +3 -1
- package/build/deterministic/AddressSet.d.ts.map +1 -0
- package/build/deterministic/AddressSet.js +7 -0
- package/build/deterministic/AddressSet.js.map +1 -0
- package/build/deterministic/CustomMap.d.ts +3 -1
- package/build/deterministic/CustomMap.d.ts.map +1 -0
- package/build/deterministic/CustomMap.js +65 -47
- package/build/deterministic/CustomMap.js.map +1 -0
- package/build/deterministic/DeterministicMap.d.ts +4 -2
- package/build/deterministic/DeterministicMap.d.ts.map +1 -0
- package/build/deterministic/DeterministicMap.js +24 -27
- package/build/deterministic/DeterministicMap.js.map +1 -0
- package/build/deterministic/DeterministicSet.d.ts +3 -1
- package/build/deterministic/DeterministicSet.d.ts.map +1 -0
- package/build/deterministic/DeterministicSet.js +6 -0
- package/build/deterministic/DeterministicSet.js.map +1 -0
- package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
- package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
- package/build/deterministic/ExtendedAddressMap.js +18 -2
- package/build/deterministic/ExtendedAddressMap.js.map +1 -0
- package/build/deterministic/FastMap.d.ts +7 -1
- package/build/deterministic/FastMap.d.ts.map +1 -0
- package/build/deterministic/FastMap.js +7 -2
- package/build/deterministic/FastMap.js.map +1 -0
- package/build/ecc/backend.d.ts +13 -0
- package/build/ecc/backend.d.ts.map +1 -0
- package/build/ecc/backend.js +15 -0
- package/build/ecc/backend.js.map +1 -0
- package/build/epoch/ChallengeSolution.d.ts +34 -2
- package/build/epoch/ChallengeSolution.d.ts.map +1 -0
- package/build/epoch/ChallengeSolution.js +52 -0
- package/build/epoch/ChallengeSolution.js.map +1 -0
- package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
- package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
- package/build/epoch/interfaces/IChallengeSolution.js +2 -1
- package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
- package/build/epoch/validator/EpochValidator.d.ts +38 -8
- package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
- package/build/epoch/validator/EpochValidator.js +45 -19
- package/build/epoch/validator/EpochValidator.js.map +1 -0
- package/build/event/NetEvent.d.ts +1 -0
- package/build/event/NetEvent.d.ts.map +1 -0
- package/build/event/NetEvent.js +3 -0
- package/build/event/NetEvent.js.map +1 -0
- package/build/generators/AddressGenerator.d.ts +4 -3
- package/build/generators/AddressGenerator.d.ts.map +1 -0
- package/build/generators/AddressGenerator.js +10 -3
- package/build/generators/AddressGenerator.js.map +1 -0
- package/build/generators/Features.d.ts +4 -3
- package/build/generators/Features.d.ts.map +1 -0
- package/build/generators/Features.js +1 -0
- package/build/generators/Features.js.map +1 -0
- package/build/generators/Generator.d.ts +47 -11
- package/build/generators/Generator.d.ts.map +1 -0
- package/build/generators/Generator.js +48 -12
- package/build/generators/Generator.js.map +1 -0
- package/build/generators/MLDSAData.d.ts +1 -0
- package/build/generators/MLDSAData.d.ts.map +1 -0
- package/build/generators/MLDSAData.js +1 -0
- package/build/generators/MLDSAData.js.map +1 -0
- package/build/generators/builders/CalldataGenerator.d.ts +27 -6
- package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
- package/build/generators/builders/CalldataGenerator.js +33 -4
- package/build/generators/builders/CalldataGenerator.js.map +1 -0
- package/build/generators/builders/CustomGenerator.d.ts +13 -3
- package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
- package/build/generators/builders/CustomGenerator.js +11 -0
- package/build/generators/builders/CustomGenerator.js.map +1 -0
- package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
- package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
- package/build/generators/builders/DeploymentGenerator.js +18 -2
- package/build/generators/builders/DeploymentGenerator.js.map +1 -0
- package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
- package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
- package/build/generators/builders/HashCommitmentGenerator.js +193 -27
- package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
- package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
- package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
- package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
- package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
- package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
- package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
- package/build/generators/builders/MultiSignGenerator.js +20 -10
- package/build/generators/builders/MultiSignGenerator.js.map +1 -0
- package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
- package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
- package/build/generators/builders/P2WDAGenerator.js +41 -2
- package/build/generators/builders/P2WDAGenerator.js.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/build/keypair/Address.d.ts +284 -14
- package/build/keypair/Address.d.ts.map +1 -0
- package/build/keypair/Address.js +446 -128
- package/build/keypair/Address.js.map +1 -0
- package/build/keypair/AddressVerificator.d.ts +7 -6
- package/build/keypair/AddressVerificator.d.ts.map +1 -0
- package/build/keypair/AddressVerificator.js +6 -5
- package/build/keypair/AddressVerificator.js.map +1 -0
- package/build/keypair/EcKeyPair.d.ts +185 -23
- package/build/keypair/EcKeyPair.d.ts.map +1 -0
- package/build/keypair/EcKeyPair.js +219 -50
- package/build/keypair/EcKeyPair.js.map +1 -0
- package/build/keypair/MessageSigner.d.ts +18 -17
- package/build/keypair/MessageSigner.d.ts.map +1 -0
- package/build/keypair/MessageSigner.js +34 -25
- package/build/keypair/MessageSigner.js.map +1 -0
- package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
- package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
- package/build/keypair/Secp256k1PointDeriver.js +66 -0
- package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
- package/build/keypair/Wallet.d.ts +29 -15
- package/build/keypair/Wallet.d.ts.map +1 -0
- package/build/keypair/Wallet.js +48 -14
- package/build/keypair/Wallet.js.map +1 -0
- package/build/keypair/interfaces/IWallet.d.ts +19 -0
- package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
- package/build/keypair/interfaces/IWallet.js +1 -0
- package/build/keypair/interfaces/IWallet.js.map +1 -0
- package/build/metadata/ContractBaseMetadata.d.ts +10 -2
- package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
- package/build/metadata/ContractBaseMetadata.js +10 -1
- package/build/metadata/ContractBaseMetadata.js.map +1 -0
- package/build/mnemonic/BIPStandard.d.ts +59 -0
- package/build/mnemonic/BIPStandard.d.ts.map +1 -0
- package/build/mnemonic/BIPStandard.js +59 -0
- package/build/mnemonic/BIPStandard.js.map +1 -0
- package/build/mnemonic/Mnemonic.d.ts +16 -4
- package/build/mnemonic/Mnemonic.d.ts.map +1 -0
- package/build/mnemonic/Mnemonic.js +36 -8
- package/build/mnemonic/Mnemonic.js.map +1 -0
- package/build/mnemonic/MnemonicStrength.d.ts +6 -0
- package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
- package/build/mnemonic/MnemonicStrength.js +6 -0
- package/build/mnemonic/MnemonicStrength.js.map +1 -0
- package/build/network/ChainId.d.ts +1 -0
- package/build/network/ChainId.d.ts.map +1 -0
- package/build/network/ChainId.js +1 -0
- package/build/network/ChainId.js.map +1 -0
- package/build/opnet.d.ts +26 -3
- package/build/opnet.d.ts.map +1 -0
- package/build/opnet.js +23 -0
- package/build/opnet.js.map +1 -0
- package/build/p2wda/P2WDADetector.d.ts +38 -11
- package/build/p2wda/P2WDADetector.d.ts.map +1 -0
- package/build/p2wda/P2WDADetector.js +43 -10
- package/build/p2wda/P2WDADetector.js.map +1 -0
- package/build/polyfill/disposable.d.ts +16 -0
- package/build/polyfill/disposable.d.ts.map +1 -0
- package/build/polyfill/disposable.js +23 -0
- package/build/polyfill/disposable.js.map +1 -0
- package/build/signer/AddressRotation.d.ts +37 -1
- package/build/signer/AddressRotation.d.ts.map +1 -0
- package/build/signer/AddressRotation.js +16 -0
- package/build/signer/AddressRotation.js.map +1 -0
- package/build/signer/IRotationSigner.d.ts +27 -3
- package/build/signer/IRotationSigner.d.ts.map +1 -0
- package/build/signer/IRotationSigner.js +2 -1
- package/build/signer/IRotationSigner.js.map +1 -0
- package/build/signer/ParallelSignerAdapter.d.ts +14 -0
- package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
- package/build/signer/ParallelSignerAdapter.js +51 -0
- package/build/signer/ParallelSignerAdapter.js.map +1 -0
- package/build/signer/SignerUtils.d.ts +11 -4
- package/build/signer/SignerUtils.d.ts.map +1 -0
- package/build/signer/SignerUtils.js +16 -0
- package/build/signer/SignerUtils.js.map +1 -0
- package/build/signer/TweakedSigner.d.ts +28 -4
- package/build/signer/TweakedSigner.d.ts.map +1 -0
- package/build/signer/TweakedSigner.js +24 -6
- package/build/signer/TweakedSigner.js.map +1 -0
- package/build/transaction/ContractAddress.d.ts +2 -2
- package/build/transaction/ContractAddress.d.ts.map +1 -0
- package/build/transaction/ContractAddress.js +4 -8
- package/build/transaction/ContractAddress.js.map +1 -0
- package/build/transaction/TransactionFactory.d.ts +147 -9
- package/build/transaction/TransactionFactory.d.ts.map +1 -0
- package/build/transaction/TransactionFactory.js +145 -26
- package/build/transaction/TransactionFactory.js.map +1 -0
- package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
- package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
- package/build/transaction/browser/BrowserSignerBase.js +7 -0
- package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
- package/build/transaction/browser/WalletNetworks.js +1 -0
- package/build/transaction/browser/WalletNetworks.js.map +1 -0
- package/build/transaction/browser/Web3Provider.d.ts +30 -3
- package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
- package/build/transaction/browser/Web3Provider.js +1 -0
- package/build/transaction/browser/Web3Provider.js.map +1 -0
- package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
- package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
- package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
- package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
- package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
- package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
- package/build/transaction/browser/extensions/XverseSigner.js +25 -15
- package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
- package/build/transaction/browser/types/OPWallet.d.ts +12 -2
- package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
- package/build/transaction/browser/types/OPWallet.js +4 -0
- package/build/transaction/browser/types/OPWallet.js.map +1 -0
- package/build/transaction/browser/types/Unisat.d.ts +2 -1
- package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
- package/build/transaction/browser/types/Unisat.js +2 -0
- package/build/transaction/browser/types/Unisat.js.map +1 -0
- package/build/transaction/browser/types/Xverse.d.ts +1 -0
- package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
- package/build/transaction/browser/types/Xverse.js +1 -0
- package/build/transaction/browser/types/Xverse.js.map +1 -0
- package/build/transaction/builders/CancelTransaction.d.ts +31 -6
- package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
- package/build/transaction/builders/CancelTransaction.js +116 -33
- package/build/transaction/builders/CancelTransaction.js.map +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
- package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
- package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
- package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
- package/build/transaction/builders/CustomScriptTransaction.js +176 -39
- package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
- package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
- package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
- package/build/transaction/builders/DeploymentTransaction.js +194 -51
- package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
- package/build/transaction/builders/FundingTransaction.d.ts +5 -4
- package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
- package/build/transaction/builders/FundingTransaction.js +15 -8
- package/build/transaction/builders/FundingTransaction.js.map +1 -0
- package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
- package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/InteractionTransaction.js +18 -5
- package/build/transaction/builders/InteractionTransaction.js.map +1 -0
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
- package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
- package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
- package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
- package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
- package/build/transaction/builders/MultiSignTransaction.js +201 -76
- package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
- package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
- package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
- package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
- package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
- package/build/transaction/builders/TransactionBuilder.d.ts +249 -19
- package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
- package/build/transaction/builders/TransactionBuilder.js +377 -60
- package/build/transaction/builders/TransactionBuilder.js.map +1 -0
- package/build/transaction/enums/TransactionType.d.ts +1 -0
- package/build/transaction/enums/TransactionType.d.ts.map +1 -0
- package/build/transaction/enums/TransactionType.js +1 -0
- package/build/transaction/enums/TransactionType.js.map +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
- package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
- package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
- package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
- package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
- package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ITransactionParameters.d.ts +27 -15
- package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
- package/build/transaction/interfaces/ITransactionParameters.js +1 -0
- package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
- package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
- package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
- package/build/transaction/interfaces/ITransactionResponses.js +1 -0
- package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
- package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
- package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
- package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
- package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
- package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
- package/build/transaction/interfaces/Tap.d.ts +4 -3
- package/build/transaction/interfaces/Tap.d.ts.map +1 -0
- package/build/transaction/interfaces/Tap.js +1 -0
- package/build/transaction/interfaces/Tap.js.map +1 -0
- package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
- package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
- package/build/transaction/mineable/IP2WSHAddress.js +1 -0
- package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
- package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
- package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
- package/build/transaction/mineable/TimelockGenerator.js +12 -3
- package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
- package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
- package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
- package/build/transaction/offline/OfflineTransactionManager.js +192 -8
- package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
- package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
- package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
- package/build/transaction/offline/TransactionReconstructor.js +111 -75
- package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
- package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
- package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
- package/build/transaction/offline/TransactionSerializer.js +206 -95
- package/build/transaction/offline/TransactionSerializer.js.map +1 -0
- package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
- package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
- package/build/transaction/offline/TransactionStateCapture.js +124 -60
- package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
- package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
- package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
- package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
- package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
- package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
- package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
- package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
- package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
- package/build/transaction/psbt/PSBTTypes.js +1 -0
- package/build/transaction/psbt/PSBTTypes.js.map +1 -0
- package/build/transaction/shared/P2TR_MS.d.ts +11 -2
- package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
- package/build/transaction/shared/P2TR_MS.js +10 -0
- package/build/transaction/shared/P2TR_MS.js.map +1 -0
- package/build/transaction/shared/TweakedTransaction.d.ts +281 -38
- package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
- package/build/transaction/shared/TweakedTransaction.js +576 -114
- package/build/transaction/shared/TweakedTransaction.js.map +1 -0
- package/build/transaction/utils/WitnessUtils.d.ts +7 -1
- package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
- package/build/transaction/utils/WitnessUtils.js +17 -3
- package/build/transaction/utils/WitnessUtils.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/utils/BitcoinUtils.d.ts +19 -0
- package/build/utils/BitcoinUtils.d.ts.map +1 -0
- package/build/utils/BitcoinUtils.js +19 -0
- package/build/utils/BitcoinUtils.js.map +1 -0
- package/build/utils/BufferHelper.d.ts +2 -1
- package/build/utils/BufferHelper.d.ts.map +1 -0
- package/build/utils/BufferHelper.js +38 -32
- package/build/utils/BufferHelper.js.map +1 -0
- package/build/utils/StringToBuffer.d.ts +1 -0
- package/build/utils/StringToBuffer.d.ts.map +1 -0
- package/build/utils/StringToBuffer.js +1 -0
- package/build/utils/StringToBuffer.js.map +1 -0
- package/build/utils/lengths.d.ts +1 -0
- package/build/utils/lengths.d.ts.map +1 -0
- package/build/utils/lengths.js +1 -0
- package/build/utils/lengths.js.map +1 -0
- package/build/utils/types.d.ts +1 -0
- package/build/utils/types.d.ts.map +1 -0
- package/build/utils/types.js +2 -1
- package/build/utils/types.js.map +1 -0
- package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
- package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
- package/build/utxo/OPNetLimitedProvider.js +41 -3
- package/build/utxo/OPNetLimitedProvider.js.map +1 -0
- package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
- package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
- package/build/utxo/interfaces/BroadcastResponse.js +1 -0
- package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
- package/build/utxo/interfaces/IUTXO.d.ts +13 -7
- package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
- package/build/utxo/interfaces/IUTXO.js +1 -0
- package/build/utxo/interfaces/IUTXO.js.map +1 -0
- package/build/verification/TapscriptVerificator.d.ts +12 -10
- package/build/verification/TapscriptVerificator.d.ts.map +1 -0
- package/build/verification/TapscriptVerificator.js +28 -38
- package/build/verification/TapscriptVerificator.js.map +1 -0
- package/eslint.config.js +0 -1
- package/package.json +12 -35
- package/src/abi/ABICoder.ts +0 -13
- package/src/branded/Branded.ts +5 -0
- package/src/buffer/BinaryReader.ts +7 -7
- package/src/buffer/BinaryWriter.ts +29 -24
- package/src/bytecode/Compressor.ts +1 -1
- package/src/chain/ChainData.ts +34 -27
- package/src/consensus/ConsensusConfig.ts +1 -1
- package/src/consensus/IConsensusConfig.ts +0 -17
- package/src/consensus/metadata/RoswellConsensus.ts +1 -17
- package/src/deterministic/AddressMap.ts +5 -1
- package/src/deterministic/AddressSet.ts +5 -1
- package/src/deterministic/CustomMap.ts +6 -2
- package/src/deterministic/DeterministicMap.ts +8 -4
- package/src/deterministic/DeterministicSet.ts +6 -2
- package/src/deterministic/ExtendedAddressMap.ts +9 -4
- package/src/deterministic/FastMap.ts +9 -5
- package/src/ecc/backend.ts +17 -0
- package/src/epoch/ChallengeSolution.ts +3 -3
- package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
- package/src/epoch/validator/EpochValidator.ts +24 -43
- package/src/generators/AddressGenerator.ts +6 -6
- package/src/generators/Features.ts +3 -3
- package/src/generators/Generator.ts +42 -26
- package/src/generators/builders/CalldataGenerator.ts +26 -24
- package/src/generators/builders/CustomGenerator.ts +4 -4
- package/src/generators/builders/DeploymentGenerator.ts +25 -23
- package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
- package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
- package/src/generators/builders/MultiSignGenerator.ts +12 -12
- package/src/generators/builders/P2WDAGenerator.ts +10 -10
- package/src/keypair/Address.ts +114 -71
- package/src/keypair/AddressVerificator.ts +16 -147
- package/src/keypair/EcKeyPair.ts +105 -114
- package/src/keypair/MessageSigner.ts +70 -150
- package/src/keypair/Wallet.ts +59 -240
- package/src/metadata/ContractBaseMetadata.ts +2 -2
- package/src/mnemonic/Mnemonic.ts +32 -221
- package/src/opnet.ts +12 -6
- package/src/p2wda/P2WDADetector.ts +23 -72
- package/src/polyfill/disposable.ts +29 -0
- package/src/signer/AddressRotation.ts +1 -1
- package/src/signer/IRotationSigner.ts +3 -3
- package/src/signer/ParallelSignerAdapter.ts +59 -0
- package/src/signer/SignerUtils.ts +4 -4
- package/src/signer/TweakedSigner.ts +28 -13
- package/src/transaction/ContractAddress.ts +3 -7
- package/src/transaction/TransactionFactory.ts +28 -50
- package/src/transaction/browser/BrowserSignerBase.ts +12 -6
- package/src/transaction/browser/Web3Provider.ts +3 -3
- package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
- package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
- package/src/transaction/browser/types/OPWallet.ts +2 -2
- package/src/transaction/browser/types/Unisat.ts +1 -1
- package/src/transaction/builders/CancelTransaction.ts +59 -24
- package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
- package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
- package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
- package/src/transaction/builders/DeploymentTransaction.ts +82 -63
- package/src/transaction/builders/FundingTransaction.ts +11 -11
- package/src/transaction/builders/InteractionTransaction.ts +10 -10
- package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
- package/src/transaction/builders/MultiSignTransaction.ts +68 -61
- package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
- package/src/transaction/builders/TransactionBuilder.ts +101 -79
- package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
- package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
- package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
- package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
- package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
- package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
- package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
- package/src/transaction/interfaces/Tap.ts +3 -3
- package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
- package/src/transaction/mineable/TimelockGenerator.ts +19 -12
- package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
- package/src/transaction/offline/TransactionReconstructor.ts +83 -91
- package/src/transaction/offline/TransactionSerializer.ts +151 -101
- package/src/transaction/offline/TransactionStateCapture.ts +83 -79
- package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
- package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
- package/src/transaction/shared/P2TR_MS.ts +4 -4
- package/src/transaction/shared/TweakedTransaction.ts +326 -124
- package/src/transaction/utils/WitnessUtils.ts +18 -9
- package/src/utils/BufferHelper.ts +39 -37
- package/src/utxo/OPNetLimitedProvider.ts +7 -7
- package/src/utxo/interfaces/IUTXO.ts +7 -7
- package/src/verification/TapscriptVerificator.ts +73 -86
- package/test/address-rotation.test.ts +24 -24
- package/test/address.test.ts +12 -12
- package/test/addressmap.test.ts +30 -30
- package/test/binary-reader-writer.test.ts +8 -8
- package/test/browser/offline-transaction.test.ts +2206 -0
- package/test/browser/parallel-signing.test.ts +316 -0
- package/test/browser/setup.ts +11 -0
- package/test/browser/transaction-signing.test.ts +416 -0
- package/test/buffer-helper.test.ts +287 -0
- package/test/derivePath.test.ts +4 -3
- package/test/disposable.test.ts +279 -0
- package/test/fastmap-setall.test.ts +1 -1
- package/test/fastmap.test.ts +3 -3
- package/test/messagesigner-mldsa.test.ts +3 -3
- package/test/messagesigner-schnorr.test.ts +9 -9
- package/test/offline-transaction.test.ts +461 -288
- package/test/old/FastBigIntMap.ts +3 -3
- package/test/oldfastmap.test.ts +6 -6
- package/test/transaction-builders.test.ts +321 -0
- package/tsconfig.base.json +34 -18
- package/tsconfig.browser.json +15 -0
- package/tsconfig.json +3 -8
- package/vite.config.browser.ts +4 -5
- package/vitest.config.browser.ts +68 -0
- package/vitest.config.ts +1 -1
- package/browser/valibot.js +0 -4948
- package/tsconfig.webpack.json +0 -18
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
2
2
|
import { IDeploymentParameters } from '../interfaces/ITransactionParameters.js';
|
|
3
|
-
import { P2TRPayment, Psbt } from '../../../node_modules/@btc-vision/bitcoin/
|
|
3
|
+
import { P2TRPayment, Psbt } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
|
|
4
4
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
5
5
|
import { TapLeafScript } from '../interfaces/Tap.js';
|
|
6
6
|
import { Address } from '../../keypair/Address.js';
|
|
@@ -11,42 +11,153 @@ export declare class DeploymentTransaction extends TransactionBuilder<Transactio
|
|
|
11
11
|
type: TransactionType.DEPLOYMENT;
|
|
12
12
|
protected readonly challenge: IChallengeSolution;
|
|
13
13
|
protected readonly epochChallenge: IP2WSHAddress;
|
|
14
|
+
/**
|
|
15
|
+
* The contract address
|
|
16
|
+
* @protected
|
|
17
|
+
*/
|
|
14
18
|
protected readonly _contractAddress: Address;
|
|
19
|
+
/**
|
|
20
|
+
* The tap leaf script
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
15
23
|
protected tapLeafScript: TapLeafScript | null;
|
|
16
24
|
private readonly deploymentVersion;
|
|
25
|
+
/**
|
|
26
|
+
* The target script redeem
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
17
29
|
private targetScriptRedeem;
|
|
30
|
+
/**
|
|
31
|
+
* The left over funds script redeem
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
18
34
|
private leftOverFundsScriptRedeem;
|
|
35
|
+
/**
|
|
36
|
+
* The compiled target script
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
19
39
|
private readonly compiledTargetScript;
|
|
40
|
+
/**
|
|
41
|
+
* The script tree
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
20
44
|
private readonly scriptTree;
|
|
45
|
+
/**
|
|
46
|
+
* The deployment bitcoin generator
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
21
49
|
private deploymentGenerator;
|
|
50
|
+
/**
|
|
51
|
+
* The contract seed
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
22
54
|
private readonly contractSeed;
|
|
55
|
+
/**
|
|
56
|
+
* The contract bytecode
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
23
59
|
private readonly bytecode;
|
|
60
|
+
/**
|
|
61
|
+
* Constructor calldata
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
24
64
|
private readonly calldata?;
|
|
65
|
+
/**
|
|
66
|
+
* The contract signer
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
25
69
|
private readonly contractSigner;
|
|
70
|
+
/**
|
|
71
|
+
* The contract public key
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
26
74
|
private readonly _contractPubKey;
|
|
75
|
+
/**
|
|
76
|
+
* The contract salt random bytes
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
27
79
|
private readonly randomBytes;
|
|
28
80
|
private _computedAddress;
|
|
29
81
|
constructor(parameters: IDeploymentParameters);
|
|
82
|
+
/**
|
|
83
|
+
* Get the contract public key
|
|
84
|
+
*/
|
|
30
85
|
get contractPubKey(): string;
|
|
86
|
+
/**
|
|
87
|
+
* @description Get the contract address (PKSH)
|
|
88
|
+
*/
|
|
31
89
|
get contractAddress(): Address;
|
|
90
|
+
/**
|
|
91
|
+
* @description Get the P2TR address
|
|
92
|
+
*/
|
|
32
93
|
get p2trAddress(): string;
|
|
33
|
-
exportCompiledTargetScript():
|
|
34
|
-
|
|
94
|
+
exportCompiledTargetScript(): Uint8Array;
|
|
95
|
+
/**
|
|
96
|
+
* Get the random bytes used for the interaction
|
|
97
|
+
* @returns {Buffer} The random bytes
|
|
98
|
+
*/
|
|
99
|
+
getRndBytes(): Uint8Array;
|
|
100
|
+
/**
|
|
101
|
+
* Get the contract bytecode
|
|
102
|
+
* @returns {Buffer} The contract bytecode
|
|
103
|
+
*/
|
|
35
104
|
getChallenge(): IChallengeSolution;
|
|
36
105
|
getContractAddress(): string;
|
|
37
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Get the contract signer public key
|
|
108
|
+
* @protected
|
|
109
|
+
*/
|
|
110
|
+
protected contractSignerXOnlyPubKey(): Uint8Array;
|
|
111
|
+
/**
|
|
112
|
+
* Build the transaction
|
|
113
|
+
* @protected
|
|
114
|
+
*/
|
|
38
115
|
protected buildTransaction(): Promise<void>;
|
|
39
116
|
protected signInputsWalletBased(transaction: Psbt): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Sign the inputs
|
|
119
|
+
* @param {Psbt} transaction The transaction to sign
|
|
120
|
+
* @protected
|
|
121
|
+
*/
|
|
40
122
|
protected signInputs(transaction: Psbt): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Get the tap output
|
|
125
|
+
* @protected
|
|
126
|
+
*/
|
|
41
127
|
protected generateScriptAddress(): P2TRPayment;
|
|
128
|
+
/**
|
|
129
|
+
* Generate the tap data
|
|
130
|
+
* @protected
|
|
131
|
+
*/
|
|
42
132
|
protected generateTapData(): P2TRPayment;
|
|
43
133
|
private generateFeatures;
|
|
44
134
|
private verifyCalldata;
|
|
45
135
|
private verifyBytecode;
|
|
136
|
+
/**
|
|
137
|
+
* Generate the contract seed for the deployment
|
|
138
|
+
* @private
|
|
139
|
+
*/
|
|
46
140
|
private getContractSeed;
|
|
141
|
+
/**
|
|
142
|
+
* Finalize the transaction
|
|
143
|
+
* @param _inputIndex
|
|
144
|
+
* @param input
|
|
145
|
+
*/
|
|
47
146
|
private customFinalizer;
|
|
48
|
-
|
|
147
|
+
/**
|
|
148
|
+
* Generate the redeem scripts
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
49
151
|
private generateRedeemScripts;
|
|
152
|
+
/**
|
|
153
|
+
* Get the second leaf script
|
|
154
|
+
* @private
|
|
155
|
+
*/
|
|
50
156
|
private getLeafScript;
|
|
157
|
+
/**
|
|
158
|
+
* Get the script tree
|
|
159
|
+
* @private
|
|
160
|
+
*/
|
|
51
161
|
private getScriptTree;
|
|
52
162
|
}
|
|
163
|
+
//# sourceMappingURL=DeploymentTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeploymentTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/DeploymentTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
2
2
|
import { IFundingTransactionParameters } from '../interfaces/ITransactionParameters.js';
|
|
3
|
-
import { Signer } from '../../../node_modules/@btc-vision/bitcoin/
|
|
3
|
+
import { Signer } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
|
|
4
4
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
5
|
-
import {
|
|
5
|
+
import { UniversalSigner } from '@btc-vision/ecpair';
|
|
6
6
|
export declare class FundingTransaction extends TransactionBuilder<TransactionType.FUNDING> {
|
|
7
7
|
readonly type: TransactionType.FUNDING;
|
|
8
8
|
protected amount: bigint;
|
|
@@ -10,5 +10,6 @@ export declare class FundingTransaction extends TransactionBuilder<TransactionTy
|
|
|
10
10
|
constructor(parameters: IFundingTransactionParameters);
|
|
11
11
|
protected buildTransaction(): Promise<void>;
|
|
12
12
|
protected splitInputs(amountSpent: bigint): void;
|
|
13
|
-
protected getSignerKey(): Signer |
|
|
13
|
+
protected getSignerKey(): Signer | UniversalSigner;
|
|
14
14
|
}
|
|
15
|
+
//# sourceMappingURL=FundingTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FundingTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/FundingTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAyC,KAAK,MAAM,EAAa,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC;IAC/E,SAAgB,IAAI,EAAE,eAAe,CAAC,OAAO,CAA2B;IAExE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,UAAU,EAAE,6BAA6B;cAS5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC1D,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;cAsB7B,YAAY,IAAI,MAAM,GAAG,eAAe;CAG9D"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
import { Taptree } from '../../../node_modules/@btc-vision/bitcoin/
|
|
1
|
+
import { Taptree } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
|
|
2
2
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
3
3
|
import { TapLeafScript } from '../interfaces/Tap.js';
|
|
4
4
|
import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
|
|
5
5
|
import { SharedInteractionTransaction } from './SharedInteractionTransaction.js';
|
|
6
|
+
/**
|
|
7
|
+
* Class for interaction transactions
|
|
8
|
+
* @class InteractionTransaction
|
|
9
|
+
*/
|
|
6
10
|
export declare class InteractionTransaction extends SharedInteractionTransaction<TransactionType.INTERACTION> {
|
|
7
11
|
type: TransactionType.INTERACTION;
|
|
8
|
-
protected readonly compiledTargetScript:
|
|
12
|
+
protected readonly compiledTargetScript: Uint8Array;
|
|
9
13
|
protected readonly scriptTree: Taptree;
|
|
10
14
|
protected tapLeafScript: TapLeafScript | null;
|
|
11
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Contract secret for the interaction
|
|
17
|
+
* @protected
|
|
18
|
+
*/
|
|
19
|
+
protected readonly contractSecret: Uint8Array;
|
|
12
20
|
constructor(parameters: IInteractionParameters);
|
|
13
21
|
private generateFeatures;
|
|
14
22
|
}
|
|
23
|
+
//# sourceMappingURL=InteractionTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractionTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/InteractionTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,4BAA4B,CAAC,eAAe,CAAC,WAAW,CAAC;IAC1F,IAAI,EAAE,eAAe,CAAC,WAAW,CAA+B;IAEvE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAEvC,UAAmB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAE9D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC;gBAE3B,UAAU,EAAE,sBAAsB;IAmCrD,OAAO,CAAC,gBAAgB;CAgC3B"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Psbt } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
|
|
1
|
+
import { Psbt } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
|
|
3
2
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
4
3
|
import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
|
|
5
4
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
6
5
|
import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
7
6
|
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
7
|
+
/**
|
|
8
|
+
* P2WDA Interaction Transaction
|
|
9
|
+
*
|
|
10
|
+
* This transaction type uses the exact same operation data as regular interactions
|
|
11
|
+
* (via CalldataGenerator), but embeds it in the witness field instead of a taproot script.
|
|
12
|
+
* This achieves 75% cost reduction through the witness discount.
|
|
13
|
+
*/
|
|
8
14
|
export declare class InteractionTransactionP2WDA extends TransactionBuilder<TransactionType.INTERACTION> {
|
|
9
15
|
private static readonly MAX_WITNESS_FIELDS;
|
|
10
16
|
private static readonly MAX_BYTES_PER_WITNESS;
|
|
11
17
|
readonly type: TransactionType.INTERACTION;
|
|
12
18
|
protected readonly epochChallenge: IP2WSHAddress;
|
|
19
|
+
/**
|
|
20
|
+
* Disable auto refund
|
|
21
|
+
* @protected
|
|
22
|
+
*/
|
|
13
23
|
protected readonly disableAutoRefund: boolean;
|
|
14
|
-
private readonly contractAddress;
|
|
15
24
|
private readonly contractSecret;
|
|
16
25
|
private readonly calldata;
|
|
17
26
|
private readonly challenge;
|
|
@@ -19,19 +28,61 @@ export declare class InteractionTransactionP2WDA extends TransactionBuilder<Tran
|
|
|
19
28
|
private p2wdaGenerator;
|
|
20
29
|
private scriptSigner;
|
|
21
30
|
private p2wdaInputIndices;
|
|
31
|
+
/**
|
|
32
|
+
* The compiled operation data from CalldataGenerator
|
|
33
|
+
* This is exactly what would go in a taproot script, but we put it in witness instead
|
|
34
|
+
*/
|
|
22
35
|
private readonly compiledOperationData;
|
|
23
36
|
constructor(parameters: IInteractionParameters);
|
|
24
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Get random bytes (for compatibility if needed elsewhere)
|
|
39
|
+
*/
|
|
40
|
+
getRndBytes(): Uint8Array;
|
|
41
|
+
/**
|
|
42
|
+
* Get the challenge (for compatibility if needed elsewhere)
|
|
43
|
+
*/
|
|
25
44
|
getChallenge(): IChallengeSolution;
|
|
26
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Get contract secret (for compatibility if needed elsewhere)
|
|
47
|
+
*/
|
|
48
|
+
getContractSecret(): Uint8Array;
|
|
49
|
+
/**
|
|
50
|
+
* Build the transaction
|
|
51
|
+
*/
|
|
27
52
|
protected buildTransaction(): Promise<void>;
|
|
28
53
|
protected createMineableRewardOutputs(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Sign inputs with P2WDA-specific handling
|
|
56
|
+
*/
|
|
29
57
|
protected signInputs(transaction: Psbt): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Generate features array (same as InteractionTransaction)
|
|
60
|
+
*/
|
|
30
61
|
private generateFeatures;
|
|
62
|
+
/**
|
|
63
|
+
* Generate keypair from seed (same as SharedInteractionTransaction)
|
|
64
|
+
*/
|
|
31
65
|
private generateKeyPairFromSeed;
|
|
66
|
+
/**
|
|
67
|
+
* Get script signer x-only pubkey (same as SharedInteractionTransaction)
|
|
68
|
+
*/
|
|
32
69
|
private scriptSignerXOnlyPubKey;
|
|
70
|
+
/**
|
|
71
|
+
* Validate that input 0 is P2WDA
|
|
72
|
+
*/
|
|
33
73
|
private validateP2WDAInputs;
|
|
74
|
+
/**
|
|
75
|
+
* Validate the compiled operation data will fit in witness fields
|
|
76
|
+
*/
|
|
34
77
|
private validateOperationDataSize;
|
|
78
|
+
/**
|
|
79
|
+
* Finalize primary P2WDA input with the operation data
|
|
80
|
+
* This is where we create the signature and compress everything
|
|
81
|
+
*/
|
|
35
82
|
private finalizePrimaryP2WDA;
|
|
83
|
+
/**
|
|
84
|
+
* Split data into 80-byte chunks
|
|
85
|
+
*/
|
|
36
86
|
private splitIntoWitnessChunks;
|
|
37
87
|
}
|
|
88
|
+
//# sourceMappingURL=InteractionTransactionP2WDA.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractionTransactionP2WDA.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/InteractionTransactionP2WDA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAA2B,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC;IAC5F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAM;IAEnD,SAAgB,IAAI,EAAE,eAAe,CAAC,WAAW,CAA+B;IAChF,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACjD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,iBAAiB,CAA0B;IACnD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;gBAE9C,UAAU,EAAE,sBAAsB;IAyErD;;OAEG;IACI,WAAW,IAAI,UAAU;IAIhC;;OAEG;IACI,YAAY,IAAI,kBAAkB;IAIzC;;OAEG;IACI,iBAAiB,IAAI,UAAU;IAItC;;OAEG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;cASjC,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5D;;OAEG;cACsB,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA0D5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAejC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { P2TRPayment, Psbt, PsbtInput, Signer, TapScriptSig, Taptree } from '../../../node_modules/@btc-vision/bitcoin/
|
|
1
|
+
import { P2TRPayment, Psbt, PsbtInput, PublicKey, Script, Signer, TapScriptSig, Taptree } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
|
|
2
2
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
3
3
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
4
4
|
import { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
|
|
5
|
-
import {
|
|
6
|
-
export interface MultiSignParameters extends Omit<ITransactionParameters, 'gasSatFee' | 'priorityFee' | 'signer'> {
|
|
7
|
-
readonly pubkeys:
|
|
5
|
+
import { UniversalSigner } from '@btc-vision/ecpair';
|
|
6
|
+
export interface MultiSignParameters extends Omit<ITransactionParameters, 'gasSatFee' | 'priorityFee' | 'signer' | 'from' | 'to'> {
|
|
7
|
+
readonly pubkeys: Uint8Array[];
|
|
8
8
|
readonly minimumSignatures: number;
|
|
9
|
-
readonly from?: undefined;
|
|
10
|
-
readonly to?: undefined;
|
|
9
|
+
readonly from?: string | undefined;
|
|
10
|
+
readonly to?: string | undefined;
|
|
11
11
|
readonly psbt?: Psbt;
|
|
12
12
|
readonly receiver: string;
|
|
13
13
|
readonly requestedAmount: bigint;
|
|
@@ -16,45 +16,154 @@ export interface MultiSignParameters extends Omit<ITransactionParameters, 'gasSa
|
|
|
16
16
|
export interface MultiSignFromBase64Params extends Omit<MultiSignParameters, 'psbt'> {
|
|
17
17
|
readonly psbt: string;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Create a multi sign p2tr transaction
|
|
21
|
+
* @class MultiSignTransaction
|
|
22
|
+
*/
|
|
19
23
|
export declare class MultiSignTransaction extends TransactionBuilder<TransactionType.MULTI_SIG> {
|
|
20
|
-
static readonly LOCK_LEAF_SCRIPT:
|
|
24
|
+
static readonly LOCK_LEAF_SCRIPT: Script;
|
|
21
25
|
static readonly signHashTypesArray: number[];
|
|
22
|
-
static readonly numsPoint:
|
|
26
|
+
static readonly numsPoint: PublicKey;
|
|
23
27
|
type: TransactionType.MULTI_SIG;
|
|
24
28
|
protected targetScriptRedeem: P2TRPayment | null;
|
|
25
29
|
protected leftOverFundsScriptRedeem: P2TRPayment | null;
|
|
26
|
-
protected readonly compiledTargetScript:
|
|
30
|
+
protected readonly compiledTargetScript: Uint8Array;
|
|
27
31
|
protected readonly scriptTree: Taptree;
|
|
28
|
-
protected readonly publicKeys:
|
|
32
|
+
protected readonly publicKeys: Uint8Array[];
|
|
29
33
|
protected readonly minimumSignatures: number;
|
|
30
34
|
protected readonly originalInputCount: number;
|
|
31
35
|
protected readonly requestedAmount: bigint;
|
|
32
36
|
protected readonly receiver: string;
|
|
33
37
|
protected readonly refundVault: string;
|
|
38
|
+
/**
|
|
39
|
+
* @description Sign hash types
|
|
40
|
+
* @protected
|
|
41
|
+
*/
|
|
34
42
|
protected readonly sighashTypes: number[];
|
|
35
43
|
constructor(parameters: MultiSignParameters);
|
|
44
|
+
/**
|
|
45
|
+
* Generate a multisig transaction from a base64 psbt.
|
|
46
|
+
* @param {MultiSignFromBase64Params} params The parameters
|
|
47
|
+
* @returns {MultiSignTransaction} The multisig transaction
|
|
48
|
+
*/
|
|
36
49
|
static fromBase64(params: MultiSignFromBase64Params): MultiSignTransaction;
|
|
37
|
-
|
|
38
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Verify if that public key already signed the transaction
|
|
52
|
+
* @param {Psbt} psbt The psbt
|
|
53
|
+
* @param {Buffer} signerPubKey The signer public key
|
|
54
|
+
* @returns {boolean} True if the public key signed the transaction
|
|
55
|
+
*/
|
|
56
|
+
static verifyIfSigned(psbt: Psbt, signerPubKey: Uint8Array): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Partially sign the transaction
|
|
59
|
+
* @returns {boolean} True if the transaction was signed
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
static signPartial(psbt: Psbt, signer: Signer | UniversalSigner, originalInputCount: number, minimums: number[]): {
|
|
39
63
|
final: boolean;
|
|
40
64
|
signed: boolean;
|
|
41
65
|
};
|
|
42
|
-
|
|
43
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Partially finalize a P2TR MS transaction
|
|
68
|
+
* @param {number} inputIndex The input index
|
|
69
|
+
* @param {PsbtInput} input The input
|
|
70
|
+
* @param {Buffer[]} partialSignatures The partial signatures
|
|
71
|
+
* @param {Buffer[]} orderedPubKeys The ordered public keys
|
|
72
|
+
* @param {boolean} isFinal If the transaction is final
|
|
73
|
+
*/
|
|
74
|
+
static partialFinalizer: (inputIndex: number, input: PsbtInput, partialSignatures: Uint8Array[], orderedPubKeys: Uint8Array[], isFinal: boolean) => {
|
|
75
|
+
finalScriptWitness: Uint8Array<ArrayBufferLike>;
|
|
44
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Dedupe signatures
|
|
79
|
+
* @param {TapScriptSig[]} original The original signatures
|
|
80
|
+
* @param {TapScriptSig[]} partial The partial signatures
|
|
81
|
+
* @returns {TapScriptSig[]} The deduped signatures
|
|
82
|
+
*/
|
|
45
83
|
static dedupeSignatures(original: TapScriptSig[], partial: TapScriptSig[]): TapScriptSig[];
|
|
46
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Attempt to finalize the inputs
|
|
86
|
+
* @param {Psbt} psbt The psbt
|
|
87
|
+
* @param {number} startIndex The start index
|
|
88
|
+
* @param {Buffer[]} orderedPubKeys The ordered public keys
|
|
89
|
+
* @param {boolean} isFinal If the transaction is final
|
|
90
|
+
* @returns {boolean} True if the inputs were finalized
|
|
91
|
+
*/
|
|
92
|
+
static attemptFinalizeInputs(psbt: Psbt, startIndex: number, orderedPubKeys: Uint8Array[][], isFinal: boolean): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Finalize the psbt multisig transaction
|
|
95
|
+
*/
|
|
47
96
|
finalizeTransactionInputs(): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* @description Signs the transaction
|
|
99
|
+
* @public
|
|
100
|
+
* @returns {Promise<Psbt>} - The signed transaction in hex format
|
|
101
|
+
* @throws {Error} - If something went wrong
|
|
102
|
+
*/
|
|
48
103
|
signPSBT(): Promise<Psbt>;
|
|
104
|
+
/**
|
|
105
|
+
* Build the transaction
|
|
106
|
+
* @protected
|
|
107
|
+
*
|
|
108
|
+
* @throws {Error} If the left over funds script redeem is required
|
|
109
|
+
* @throws {Error} If the left over funds script redeem version is required
|
|
110
|
+
* @throws {Error} If the left over funds script redeem output is required
|
|
111
|
+
*/
|
|
49
112
|
protected buildTransaction(): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Builds the transaction.
|
|
115
|
+
* @param {Psbt} transaction - The transaction to build
|
|
116
|
+
* @param checkPartialSigs
|
|
117
|
+
* @protected
|
|
118
|
+
* @returns {Promise<boolean>}
|
|
119
|
+
* @throws {Error} - If something went wrong while building the transaction
|
|
120
|
+
*/
|
|
50
121
|
protected internalBuildTransaction(transaction: Psbt, checkPartialSigs?: boolean): Promise<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* Sign the inputs
|
|
124
|
+
* @protected
|
|
125
|
+
*/
|
|
51
126
|
protected signInputs(_transaction: Psbt): Promise<void>;
|
|
52
127
|
protected generateScriptAddress(): P2TRPayment;
|
|
53
128
|
protected generateTapData(): P2TRPayment;
|
|
54
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Generate the script solution
|
|
131
|
+
* @param {PsbtInput} input The input
|
|
132
|
+
* @protected
|
|
133
|
+
*
|
|
134
|
+
* @returns {Buffer[]} The script solution
|
|
135
|
+
*/
|
|
136
|
+
protected getScriptSolution(input: PsbtInput): Uint8Array[];
|
|
137
|
+
/**
|
|
138
|
+
* Get the script tree
|
|
139
|
+
* @private
|
|
140
|
+
*
|
|
141
|
+
* @returns {Taptree} The script tree
|
|
142
|
+
*/
|
|
55
143
|
protected getScriptTree(): Taptree;
|
|
56
144
|
private getTotalOutputAmount;
|
|
145
|
+
/**
|
|
146
|
+
* @description Calculate the amount left to refund to the first vault.
|
|
147
|
+
* @private
|
|
148
|
+
* @returns {bigint} The amount left
|
|
149
|
+
*/
|
|
57
150
|
private calculateOutputLeftAmountFromVaults;
|
|
151
|
+
/**
|
|
152
|
+
* Transaction finalizer
|
|
153
|
+
* @param {number} _inputIndex The input index
|
|
154
|
+
* @param {PsbtInput} input The input
|
|
155
|
+
*/
|
|
58
156
|
private customFinalizer;
|
|
157
|
+
/**
|
|
158
|
+
* Generate the redeem scripts
|
|
159
|
+
* @private
|
|
160
|
+
*
|
|
161
|
+
* @throws {Error} If the public keys are required
|
|
162
|
+
* @throws {Error} If the leaf script is required
|
|
163
|
+
* @throws {Error} If the leaf script version is required
|
|
164
|
+
* @throws {Error} If the leaf script output is required
|
|
165
|
+
* @throws {Error} If the target script redeem is required
|
|
166
|
+
*/
|
|
59
167
|
private generateRedeemScripts;
|
|
60
168
|
}
|
|
169
|
+
//# sourceMappingURL=MultiSignTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/MultiSignTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,132 @@
|
|
|
1
|
-
import { P2TRPayment, Psbt, PsbtInput, Signer, Taptree } from '../../../node_modules/@btc-vision/bitcoin/
|
|
2
|
-
import {
|
|
1
|
+
import { P2TRPayment, Psbt, PsbtInput, Signer, Taptree } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
|
|
2
|
+
import { UniversalSigner } from '@btc-vision/ecpair';
|
|
3
3
|
import { TransactionBuilder } from './TransactionBuilder.js';
|
|
4
4
|
import { TransactionType } from '../enums/TransactionType.js';
|
|
5
5
|
import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
|
|
6
6
|
import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
|
|
7
7
|
import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
|
|
8
8
|
import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
|
|
9
|
+
/**
|
|
10
|
+
* Shared interaction transaction
|
|
11
|
+
* @class SharedInteractionTransaction
|
|
12
|
+
*/
|
|
9
13
|
export declare abstract class SharedInteractionTransaction<T extends TransactionType> extends TransactionBuilder<T> {
|
|
10
14
|
static readonly MAXIMUM_CALLDATA_SIZE: number;
|
|
11
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Random salt for the interaction
|
|
17
|
+
* @type {Buffer}
|
|
18
|
+
*/
|
|
19
|
+
readonly randomBytes: Uint8Array;
|
|
12
20
|
protected targetScriptRedeem: P2TRPayment | null;
|
|
13
21
|
protected leftOverFundsScriptRedeem: P2TRPayment | null;
|
|
14
|
-
protected abstract readonly compiledTargetScript:
|
|
22
|
+
protected abstract readonly compiledTargetScript: Uint8Array;
|
|
15
23
|
protected abstract readonly scriptTree: Taptree;
|
|
16
24
|
protected readonly challenge: IChallengeSolution;
|
|
17
25
|
protected readonly epochChallenge: IP2WSHAddress;
|
|
18
26
|
protected calldataGenerator: CalldataGenerator;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Calldata for the interaction
|
|
29
|
+
* @protected
|
|
30
|
+
*/
|
|
31
|
+
protected readonly calldata: Uint8Array;
|
|
32
|
+
/**
|
|
33
|
+
* Contract secret for the interaction
|
|
34
|
+
* @protected
|
|
35
|
+
*/
|
|
36
|
+
protected abstract readonly contractSecret: Uint8Array;
|
|
37
|
+
/**
|
|
38
|
+
* Script signer for the interaction
|
|
39
|
+
* @protected
|
|
40
|
+
*/
|
|
41
|
+
protected readonly scriptSigner: Signer | UniversalSigner;
|
|
42
|
+
/**
|
|
43
|
+
* Disable auto refund
|
|
44
|
+
* @protected
|
|
45
|
+
*/
|
|
22
46
|
protected readonly disableAutoRefund: boolean;
|
|
23
47
|
protected constructor(parameters: SharedInteractionParameters);
|
|
24
|
-
exportCompiledTargetScript():
|
|
25
|
-
|
|
26
|
-
|
|
48
|
+
exportCompiledTargetScript(): Uint8Array;
|
|
49
|
+
/**
|
|
50
|
+
* Get the contract secret
|
|
51
|
+
* @returns {Buffer} The contract secret
|
|
52
|
+
*/
|
|
53
|
+
getContractSecret(): Uint8Array;
|
|
54
|
+
/**
|
|
55
|
+
* Get the random bytes used for the interaction
|
|
56
|
+
* @returns {Buffer} The random bytes
|
|
57
|
+
*/
|
|
58
|
+
getRndBytes(): Uint8Array;
|
|
59
|
+
/**
|
|
60
|
+
* Get the preimage
|
|
61
|
+
*/
|
|
27
62
|
getChallenge(): IChallengeSolution;
|
|
28
|
-
|
|
29
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Get the internal pubkey as an x-only key
|
|
65
|
+
* @protected
|
|
66
|
+
* @returns {Buffer} The internal pubkey as an x-only key
|
|
67
|
+
*/
|
|
68
|
+
protected scriptSignerXOnlyPubKey(): Uint8Array;
|
|
69
|
+
/**
|
|
70
|
+
* Generate a key pair from the seed
|
|
71
|
+
* @protected
|
|
72
|
+
*
|
|
73
|
+
* @returns {UniversalSigner} The key pair
|
|
74
|
+
*/
|
|
75
|
+
protected generateKeyPairFromSeed(): UniversalSigner;
|
|
76
|
+
/**
|
|
77
|
+
* Build the transaction
|
|
78
|
+
* @protected
|
|
79
|
+
*
|
|
80
|
+
* @throws {Error} If the left over funds script redeem is required
|
|
81
|
+
* @throws {Error} If the left over funds script redeem version is required
|
|
82
|
+
* @throws {Error} If the left over funds script redeem output is required
|
|
83
|
+
* @throws {Error} If the to address is required
|
|
84
|
+
*/
|
|
30
85
|
protected buildTransaction(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Sign the inputs
|
|
88
|
+
* @param {Psbt} transaction The transaction to sign
|
|
89
|
+
* @protected
|
|
90
|
+
*/
|
|
31
91
|
protected signInputs(transaction: Psbt): Promise<void>;
|
|
32
92
|
protected generateScriptAddress(): P2TRPayment;
|
|
33
93
|
protected generateTapData(): P2TRPayment;
|
|
34
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Generate the script solution
|
|
96
|
+
* @param {PsbtInput} input The input
|
|
97
|
+
* @protected
|
|
98
|
+
*
|
|
99
|
+
* @returns {Buffer[]} The script solution
|
|
100
|
+
*/
|
|
101
|
+
protected getScriptSolution(input: PsbtInput): Uint8Array[];
|
|
102
|
+
/**
|
|
103
|
+
* Get the script tree
|
|
104
|
+
* @private
|
|
105
|
+
*
|
|
106
|
+
* @returns {Taptree} The script tree
|
|
107
|
+
*/
|
|
35
108
|
protected getScriptTree(): Taptree;
|
|
109
|
+
/**
|
|
110
|
+
* Transaction finalizer
|
|
111
|
+
* @param {number} _inputIndex The input index
|
|
112
|
+
* @param {PsbtInput} input The input
|
|
113
|
+
*/
|
|
36
114
|
protected customFinalizer: (_inputIndex: number, input: PsbtInput) => {
|
|
37
|
-
finalScriptWitness:
|
|
115
|
+
finalScriptWitness: Uint8Array<ArrayBufferLike>;
|
|
38
116
|
};
|
|
39
117
|
protected signInputsWalletBased(transaction: Psbt): Promise<void>;
|
|
40
118
|
protected signInputsNonWalletBased(transaction: Psbt): Promise<void>;
|
|
41
119
|
protected createMineableRewardOutputs(): Promise<void>;
|
|
42
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Generate the redeem scripts
|
|
122
|
+
* @private
|
|
123
|
+
*
|
|
124
|
+
* @throws {Error} If the public keys are required
|
|
125
|
+
* @throws {Error} If the leaf script is required
|
|
126
|
+
* @throws {Error} If the leaf script version is required
|
|
127
|
+
* @throws {Error} If the leaf script output is required
|
|
128
|
+
* @throws {Error} If the target script redeem is required
|
|
129
|
+
*/
|
|
43
130
|
private generateRedeemScripts;
|
|
44
131
|
}
|
|
132
|
+
//# sourceMappingURL=SharedInteractionTransaction.d.ts.map
|