@btc-vision/transaction 1.8.6 → 1.8.7-beta.0

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.
Files changed (692) hide show
  1. package/browser/index.js +1448 -1266
  2. package/browser/noble-curves.js +2179 -1307
  3. package/browser/noble-hashes.js +282 -261
  4. package/browser/rolldown-runtime.js +7 -7
  5. package/browser/src/_version.d.ts +1 -0
  6. package/browser/{abi → src/abi}/ABICoder.d.ts +0 -1
  7. package/browser/{abi → src/abi}/ABIDataTypes.d.ts +0 -1
  8. package/browser/{abi → src/abi}/AbiTypes.d.ts +0 -1
  9. package/browser/{abi → src/abi}/TupleUtils.d.ts +0 -1
  10. package/browser/{branded → src/branded}/Branded.d.ts +0 -1
  11. package/browser/{buffer → src/buffer}/BinaryReader.d.ts +0 -1
  12. package/browser/{buffer → src/buffer}/BinaryWriter.d.ts +0 -1
  13. package/browser/{bytecode → src/bytecode}/Compressor.d.ts +0 -1
  14. package/browser/{chain → src/chain}/ChainData.d.ts +1 -2
  15. package/browser/{consensus → src/consensus}/Consensus.d.ts +0 -1
  16. package/browser/{consensus → src/consensus}/ConsensusConfig.d.ts +0 -1
  17. package/browser/{consensus → src/consensus}/IConsensusConfig.d.ts +0 -1
  18. package/browser/{consensus → src/consensus}/metadata/RoswellConsensus.d.ts +0 -1
  19. package/browser/{crypto → src/crypto}/crypto.d.ts +1 -2
  20. package/browser/{deterministic → src/deterministic}/AddressMap.d.ts +0 -1
  21. package/browser/{deterministic → src/deterministic}/AddressSet.d.ts +0 -1
  22. package/browser/{deterministic → src/deterministic}/CustomMap.d.ts +0 -1
  23. package/browser/{deterministic → src/deterministic}/DeterministicMap.d.ts +0 -1
  24. package/browser/{deterministic → src/deterministic}/DeterministicSet.d.ts +0 -1
  25. package/browser/{deterministic → src/deterministic}/ExtendedAddressMap.d.ts +0 -1
  26. package/browser/{deterministic → src/deterministic}/FastMap.d.ts +0 -1
  27. package/browser/{ecc → src/ecc}/backend.d.ts +1 -2
  28. package/browser/{epoch → src/epoch}/ChallengeSolution.d.ts +0 -1
  29. package/browser/{epoch → src/epoch}/interfaces/IChallengeSolution.d.ts +0 -1
  30. package/browser/{epoch → src/epoch}/validator/EpochValidator.d.ts +0 -1
  31. package/browser/{event → src/event}/NetEvent.d.ts +0 -1
  32. package/browser/{generators → src/generators}/AddressGenerator.d.ts +1 -2
  33. package/browser/{generators → src/generators}/Features.d.ts +0 -1
  34. package/browser/{generators → src/generators}/Generator.d.ts +1 -2
  35. package/browser/{generators → src/generators}/MLDSAData.d.ts +1 -2
  36. package/browser/{generators → src/generators}/builders/CalldataGenerator.d.ts +1 -2
  37. package/browser/{generators → src/generators}/builders/CustomGenerator.d.ts +1 -2
  38. package/browser/{generators → src/generators}/builders/DeploymentGenerator.d.ts +1 -2
  39. package/browser/{generators → src/generators}/builders/HashCommitmentGenerator.d.ts +1 -2
  40. package/browser/{generators → src/generators}/builders/LegacyCalldataGenerator.d.ts +1 -2
  41. package/browser/{generators → src/generators}/builders/MultiSignGenerator.d.ts +1 -2
  42. package/browser/{generators → src/generators}/builders/P2WDAGenerator.d.ts +1 -2
  43. package/browser/{index.d.ts → src/index.d.ts} +0 -1
  44. package/browser/{keypair → src/keypair}/Address.d.ts +2 -3
  45. package/browser/{keypair → src/keypair}/AddressVerificator.d.ts +2 -3
  46. package/browser/{keypair → src/keypair}/EcKeyPair.d.ts +2 -3
  47. package/browser/{keypair → src/keypair}/MessageSigner.d.ts +2 -3
  48. package/browser/{keypair → src/keypair}/Secp256k1PointDeriver.d.ts +0 -1
  49. package/browser/{keypair → src/keypair}/Wallet.d.ts +2 -3
  50. package/browser/{keypair → src/keypair}/interfaces/IWallet.d.ts +0 -1
  51. package/browser/{metadata → src/metadata}/ContractBaseMetadata.d.ts +1 -2
  52. package/browser/{mnemonic → src/mnemonic}/BIPStandard.d.ts +0 -1
  53. package/browser/{mnemonic → src/mnemonic}/Mnemonic.d.ts +2 -3
  54. package/browser/{mnemonic → src/mnemonic}/MnemonicStrength.d.ts +0 -1
  55. package/browser/{network → src/network}/ChainId.d.ts +0 -1
  56. package/browser/{opnet.d.ts → src/opnet.d.ts} +2 -2
  57. package/browser/{p2wda → src/p2wda}/P2WDADetector.d.ts +1 -2
  58. package/browser/{polyfill → src/polyfill}/disposable.d.ts +0 -1
  59. package/browser/{signer → src/signer}/AddressRotation.d.ts +0 -1
  60. package/browser/{signer → src/signer}/IRotationSigner.d.ts +1 -2
  61. package/browser/{signer → src/signer}/ParallelSignerAdapter.d.ts +1 -2
  62. package/browser/{signer → src/signer}/SignerUtils.d.ts +1 -2
  63. package/browser/{signer → src/signer}/TweakedSigner.d.ts +1 -2
  64. package/browser/{transaction → src/transaction}/ContractAddress.d.ts +0 -1
  65. package/browser/{transaction → src/transaction}/TransactionFactory.d.ts +1 -2
  66. package/browser/{transaction → src/transaction}/browser/BrowserSignerBase.d.ts +1 -2
  67. package/browser/{transaction → src/transaction}/browser/WalletNetworks.d.ts +0 -1
  68. package/browser/{transaction → src/transaction}/browser/Web3Provider.d.ts +0 -1
  69. package/browser/{transaction → src/transaction}/browser/extensions/UnisatSigner.d.ts +1 -2
  70. package/browser/{transaction → src/transaction}/browser/extensions/XverseSigner.d.ts +1 -2
  71. package/browser/{transaction → src/transaction}/browser/types/OPWallet.d.ts +0 -1
  72. package/browser/{transaction → src/transaction}/browser/types/Unisat.d.ts +0 -1
  73. package/browser/{transaction → src/transaction}/browser/types/Xverse.d.ts +0 -1
  74. package/browser/{transaction → src/transaction}/builders/CancelTransaction.d.ts +1 -2
  75. package/browser/src/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  76. package/browser/{transaction → src/transaction}/builders/ConsolidatedInteractionTransaction.d.ts +0 -1
  77. package/browser/{transaction → src/transaction}/builders/CustomScriptTransaction.d.ts +1 -2
  78. package/browser/{transaction → src/transaction}/builders/DeploymentTransaction.d.ts +1 -2
  79. package/browser/{transaction → src/transaction}/builders/FundingTransaction.d.ts +1 -2
  80. package/browser/{transaction → src/transaction}/builders/InteractionTransaction.d.ts +1 -2
  81. package/browser/{transaction → src/transaction}/builders/InteractionTransactionP2WDA.d.ts +1 -2
  82. package/browser/{transaction → src/transaction}/builders/MultiSignTransaction.d.ts +1 -2
  83. package/browser/{transaction → src/transaction}/builders/SharedInteractionTransaction.d.ts +1 -2
  84. package/browser/{transaction → src/transaction}/builders/TransactionBuilder.d.ts +1 -2
  85. package/browser/{transaction → src/transaction}/enums/TransactionType.d.ts +0 -1
  86. package/browser/{transaction → src/transaction}/interfaces/ICancelTransactionParameters.d.ts +0 -1
  87. package/browser/{transaction → src/transaction}/interfaces/IConsolidatedTransactionParameters.d.ts +0 -1
  88. package/browser/{transaction → src/transaction}/interfaces/ICustomTransactionParameters.d.ts +1 -2
  89. package/browser/{transaction → src/transaction}/interfaces/ITransactionParameters.d.ts +1 -2
  90. package/browser/{transaction → src/transaction}/interfaces/ITransactionResponses.d.ts +0 -1
  91. package/browser/{transaction → src/transaction}/interfaces/ITweakedTransactionData.d.ts +2 -3
  92. package/browser/{transaction → src/transaction}/interfaces/IWeb3ProviderTypes.d.ts +1 -2
  93. package/browser/{transaction → src/transaction}/interfaces/Tap.d.ts +1 -2
  94. package/browser/src/transaction/mineable/CSVMultisigProvider.d.ts +102 -0
  95. package/browser/{transaction → src/transaction}/mineable/IP2WSHAddress.d.ts +0 -1
  96. package/browser/{transaction → src/transaction}/mineable/TimelockGenerator.d.ts +1 -2
  97. package/browser/{transaction → src/transaction}/offline/OfflineTransactionManager.d.ts +1 -2
  98. package/browser/{transaction → src/transaction}/offline/TransactionReconstructor.d.ts +2 -3
  99. package/browser/{transaction → src/transaction}/offline/TransactionSerializer.d.ts +0 -1
  100. package/browser/{transaction → src/transaction}/offline/TransactionStateCapture.d.ts +0 -1
  101. package/browser/{transaction → src/transaction}/offline/interfaces/ISerializableState.d.ts +0 -1
  102. package/browser/{transaction → src/transaction}/offline/interfaces/ITypeSpecificData.d.ts +0 -1
  103. package/browser/{transaction → src/transaction}/psbt/PSBTTypes.d.ts +0 -1
  104. package/browser/{transaction → src/transaction}/shared/P2MR_MS.d.ts +1 -2
  105. package/browser/{transaction → src/transaction}/shared/P2TR_MS.d.ts +1 -2
  106. package/browser/{transaction → src/transaction}/shared/TweakedTransaction.d.ts +21 -3
  107. package/browser/{transaction → src/transaction}/utils/WitnessUtils.d.ts +0 -1
  108. package/browser/{utils → src/utils}/BitcoinUtils.d.ts +0 -1
  109. package/browser/{utils → src/utils}/BufferHelper.d.ts +0 -1
  110. package/browser/{utils → src/utils}/StringToBuffer.d.ts +0 -1
  111. package/browser/{utils → src/utils}/lengths.d.ts +0 -1
  112. package/browser/{utils → src/utils}/types.d.ts +0 -1
  113. package/browser/{utxo → src/utxo}/OPNetLimitedProvider.d.ts +1 -2
  114. package/browser/{utxo → src/utxo}/interfaces/BroadcastResponse.d.ts +0 -1
  115. package/browser/{utxo → src/utxo}/interfaces/IUTXO.d.ts +0 -1
  116. package/browser/{verification → src/verification}/TapscriptVerificator.d.ts +1 -2
  117. package/browser/vendors.js +13 -13
  118. package/build/_version.d.ts +1 -2
  119. package/build/_version.js +1 -2
  120. package/build/abi/ABICoder.d.ts +0 -1
  121. package/build/abi/ABICoder.js +0 -1
  122. package/build/abi/ABIDataTypes.d.ts +0 -1
  123. package/build/abi/ABIDataTypes.js +0 -1
  124. package/build/abi/AbiTypes.d.ts +0 -1
  125. package/build/abi/AbiTypes.js +0 -1
  126. package/build/abi/TupleUtils.d.ts +0 -1
  127. package/build/abi/TupleUtils.js +0 -1
  128. package/build/branded/Branded.d.ts +0 -1
  129. package/build/branded/Branded.js +0 -1
  130. package/build/buffer/BinaryReader.d.ts +0 -1
  131. package/build/buffer/BinaryReader.js +0 -1
  132. package/build/buffer/BinaryWriter.d.ts +0 -1
  133. package/build/buffer/BinaryWriter.js +0 -1
  134. package/build/bytecode/Compressor.d.ts +0 -1
  135. package/build/bytecode/Compressor.js +0 -1
  136. package/build/chain/ChainData.d.ts +0 -1
  137. package/build/chain/ChainData.js +0 -1
  138. package/build/consensus/Consensus.d.ts +0 -1
  139. package/build/consensus/Consensus.js +0 -1
  140. package/build/consensus/ConsensusConfig.d.ts +0 -1
  141. package/build/consensus/ConsensusConfig.js +0 -1
  142. package/build/consensus/IConsensusConfig.d.ts +0 -1
  143. package/build/consensus/IConsensusConfig.js +0 -1
  144. package/build/consensus/metadata/RoswellConsensus.d.ts +0 -1
  145. package/build/consensus/metadata/RoswellConsensus.js +0 -1
  146. package/build/crypto/crypto.d.ts +0 -1
  147. package/build/crypto/crypto.js +0 -1
  148. package/build/deterministic/AddressMap.d.ts +0 -1
  149. package/build/deterministic/AddressMap.js +0 -1
  150. package/build/deterministic/AddressSet.d.ts +0 -1
  151. package/build/deterministic/AddressSet.js +0 -1
  152. package/build/deterministic/CustomMap.d.ts +0 -1
  153. package/build/deterministic/CustomMap.js +0 -1
  154. package/build/deterministic/DeterministicMap.d.ts +0 -1
  155. package/build/deterministic/DeterministicMap.js +0 -1
  156. package/build/deterministic/DeterministicSet.d.ts +0 -1
  157. package/build/deterministic/DeterministicSet.js +0 -1
  158. package/build/deterministic/ExtendedAddressMap.d.ts +0 -1
  159. package/build/deterministic/ExtendedAddressMap.js +0 -1
  160. package/build/deterministic/FastMap.d.ts +0 -1
  161. package/build/deterministic/FastMap.js +0 -1
  162. package/build/ecc/backend.d.ts +0 -1
  163. package/build/ecc/backend.js +0 -1
  164. package/build/epoch/ChallengeSolution.d.ts +0 -1
  165. package/build/epoch/ChallengeSolution.js +0 -1
  166. package/build/epoch/interfaces/IChallengeSolution.d.ts +0 -1
  167. package/build/epoch/interfaces/IChallengeSolution.js +0 -1
  168. package/build/epoch/validator/EpochValidator.d.ts +0 -1
  169. package/build/epoch/validator/EpochValidator.js +0 -1
  170. package/build/event/NetEvent.d.ts +0 -1
  171. package/build/event/NetEvent.js +0 -1
  172. package/build/generators/AddressGenerator.d.ts +0 -1
  173. package/build/generators/AddressGenerator.js +0 -1
  174. package/build/generators/Features.d.ts +0 -1
  175. package/build/generators/Features.js +0 -1
  176. package/build/generators/Generator.d.ts +0 -1
  177. package/build/generators/Generator.js +0 -1
  178. package/build/generators/MLDSAData.d.ts +0 -1
  179. package/build/generators/MLDSAData.js +0 -1
  180. package/build/generators/builders/CalldataGenerator.d.ts +0 -1
  181. package/build/generators/builders/CalldataGenerator.js +0 -1
  182. package/build/generators/builders/CustomGenerator.d.ts +0 -1
  183. package/build/generators/builders/CustomGenerator.js +0 -1
  184. package/build/generators/builders/DeploymentGenerator.d.ts +0 -1
  185. package/build/generators/builders/DeploymentGenerator.js +0 -1
  186. package/build/generators/builders/HashCommitmentGenerator.d.ts +0 -1
  187. package/build/generators/builders/HashCommitmentGenerator.js +0 -1
  188. package/build/generators/builders/LegacyCalldataGenerator.d.ts +0 -1
  189. package/build/generators/builders/LegacyCalldataGenerator.js +0 -1
  190. package/build/generators/builders/MultiSignGenerator.d.ts +0 -1
  191. package/build/generators/builders/MultiSignGenerator.js +0 -1
  192. package/build/generators/builders/P2WDAGenerator.d.ts +0 -1
  193. package/build/generators/builders/P2WDAGenerator.js +0 -1
  194. package/build/index.d.ts +0 -1
  195. package/build/index.js +0 -1
  196. package/build/keypair/Address.d.ts +0 -1
  197. package/build/keypair/Address.js +0 -1
  198. package/build/keypair/AddressVerificator.d.ts +0 -1
  199. package/build/keypair/AddressVerificator.js +0 -1
  200. package/build/keypair/EcKeyPair.d.ts +0 -1
  201. package/build/keypair/EcKeyPair.js +0 -1
  202. package/build/keypair/MessageSigner.d.ts +0 -1
  203. package/build/keypair/MessageSigner.js +0 -1
  204. package/build/keypair/Secp256k1PointDeriver.d.ts +0 -1
  205. package/build/keypair/Secp256k1PointDeriver.js +0 -1
  206. package/build/keypair/Wallet.d.ts +0 -1
  207. package/build/keypair/Wallet.js +0 -1
  208. package/build/keypair/interfaces/IWallet.d.ts +0 -1
  209. package/build/keypair/interfaces/IWallet.js +0 -1
  210. package/build/metadata/ContractBaseMetadata.d.ts +0 -1
  211. package/build/metadata/ContractBaseMetadata.js +0 -1
  212. package/build/mnemonic/BIPStandard.d.ts +0 -1
  213. package/build/mnemonic/BIPStandard.js +0 -1
  214. package/build/mnemonic/Mnemonic.d.ts +0 -1
  215. package/build/mnemonic/Mnemonic.js +0 -1
  216. package/build/mnemonic/MnemonicStrength.d.ts +0 -1
  217. package/build/mnemonic/MnemonicStrength.js +0 -1
  218. package/build/network/ChainId.d.ts +0 -1
  219. package/build/network/ChainId.js +0 -1
  220. package/build/opnet.d.ts +1 -1
  221. package/build/opnet.js +1 -1
  222. package/build/p2wda/P2WDADetector.d.ts +0 -1
  223. package/build/p2wda/P2WDADetector.js +0 -1
  224. package/build/polyfill/disposable.d.ts +0 -1
  225. package/build/polyfill/disposable.js +0 -1
  226. package/build/signer/AddressRotation.d.ts +0 -1
  227. package/build/signer/AddressRotation.js +0 -1
  228. package/build/signer/IRotationSigner.d.ts +0 -1
  229. package/build/signer/IRotationSigner.js +0 -1
  230. package/build/signer/ParallelSignerAdapter.d.ts +0 -1
  231. package/build/signer/ParallelSignerAdapter.js +0 -1
  232. package/build/signer/SignerUtils.d.ts +0 -1
  233. package/build/signer/SignerUtils.js +0 -1
  234. package/build/signer/TweakedSigner.d.ts +0 -1
  235. package/build/signer/TweakedSigner.js +0 -1
  236. package/build/transaction/ContractAddress.d.ts +0 -1
  237. package/build/transaction/ContractAddress.js +0 -1
  238. package/build/transaction/TransactionFactory.d.ts +0 -1
  239. package/build/transaction/TransactionFactory.js +0 -1
  240. package/build/transaction/browser/BrowserSignerBase.d.ts +0 -1
  241. package/build/transaction/browser/BrowserSignerBase.js +0 -1
  242. package/build/transaction/browser/WalletNetworks.d.ts +0 -1
  243. package/build/transaction/browser/WalletNetworks.js +0 -1
  244. package/build/transaction/browser/Web3Provider.d.ts +0 -1
  245. package/build/transaction/browser/Web3Provider.js +0 -1
  246. package/build/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
  247. package/build/transaction/browser/extensions/UnisatSigner.js +0 -1
  248. package/build/transaction/browser/extensions/XverseSigner.d.ts +0 -1
  249. package/build/transaction/browser/extensions/XverseSigner.js +0 -1
  250. package/build/transaction/browser/types/OPWallet.d.ts +0 -1
  251. package/build/transaction/browser/types/OPWallet.js +0 -1
  252. package/build/transaction/browser/types/Unisat.d.ts +0 -1
  253. package/build/transaction/browser/types/Unisat.js +0 -1
  254. package/build/transaction/browser/types/Xverse.d.ts +0 -1
  255. package/build/transaction/browser/types/Xverse.js +0 -1
  256. package/build/transaction/builders/CancelTransaction.d.ts +0 -1
  257. package/build/transaction/builders/CancelTransaction.js +0 -1
  258. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +0 -1
  259. package/build/transaction/builders/ChallengeSolutionTransaction.js +0 -1
  260. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +0 -1
  261. package/build/transaction/builders/ConsolidatedInteractionTransaction.js +0 -1
  262. package/build/transaction/builders/CustomScriptTransaction.d.ts +0 -1
  263. package/build/transaction/builders/CustomScriptTransaction.js +0 -1
  264. package/build/transaction/builders/DeploymentTransaction.d.ts +0 -1
  265. package/build/transaction/builders/DeploymentTransaction.js +0 -1
  266. package/build/transaction/builders/FundingTransaction.d.ts +0 -1
  267. package/build/transaction/builders/FundingTransaction.js +0 -1
  268. package/build/transaction/builders/InteractionTransaction.d.ts +0 -1
  269. package/build/transaction/builders/InteractionTransaction.js +0 -1
  270. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +0 -1
  271. package/build/transaction/builders/InteractionTransactionP2WDA.js +0 -1
  272. package/build/transaction/builders/MultiSignTransaction.d.ts +0 -1
  273. package/build/transaction/builders/MultiSignTransaction.js +0 -1
  274. package/build/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
  275. package/build/transaction/builders/SharedInteractionTransaction.js +0 -1
  276. package/build/transaction/builders/TransactionBuilder.d.ts +0 -1
  277. package/build/transaction/builders/TransactionBuilder.js +7 -1
  278. package/build/transaction/enums/TransactionType.d.ts +0 -1
  279. package/build/transaction/enums/TransactionType.js +0 -1
  280. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +0 -1
  281. package/build/transaction/interfaces/ICancelTransactionParameters.js +0 -1
  282. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +0 -1
  283. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +0 -1
  284. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +0 -1
  285. package/build/transaction/interfaces/ICustomTransactionParameters.js +0 -1
  286. package/build/transaction/interfaces/ITransactionParameters.d.ts +0 -1
  287. package/build/transaction/interfaces/ITransactionParameters.js +0 -1
  288. package/build/transaction/interfaces/ITransactionResponses.d.ts +0 -1
  289. package/build/transaction/interfaces/ITransactionResponses.js +0 -1
  290. package/build/transaction/interfaces/ITweakedTransactionData.d.ts +0 -1
  291. package/build/transaction/interfaces/ITweakedTransactionData.js +0 -1
  292. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +0 -1
  293. package/build/transaction/interfaces/IWeb3ProviderTypes.js +0 -1
  294. package/build/transaction/interfaces/Tap.d.ts +0 -1
  295. package/build/transaction/interfaces/Tap.js +0 -1
  296. package/build/transaction/mineable/CSVMultisigProvider.d.ts +102 -0
  297. package/build/transaction/mineable/CSVMultisigProvider.js +348 -0
  298. package/build/transaction/mineable/IP2WSHAddress.d.ts +0 -1
  299. package/build/transaction/mineable/IP2WSHAddress.js +0 -1
  300. package/build/transaction/mineable/TimelockGenerator.d.ts +0 -1
  301. package/build/transaction/mineable/TimelockGenerator.js +0 -1
  302. package/build/transaction/offline/OfflineTransactionManager.d.ts +0 -1
  303. package/build/transaction/offline/OfflineTransactionManager.js +0 -1
  304. package/build/transaction/offline/TransactionReconstructor.d.ts +0 -1
  305. package/build/transaction/offline/TransactionReconstructor.js +0 -1
  306. package/build/transaction/offline/TransactionSerializer.d.ts +0 -1
  307. package/build/transaction/offline/TransactionSerializer.js +0 -1
  308. package/build/transaction/offline/TransactionStateCapture.d.ts +0 -1
  309. package/build/transaction/offline/TransactionStateCapture.js +0 -1
  310. package/build/transaction/offline/interfaces/ISerializableState.d.ts +0 -1
  311. package/build/transaction/offline/interfaces/ISerializableState.js +0 -1
  312. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +0 -1
  313. package/build/transaction/offline/interfaces/ITypeSpecificData.js +0 -1
  314. package/build/transaction/psbt/PSBTTypes.d.ts +0 -1
  315. package/build/transaction/psbt/PSBTTypes.js +0 -1
  316. package/build/transaction/shared/P2MR_MS.d.ts +0 -1
  317. package/build/transaction/shared/P2MR_MS.js +0 -1
  318. package/build/transaction/shared/P2TR_MS.d.ts +0 -1
  319. package/build/transaction/shared/P2TR_MS.js +0 -1
  320. package/build/transaction/shared/TweakedTransaction.d.ts +19 -1
  321. package/build/transaction/shared/TweakedTransaction.js +69 -7
  322. package/build/transaction/utils/WitnessUtils.d.ts +0 -1
  323. package/build/transaction/utils/WitnessUtils.js +0 -1
  324. package/build/utils/BitcoinUtils.d.ts +0 -1
  325. package/build/utils/BitcoinUtils.js +0 -1
  326. package/build/utils/BufferHelper.d.ts +0 -1
  327. package/build/utils/BufferHelper.js +0 -1
  328. package/build/utils/StringToBuffer.d.ts +0 -1
  329. package/build/utils/StringToBuffer.js +0 -1
  330. package/build/utils/lengths.d.ts +0 -1
  331. package/build/utils/lengths.js +0 -1
  332. package/build/utils/types.d.ts +0 -1
  333. package/build/utils/types.js +0 -1
  334. package/build/utxo/OPNetLimitedProvider.d.ts +0 -1
  335. package/build/utxo/OPNetLimitedProvider.js +0 -1
  336. package/build/utxo/interfaces/BroadcastResponse.d.ts +0 -1
  337. package/build/utxo/interfaces/BroadcastResponse.js +0 -1
  338. package/build/utxo/interfaces/IUTXO.d.ts +0 -1
  339. package/build/utxo/interfaces/IUTXO.js +0 -1
  340. package/build/verification/TapscriptVerificator.d.ts +0 -1
  341. package/build/verification/TapscriptVerificator.js +0 -1
  342. package/eslint.config.js +5 -0
  343. package/package.json +20 -17
  344. package/src/_version.ts +1 -1
  345. package/src/keypair/Address.ts +1 -1
  346. package/src/opnet.ts +1 -0
  347. package/src/transaction/builders/TransactionBuilder.ts +10 -0
  348. package/src/transaction/mineable/CSVMultisigProvider.ts +465 -0
  349. package/src/transaction/shared/TweakedTransaction.ts +90 -5
  350. package/test/csv-multisig-spend.test.ts +363 -0
  351. package/test/web3-provider-types.test.ts +349 -0
  352. package/test/zero-amount-funding.test.ts +311 -0
  353. package/tsconfig.base.json +2 -2
  354. package/tsconfig.build.json +4 -1
  355. package/tsconfig.build.tsbuildinfo +1 -0
  356. package/tsconfig.json +9 -3
  357. package/browser/_version.d.ts +0 -2
  358. package/browser/_version.d.ts.map +0 -1
  359. package/browser/abi/ABICoder.d.ts.map +0 -1
  360. package/browser/abi/ABIDataTypes.d.ts.map +0 -1
  361. package/browser/abi/AbiTypes.d.ts.map +0 -1
  362. package/browser/abi/TupleUtils.d.ts.map +0 -1
  363. package/browser/branded/Branded.d.ts.map +0 -1
  364. package/browser/buffer/BinaryReader.d.ts.map +0 -1
  365. package/browser/buffer/BinaryWriter.d.ts.map +0 -1
  366. package/browser/bytecode/Compressor.d.ts.map +0 -1
  367. package/browser/chain/ChainData.d.ts.map +0 -1
  368. package/browser/consensus/Consensus.d.ts.map +0 -1
  369. package/browser/consensus/ConsensusConfig.d.ts.map +0 -1
  370. package/browser/consensus/IConsensusConfig.d.ts.map +0 -1
  371. package/browser/consensus/metadata/RoswellConsensus.d.ts.map +0 -1
  372. package/browser/crypto/crypto.d.ts.map +0 -1
  373. package/browser/deterministic/AddressMap.d.ts.map +0 -1
  374. package/browser/deterministic/AddressSet.d.ts.map +0 -1
  375. package/browser/deterministic/CustomMap.d.ts.map +0 -1
  376. package/browser/deterministic/DeterministicMap.d.ts.map +0 -1
  377. package/browser/deterministic/DeterministicSet.d.ts.map +0 -1
  378. package/browser/deterministic/ExtendedAddressMap.d.ts.map +0 -1
  379. package/browser/deterministic/FastMap.d.ts.map +0 -1
  380. package/browser/ecc/backend.d.ts.map +0 -1
  381. package/browser/epoch/ChallengeSolution.d.ts.map +0 -1
  382. package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +0 -1
  383. package/browser/epoch/validator/EpochValidator.d.ts.map +0 -1
  384. package/browser/event/NetEvent.d.ts.map +0 -1
  385. package/browser/generators/AddressGenerator.d.ts.map +0 -1
  386. package/browser/generators/Features.d.ts.map +0 -1
  387. package/browser/generators/Generator.d.ts.map +0 -1
  388. package/browser/generators/MLDSAData.d.ts.map +0 -1
  389. package/browser/generators/builders/CalldataGenerator.d.ts.map +0 -1
  390. package/browser/generators/builders/CustomGenerator.d.ts.map +0 -1
  391. package/browser/generators/builders/DeploymentGenerator.d.ts.map +0 -1
  392. package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +0 -1
  393. package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +0 -1
  394. package/browser/generators/builders/MultiSignGenerator.d.ts.map +0 -1
  395. package/browser/generators/builders/P2WDAGenerator.d.ts.map +0 -1
  396. package/browser/index.d.ts.map +0 -1
  397. package/browser/keypair/Address.d.ts.map +0 -1
  398. package/browser/keypair/AddressVerificator.d.ts.map +0 -1
  399. package/browser/keypair/EcKeyPair.d.ts.map +0 -1
  400. package/browser/keypair/MessageSigner.d.ts.map +0 -1
  401. package/browser/keypair/Secp256k1PointDeriver.d.ts.map +0 -1
  402. package/browser/keypair/Wallet.d.ts.map +0 -1
  403. package/browser/keypair/interfaces/IWallet.d.ts.map +0 -1
  404. package/browser/metadata/ContractBaseMetadata.d.ts.map +0 -1
  405. package/browser/mnemonic/BIPStandard.d.ts.map +0 -1
  406. package/browser/mnemonic/Mnemonic.d.ts.map +0 -1
  407. package/browser/mnemonic/MnemonicStrength.d.ts.map +0 -1
  408. package/browser/network/ChainId.d.ts.map +0 -1
  409. package/browser/opnet.d.ts.map +0 -1
  410. package/browser/p2wda/P2WDADetector.d.ts.map +0 -1
  411. package/browser/polyfill/disposable.d.ts.map +0 -1
  412. package/browser/signer/AddressRotation.d.ts.map +0 -1
  413. package/browser/signer/IRotationSigner.d.ts.map +0 -1
  414. package/browser/signer/ParallelSignerAdapter.d.ts.map +0 -1
  415. package/browser/signer/SignerUtils.d.ts.map +0 -1
  416. package/browser/signer/TweakedSigner.d.ts.map +0 -1
  417. package/browser/transaction/ContractAddress.d.ts.map +0 -1
  418. package/browser/transaction/TransactionFactory.d.ts.map +0 -1
  419. package/browser/transaction/browser/BrowserSignerBase.d.ts.map +0 -1
  420. package/browser/transaction/browser/WalletNetworks.d.ts.map +0 -1
  421. package/browser/transaction/browser/Web3Provider.d.ts.map +0 -1
  422. package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +0 -1
  423. package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +0 -1
  424. package/browser/transaction/browser/types/OPWallet.d.ts.map +0 -1
  425. package/browser/transaction/browser/types/Unisat.d.ts.map +0 -1
  426. package/browser/transaction/browser/types/Xverse.d.ts.map +0 -1
  427. package/browser/transaction/builders/CancelTransaction.d.ts.map +0 -1
  428. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +0 -2
  429. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +0 -1
  430. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +0 -1
  431. package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +0 -1
  432. package/browser/transaction/builders/DeploymentTransaction.d.ts.map +0 -1
  433. package/browser/transaction/builders/FundingTransaction.d.ts.map +0 -1
  434. package/browser/transaction/builders/InteractionTransaction.d.ts.map +0 -1
  435. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +0 -1
  436. package/browser/transaction/builders/MultiSignTransaction.d.ts.map +0 -1
  437. package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +0 -1
  438. package/browser/transaction/builders/TransactionBuilder.d.ts.map +0 -1
  439. package/browser/transaction/enums/TransactionType.d.ts.map +0 -1
  440. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +0 -1
  441. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +0 -1
  442. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +0 -1
  443. package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +0 -1
  444. package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +0 -1
  445. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +0 -1
  446. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +0 -1
  447. package/browser/transaction/interfaces/Tap.d.ts.map +0 -1
  448. package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +0 -1
  449. package/browser/transaction/mineable/TimelockGenerator.d.ts.map +0 -1
  450. package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +0 -1
  451. package/browser/transaction/offline/TransactionReconstructor.d.ts.map +0 -1
  452. package/browser/transaction/offline/TransactionSerializer.d.ts.map +0 -1
  453. package/browser/transaction/offline/TransactionStateCapture.d.ts.map +0 -1
  454. package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +0 -1
  455. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +0 -1
  456. package/browser/transaction/psbt/PSBTTypes.d.ts.map +0 -1
  457. package/browser/transaction/shared/P2MR_MS.d.ts.map +0 -1
  458. package/browser/transaction/shared/P2TR_MS.d.ts.map +0 -1
  459. package/browser/transaction/shared/TweakedTransaction.d.ts.map +0 -1
  460. package/browser/transaction/utils/WitnessUtils.d.ts.map +0 -1
  461. package/browser/utils/BitcoinUtils.d.ts.map +0 -1
  462. package/browser/utils/BufferHelper.d.ts.map +0 -1
  463. package/browser/utils/StringToBuffer.d.ts.map +0 -1
  464. package/browser/utils/lengths.d.ts.map +0 -1
  465. package/browser/utils/types.d.ts.map +0 -1
  466. package/browser/utxo/OPNetLimitedProvider.d.ts.map +0 -1
  467. package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +0 -1
  468. package/browser/utxo/interfaces/IUTXO.d.ts.map +0 -1
  469. package/browser/verification/TapscriptVerificator.d.ts.map +0 -1
  470. package/build/_version.d.ts.map +0 -1
  471. package/build/_version.js.map +0 -1
  472. package/build/abi/ABICoder.d.ts.map +0 -1
  473. package/build/abi/ABICoder.js.map +0 -1
  474. package/build/abi/ABIDataTypes.d.ts.map +0 -1
  475. package/build/abi/ABIDataTypes.js.map +0 -1
  476. package/build/abi/AbiTypes.d.ts.map +0 -1
  477. package/build/abi/AbiTypes.js.map +0 -1
  478. package/build/abi/TupleUtils.d.ts.map +0 -1
  479. package/build/abi/TupleUtils.js.map +0 -1
  480. package/build/branded/Branded.d.ts.map +0 -1
  481. package/build/branded/Branded.js.map +0 -1
  482. package/build/buffer/BinaryReader.d.ts.map +0 -1
  483. package/build/buffer/BinaryReader.js.map +0 -1
  484. package/build/buffer/BinaryWriter.d.ts.map +0 -1
  485. package/build/buffer/BinaryWriter.js.map +0 -1
  486. package/build/bytecode/Compressor.d.ts.map +0 -1
  487. package/build/bytecode/Compressor.js.map +0 -1
  488. package/build/chain/ChainData.d.ts.map +0 -1
  489. package/build/chain/ChainData.js.map +0 -1
  490. package/build/consensus/Consensus.d.ts.map +0 -1
  491. package/build/consensus/Consensus.js.map +0 -1
  492. package/build/consensus/ConsensusConfig.d.ts.map +0 -1
  493. package/build/consensus/ConsensusConfig.js.map +0 -1
  494. package/build/consensus/IConsensusConfig.d.ts.map +0 -1
  495. package/build/consensus/IConsensusConfig.js.map +0 -1
  496. package/build/consensus/metadata/RoswellConsensus.d.ts.map +0 -1
  497. package/build/consensus/metadata/RoswellConsensus.js.map +0 -1
  498. package/build/crypto/crypto.d.ts.map +0 -1
  499. package/build/crypto/crypto.js.map +0 -1
  500. package/build/deterministic/AddressMap.d.ts.map +0 -1
  501. package/build/deterministic/AddressMap.js.map +0 -1
  502. package/build/deterministic/AddressSet.d.ts.map +0 -1
  503. package/build/deterministic/AddressSet.js.map +0 -1
  504. package/build/deterministic/CustomMap.d.ts.map +0 -1
  505. package/build/deterministic/CustomMap.js.map +0 -1
  506. package/build/deterministic/DeterministicMap.d.ts.map +0 -1
  507. package/build/deterministic/DeterministicMap.js.map +0 -1
  508. package/build/deterministic/DeterministicSet.d.ts.map +0 -1
  509. package/build/deterministic/DeterministicSet.js.map +0 -1
  510. package/build/deterministic/ExtendedAddressMap.d.ts.map +0 -1
  511. package/build/deterministic/ExtendedAddressMap.js.map +0 -1
  512. package/build/deterministic/FastMap.d.ts.map +0 -1
  513. package/build/deterministic/FastMap.js.map +0 -1
  514. package/build/ecc/backend.d.ts.map +0 -1
  515. package/build/ecc/backend.js.map +0 -1
  516. package/build/epoch/ChallengeSolution.d.ts.map +0 -1
  517. package/build/epoch/ChallengeSolution.js.map +0 -1
  518. package/build/epoch/interfaces/IChallengeSolution.d.ts.map +0 -1
  519. package/build/epoch/interfaces/IChallengeSolution.js.map +0 -1
  520. package/build/epoch/validator/EpochValidator.d.ts.map +0 -1
  521. package/build/epoch/validator/EpochValidator.js.map +0 -1
  522. package/build/event/NetEvent.d.ts.map +0 -1
  523. package/build/event/NetEvent.js.map +0 -1
  524. package/build/generators/AddressGenerator.d.ts.map +0 -1
  525. package/build/generators/AddressGenerator.js.map +0 -1
  526. package/build/generators/Features.d.ts.map +0 -1
  527. package/build/generators/Features.js.map +0 -1
  528. package/build/generators/Generator.d.ts.map +0 -1
  529. package/build/generators/Generator.js.map +0 -1
  530. package/build/generators/MLDSAData.d.ts.map +0 -1
  531. package/build/generators/MLDSAData.js.map +0 -1
  532. package/build/generators/builders/CalldataGenerator.d.ts.map +0 -1
  533. package/build/generators/builders/CalldataGenerator.js.map +0 -1
  534. package/build/generators/builders/CustomGenerator.d.ts.map +0 -1
  535. package/build/generators/builders/CustomGenerator.js.map +0 -1
  536. package/build/generators/builders/DeploymentGenerator.d.ts.map +0 -1
  537. package/build/generators/builders/DeploymentGenerator.js.map +0 -1
  538. package/build/generators/builders/HashCommitmentGenerator.d.ts.map +0 -1
  539. package/build/generators/builders/HashCommitmentGenerator.js.map +0 -1
  540. package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +0 -1
  541. package/build/generators/builders/LegacyCalldataGenerator.js.map +0 -1
  542. package/build/generators/builders/MultiSignGenerator.d.ts.map +0 -1
  543. package/build/generators/builders/MultiSignGenerator.js.map +0 -1
  544. package/build/generators/builders/P2WDAGenerator.d.ts.map +0 -1
  545. package/build/generators/builders/P2WDAGenerator.js.map +0 -1
  546. package/build/index.d.ts.map +0 -1
  547. package/build/index.js.map +0 -1
  548. package/build/keypair/Address.d.ts.map +0 -1
  549. package/build/keypair/Address.js.map +0 -1
  550. package/build/keypair/AddressVerificator.d.ts.map +0 -1
  551. package/build/keypair/AddressVerificator.js.map +0 -1
  552. package/build/keypair/EcKeyPair.d.ts.map +0 -1
  553. package/build/keypair/EcKeyPair.js.map +0 -1
  554. package/build/keypair/MessageSigner.d.ts.map +0 -1
  555. package/build/keypair/MessageSigner.js.map +0 -1
  556. package/build/keypair/Secp256k1PointDeriver.d.ts.map +0 -1
  557. package/build/keypair/Secp256k1PointDeriver.js.map +0 -1
  558. package/build/keypair/Wallet.d.ts.map +0 -1
  559. package/build/keypair/Wallet.js.map +0 -1
  560. package/build/keypair/interfaces/IWallet.d.ts.map +0 -1
  561. package/build/keypair/interfaces/IWallet.js.map +0 -1
  562. package/build/metadata/ContractBaseMetadata.d.ts.map +0 -1
  563. package/build/metadata/ContractBaseMetadata.js.map +0 -1
  564. package/build/mnemonic/BIPStandard.d.ts.map +0 -1
  565. package/build/mnemonic/BIPStandard.js.map +0 -1
  566. package/build/mnemonic/Mnemonic.d.ts.map +0 -1
  567. package/build/mnemonic/Mnemonic.js.map +0 -1
  568. package/build/mnemonic/MnemonicStrength.d.ts.map +0 -1
  569. package/build/mnemonic/MnemonicStrength.js.map +0 -1
  570. package/build/network/ChainId.d.ts.map +0 -1
  571. package/build/network/ChainId.js.map +0 -1
  572. package/build/opnet.d.ts.map +0 -1
  573. package/build/opnet.js.map +0 -1
  574. package/build/p2wda/P2WDADetector.d.ts.map +0 -1
  575. package/build/p2wda/P2WDADetector.js.map +0 -1
  576. package/build/polyfill/disposable.d.ts.map +0 -1
  577. package/build/polyfill/disposable.js.map +0 -1
  578. package/build/signer/AddressRotation.d.ts.map +0 -1
  579. package/build/signer/AddressRotation.js.map +0 -1
  580. package/build/signer/IRotationSigner.d.ts.map +0 -1
  581. package/build/signer/IRotationSigner.js.map +0 -1
  582. package/build/signer/ParallelSignerAdapter.d.ts.map +0 -1
  583. package/build/signer/ParallelSignerAdapter.js.map +0 -1
  584. package/build/signer/SignerUtils.d.ts.map +0 -1
  585. package/build/signer/SignerUtils.js.map +0 -1
  586. package/build/signer/TweakedSigner.d.ts.map +0 -1
  587. package/build/signer/TweakedSigner.js.map +0 -1
  588. package/build/transaction/ContractAddress.d.ts.map +0 -1
  589. package/build/transaction/ContractAddress.js.map +0 -1
  590. package/build/transaction/TransactionFactory.d.ts.map +0 -1
  591. package/build/transaction/TransactionFactory.js.map +0 -1
  592. package/build/transaction/browser/BrowserSignerBase.d.ts.map +0 -1
  593. package/build/transaction/browser/BrowserSignerBase.js.map +0 -1
  594. package/build/transaction/browser/WalletNetworks.d.ts.map +0 -1
  595. package/build/transaction/browser/WalletNetworks.js.map +0 -1
  596. package/build/transaction/browser/Web3Provider.d.ts.map +0 -1
  597. package/build/transaction/browser/Web3Provider.js.map +0 -1
  598. package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +0 -1
  599. package/build/transaction/browser/extensions/UnisatSigner.js.map +0 -1
  600. package/build/transaction/browser/extensions/XverseSigner.d.ts.map +0 -1
  601. package/build/transaction/browser/extensions/XverseSigner.js.map +0 -1
  602. package/build/transaction/browser/types/OPWallet.d.ts.map +0 -1
  603. package/build/transaction/browser/types/OPWallet.js.map +0 -1
  604. package/build/transaction/browser/types/Unisat.d.ts.map +0 -1
  605. package/build/transaction/browser/types/Unisat.js.map +0 -1
  606. package/build/transaction/browser/types/Xverse.d.ts.map +0 -1
  607. package/build/transaction/browser/types/Xverse.js.map +0 -1
  608. package/build/transaction/builders/CancelTransaction.d.ts.map +0 -1
  609. package/build/transaction/builders/CancelTransaction.js.map +0 -1
  610. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +0 -1
  611. package/build/transaction/builders/ChallengeSolutionTransaction.js.map +0 -1
  612. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +0 -1
  613. package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +0 -1
  614. package/build/transaction/builders/CustomScriptTransaction.d.ts.map +0 -1
  615. package/build/transaction/builders/CustomScriptTransaction.js.map +0 -1
  616. package/build/transaction/builders/DeploymentTransaction.d.ts.map +0 -1
  617. package/build/transaction/builders/DeploymentTransaction.js.map +0 -1
  618. package/build/transaction/builders/FundingTransaction.d.ts.map +0 -1
  619. package/build/transaction/builders/FundingTransaction.js.map +0 -1
  620. package/build/transaction/builders/InteractionTransaction.d.ts.map +0 -1
  621. package/build/transaction/builders/InteractionTransaction.js.map +0 -1
  622. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +0 -1
  623. package/build/transaction/builders/InteractionTransactionP2WDA.js.map +0 -1
  624. package/build/transaction/builders/MultiSignTransaction.d.ts.map +0 -1
  625. package/build/transaction/builders/MultiSignTransaction.js.map +0 -1
  626. package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +0 -1
  627. package/build/transaction/builders/SharedInteractionTransaction.js.map +0 -1
  628. package/build/transaction/builders/TransactionBuilder.d.ts.map +0 -1
  629. package/build/transaction/builders/TransactionBuilder.js.map +0 -1
  630. package/build/transaction/enums/TransactionType.d.ts.map +0 -1
  631. package/build/transaction/enums/TransactionType.js.map +0 -1
  632. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +0 -1
  633. package/build/transaction/interfaces/ICancelTransactionParameters.js.map +0 -1
  634. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +0 -1
  635. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +0 -1
  636. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +0 -1
  637. package/build/transaction/interfaces/ICustomTransactionParameters.js.map +0 -1
  638. package/build/transaction/interfaces/ITransactionParameters.d.ts.map +0 -1
  639. package/build/transaction/interfaces/ITransactionParameters.js.map +0 -1
  640. package/build/transaction/interfaces/ITransactionResponses.d.ts.map +0 -1
  641. package/build/transaction/interfaces/ITransactionResponses.js.map +0 -1
  642. package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +0 -1
  643. package/build/transaction/interfaces/ITweakedTransactionData.js.map +0 -1
  644. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +0 -1
  645. package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +0 -1
  646. package/build/transaction/interfaces/Tap.d.ts.map +0 -1
  647. package/build/transaction/interfaces/Tap.js.map +0 -1
  648. package/build/transaction/mineable/IP2WSHAddress.d.ts.map +0 -1
  649. package/build/transaction/mineable/IP2WSHAddress.js.map +0 -1
  650. package/build/transaction/mineable/TimelockGenerator.d.ts.map +0 -1
  651. package/build/transaction/mineable/TimelockGenerator.js.map +0 -1
  652. package/build/transaction/offline/OfflineTransactionManager.d.ts.map +0 -1
  653. package/build/transaction/offline/OfflineTransactionManager.js.map +0 -1
  654. package/build/transaction/offline/TransactionReconstructor.d.ts.map +0 -1
  655. package/build/transaction/offline/TransactionReconstructor.js.map +0 -1
  656. package/build/transaction/offline/TransactionSerializer.d.ts.map +0 -1
  657. package/build/transaction/offline/TransactionSerializer.js.map +0 -1
  658. package/build/transaction/offline/TransactionStateCapture.d.ts.map +0 -1
  659. package/build/transaction/offline/TransactionStateCapture.js.map +0 -1
  660. package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +0 -1
  661. package/build/transaction/offline/interfaces/ISerializableState.js.map +0 -1
  662. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +0 -1
  663. package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +0 -1
  664. package/build/transaction/psbt/PSBTTypes.d.ts.map +0 -1
  665. package/build/transaction/psbt/PSBTTypes.js.map +0 -1
  666. package/build/transaction/shared/P2MR_MS.d.ts.map +0 -1
  667. package/build/transaction/shared/P2MR_MS.js.map +0 -1
  668. package/build/transaction/shared/P2TR_MS.d.ts.map +0 -1
  669. package/build/transaction/shared/P2TR_MS.js.map +0 -1
  670. package/build/transaction/shared/TweakedTransaction.d.ts.map +0 -1
  671. package/build/transaction/shared/TweakedTransaction.js.map +0 -1
  672. package/build/transaction/utils/WitnessUtils.d.ts.map +0 -1
  673. package/build/transaction/utils/WitnessUtils.js.map +0 -1
  674. package/build/tsconfig.build.tsbuildinfo +0 -1
  675. package/build/utils/BitcoinUtils.d.ts.map +0 -1
  676. package/build/utils/BitcoinUtils.js.map +0 -1
  677. package/build/utils/BufferHelper.d.ts.map +0 -1
  678. package/build/utils/BufferHelper.js.map +0 -1
  679. package/build/utils/StringToBuffer.d.ts.map +0 -1
  680. package/build/utils/StringToBuffer.js.map +0 -1
  681. package/build/utils/lengths.d.ts.map +0 -1
  682. package/build/utils/lengths.js.map +0 -1
  683. package/build/utils/types.d.ts.map +0 -1
  684. package/build/utils/types.js.map +0 -1
  685. package/build/utxo/OPNetLimitedProvider.d.ts.map +0 -1
  686. package/build/utxo/OPNetLimitedProvider.js.map +0 -1
  687. package/build/utxo/interfaces/BroadcastResponse.d.ts.map +0 -1
  688. package/build/utxo/interfaces/BroadcastResponse.js.map +0 -1
  689. package/build/utxo/interfaces/IUTXO.d.ts.map +0 -1
  690. package/build/utxo/interfaces/IUTXO.js.map +0 -1
  691. package/build/verification/TapscriptVerificator.d.ts.map +0 -1
  692. package/build/verification/TapscriptVerificator.js.map +0 -1
@@ -0,0 +1,363 @@
1
+ import { beforeAll, describe, expect, it } from 'vitest';
2
+ import {
3
+ crypto as bitCrypto,
4
+ networks,
5
+ payments,
6
+ Psbt,
7
+ type PsbtInputExtended,
8
+ Transaction,
9
+ toHex,
10
+ toXOnly,
11
+ type XOnlyPublicKey,
12
+ } from '@btc-vision/bitcoin';
13
+ import { type UniversalSigner } from '@btc-vision/ecpair';
14
+ import type { TapLeafScript, UTXO } from '../build/opnet.js';
15
+ import {
16
+ CSVMultisigProvider,
17
+ EcKeyPair,
18
+ FundingTransaction,
19
+ TransactionBuilder,
20
+ } from '../build/opnet.js';
21
+
22
+ const network = networks.regtest;
23
+
24
+ function makeSigner(seed: string): UniversalSigner {
25
+ return EcKeyPair.fromPrivateKey(
26
+ bitCrypto.sha256(new TextEncoder().encode(seed)),
27
+ network,
28
+ );
29
+ }
30
+
31
+ function buildAddr(signers: UniversalSigner[], csvBlocks: number, threshold = 2) {
32
+ const pubkeys = signers.map((s) => toXOnly(s.publicKey) as XOnlyPublicKey);
33
+ return CSVMultisigProvider.generateAddress({ pubkeys, threshold, csvBlocks }, network);
34
+ }
35
+
36
+ function makeUtxo(addr: ReturnType<typeof buildAddr>, value: bigint): UTXO {
37
+ return {
38
+ transactionId: 'ab'.repeat(32),
39
+ outputIndex: 0,
40
+ value,
41
+ scriptPubKey: {
42
+ hex: toHex(addr.scriptPubKey),
43
+ address: addr.address,
44
+ },
45
+ witnessScript: addr.tapscript,
46
+ };
47
+ }
48
+
49
+ describe('CSV multisig spend', () => {
50
+ let signerA: UniversalSigner;
51
+ let signerB: UniversalSigner;
52
+ let signerC: UniversalSigner;
53
+
54
+ beforeAll(() => {
55
+ signerA = makeSigner('csv-multisig-test-A');
56
+ signerB = makeSigner('csv-multisig-test-B');
57
+ signerC = makeSigner('csv-multisig-test-C');
58
+ });
59
+
60
+ describe('provider helpers', () => {
61
+ it('derives address from tapscript alone', () => {
62
+ const addr = buildAddr([signerA, signerB, signerC], 10);
63
+ const derived = CSVMultisigProvider.deriveAddressFromTapscript(
64
+ addr.tapscript,
65
+ network,
66
+ );
67
+ expect(derived).not.toBeNull();
68
+ expect(derived!.address).toBe(addr.address);
69
+ expect(derived!.controlBlock).toEqual(addr.controlBlock);
70
+ expect(derived!.config.threshold).toBe(addr.config.threshold);
71
+ expect(derived!.config.csvBlocks).toBe(addr.config.csvBlocks);
72
+ });
73
+
74
+ it('returns null for non-CSV tapscripts', () => {
75
+ const derived = CSVMultisigProvider.deriveAddressFromTapscript(
76
+ new Uint8Array([0x51, 0x00]),
77
+ network,
78
+ );
79
+ expect(derived).toBeNull();
80
+ });
81
+
82
+ it('isSpendableUTXO enforces scriptPubKey match', () => {
83
+ const addr = buildAddr([signerA, signerB, signerC], 10);
84
+ const utxo = makeUtxo(addr, 100_000n);
85
+ expect(CSVMultisigProvider.isSpendableUTXO(utxo, network)).toBe(true);
86
+
87
+ const other = buildAddr([signerA, signerB, signerC], 99);
88
+ const spoofed: UTXO = {
89
+ ...utxo,
90
+ scriptPubKey: {
91
+ hex: toHex(other.scriptPubKey),
92
+ address: other.address,
93
+ },
94
+ };
95
+ expect(CSVMultisigProvider.isSpendableUTXO(spoofed, network)).toBe(false);
96
+ });
97
+
98
+ it('buildFinalWitnessFromTapScriptSigs orders sigs by tapscript pubkey', () => {
99
+ const addr = buildAddr([signerA, signerB, signerC], 10, 2);
100
+
101
+ const fakeSig = (byte: number) => new Uint8Array(64).fill(byte);
102
+ const pkA = toXOnly(signerA.publicKey);
103
+ const pkC = toXOnly(signerC.publicKey);
104
+
105
+ const witness = CSVMultisigProvider.buildFinalWitnessFromTapScriptSigs(
106
+ [
107
+ { pubkey: pkA, leafHash: new Uint8Array(32), signature: fakeSig(0xaa) },
108
+ { pubkey: pkC, leafHash: new Uint8Array(32), signature: fakeSig(0xcc) },
109
+ ],
110
+ addr,
111
+ );
112
+
113
+ expect(witness.length).toBe(addr.config.pubkeys.length + 2);
114
+ // pubkeys = [A, B, C], witness order = [sig_C, sig_B, sig_A, script, controlBlock]
115
+ expect(witness[0]).toEqual(fakeSig(0xcc));
116
+ expect((witness[1] as Uint8Array).length).toBe(0);
117
+ expect(witness[2]).toEqual(fakeSig(0xaa));
118
+ expect(witness[witness.length - 2]).toEqual(addr.tapscript);
119
+ expect(witness[witness.length - 1]).toEqual(addr.controlBlock);
120
+ });
121
+
122
+ it('buildFinalWitnessFromTapScriptSigs throws below threshold', () => {
123
+ const addr = buildAddr([signerA, signerB, signerC], 10, 2);
124
+ const fakeSig = new Uint8Array(64).fill(1);
125
+ const pkA = toXOnly(signerA.publicKey);
126
+
127
+ expect(() =>
128
+ CSVMultisigProvider.buildFinalWitnessFromTapScriptSigs(
129
+ [{ pubkey: pkA, leafHash: new Uint8Array(32), signature: fakeSig }],
130
+ addr,
131
+ ),
132
+ ).toThrow(/needs 2 signatures, got 1/);
133
+ });
134
+ });
135
+
136
+ describe('collaborative PSBT flow (2-of-3)', () => {
137
+ it('two signers produce a finalized tx with correct witness shape + CSV sequence', () => {
138
+ const addr = buildAddr([signerA, signerB, signerC], 5, 2);
139
+ const utxo = makeUtxo(addr, 250_000n);
140
+
141
+ const psbt = new Psbt({ network });
142
+ psbt.setVersion(2);
143
+ psbt.addInput({
144
+ hash: utxo.transactionId,
145
+ index: utxo.outputIndex,
146
+ sequence: CSVMultisigProvider.encodeSequence(addr.config.csvBlocks),
147
+ witnessUtxo: { value: utxo.value, script: addr.scriptPubKey },
148
+ tapInternalKey: addr.internalPubkey as XOnlyPublicKey,
149
+ tapLeafScript: [
150
+ {
151
+ leafVersion: addr.leafVersion,
152
+ script: addr.tapscript,
153
+ controlBlock: addr.controlBlock,
154
+ },
155
+ ],
156
+ });
157
+ psbt.addOutput({ value: 100_000n, script: addr.scriptPubKey });
158
+
159
+ psbt.signTaprootInput(0, signerC);
160
+ psbt.signTaprootInput(0, signerA);
161
+
162
+ expect(psbt.data.inputs[0]?.tapScriptSig?.length).toBe(2);
163
+
164
+ CSVMultisigProvider.finalizePsbtInput(psbt, 0, network);
165
+
166
+ const tx: Transaction = psbt.extractTransaction(true, true);
167
+ // Witness: [sig_C, sig_B(empty), sig_A, tapscript, controlBlock] = N + 2
168
+ expect(tx.ins[0]?.witness.length).toBe(addr.config.pubkeys.length + 2);
169
+ expect(tx.ins[0]!.witness[3]).toEqual(addr.tapscript);
170
+ expect(tx.ins[0]!.witness[4]).toEqual(addr.controlBlock);
171
+
172
+ // CSV-compatible nSequence: bit 31 clear, low 16 bits = block count.
173
+ expect(tx.ins[0]!.sequence & 0xffff).toBe(addr.config.csvBlocks);
174
+ expect((tx.ins[0]!.sequence >>> 31) & 1).toBe(0);
175
+ });
176
+
177
+ it('finalizePsbtInput throws without threshold sigs', () => {
178
+ const addr = buildAddr([signerA, signerB, signerC], 5, 2);
179
+ const utxo = makeUtxo(addr, 250_000n);
180
+
181
+ const psbt = new Psbt({ network });
182
+ psbt.setVersion(2);
183
+ psbt.addInput({
184
+ hash: utxo.transactionId,
185
+ index: utxo.outputIndex,
186
+ sequence: CSVMultisigProvider.encodeSequence(addr.config.csvBlocks),
187
+ witnessUtxo: { value: utxo.value, script: addr.scriptPubKey },
188
+ tapInternalKey: addr.internalPubkey as XOnlyPublicKey,
189
+ tapLeafScript: [
190
+ {
191
+ leafVersion: addr.leafVersion,
192
+ script: addr.tapscript,
193
+ controlBlock: addr.controlBlock,
194
+ },
195
+ ],
196
+ });
197
+ psbt.addOutput({ value: 100_000n, script: addr.scriptPubKey });
198
+
199
+ psbt.signTaprootInput(0, signerA);
200
+
201
+ expect(() => CSVMultisigProvider.finalizePsbtInput(psbt, 0, network)).toThrow(
202
+ /needs 2 signatures, got 1/,
203
+ );
204
+ });
205
+ });
206
+
207
+ describe('TransactionBuilder auto-detection', () => {
208
+ it('FundingTransaction auto-detects CSV multisig UTXO (threshold = 1)', async () => {
209
+ const addr = buildAddr([signerA], 3, 1);
210
+ const utxo = makeUtxo(addr, 500_000n);
211
+ const recipient = payments.p2tr({
212
+ internalPubkey: toXOnly(signerA.publicKey) as XOnlyPublicKey,
213
+ network,
214
+ }).address as string;
215
+
216
+ const tx = new FundingTransaction({
217
+ signer: signerA,
218
+ network,
219
+ utxos: [utxo],
220
+ to: recipient,
221
+ amount: TransactionBuilder.MINIMUM_DUST,
222
+ feeRate: 1,
223
+ priorityFee: 0n,
224
+ gasSatFee: 0n,
225
+ mldsaSigner: null,
226
+ });
227
+
228
+ // Fee estimation exercises the dummy-witness path for CSV multisig.
229
+ const fee = await tx.estimateTransactionFees();
230
+ expect(fee).toBeGreaterThan(0n);
231
+
232
+ const signed = await tx.signTransaction();
233
+
234
+ // Input 0 must carry a CSV-compatible sequence + the tapscript/controlBlock witness.
235
+ expect(signed.ins.length).toBe(1);
236
+ expect(signed.ins[0]!.sequence & 0xffff).toBe(addr.config.csvBlocks);
237
+ expect((signed.ins[0]!.sequence >>> 31) & 1).toBe(0);
238
+
239
+ const w = signed.ins[0]!.witness;
240
+ expect(w.length).toBe(addr.config.pubkeys.length + 2);
241
+ expect(w[w.length - 2]).toEqual(addr.tapscript);
242
+ expect(w[w.length - 1]).toEqual(addr.controlBlock);
243
+ // Top-of-stack Schnorr sig for the sole pubkey
244
+ expect(w[0]!.length).toBe(64);
245
+ });
246
+ });
247
+
248
+ /**
249
+ * Regression: several builders (InteractionTransaction, CustomScriptTransaction,
250
+ * CancelTransaction, etc.) set `this.tapLeafScript` to carry their contract
251
+ * leaf, and the generic generatePsbtInputExtended writes that leaf onto
252
+ * input 0 unconditionally. For a CSV multisig UTXO at input 0 that clobbers
253
+ * the script-path setup we did earlier in the same call. The fix guards the
254
+ * write with `!this.csvMultisigInputs.has(i)`.
255
+ */
256
+ describe('clobber regression', () => {
257
+ // Minimal subclass that lets the test inject `tapLeafScript` before
258
+ // addInputsFromUTXO runs, and read the resulting PSBT inputs back out.
259
+ class ClobberProbe extends FundingTransaction {
260
+ public setContractLeaf(leaf: TapLeafScript): void {
261
+ (this as unknown as { tapLeafScript: TapLeafScript }).tapLeafScript = leaf;
262
+ }
263
+
264
+ public input0(): PsbtInputExtended {
265
+ const inputs = (
266
+ this as unknown as { getInputs: () => PsbtInputExtended[] }
267
+ ).getInputs();
268
+ if (!inputs[0]) throw new Error('no input 0');
269
+ return inputs[0];
270
+ }
271
+ }
272
+
273
+ it('CSV multisig UTXO at input 0 keeps its own tapLeafScript', async () => {
274
+ const addr = buildAddr([signerA], 8, 1);
275
+ const utxo = makeUtxo(addr, 500_000n);
276
+ const recipient = payments.p2tr({
277
+ internalPubkey: toXOnly(signerA.publicKey) as XOnlyPublicKey,
278
+ network,
279
+ }).address as string;
280
+
281
+ // A bogus "contract leaf" that a sibling builder would inject.
282
+ // If the clobber bug returned, input 0 would end up with this.
283
+ const fakeContractLeaf: TapLeafScript = {
284
+ leafVersion: 0xc0,
285
+ script: new Uint8Array([0x51]), // OP_1 — deliberately wrong
286
+ controlBlock: new Uint8Array(33).fill(0xc0),
287
+ };
288
+
289
+ const tx = new ClobberProbe({
290
+ signer: signerA,
291
+ network,
292
+ utxos: [utxo],
293
+ to: recipient,
294
+ amount: TransactionBuilder.MINIMUM_DUST,
295
+ feeRate: 1,
296
+ priorityFee: 0n,
297
+ gasSatFee: 0n,
298
+ mldsaSigner: null,
299
+ });
300
+
301
+ tx.setContractLeaf(fakeContractLeaf);
302
+
303
+ // Trigger buildTransaction → addInputsFromUTXO → generatePsbtInputExtended.
304
+ await tx.generateTransactionMinimalSignatures();
305
+
306
+ const input = tx.input0();
307
+ expect(input.tapLeafScript).toBeDefined();
308
+ expect(input.tapLeafScript!.length).toBe(1);
309
+
310
+ const leaf = input.tapLeafScript![0]!;
311
+ // The CSV multisig setup must survive; the fake leaf must NOT be here.
312
+ expect(leaf.script).toEqual(addr.tapscript);
313
+ expect(leaf.controlBlock).toEqual(addr.controlBlock);
314
+ expect(leaf.script).not.toEqual(fakeContractLeaf.script);
315
+
316
+ // nSequence must still encode the CSV block count.
317
+ expect((input.sequence as number) & 0xffff).toBe(addr.config.csvBlocks);
318
+ });
319
+
320
+ it('non-CSV P2TR input 0 still receives the contract leaf (no regression)', async () => {
321
+ const p2tr = payments.p2tr({
322
+ internalPubkey: toXOnly(signerA.publicKey) as XOnlyPublicKey,
323
+ network,
324
+ });
325
+ const plainUtxo: UTXO = {
326
+ transactionId: 'cd'.repeat(32),
327
+ outputIndex: 0,
328
+ value: 500_000n,
329
+ scriptPubKey: {
330
+ hex: toHex(p2tr.output!),
331
+ address: p2tr.address as string,
332
+ },
333
+ };
334
+
335
+ const fakeContractLeaf: TapLeafScript = {
336
+ leafVersion: 0xc0,
337
+ script: new Uint8Array([0x51, 0xac]), // OP_1 OP_CHECKSIG
338
+ controlBlock: new Uint8Array(33).fill(0xc0),
339
+ };
340
+
341
+ const tx = new ClobberProbe({
342
+ signer: signerA,
343
+ network,
344
+ utxos: [plainUtxo],
345
+ to: p2tr.address as string,
346
+ amount: TransactionBuilder.MINIMUM_DUST,
347
+ feeRate: 1,
348
+ priorityFee: 0n,
349
+ gasSatFee: 0n,
350
+ mldsaSigner: null,
351
+ });
352
+
353
+ tx.setContractLeaf(fakeContractLeaf);
354
+
355
+ await tx.generateTransactionMinimalSignatures();
356
+
357
+ const input = tx.input0();
358
+ expect(input.tapLeafScript).toBeDefined();
359
+ expect(input.tapLeafScript!.length).toBe(1);
360
+ expect(input.tapLeafScript![0]!.script).toEqual(fakeContractLeaf.script);
361
+ });
362
+ });
363
+ });