@btc-vision/transaction 1.8.0-beta.1 → 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.
Files changed (765) hide show
  1. package/browser/_version.d.ts +1 -0
  2. package/browser/_version.d.ts.map +1 -0
  3. package/browser/abi/ABICoder.d.ts +1 -1
  4. package/browser/abi/ABICoder.d.ts.map +1 -0
  5. package/browser/branded/Branded.d.ts +4 -0
  6. package/browser/branded/Branded.d.ts.map +1 -0
  7. package/browser/btc-vision-bitcoin.js +12420 -3637
  8. package/browser/buffer/BinaryReader.d.ts +120 -1
  9. package/browser/buffer/BinaryReader.d.ts.map +1 -0
  10. package/browser/buffer/BinaryWriter.d.ts +51 -1
  11. package/browser/buffer/BinaryWriter.d.ts.map +1 -0
  12. package/browser/bytecode/Compressor.d.ts +12 -0
  13. package/browser/bytecode/Compressor.d.ts.map +1 -0
  14. package/browser/chain/ChainData.d.ts +2 -2
  15. package/browser/chain/ChainData.d.ts.map +1 -0
  16. package/browser/consensus/Consensus.d.ts +11 -3
  17. package/browser/consensus/Consensus.d.ts.map +1 -0
  18. package/browser/consensus/ConsensusConfig.d.ts +1 -0
  19. package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
  20. package/browser/consensus/IConsensusConfig.d.ts +1 -0
  21. package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
  22. package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
  23. package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  24. package/browser/crypto/crypto.d.ts +1 -0
  25. package/browser/crypto/crypto.d.ts.map +1 -0
  26. package/browser/deterministic/AddressMap.d.ts +6 -1
  27. package/browser/deterministic/AddressMap.d.ts.map +1 -0
  28. package/browser/deterministic/AddressSet.d.ts +3 -1
  29. package/browser/deterministic/AddressSet.d.ts.map +1 -0
  30. package/browser/deterministic/CustomMap.d.ts +3 -1
  31. package/browser/deterministic/CustomMap.d.ts.map +1 -0
  32. package/browser/deterministic/DeterministicMap.d.ts +3 -1
  33. package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
  34. package/browser/deterministic/DeterministicSet.d.ts +3 -1
  35. package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
  36. package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
  37. package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  38. package/browser/deterministic/FastMap.d.ts +7 -1
  39. package/browser/deterministic/FastMap.d.ts.map +1 -0
  40. package/browser/ecc/backend.d.ts +13 -0
  41. package/browser/ecc/backend.d.ts.map +1 -0
  42. package/browser/epoch/ChallengeSolution.d.ts +33 -1
  43. package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
  44. package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  45. package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  46. package/browser/epoch/validator/EpochValidator.d.ts +37 -7
  47. package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
  48. package/browser/event/NetEvent.d.ts +1 -0
  49. package/browser/event/NetEvent.d.ts.map +1 -0
  50. package/browser/generators/AddressGenerator.d.ts +4 -3
  51. package/browser/generators/AddressGenerator.d.ts.map +1 -0
  52. package/browser/generators/Features.d.ts +1 -0
  53. package/browser/generators/Features.d.ts.map +1 -0
  54. package/browser/generators/Generator.d.ts +46 -10
  55. package/browser/generators/Generator.d.ts.map +1 -0
  56. package/browser/generators/MLDSAData.d.ts +1 -0
  57. package/browser/generators/MLDSAData.d.ts.map +1 -0
  58. package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
  59. package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
  60. package/browser/generators/builders/CustomGenerator.d.ts +13 -3
  61. package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
  62. package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
  63. package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  64. package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
  65. package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  66. package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
  67. package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  68. package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
  69. package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  70. package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
  71. package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  72. package/browser/index.d.ts +1 -0
  73. package/browser/index.d.ts.map +1 -0
  74. package/browser/index.js +3602 -3203
  75. package/browser/keypair/Address.d.ts +283 -13
  76. package/browser/keypair/Address.d.ts.map +1 -0
  77. package/browser/keypair/AddressVerificator.d.ts +7 -6
  78. package/browser/keypair/AddressVerificator.d.ts.map +1 -0
  79. package/browser/keypair/EcKeyPair.d.ts +183 -21
  80. package/browser/keypair/EcKeyPair.d.ts.map +1 -0
  81. package/browser/keypair/MessageSigner.d.ts +17 -16
  82. package/browser/keypair/MessageSigner.d.ts.map +1 -0
  83. package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
  84. package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  85. package/browser/keypair/Wallet.d.ts +27 -13
  86. package/browser/keypair/Wallet.d.ts.map +1 -0
  87. package/browser/keypair/interfaces/IWallet.d.ts +19 -0
  88. package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
  89. package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
  90. package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
  91. package/browser/mnemonic/BIPStandard.d.ts +59 -0
  92. package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
  93. package/browser/mnemonic/Mnemonic.d.ts +15 -3
  94. package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
  95. package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
  96. package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
  97. package/browser/network/ChainId.d.ts +1 -0
  98. package/browser/network/ChainId.d.ts.map +1 -0
  99. package/browser/noble-curves.js +920 -2966
  100. package/browser/noble-hashes.js +2067 -1038
  101. package/browser/opnet.d.ts +22 -1
  102. package/browser/opnet.d.ts.map +1 -0
  103. package/browser/p2wda/P2WDADetector.d.ts +36 -9
  104. package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
  105. package/browser/polyfill/disposable.d.ts +16 -0
  106. package/browser/polyfill/disposable.d.ts.map +1 -0
  107. package/browser/signer/AddressRotation.d.ts +36 -0
  108. package/browser/signer/AddressRotation.d.ts.map +1 -0
  109. package/browser/signer/IRotationSigner.d.ts +27 -3
  110. package/browser/signer/IRotationSigner.d.ts.map +1 -0
  111. package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
  112. package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
  113. package/browser/signer/SignerUtils.d.ts +11 -4
  114. package/browser/signer/SignerUtils.d.ts.map +1 -0
  115. package/browser/signer/TweakedSigner.d.ts +28 -4
  116. package/browser/signer/TweakedSigner.d.ts.map +1 -0
  117. package/browser/transaction/ContractAddress.d.ts +2 -2
  118. package/browser/transaction/ContractAddress.d.ts.map +1 -0
  119. package/browser/transaction/TransactionFactory.d.ts +140 -2
  120. package/browser/transaction/TransactionFactory.d.ts.map +1 -0
  121. package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
  122. package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  123. package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
  124. package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
  125. package/browser/transaction/browser/Web3Provider.d.ts +27 -0
  126. package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
  127. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
  128. package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  129. package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
  130. package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  131. package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
  132. package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
  133. package/browser/transaction/browser/types/Unisat.d.ts +1 -0
  134. package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
  135. package/browser/transaction/browser/types/Xverse.d.ts +1 -0
  136. package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
  137. package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
  138. package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
  139. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  140. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  141. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
  142. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  143. package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
  144. package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  145. package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
  146. package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  147. package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
  148. package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
  149. package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
  150. package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  151. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
  152. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  153. package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
  154. package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  155. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
  156. package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  157. package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
  158. package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  159. package/browser/transaction/enums/TransactionType.d.ts +1 -0
  160. package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
  161. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
  162. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  163. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
  164. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  165. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
  166. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  167. package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
  168. package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  169. package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
  170. package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  171. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +18 -5
  172. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  173. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
  174. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  175. package/browser/transaction/interfaces/Tap.d.ts +4 -3
  176. package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
  177. package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  178. package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  179. package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
  180. package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  181. package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
  182. package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  183. package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
  184. package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  185. package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
  186. package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  187. package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
  188. package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  189. package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
  190. package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  191. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
  192. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  193. package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
  194. package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  195. package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
  196. package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
  197. package/browser/transaction/shared/TweakedTransaction.d.ts +275 -33
  198. package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  199. package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
  200. package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
  201. package/browser/utils/BitcoinUtils.d.ts +19 -0
  202. package/browser/utils/BitcoinUtils.d.ts.map +1 -0
  203. package/browser/utils/BufferHelper.d.ts +1 -0
  204. package/browser/utils/BufferHelper.d.ts.map +1 -0
  205. package/browser/utils/StringToBuffer.d.ts +1 -0
  206. package/browser/utils/StringToBuffer.d.ts.map +1 -0
  207. package/browser/utils/lengths.d.ts +1 -0
  208. package/browser/utils/lengths.d.ts.map +1 -0
  209. package/browser/utils/types.d.ts +1 -0
  210. package/browser/utils/types.d.ts.map +1 -0
  211. package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
  212. package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  213. package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  214. package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  215. package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
  216. package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
  217. package/browser/vendors.js +13940 -9389
  218. package/browser/verification/TapscriptVerificator.d.ts +10 -8
  219. package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
  220. package/build/_version.d.ts +1 -0
  221. package/build/_version.d.ts.map +1 -0
  222. package/build/_version.js +1 -0
  223. package/build/_version.js.map +1 -0
  224. package/build/abi/ABICoder.d.ts +1 -1
  225. package/build/abi/ABICoder.d.ts.map +1 -0
  226. package/build/abi/ABICoder.js +9 -10
  227. package/build/abi/ABICoder.js.map +1 -0
  228. package/build/branded/Branded.d.ts +4 -0
  229. package/build/branded/Branded.d.ts.map +1 -0
  230. package/build/branded/Branded.js +2 -0
  231. package/build/branded/Branded.js.map +1 -0
  232. package/build/buffer/BinaryReader.d.ts +121 -2
  233. package/build/buffer/BinaryReader.d.ts.map +1 -0
  234. package/build/buffer/BinaryReader.js +129 -5
  235. package/build/buffer/BinaryReader.js.map +1 -0
  236. package/build/buffer/BinaryWriter.d.ts +52 -2
  237. package/build/buffer/BinaryWriter.d.ts.map +1 -0
  238. package/build/buffer/BinaryWriter.js +62 -2
  239. package/build/buffer/BinaryWriter.js.map +1 -0
  240. package/build/bytecode/Compressor.d.ts +12 -0
  241. package/build/bytecode/Compressor.d.ts.map +1 -0
  242. package/build/bytecode/Compressor.js +17 -5
  243. package/build/bytecode/Compressor.js.map +1 -0
  244. package/build/chain/ChainData.d.ts +2 -2
  245. package/build/chain/ChainData.d.ts.map +1 -0
  246. package/build/chain/ChainData.js +35 -17
  247. package/build/chain/ChainData.js.map +1 -0
  248. package/build/consensus/Consensus.d.ts +11 -3
  249. package/build/consensus/Consensus.d.ts.map +1 -0
  250. package/build/consensus/Consensus.js +8 -0
  251. package/build/consensus/Consensus.js.map +1 -0
  252. package/build/consensus/ConsensusConfig.d.ts +2 -1
  253. package/build/consensus/ConsensusConfig.d.ts.map +1 -0
  254. package/build/consensus/ConsensusConfig.js +1 -0
  255. package/build/consensus/ConsensusConfig.js.map +1 -0
  256. package/build/consensus/IConsensusConfig.d.ts +1 -0
  257. package/build/consensus/IConsensusConfig.d.ts.map +1 -0
  258. package/build/consensus/IConsensusConfig.js +2 -1
  259. package/build/consensus/IConsensusConfig.js.map +1 -0
  260. package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
  261. package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  262. package/build/consensus/metadata/RoswellConsensus.js +2 -0
  263. package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
  264. package/build/crypto/crypto.d.ts +1 -0
  265. package/build/crypto/crypto.d.ts.map +1 -0
  266. package/build/crypto/crypto.js +1 -0
  267. package/build/crypto/crypto.js.map +1 -0
  268. package/build/deterministic/AddressMap.d.ts +6 -1
  269. package/build/deterministic/AddressMap.d.ts.map +1 -0
  270. package/build/deterministic/AddressMap.js +8 -0
  271. package/build/deterministic/AddressMap.js.map +1 -0
  272. package/build/deterministic/AddressSet.d.ts +3 -1
  273. package/build/deterministic/AddressSet.d.ts.map +1 -0
  274. package/build/deterministic/AddressSet.js +7 -0
  275. package/build/deterministic/AddressSet.js.map +1 -0
  276. package/build/deterministic/CustomMap.d.ts +3 -1
  277. package/build/deterministic/CustomMap.d.ts.map +1 -0
  278. package/build/deterministic/CustomMap.js +65 -47
  279. package/build/deterministic/CustomMap.js.map +1 -0
  280. package/build/deterministic/DeterministicMap.d.ts +4 -2
  281. package/build/deterministic/DeterministicMap.d.ts.map +1 -0
  282. package/build/deterministic/DeterministicMap.js +24 -27
  283. package/build/deterministic/DeterministicMap.js.map +1 -0
  284. package/build/deterministic/DeterministicSet.d.ts +3 -1
  285. package/build/deterministic/DeterministicSet.d.ts.map +1 -0
  286. package/build/deterministic/DeterministicSet.js +6 -0
  287. package/build/deterministic/DeterministicSet.js.map +1 -0
  288. package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
  289. package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  290. package/build/deterministic/ExtendedAddressMap.js +18 -2
  291. package/build/deterministic/ExtendedAddressMap.js.map +1 -0
  292. package/build/deterministic/FastMap.d.ts +7 -1
  293. package/build/deterministic/FastMap.d.ts.map +1 -0
  294. package/build/deterministic/FastMap.js +7 -2
  295. package/build/deterministic/FastMap.js.map +1 -0
  296. package/build/ecc/backend.d.ts +13 -0
  297. package/build/ecc/backend.d.ts.map +1 -0
  298. package/build/ecc/backend.js +15 -0
  299. package/build/ecc/backend.js.map +1 -0
  300. package/build/epoch/ChallengeSolution.d.ts +34 -2
  301. package/build/epoch/ChallengeSolution.d.ts.map +1 -0
  302. package/build/epoch/ChallengeSolution.js +52 -0
  303. package/build/epoch/ChallengeSolution.js.map +1 -0
  304. package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  305. package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  306. package/build/epoch/interfaces/IChallengeSolution.js +2 -1
  307. package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
  308. package/build/epoch/validator/EpochValidator.d.ts +38 -8
  309. package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
  310. package/build/epoch/validator/EpochValidator.js +45 -19
  311. package/build/epoch/validator/EpochValidator.js.map +1 -0
  312. package/build/event/NetEvent.d.ts +1 -0
  313. package/build/event/NetEvent.d.ts.map +1 -0
  314. package/build/event/NetEvent.js +3 -0
  315. package/build/event/NetEvent.js.map +1 -0
  316. package/build/generators/AddressGenerator.d.ts +4 -3
  317. package/build/generators/AddressGenerator.d.ts.map +1 -0
  318. package/build/generators/AddressGenerator.js +10 -3
  319. package/build/generators/AddressGenerator.js.map +1 -0
  320. package/build/generators/Features.d.ts +4 -3
  321. package/build/generators/Features.d.ts.map +1 -0
  322. package/build/generators/Features.js +1 -0
  323. package/build/generators/Features.js.map +1 -0
  324. package/build/generators/Generator.d.ts +47 -11
  325. package/build/generators/Generator.d.ts.map +1 -0
  326. package/build/generators/Generator.js +48 -12
  327. package/build/generators/Generator.js.map +1 -0
  328. package/build/generators/MLDSAData.d.ts +1 -0
  329. package/build/generators/MLDSAData.d.ts.map +1 -0
  330. package/build/generators/MLDSAData.js +1 -0
  331. package/build/generators/MLDSAData.js.map +1 -0
  332. package/build/generators/builders/CalldataGenerator.d.ts +27 -6
  333. package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
  334. package/build/generators/builders/CalldataGenerator.js +33 -4
  335. package/build/generators/builders/CalldataGenerator.js.map +1 -0
  336. package/build/generators/builders/CustomGenerator.d.ts +13 -3
  337. package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
  338. package/build/generators/builders/CustomGenerator.js +11 -0
  339. package/build/generators/builders/CustomGenerator.js.map +1 -0
  340. package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
  341. package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  342. package/build/generators/builders/DeploymentGenerator.js +18 -2
  343. package/build/generators/builders/DeploymentGenerator.js.map +1 -0
  344. package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
  345. package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  346. package/build/generators/builders/HashCommitmentGenerator.js +193 -27
  347. package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
  348. package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
  349. package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  350. package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
  351. package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
  352. package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
  353. package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  354. package/build/generators/builders/MultiSignGenerator.js +20 -10
  355. package/build/generators/builders/MultiSignGenerator.js.map +1 -0
  356. package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
  357. package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  358. package/build/generators/builders/P2WDAGenerator.js +41 -2
  359. package/build/generators/builders/P2WDAGenerator.js.map +1 -0
  360. package/build/index.d.ts +1 -0
  361. package/build/index.d.ts.map +1 -0
  362. package/build/index.js +1 -0
  363. package/build/index.js.map +1 -0
  364. package/build/keypair/Address.d.ts +284 -14
  365. package/build/keypair/Address.d.ts.map +1 -0
  366. package/build/keypair/Address.js +447 -129
  367. package/build/keypair/Address.js.map +1 -0
  368. package/build/keypair/AddressVerificator.d.ts +7 -6
  369. package/build/keypair/AddressVerificator.d.ts.map +1 -0
  370. package/build/keypair/AddressVerificator.js +6 -5
  371. package/build/keypair/AddressVerificator.js.map +1 -0
  372. package/build/keypair/EcKeyPair.d.ts +185 -23
  373. package/build/keypair/EcKeyPair.d.ts.map +1 -0
  374. package/build/keypair/EcKeyPair.js +223 -54
  375. package/build/keypair/EcKeyPair.js.map +1 -0
  376. package/build/keypair/MessageSigner.d.ts +18 -17
  377. package/build/keypair/MessageSigner.d.ts.map +1 -0
  378. package/build/keypair/MessageSigner.js +34 -25
  379. package/build/keypair/MessageSigner.js.map +1 -0
  380. package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
  381. package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  382. package/build/keypair/Secp256k1PointDeriver.js +66 -0
  383. package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
  384. package/build/keypair/Wallet.d.ts +29 -15
  385. package/build/keypair/Wallet.d.ts.map +1 -0
  386. package/build/keypair/Wallet.js +48 -14
  387. package/build/keypair/Wallet.js.map +1 -0
  388. package/build/keypair/interfaces/IWallet.d.ts +19 -0
  389. package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
  390. package/build/keypair/interfaces/IWallet.js +1 -0
  391. package/build/keypair/interfaces/IWallet.js.map +1 -0
  392. package/build/metadata/ContractBaseMetadata.d.ts +10 -2
  393. package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
  394. package/build/metadata/ContractBaseMetadata.js +10 -1
  395. package/build/metadata/ContractBaseMetadata.js.map +1 -0
  396. package/build/mnemonic/BIPStandard.d.ts +59 -0
  397. package/build/mnemonic/BIPStandard.d.ts.map +1 -0
  398. package/build/mnemonic/BIPStandard.js +59 -0
  399. package/build/mnemonic/BIPStandard.js.map +1 -0
  400. package/build/mnemonic/Mnemonic.d.ts +16 -4
  401. package/build/mnemonic/Mnemonic.d.ts.map +1 -0
  402. package/build/mnemonic/Mnemonic.js +36 -8
  403. package/build/mnemonic/Mnemonic.js.map +1 -0
  404. package/build/mnemonic/MnemonicStrength.d.ts +6 -0
  405. package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
  406. package/build/mnemonic/MnemonicStrength.js +6 -0
  407. package/build/mnemonic/MnemonicStrength.js.map +1 -0
  408. package/build/network/ChainId.d.ts +1 -0
  409. package/build/network/ChainId.d.ts.map +1 -0
  410. package/build/network/ChainId.js +1 -0
  411. package/build/network/ChainId.js.map +1 -0
  412. package/build/opnet.d.ts +26 -3
  413. package/build/opnet.d.ts.map +1 -0
  414. package/build/opnet.js +23 -0
  415. package/build/opnet.js.map +1 -0
  416. package/build/p2wda/P2WDADetector.d.ts +38 -11
  417. package/build/p2wda/P2WDADetector.d.ts.map +1 -0
  418. package/build/p2wda/P2WDADetector.js +43 -10
  419. package/build/p2wda/P2WDADetector.js.map +1 -0
  420. package/build/polyfill/disposable.d.ts +16 -0
  421. package/build/polyfill/disposable.d.ts.map +1 -0
  422. package/build/polyfill/disposable.js +23 -0
  423. package/build/polyfill/disposable.js.map +1 -0
  424. package/build/signer/AddressRotation.d.ts +37 -1
  425. package/build/signer/AddressRotation.d.ts.map +1 -0
  426. package/build/signer/AddressRotation.js +16 -0
  427. package/build/signer/AddressRotation.js.map +1 -0
  428. package/build/signer/IRotationSigner.d.ts +27 -3
  429. package/build/signer/IRotationSigner.d.ts.map +1 -0
  430. package/build/signer/IRotationSigner.js +2 -1
  431. package/build/signer/IRotationSigner.js.map +1 -0
  432. package/build/signer/ParallelSignerAdapter.d.ts +14 -0
  433. package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
  434. package/build/signer/ParallelSignerAdapter.js +51 -0
  435. package/build/signer/ParallelSignerAdapter.js.map +1 -0
  436. package/build/signer/SignerUtils.d.ts +11 -4
  437. package/build/signer/SignerUtils.d.ts.map +1 -0
  438. package/build/signer/SignerUtils.js +16 -0
  439. package/build/signer/SignerUtils.js.map +1 -0
  440. package/build/signer/TweakedSigner.d.ts +28 -4
  441. package/build/signer/TweakedSigner.d.ts.map +1 -0
  442. package/build/signer/TweakedSigner.js +24 -6
  443. package/build/signer/TweakedSigner.js.map +1 -0
  444. package/build/transaction/ContractAddress.d.ts +2 -2
  445. package/build/transaction/ContractAddress.d.ts.map +1 -0
  446. package/build/transaction/ContractAddress.js +4 -8
  447. package/build/transaction/ContractAddress.js.map +1 -0
  448. package/build/transaction/TransactionFactory.d.ts +147 -9
  449. package/build/transaction/TransactionFactory.d.ts.map +1 -0
  450. package/build/transaction/TransactionFactory.js +145 -26
  451. package/build/transaction/TransactionFactory.js.map +1 -0
  452. package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
  453. package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  454. package/build/transaction/browser/BrowserSignerBase.js +7 -0
  455. package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
  456. package/build/transaction/browser/WalletNetworks.d.ts +1 -0
  457. package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
  458. package/build/transaction/browser/WalletNetworks.js +1 -0
  459. package/build/transaction/browser/WalletNetworks.js.map +1 -0
  460. package/build/transaction/browser/Web3Provider.d.ts +30 -3
  461. package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
  462. package/build/transaction/browser/Web3Provider.js +1 -0
  463. package/build/transaction/browser/Web3Provider.js.map +1 -0
  464. package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
  465. package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  466. package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
  467. package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
  468. package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
  469. package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  470. package/build/transaction/browser/extensions/XverseSigner.js +25 -15
  471. package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
  472. package/build/transaction/browser/types/OPWallet.d.ts +12 -2
  473. package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
  474. package/build/transaction/browser/types/OPWallet.js +4 -0
  475. package/build/transaction/browser/types/OPWallet.js.map +1 -0
  476. package/build/transaction/browser/types/Unisat.d.ts +2 -1
  477. package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
  478. package/build/transaction/browser/types/Unisat.js +2 -0
  479. package/build/transaction/browser/types/Unisat.js.map +1 -0
  480. package/build/transaction/browser/types/Xverse.d.ts +1 -0
  481. package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
  482. package/build/transaction/browser/types/Xverse.js +1 -0
  483. package/build/transaction/browser/types/Xverse.js.map +1 -0
  484. package/build/transaction/builders/CancelTransaction.d.ts +31 -6
  485. package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
  486. package/build/transaction/builders/CancelTransaction.js +116 -33
  487. package/build/transaction/builders/CancelTransaction.js.map +1 -0
  488. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  489. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  490. package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
  491. package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
  492. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
  493. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  494. package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
  495. package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
  496. package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
  497. package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  498. package/build/transaction/builders/CustomScriptTransaction.js +176 -39
  499. package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
  500. package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
  501. package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  502. package/build/transaction/builders/DeploymentTransaction.js +194 -51
  503. package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
  504. package/build/transaction/builders/FundingTransaction.d.ts +5 -4
  505. package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
  506. package/build/transaction/builders/FundingTransaction.js +15 -8
  507. package/build/transaction/builders/FundingTransaction.js.map +1 -0
  508. package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
  509. package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  510. package/build/transaction/builders/InteractionTransaction.js +18 -5
  511. package/build/transaction/builders/InteractionTransaction.js.map +1 -0
  512. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
  513. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  514. package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
  515. package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
  516. package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
  517. package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  518. package/build/transaction/builders/MultiSignTransaction.js +201 -76
  519. package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
  520. package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
  521. package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  522. package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
  523. package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
  524. package/build/transaction/builders/TransactionBuilder.d.ts +249 -19
  525. package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  526. package/build/transaction/builders/TransactionBuilder.js +377 -60
  527. package/build/transaction/builders/TransactionBuilder.js.map +1 -0
  528. package/build/transaction/enums/TransactionType.d.ts +1 -0
  529. package/build/transaction/enums/TransactionType.d.ts.map +1 -0
  530. package/build/transaction/enums/TransactionType.js +1 -0
  531. package/build/transaction/enums/TransactionType.js.map +1 -0
  532. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
  533. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  534. package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
  535. package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
  536. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
  537. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  538. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
  539. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
  540. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
  541. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  542. package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
  543. package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
  544. package/build/transaction/interfaces/ITransactionParameters.d.ts +27 -15
  545. package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  546. package/build/transaction/interfaces/ITransactionParameters.js +1 -0
  547. package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
  548. package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
  549. package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  550. package/build/transaction/interfaces/ITransactionResponses.js +1 -0
  551. package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
  552. package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
  553. package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  554. package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
  555. package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
  556. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
  557. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  558. package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
  559. package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
  560. package/build/transaction/interfaces/Tap.d.ts +4 -3
  561. package/build/transaction/interfaces/Tap.d.ts.map +1 -0
  562. package/build/transaction/interfaces/Tap.js +1 -0
  563. package/build/transaction/interfaces/Tap.js.map +1 -0
  564. package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  565. package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  566. package/build/transaction/mineable/IP2WSHAddress.js +1 -0
  567. package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
  568. package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
  569. package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  570. package/build/transaction/mineable/TimelockGenerator.js +12 -3
  571. package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
  572. package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
  573. package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  574. package/build/transaction/offline/OfflineTransactionManager.js +192 -8
  575. package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
  576. package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
  577. package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  578. package/build/transaction/offline/TransactionReconstructor.js +111 -75
  579. package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
  580. package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
  581. package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  582. package/build/transaction/offline/TransactionSerializer.js +206 -95
  583. package/build/transaction/offline/TransactionSerializer.js.map +1 -0
  584. package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
  585. package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  586. package/build/transaction/offline/TransactionStateCapture.js +124 -60
  587. package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
  588. package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
  589. package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  590. package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
  591. package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
  592. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
  593. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  594. package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
  595. package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
  596. package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
  597. package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  598. package/build/transaction/psbt/PSBTTypes.js +1 -0
  599. package/build/transaction/psbt/PSBTTypes.js.map +1 -0
  600. package/build/transaction/shared/P2TR_MS.d.ts +11 -2
  601. package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
  602. package/build/transaction/shared/P2TR_MS.js +10 -0
  603. package/build/transaction/shared/P2TR_MS.js.map +1 -0
  604. package/build/transaction/shared/TweakedTransaction.d.ts +281 -38
  605. package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  606. package/build/transaction/shared/TweakedTransaction.js +576 -114
  607. package/build/transaction/shared/TweakedTransaction.js.map +1 -0
  608. package/build/transaction/utils/WitnessUtils.d.ts +7 -1
  609. package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
  610. package/build/transaction/utils/WitnessUtils.js +17 -3
  611. package/build/transaction/utils/WitnessUtils.js.map +1 -0
  612. package/build/tsconfig.build.tsbuildinfo +1 -1
  613. package/build/utils/BitcoinUtils.d.ts +19 -0
  614. package/build/utils/BitcoinUtils.d.ts.map +1 -0
  615. package/build/utils/BitcoinUtils.js +19 -0
  616. package/build/utils/BitcoinUtils.js.map +1 -0
  617. package/build/utils/BufferHelper.d.ts +2 -1
  618. package/build/utils/BufferHelper.d.ts.map +1 -0
  619. package/build/utils/BufferHelper.js +38 -32
  620. package/build/utils/BufferHelper.js.map +1 -0
  621. package/build/utils/StringToBuffer.d.ts +1 -0
  622. package/build/utils/StringToBuffer.d.ts.map +1 -0
  623. package/build/utils/StringToBuffer.js +1 -0
  624. package/build/utils/StringToBuffer.js.map +1 -0
  625. package/build/utils/lengths.d.ts +1 -0
  626. package/build/utils/lengths.d.ts.map +1 -0
  627. package/build/utils/lengths.js +1 -0
  628. package/build/utils/lengths.js.map +1 -0
  629. package/build/utils/types.d.ts +1 -0
  630. package/build/utils/types.d.ts.map +1 -0
  631. package/build/utils/types.js +2 -1
  632. package/build/utils/types.js.map +1 -0
  633. package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
  634. package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  635. package/build/utxo/OPNetLimitedProvider.js +41 -3
  636. package/build/utxo/OPNetLimitedProvider.js.map +1 -0
  637. package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  638. package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  639. package/build/utxo/interfaces/BroadcastResponse.js +1 -0
  640. package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
  641. package/build/utxo/interfaces/IUTXO.d.ts +13 -7
  642. package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
  643. package/build/utxo/interfaces/IUTXO.js +1 -0
  644. package/build/utxo/interfaces/IUTXO.js.map +1 -0
  645. package/build/verification/TapscriptVerificator.d.ts +12 -10
  646. package/build/verification/TapscriptVerificator.d.ts.map +1 -0
  647. package/build/verification/TapscriptVerificator.js +28 -38
  648. package/build/verification/TapscriptVerificator.js.map +1 -0
  649. package/eslint.config.js +0 -1
  650. package/package.json +16 -39
  651. package/src/abi/ABICoder.ts +0 -13
  652. package/src/branded/Branded.ts +5 -0
  653. package/src/buffer/BinaryReader.ts +7 -7
  654. package/src/buffer/BinaryWriter.ts +29 -24
  655. package/src/bytecode/Compressor.ts +1 -1
  656. package/src/chain/ChainData.ts +34 -27
  657. package/src/consensus/ConsensusConfig.ts +1 -1
  658. package/src/consensus/IConsensusConfig.ts +0 -17
  659. package/src/consensus/metadata/RoswellConsensus.ts +1 -17
  660. package/src/crypto/crypto-browser.js +3 -4
  661. package/src/deterministic/AddressMap.ts +5 -1
  662. package/src/deterministic/AddressSet.ts +5 -1
  663. package/src/deterministic/CustomMap.ts +6 -2
  664. package/src/deterministic/DeterministicMap.ts +8 -4
  665. package/src/deterministic/DeterministicSet.ts +6 -2
  666. package/src/deterministic/ExtendedAddressMap.ts +9 -4
  667. package/src/deterministic/FastMap.ts +9 -5
  668. package/src/ecc/backend.ts +17 -0
  669. package/src/epoch/ChallengeSolution.ts +3 -3
  670. package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
  671. package/src/epoch/validator/EpochValidator.ts +24 -43
  672. package/src/generators/AddressGenerator.ts +6 -6
  673. package/src/generators/Features.ts +3 -3
  674. package/src/generators/Generator.ts +42 -26
  675. package/src/generators/builders/CalldataGenerator.ts +26 -24
  676. package/src/generators/builders/CustomGenerator.ts +4 -4
  677. package/src/generators/builders/DeploymentGenerator.ts +25 -23
  678. package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
  679. package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
  680. package/src/generators/builders/MultiSignGenerator.ts +12 -12
  681. package/src/generators/builders/P2WDAGenerator.ts +10 -10
  682. package/src/keypair/Address.ts +115 -72
  683. package/src/keypair/AddressVerificator.ts +16 -147
  684. package/src/keypair/EcKeyPair.ts +109 -118
  685. package/src/keypair/MessageSigner.ts +70 -150
  686. package/src/keypair/Wallet.ts +59 -240
  687. package/src/metadata/ContractBaseMetadata.ts +2 -2
  688. package/src/mnemonic/Mnemonic.ts +32 -221
  689. package/src/opnet.ts +12 -6
  690. package/src/p2wda/P2WDADetector.ts +23 -72
  691. package/src/polyfill/disposable.ts +29 -0
  692. package/src/signer/AddressRotation.ts +1 -1
  693. package/src/signer/IRotationSigner.ts +3 -3
  694. package/src/signer/ParallelSignerAdapter.ts +59 -0
  695. package/src/signer/SignerUtils.ts +4 -4
  696. package/src/signer/TweakedSigner.ts +28 -13
  697. package/src/transaction/ContractAddress.ts +3 -7
  698. package/src/transaction/TransactionFactory.ts +28 -50
  699. package/src/transaction/browser/BrowserSignerBase.ts +12 -6
  700. package/src/transaction/browser/Web3Provider.ts +3 -3
  701. package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
  702. package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
  703. package/src/transaction/browser/types/OPWallet.ts +2 -2
  704. package/src/transaction/browser/types/Unisat.ts +1 -1
  705. package/src/transaction/builders/CancelTransaction.ts +59 -24
  706. package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
  707. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
  708. package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
  709. package/src/transaction/builders/DeploymentTransaction.ts +82 -63
  710. package/src/transaction/builders/FundingTransaction.ts +11 -11
  711. package/src/transaction/builders/InteractionTransaction.ts +10 -10
  712. package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
  713. package/src/transaction/builders/MultiSignTransaction.ts +68 -61
  714. package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
  715. package/src/transaction/builders/TransactionBuilder.ts +101 -79
  716. package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
  717. package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
  718. package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
  719. package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
  720. package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
  721. package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
  722. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
  723. package/src/transaction/interfaces/Tap.ts +3 -3
  724. package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
  725. package/src/transaction/mineable/TimelockGenerator.ts +19 -12
  726. package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
  727. package/src/transaction/offline/TransactionReconstructor.ts +83 -91
  728. package/src/transaction/offline/TransactionSerializer.ts +151 -101
  729. package/src/transaction/offline/TransactionStateCapture.ts +83 -79
  730. package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
  731. package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
  732. package/src/transaction/shared/P2TR_MS.ts +4 -4
  733. package/src/transaction/shared/TweakedTransaction.ts +326 -124
  734. package/src/transaction/utils/WitnessUtils.ts +18 -9
  735. package/src/utils/BufferHelper.ts +39 -37
  736. package/src/utxo/OPNetLimitedProvider.ts +7 -7
  737. package/src/utxo/interfaces/IUTXO.ts +7 -7
  738. package/src/verification/TapscriptVerificator.ts +73 -86
  739. package/test/address-rotation.test.ts +24 -24
  740. package/test/address.test.ts +12 -12
  741. package/test/addressmap.test.ts +30 -30
  742. package/test/binary-reader-writer.test.ts +8 -8
  743. package/test/browser/offline-transaction.test.ts +2206 -0
  744. package/test/browser/parallel-signing.test.ts +316 -0
  745. package/test/browser/setup.ts +11 -0
  746. package/test/browser/transaction-signing.test.ts +416 -0
  747. package/test/buffer-helper.test.ts +287 -0
  748. package/test/derivePath.test.ts +4 -3
  749. package/test/disposable.test.ts +279 -0
  750. package/test/fastmap-setall.test.ts +1 -1
  751. package/test/fastmap.test.ts +3 -3
  752. package/test/messagesigner-mldsa.test.ts +3 -3
  753. package/test/messagesigner-schnorr.test.ts +9 -9
  754. package/test/offline-transaction.test.ts +461 -288
  755. package/test/old/FastBigIntMap.ts +3 -3
  756. package/test/oldfastmap.test.ts +6 -6
  757. package/test/transaction-builders.test.ts +321 -0
  758. package/tsconfig.base.json +34 -18
  759. package/tsconfig.browser.json +15 -0
  760. package/tsconfig.json +3 -8
  761. package/vite.config.browser.ts +4 -5
  762. package/vitest.config.browser.ts +68 -0
  763. package/vitest.config.ts +1 -1
  764. package/browser/valibot.js +0 -4948
  765. package/tsconfig.webpack.json +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unisat.d.ts","sourceRoot":"","sources":["../../../../src/transaction/browser/types/Unisat.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { UnisatChainType, WalletNetworks } from '../WalletNetworks.js';
1
2
  export var MessageType;
2
3
  (function (MessageType) {
3
4
  MessageType["ecdsa"] = "ecdsa";
@@ -8,3 +9,4 @@ export var SignatureType;
8
9
  SignatureType["ecdsa"] = "ecdsa";
9
10
  SignatureType["schnorr"] = "schnorr";
10
11
  })(SignatureType || (SignatureType = {}));
12
+ //# sourceMappingURL=Unisat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unisat.js","sourceRoot":"","sources":["../../../../src/transaction/browser/types/Unisat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAkBvE,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,8BAAe,CAAA;IACf,uCAAwB,CAAA;AAC5B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,gCAAe,CAAA;IACf,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
@@ -95,3 +95,4 @@ export interface Xverse {
95
95
  request(method: 'signPsbt', params: XVersePSBTInput): Promise<XverseRPCSignPsbtResponse>;
96
96
  }
97
97
  export {};
98
+ //# sourceMappingURL=Xverse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Xverse.d.ts","sourceRoot":"","sources":["../../../../src/transaction/browser/types/Xverse.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@ export var SigningProtocol;
9
9
  SigningProtocol["ECDSA"] = "ECDSA";
10
10
  SigningProtocol["BIP322"] = "BIP322";
11
11
  })(SigningProtocol || (SigningProtocol = {}));
12
+ //# sourceMappingURL=Xverse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Xverse.js","sourceRoot":"","sources":["../../../../src/transaction/browser/types/Xverse.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACrB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA2FD,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
@@ -1,25 +1,50 @@
1
1
  import { TransactionType } from '../enums/TransactionType.js';
2
- import { P2TRPayment, Psbt, PsbtInput, Taptree } from '@btc-vision/bitcoin';
2
+ import { type P2TRPayment, Psbt, type PsbtInput, type Taptree } from '@btc-vision/bitcoin';
3
3
  import { TransactionBuilder } from './TransactionBuilder.js';
4
- import { TapLeafScript } from '../interfaces/Tap.js';
5
- import { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
4
+ import type { TapLeafScript } from '../interfaces/Tap.js';
5
+ import type { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
6
6
  export declare class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL> {
7
7
  type: TransactionType.CANCEL;
8
+ /**
9
+ * The tap leaf script for spending
10
+ */
8
11
  protected tapLeafScript: TapLeafScript | null;
9
- protected readonly compiledTargetScript: Buffer;
12
+ protected readonly compiledTargetScript: Uint8Array;
10
13
  protected readonly scriptTree: Taptree;
11
- protected readonly contractSecret: Buffer;
14
+ protected readonly contractSecret: Uint8Array;
12
15
  protected leftOverFundsScriptRedeem: P2TRPayment | null;
13
16
  constructor(parameters: ICancelTransactionParameters);
14
17
  protected buildTransaction(): Promise<void>;
18
+ /**
19
+ * Sign the inputs
20
+ * @param {Psbt} transaction The transaction to sign
21
+ * @protected
22
+ */
23
+ /**
24
+ * Generate the script address (for verification purposes)
25
+ */
15
26
  protected generateScriptAddress(): P2TRPayment;
27
+ /**
28
+ * Generate the tap data for spending
29
+ */
16
30
  protected generateTapData(): P2TRPayment;
31
+ /**
32
+ * Custom finalizer for the tap script spend
33
+ */
17
34
  protected customFinalizer: (_inputIndex: number, input: PsbtInput) => {
18
- finalScriptWitness: Buffer<ArrayBufferLike>;
35
+ finalScriptWitness: Uint8Array<ArrayBufferLike>;
19
36
  };
20
37
  protected signInputs(transaction: Psbt): Promise<void>;
21
38
  protected signInputsWalletBased(transaction: Psbt): Promise<void>;
22
39
  protected signInputsNonWalletBased(transaction: Psbt): Promise<void>;
40
+ /**
41
+ * Generate the minimal script tree needed for recovery
42
+ * This only includes the leftover funds script
43
+ */
23
44
  private getMinimalScriptTree;
45
+ /**
46
+ * Generate the leftover funds redeem script
47
+ */
24
48
  private generateLeftoverFundsRedeem;
25
49
  }
50
+ //# sourceMappingURL=CancelTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CancelTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/CancelTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAGH,KAAK,WAAW,EAEhB,IAAI,EACJ,KAAK,SAAS,EAEd,KAAK,OAAO,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAKlG,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC;IACtE,IAAI,EAAE,eAAe,CAAC,MAAM,CAA0B;IAE7D;;OAEG;IACH,UAAmB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAE9D,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC;IAC9C,SAAS,CAAC,yBAAyB,EAAE,WAAW,GAAG,IAAI,CAAQ;gBAE5C,UAAU,EAAE,4BAA4B;cAuBlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C1D;;;;OAIG;IAaH;;OAEG;cACgB,qBAAqB,IAAI,WAAW;IASvD;;OAEG;cAWgB,eAAe,IAAI,WAAW;IAoBjD;;OAEG;IACH,SAAS,CAAC,eAAe,GAAI,aAAa,MAAM,EAAE,OAAO,SAAS;;MAmBhE;cAEuB,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ5C,qBAAqB,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAoBvD,wBAAwB,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDnF;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAQtC"}
@@ -1,7 +1,18 @@
1
1
  import { TransactionType } from '../enums/TransactionType.js';
2
- import { PaymentType } from '@btc-vision/bitcoin';
2
+ import { fromHex, PaymentType, Psbt, } from '@btc-vision/bitcoin';
3
3
  import { TransactionBuilder } from './TransactionBuilder.js';
4
+ import { UnisatSigner } from '../browser/extensions/UnisatSigner.js';
5
+ import { isUniversalSigner } from '../../signer/TweakedSigner.js';
4
6
  export class CancelTransaction extends TransactionBuilder {
7
+ type = TransactionType.CANCEL;
8
+ /**
9
+ * The tap leaf script for spending
10
+ */
11
+ tapLeafScript = null;
12
+ compiledTargetScript;
13
+ scriptTree;
14
+ contractSecret;
15
+ leftOverFundsScriptRedeem = null;
5
16
  constructor(parameters) {
6
17
  super({
7
18
  ...parameters,
@@ -10,31 +21,14 @@ export class CancelTransaction extends TransactionBuilder {
10
21
  priorityFee: 1n,
11
22
  calldata: Buffer.alloc(0),
12
23
  });
13
- this.type = TransactionType.CANCEL;
14
- this.tapLeafScript = null;
15
- this.leftOverFundsScriptRedeem = null;
16
- this.customFinalizer = (_inputIndex, input) => {
17
- if (!this.tapLeafScript) {
18
- throw new Error('Tap leaf script is required');
19
- }
20
- if (!input.tapScriptSig || input.tapScriptSig.length === 0) {
21
- throw new Error('Tap script signature is required');
22
- }
23
- const scriptSolution = [input.tapScriptSig[0].signature];
24
- const witness = scriptSolution
25
- .concat(this.tapLeafScript.script)
26
- .concat(this.tapLeafScript.controlBlock);
27
- return {
28
- finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
29
- };
30
- };
31
- this.contractSecret = Buffer.alloc(0);
32
- if (Buffer.isBuffer(parameters.compiledTargetScript)) {
24
+ this.contractSecret = new Uint8Array(0);
25
+ if (parameters.compiledTargetScript instanceof Uint8Array) {
33
26
  this.compiledTargetScript = parameters.compiledTargetScript;
34
27
  }
35
28
  else {
36
- this.compiledTargetScript = Buffer.from(parameters.compiledTargetScript, 'hex');
29
+ this.compiledTargetScript = fromHex(parameters.compiledTargetScript);
37
30
  }
31
+ // Generate the minimal script tree needed for recovery
38
32
  this.scriptTree = this.getMinimalScriptTree();
39
33
  this.internalInit();
40
34
  }
@@ -51,6 +45,7 @@ export class CancelTransaction extends TransactionBuilder {
51
45
  if (!this.leftOverFundsScriptRedeem.output) {
52
46
  throw new Error('Left over funds script redeem output is required');
53
47
  }
48
+ // Set up the tap leaf script for spending
54
49
  this.tapLeafScript = {
55
50
  leafVersion: this.leftOverFundsScriptRedeem.redeemVersion,
56
51
  script: this.leftOverFundsScriptRedeem.output,
@@ -62,6 +57,36 @@ export class CancelTransaction extends TransactionBuilder {
62
57
  throw new Error('Must add extra UTXOs to cancel this transaction');
63
58
  }
64
59
  }
60
+ /*protected override async buildTransaction(): Promise<void> {
61
+ if (!this.from) {
62
+ throw new Error('From address is required');
63
+ }
64
+
65
+ // For key-path spend, we don't need the tap leaf script
66
+ this.tapLeafScript = null;
67
+
68
+ this.addInputsFromUTXO();
69
+ await this.addRefundOutput(0n);
70
+ }*/
71
+ /**
72
+ * Sign the inputs
73
+ * @param {Psbt} transaction The transaction to sign
74
+ * @protected
75
+ */
76
+ /*protected async signInputs(transaction: Psbt): Promise<void> {
77
+ for (let i = 0; i < transaction.data.inputs.length; i++) {
78
+ if (i === 0) {
79
+ transaction.signInput(0, this.getSignerKey());
80
+
81
+ transaction.finalizeInput(0, this.customFinalizer.bind(this));
82
+ } else {
83
+ await super.signInputs(transaction);
84
+ }
85
+ }
86
+ }*/
87
+ /**
88
+ * Generate the script address (for verification purposes)
89
+ */
65
90
  generateScriptAddress() {
66
91
  return {
67
92
  internalPubkey: this.internalPubKeyToXOnly(),
@@ -70,6 +95,19 @@ export class CancelTransaction extends TransactionBuilder {
70
95
  name: PaymentType.P2TR,
71
96
  };
72
97
  }
98
+ /**
99
+ * Generate the tap data for spending
100
+ */
101
+ /*protected override generateTapData(): P2TRPayment {
102
+ const internalPubkey = this.internalPubKeyToXOnly();
103
+
104
+ return {
105
+ name: PaymentType.P2TR,
106
+ internalPubkey: internalPubkey,
107
+ network: this.network,
108
+ scriptTree: this.scriptTree, // This is crucial for the tweak
109
+ };
110
+ }*/
73
111
  generateTapData() {
74
112
  const selectedRedeem = this.leftOverFundsScriptRedeem;
75
113
  if (!selectedRedeem) {
@@ -86,6 +124,25 @@ export class CancelTransaction extends TransactionBuilder {
86
124
  name: PaymentType.P2TR,
87
125
  };
88
126
  }
127
+ /**
128
+ * Custom finalizer for the tap script spend
129
+ */
130
+ customFinalizer = (_inputIndex, input) => {
131
+ if (!this.tapLeafScript) {
132
+ throw new Error('Tap leaf script is required');
133
+ }
134
+ if (!input.tapScriptSig || input.tapScriptSig.length === 0) {
135
+ throw new Error('Tap script signature is required');
136
+ }
137
+ // For the simple lock script, we only need the signature
138
+ const scriptSolution = [input.tapScriptSig[0].signature];
139
+ const witness = scriptSolution
140
+ .concat(this.tapLeafScript.script)
141
+ .concat(this.tapLeafScript.controlBlock);
142
+ return {
143
+ finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
144
+ };
145
+ };
89
146
  async signInputs(transaction) {
90
147
  if ('multiSignPsbt' in this.signer) {
91
148
  await this.signInputsWalletBased(transaction);
@@ -96,7 +153,9 @@ export class CancelTransaction extends TransactionBuilder {
96
153
  }
97
154
  async signInputsWalletBased(transaction) {
98
155
  const signer = this.signer;
156
+ // then, we sign all the remaining inputs with the wallet signer.
99
157
  await signer.multiSignPsbt([transaction]);
158
+ // Then, we finalize every input.
100
159
  for (let i = 0; i < transaction.data.inputs.length; i++) {
101
160
  if (i === 0) {
102
161
  transaction.finalizeInput(i, this.customFinalizer.bind(this));
@@ -112,22 +171,41 @@ export class CancelTransaction extends TransactionBuilder {
112
171
  }
113
172
  }
114
173
  async signInputsNonWalletBased(transaction) {
115
- for (let i = 0; i < transaction.data.inputs.length; i++) {
116
- if (i === 0) {
117
- await this.signInput(transaction, transaction.data.inputs[i], i, this.getSignerKey());
118
- transaction.finalizeInput(0, this.customFinalizer.bind(this));
174
+ // Input 0: always sequential (script-path with custom finalizer)
175
+ await this.signInput(transaction, transaction.data.inputs[0], 0, this.getSignerKey());
176
+ transaction.finalizeInput(0, this.customFinalizer.bind(this));
177
+ // Inputs 1+: parallel key-path if available, then sequential for remaining
178
+ let parallelSignedIndices = new Set();
179
+ if (this.canUseParallelSigning && isUniversalSigner(this.signer)) {
180
+ try {
181
+ const result = await this.signKeyPathInputsParallel(transaction, new Set([0]));
182
+ if (result.success) {
183
+ parallelSignedIndices = new Set(result.signatures.keys());
184
+ }
119
185
  }
120
- else {
186
+ catch (e) {
187
+ this.error(`Parallel signing failed, falling back to sequential: ${e.message}`);
188
+ }
189
+ }
190
+ for (let i = 1; i < transaction.data.inputs.length; i++) {
191
+ if (!parallelSignedIndices.has(i)) {
121
192
  await this.signInput(transaction, transaction.data.inputs[i], i, this.signer);
122
- try {
123
- transaction.finalizeInput(i, this.customFinalizerP2SH.bind(this));
124
- }
125
- catch (e) {
126
- transaction.finalizeInput(i);
127
- }
193
+ }
194
+ }
195
+ // Finalize inputs 1+
196
+ for (let i = 1; i < transaction.data.inputs.length; i++) {
197
+ try {
198
+ transaction.finalizeInput(i, this.customFinalizerP2SH.bind(this));
199
+ }
200
+ catch {
201
+ transaction.finalizeInput(i);
128
202
  }
129
203
  }
130
204
  }
205
+ /**
206
+ * Generate the minimal script tree needed for recovery
207
+ * This only includes the leftover funds script
208
+ */
131
209
  getMinimalScriptTree() {
132
210
  this.generateLeftoverFundsRedeem();
133
211
  if (!this.leftOverFundsScriptRedeem || !this.leftOverFundsScriptRedeem.output) {
@@ -144,7 +222,11 @@ export class CancelTransaction extends TransactionBuilder {
144
222
  },
145
223
  ];
146
224
  }
225
+ /**
226
+ * Generate the leftover funds redeem script
227
+ */
147
228
  generateLeftoverFundsRedeem() {
229
+ // Use the same LOCK_LEAF_SCRIPT from the parent class
148
230
  this.leftOverFundsScriptRedeem = {
149
231
  name: PaymentType.P2TR,
150
232
  output: this.LOCK_LEAF_SCRIPT,
@@ -152,3 +234,4 @@ export class CancelTransaction extends TransactionBuilder {
152
234
  };
153
235
  }
154
236
  }
237
+ //# sourceMappingURL=CancelTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CancelTransaction.js","sourceRoot":"","sources":["../../../src/transaction/builders/CancelTransaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=ChallengeSolutionTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChallengeSolutionTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/ChallengeSolutionTransaction.ts"],"names":[],"mappings":""}
@@ -1 +1,89 @@
1
1
  export {};
2
+ /*import { TransactionType } from '../enums/TransactionType.js';
3
+ import { getFinalScripts, opcodes, Psbt, PsbtInput, script, Signer } from '@btc-vision/bitcoin';
4
+ import { TransactionBuilder } from './TransactionBuilder.js';
5
+ import { type UniversalSigner } from '@btc-vision/ecpair';
6
+
7
+ export class ChallengeSolutionTransaction extends TransactionBuilder<TransactionType.CHALLENGE_SOLUTION> {
8
+ public readonly type: TransactionType.CHALLENGE_SOLUTION = TransactionType.CHALLENGE_SOLUTION;
9
+
10
+ protected amount: bigint;
11
+ protected readonly challengeSolution: Buffer;
12
+
13
+ constructor(parameters: IChallengeSolutionTransactionParameters) {
14
+ super(parameters);
15
+
16
+ this.amount = parameters.amount;
17
+ this.challengeSolution = parameters.challengeSolution;
18
+
19
+ this.internalInit();
20
+ }
21
+
22
+ protected override async buildTransaction(): Promise<void> {
23
+ if (!this.to) {
24
+ throw new Error('Recipient address is required');
25
+ }
26
+
27
+ this.addInputsFromUTXO();
28
+
29
+ if (this.isPubKeyDestination) {
30
+ const pubKeyScript = script.compile([
31
+ Buffer.from(this.to.replace('0x', ''), 'hex'),
32
+ opcodes.OP_CHECKSIG,
33
+ ]);
34
+
35
+ this.addOutput({
36
+ value: Number(this.amount),
37
+ script: pubKeyScript,
38
+ });
39
+ } else {
40
+ this.addOutput({
41
+ value: Number(this.amount),
42
+ address: this.to,
43
+ });
44
+ }
45
+
46
+ await this.addRefundOutput(this.amount + this.addOptionalOutputsAndGetAmount());
47
+ }
48
+
49
+ protected override async signInput(
50
+ transaction: Psbt,
51
+ input: PsbtInput,
52
+ i: number,
53
+ signer: Signer | UniversalSigner,
54
+ reverse: boolean = false,
55
+ errored: boolean = false,
56
+ ): Promise<void> {
57
+ // do nothing.
58
+ }
59
+
60
+ protected override customFinalizerP2SH = (
61
+ inputIndex: number,
62
+ input: PsbtInput,
63
+ scriptA: Buffer,
64
+ isSegwit: boolean,
65
+ isP2SH: boolean,
66
+ isP2WSH: boolean,
67
+ ): {
68
+ finalScriptSig: Buffer | undefined;
69
+ finalScriptWitness: Buffer | undefined;
70
+ } => {
71
+ const inputDecoded = this.inputs[inputIndex];
72
+
73
+ if (isP2SH && inputDecoded && inputDecoded.redeemScript) {
74
+ const scriptSig = script.compile([this.challengeSolution, inputDecoded.redeemScript]);
75
+
76
+ return {
77
+ finalScriptSig: scriptSig,
78
+ finalScriptWitness: undefined,
79
+ };
80
+ }
81
+
82
+ return getFinalScripts(inputIndex, input, scriptA, isSegwit, isP2SH, isP2WSH, false);
83
+ };
84
+
85
+ protected override getSignerKey(): Signer | UniversalSigner {
86
+ return this.signer;
87
+ }
88
+ }*/
89
+ //# sourceMappingURL=ChallengeSolutionTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChallengeSolutionTransaction.js","sourceRoot":"","sources":["../../../src/transaction/builders/ChallengeSolutionTransaction.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG"}
@@ -1,44 +1,171 @@
1
- import { Buffer } from 'buffer';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
2
  import { TransactionType } from '../enums/TransactionType.js';
4
3
  import { TransactionBuilder } from './TransactionBuilder.js';
5
4
  import { HashCommitmentGenerator } from '../../generators/builders/HashCommitmentGenerator.js';
6
5
  import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
7
- import { IConsolidatedInteractionParameters, IConsolidatedInteractionResult, IHashCommittedP2WSH, IRevealTransactionResult } from '../interfaces/IConsolidatedTransactionParameters.js';
8
- import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
9
- import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
6
+ import type { IConsolidatedInteractionParameters, IConsolidatedInteractionResult, IHashCommittedP2WSH, IRevealTransactionResult } from '../interfaces/IConsolidatedTransactionParameters.js';
7
+ import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
8
+ import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
9
+ /**
10
+ * Consolidated Interaction Transaction
11
+ *
12
+ * Drop-in replacement for InteractionTransaction that bypasses BIP110/Bitcoin Knots censorship.
13
+ *
14
+ * Uses the same parameters and sends the same data on-chain as InteractionTransaction,
15
+ * but embeds data in hash-committed P2WSH witnesses instead of Tapscript.
16
+ *
17
+ * Data is split into 80-byte chunks (P2WSH stack item limit), with up to 14 chunks
18
+ * batched per P2WSH output (~1,120 bytes per output). Each output's witness script
19
+ * commits to all its chunks via HASH160. When spent, all data chunks are revealed
20
+ * in the witness and verified at consensus level.
21
+ *
22
+ * Policy limits respected:
23
+ * - MAX_STANDARD_P2WSH_STACK_ITEM_SIZE = 80 bytes per chunk
24
+ * - g_script_size_policy_limit = 1650 bytes total witness size (serialized)
25
+ * - MAX_STANDARD_P2WSH_STACK_ITEMS = 100 items per witness
26
+ *
27
+ * Data integrity is consensus-enforced: if any data is stripped or modified,
28
+ * HASH160(data) != committed_hash and the transaction is INVALID.
29
+ *
30
+ * Capacity: ~1.1KB per P2WSH output, ~220 outputs per reveal tx, ~242KB max.
31
+ *
32
+ * Usage:
33
+ * ```typescript
34
+ * // Same parameters as InteractionTransaction
35
+ * const tx = new ConsolidatedInteractionTransaction({
36
+ * calldata: myCalldata,
37
+ * to: contractAddress,
38
+ * contract: contractSecret,
39
+ * challenge: myChallenge,
40
+ * utxos: myUtxos,
41
+ * signer: mySigner,
42
+ * network: networks.bitcoin,
43
+ * feeRate: 10,
44
+ * priorityFee: 0n,
45
+ * gasSatFee: 330n,
46
+ * });
47
+ *
48
+ * const result = await tx.build();
49
+ * // Broadcast setup first, then reveal (can use CPFP)
50
+ * broadcast(result.setup.txHex);
51
+ * broadcast(result.reveal.txHex);
52
+ * ```
53
+ */
10
54
  export declare class ConsolidatedInteractionTransaction extends TransactionBuilder<TransactionType.INTERACTION> {
11
55
  readonly type: TransactionType.INTERACTION;
12
- readonly randomBytes: Buffer;
56
+ /** Random bytes for interaction (same as InteractionTransaction) */
57
+ readonly randomBytes: Uint8Array;
58
+ /** The contract address (same as InteractionTransaction.to) */
13
59
  protected readonly contractAddress: string;
14
- protected readonly contractSecret: Buffer;
15
- protected readonly calldata: Buffer;
60
+ /** The contract secret - 32 bytes (same as InteractionTransaction) */
61
+ protected readonly contractSecret: Uint8Array;
62
+ /** The compressed calldata (same as InteractionTransaction) */
63
+ protected readonly calldata: Uint8Array;
64
+ /** Challenge solution for epoch (same as InteractionTransaction) */
16
65
  protected readonly challenge: IChallengeSolution;
66
+ /** Epoch challenge P2WSH address (same as InteractionTransaction) */
17
67
  protected readonly epochChallenge: IP2WSHAddress;
18
- protected readonly scriptSigner: ECPairInterface;
68
+ /** Script signer for interaction (same as InteractionTransaction) */
69
+ protected readonly scriptSigner: UniversalSigner;
70
+ /** Calldata generator - produces same output as InteractionTransaction */
19
71
  protected readonly calldataGenerator: CalldataGenerator;
72
+ /** Hash commitment generator for CHCT */
20
73
  protected readonly hashCommitmentGenerator: HashCommitmentGenerator;
21
- protected readonly compiledTargetScript: Buffer;
74
+ /** The compiled operation data - SAME as InteractionTransaction's compiledTargetScript */
75
+ protected readonly compiledTargetScript: Uint8Array;
76
+ /** Generated hash-committed P2WSH outputs */
22
77
  protected readonly commitmentOutputs: IHashCommittedP2WSH[];
78
+ /** Disable auto refund (same as InteractionTransaction) */
23
79
  protected readonly disableAutoRefund: boolean;
80
+ /** Maximum chunk size (default: 80 bytes per P2WSH stack item limit) */
24
81
  protected readonly maxChunkSize: number;
82
+ /** Cached value per output (calculated once, used by setup and reveal) */
25
83
  private cachedValuePerOutput;
26
84
  constructor(parameters: IConsolidatedInteractionParameters);
27
- exportCompiledTargetScript(): Buffer;
28
- getContractSecret(): Buffer;
29
- getRndBytes(): Buffer;
85
+ /**
86
+ * Get the compiled target script (same as InteractionTransaction).
87
+ */
88
+ exportCompiledTargetScript(): Uint8Array;
89
+ /**
90
+ * Get the contract secret (same as InteractionTransaction).
91
+ */
92
+ getContractSecret(): Uint8Array;
93
+ /**
94
+ * Get the random bytes (same as InteractionTransaction).
95
+ */
96
+ getRndBytes(): Uint8Array;
97
+ /**
98
+ * Get the challenge solution (same as InteractionTransaction).
99
+ */
30
100
  getChallenge(): IChallengeSolution;
101
+ /**
102
+ * Get the commitment outputs for the setup transaction.
103
+ */
31
104
  getCommitmentOutputs(): IHashCommittedP2WSH[];
105
+ /**
106
+ * Get the number of P2WSH outputs.
107
+ */
32
108
  getOutputCount(): number;
109
+ /**
110
+ * Get the total number of 80-byte chunks across all outputs.
111
+ */
33
112
  getTotalChunkCount(): number;
113
+ /**
114
+ * Build both setup and reveal transactions.
115
+ *
116
+ * @returns Complete result with both transactions
117
+ */
34
118
  build(): Promise<IConsolidatedInteractionResult>;
119
+ /**
120
+ * Build the reveal transaction.
121
+ * Spends the P2WSH commitment outputs, revealing the compiled data in witnesses.
122
+ *
123
+ * Output structure matches InteractionTransaction:
124
+ * - Output to epochChallenge.address (miner reward)
125
+ * - Change output (if any)
126
+ *
127
+ * @param setupTxId The transaction ID of the setup transaction
128
+ */
35
129
  buildRevealTransaction(setupTxId: string): IRevealTransactionResult;
130
+ /**
131
+ * Get the value per commitment output (for external access).
132
+ */
36
133
  getValuePerOutput(): bigint;
134
+ /**
135
+ * Build the setup transaction.
136
+ * Creates P2WSH outputs with hash commitments to the compiled data chunks.
137
+ * This is called by signTransaction() in the base class.
138
+ */
37
139
  protected buildTransaction(): Promise<void>;
140
+ /**
141
+ * Finalize a commitment input.
142
+ *
143
+ * Witness stack: [signature, data_1, data_2, ..., data_N, witnessScript]
144
+ *
145
+ * The witness script verifies each data chunk against its committed hash.
146
+ * If any data is wrong or missing, the transaction is INVALID at consensus level.
147
+ */
38
148
  private finalizeCommitmentInput;
149
+ /**
150
+ * Estimate reveal transaction vBytes.
151
+ */
39
152
  private estimateRevealVBytes;
153
+ /**
154
+ * Calculate the required value per commitment output.
155
+ * This must cover: dust minimum + share of reveal fee + share of OPNet fee
156
+ */
40
157
  private calculateValuePerOutput;
158
+ /**
159
+ * Get refund address.
160
+ */
41
161
  private getRefundAddress;
162
+ /**
163
+ * Generate features (same as InteractionTransaction).
164
+ */
42
165
  private generateFeatures;
166
+ /**
167
+ * Validate output count is within standard tx limits.
168
+ */
43
169
  private validateOutputCount;
44
170
  }
171
+ //# sourceMappingURL=ConsolidatedInteractionTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolidatedInteractionTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/ConsolidatedInteractionTransaction.ts"],"names":[],"mappings":"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"}