@btc-vision/transaction 1.8.0-beta.3 → 1.8.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) 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 +11999 -2647
  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 +3583 -3184
  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 +844 -2746
  100. package/browser/noble-hashes.js +1338 -2067
  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 +14351 -10031
  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 +446 -128
  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 +219 -50
  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 +12 -35
  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/deterministic/AddressMap.ts +5 -1
  661. package/src/deterministic/AddressSet.ts +5 -1
  662. package/src/deterministic/CustomMap.ts +6 -2
  663. package/src/deterministic/DeterministicMap.ts +8 -4
  664. package/src/deterministic/DeterministicSet.ts +6 -2
  665. package/src/deterministic/ExtendedAddressMap.ts +9 -4
  666. package/src/deterministic/FastMap.ts +9 -5
  667. package/src/ecc/backend.ts +17 -0
  668. package/src/epoch/ChallengeSolution.ts +3 -3
  669. package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
  670. package/src/epoch/validator/EpochValidator.ts +24 -43
  671. package/src/generators/AddressGenerator.ts +6 -6
  672. package/src/generators/Features.ts +3 -3
  673. package/src/generators/Generator.ts +42 -26
  674. package/src/generators/builders/CalldataGenerator.ts +26 -24
  675. package/src/generators/builders/CustomGenerator.ts +4 -4
  676. package/src/generators/builders/DeploymentGenerator.ts +25 -23
  677. package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
  678. package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
  679. package/src/generators/builders/MultiSignGenerator.ts +12 -12
  680. package/src/generators/builders/P2WDAGenerator.ts +10 -10
  681. package/src/keypair/Address.ts +114 -71
  682. package/src/keypair/AddressVerificator.ts +16 -147
  683. package/src/keypair/EcKeyPair.ts +105 -114
  684. package/src/keypair/MessageSigner.ts +70 -150
  685. package/src/keypair/Wallet.ts +59 -240
  686. package/src/metadata/ContractBaseMetadata.ts +2 -2
  687. package/src/mnemonic/Mnemonic.ts +32 -221
  688. package/src/opnet.ts +12 -6
  689. package/src/p2wda/P2WDADetector.ts +23 -72
  690. package/src/polyfill/disposable.ts +29 -0
  691. package/src/signer/AddressRotation.ts +1 -1
  692. package/src/signer/IRotationSigner.ts +3 -3
  693. package/src/signer/ParallelSignerAdapter.ts +59 -0
  694. package/src/signer/SignerUtils.ts +4 -4
  695. package/src/signer/TweakedSigner.ts +28 -13
  696. package/src/transaction/ContractAddress.ts +3 -7
  697. package/src/transaction/TransactionFactory.ts +28 -50
  698. package/src/transaction/browser/BrowserSignerBase.ts +12 -6
  699. package/src/transaction/browser/Web3Provider.ts +3 -3
  700. package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
  701. package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
  702. package/src/transaction/browser/types/OPWallet.ts +2 -2
  703. package/src/transaction/browser/types/Unisat.ts +1 -1
  704. package/src/transaction/builders/CancelTransaction.ts +59 -24
  705. package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
  706. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
  707. package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
  708. package/src/transaction/builders/DeploymentTransaction.ts +82 -63
  709. package/src/transaction/builders/FundingTransaction.ts +11 -11
  710. package/src/transaction/builders/InteractionTransaction.ts +10 -10
  711. package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
  712. package/src/transaction/builders/MultiSignTransaction.ts +68 -61
  713. package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
  714. package/src/transaction/builders/TransactionBuilder.ts +101 -79
  715. package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
  716. package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
  717. package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
  718. package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
  719. package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
  720. package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
  721. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
  722. package/src/transaction/interfaces/Tap.ts +3 -3
  723. package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
  724. package/src/transaction/mineable/TimelockGenerator.ts +19 -12
  725. package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
  726. package/src/transaction/offline/TransactionReconstructor.ts +83 -91
  727. package/src/transaction/offline/TransactionSerializer.ts +151 -101
  728. package/src/transaction/offline/TransactionStateCapture.ts +83 -79
  729. package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
  730. package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
  731. package/src/transaction/shared/P2TR_MS.ts +4 -4
  732. package/src/transaction/shared/TweakedTransaction.ts +326 -124
  733. package/src/transaction/utils/WitnessUtils.ts +18 -9
  734. package/src/utils/BufferHelper.ts +39 -37
  735. package/src/utxo/OPNetLimitedProvider.ts +7 -7
  736. package/src/utxo/interfaces/IUTXO.ts +7 -7
  737. package/src/verification/TapscriptVerificator.ts +73 -86
  738. package/test/address-rotation.test.ts +24 -24
  739. package/test/address.test.ts +12 -12
  740. package/test/addressmap.test.ts +30 -30
  741. package/test/binary-reader-writer.test.ts +8 -8
  742. package/test/browser/offline-transaction.test.ts +2206 -0
  743. package/test/browser/parallel-signing.test.ts +316 -0
  744. package/test/browser/setup.ts +11 -0
  745. package/test/browser/transaction-signing.test.ts +416 -0
  746. package/test/buffer-helper.test.ts +287 -0
  747. package/test/derivePath.test.ts +4 -3
  748. package/test/disposable.test.ts +279 -0
  749. package/test/fastmap-setall.test.ts +1 -1
  750. package/test/fastmap.test.ts +3 -3
  751. package/test/messagesigner-mldsa.test.ts +3 -3
  752. package/test/messagesigner-schnorr.test.ts +9 -9
  753. package/test/offline-transaction.test.ts +461 -288
  754. package/test/old/FastBigIntMap.ts +3 -3
  755. package/test/oldfastmap.test.ts +6 -6
  756. package/test/transaction-builders.test.ts +321 -0
  757. package/tsconfig.base.json +34 -18
  758. package/tsconfig.browser.json +15 -0
  759. package/tsconfig.json +3 -8
  760. package/vite.config.browser.ts +4 -5
  761. package/vitest.config.browser.ts +68 -0
  762. package/vitest.config.ts +1 -1
  763. package/browser/valibot.js +0 -4948
  764. package/tsconfig.webpack.json +0 -18
@@ -1,5 +1,5 @@
1
- import { RawChallenge } from '../../epoch/interfaces/IChallengeSolution.js';
2
- import { UTXO } from '../../utxo/interfaces/IUTXO.js';
1
+ import type { RawChallenge } from '../../epoch/interfaces/IChallengeSolution.js';
2
+ import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
3
3
 
4
4
  export interface DeploymentResult {
5
5
  readonly transaction: [string, string];
@@ -1,19 +1,20 @@
1
- import { Network, Signer } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
3
- import { QuantumBIP32Interface } from '@btc-vision/bip32';
4
- import { ChainId } from '../../network/ChainId.js';
5
- import { AddressRotationConfigBase } from '../../signer/IRotationSigner.js';
1
+ import type { Network, Signer } from '@btc-vision/bitcoin';
2
+ import type { WorkerSigningPool, WorkerPoolConfig } from '@btc-vision/bitcoin/workers';
3
+ import type { UniversalSigner } from '@btc-vision/ecpair';
4
+ import type { QuantumBIP32Interface } from '@btc-vision/bip32';
5
+ import type { ChainId } from '../../network/ChainId.js';
6
+ import type { AddressRotationConfigBase } from '../../signer/IRotationSigner.js';
6
7
 
7
8
  export type SupportedTransactionVersion = 1 | 2 | 3;
8
9
 
9
10
  export interface ITweakedTransactionData {
10
11
  readonly mldsaSigner: QuantumBIP32Interface | null;
11
- readonly signer: Signer | ECPairInterface;
12
+ readonly signer: Signer | UniversalSigner;
12
13
  readonly network: Network;
13
14
  readonly chainId?: ChainId;
14
- readonly nonWitnessUtxo?: Buffer;
15
+ readonly nonWitnessUtxo?: Uint8Array;
15
16
  readonly noSignatures?: boolean;
16
- readonly unlockScript?: Buffer[];
17
+ readonly unlockScript?: Uint8Array[];
17
18
  readonly txVersion?: SupportedTransactionVersion;
18
19
 
19
20
  /**
@@ -21,4 +22,12 @@ export interface ITweakedTransactionData {
21
22
  * When enabled, each UTXO can be signed by a different signer.
22
23
  */
23
24
  readonly addressRotation?: AddressRotationConfigBase;
25
+
26
+ /**
27
+ * Parallel signing configuration using worker threads.
28
+ * Pass a WorkerSigningPool instance (recommended for reuse) or a WorkerPoolConfig.
29
+ * When provided, key-path taproot inputs are signed in parallel.
30
+ * Falls back to sequential for address rotation, browser, or non-taproot inputs.
31
+ */
32
+ readonly parallelSigning?: WorkerSigningPool | WorkerPoolConfig;
24
33
  }
@@ -1,6 +1,6 @@
1
- import { IDeploymentParameters, IInteractionParameters } from './ITransactionParameters.js';
2
- import { ICustomTransactionParameters } from './ICustomTransactionParameters.js';
3
- import { ICancelTransactionParameters } from './ICancelTransactionParameters.js';
1
+ import type { IDeploymentParameters, IInteractionParameters } from './ITransactionParameters.js';
2
+ import type { ICustomTransactionParameters } from './ICustomTransactionParameters.js';
3
+ import type { ICancelTransactionParameters } from './ICancelTransactionParameters.js';
4
4
  import { MLDSASecurityLevel } from '@btc-vision/bip32';
5
5
 
6
6
  export type InteractionParametersWithoutSigner = Omit<
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  PsbtInput as _PsbtInput,
3
3
  PsbtInputUpdate as _PsbtInputUpdate,
4
4
  PsbtOutput as _PsbtOutput,
@@ -14,8 +14,8 @@ import {
14
14
 
15
15
  export interface TapLeafScript {
16
16
  readonly leafVersion: number;
17
- readonly controlBlock: Buffer;
18
- readonly script: Buffer;
17
+ readonly controlBlock: Uint8Array;
18
+ readonly script: Uint8Array;
19
19
  }
20
20
 
21
21
  export interface UpdateInput {
@@ -1,4 +1,4 @@
1
1
  export interface IP2WSHAddress {
2
2
  address: string;
3
- witnessScript: Buffer;
3
+ witnessScript: Uint8Array;
4
4
  }
@@ -1,10 +1,18 @@
1
- import bitcoin, { Network, networks, opcodes, script } from '@btc-vision/bitcoin';
2
- import { IP2WSHAddress } from './IP2WSHAddress.js';
1
+ import bitcoin, {
2
+ fromHex,
3
+ type Network,
4
+ networks,
5
+ opcodes,
6
+ type PublicKey,
7
+ type Script,
8
+ script,
9
+ type XOnlyPublicKey,
10
+ } from '@btc-vision/bitcoin';
11
+ import type { IP2WSHAddress } from './IP2WSHAddress.js';
3
12
 
4
13
  export class TimeLockGenerator {
5
- private static readonly UNSPENDABLE_INTERNAL_KEY = Buffer.from(
14
+ private static readonly UNSPENDABLE_INTERNAL_KEY = fromHex(
6
15
  '50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0',
7
- 'hex',
8
16
  );
9
17
 
10
18
  private static readonly CSV_BLOCKS = 75;
@@ -14,11 +22,11 @@ export class TimeLockGenerator {
14
22
  * Note: This uses ECDSA, not Schnorr (Schnorr only available in Taproot)
15
23
  */
16
24
  public static generateTimeLockAddress(
17
- publicKey: Buffer,
25
+ publicKey: PublicKey,
18
26
  network: Network = networks.bitcoin,
19
27
  csvBlocks: number = TimeLockGenerator.CSV_BLOCKS,
20
28
  ): IP2WSHAddress {
21
- const witnessScript = this.generateTimeLockScript(publicKey, csvBlocks);
29
+ const witnessScript: Script = this.generateTimeLockScript(publicKey, csvBlocks);
22
30
 
23
31
  const p2wsh = bitcoin.payments.p2wsh({
24
32
  redeem: { output: witnessScript },
@@ -40,7 +48,7 @@ export class TimeLockGenerator {
40
48
  * Note: This uses Schnorr signatures
41
49
  */
42
50
  public static generateTimeLockAddressP2TR(
43
- publicKey: Buffer,
51
+ publicKey: XOnlyPublicKey,
44
52
  network: Network = networks.bitcoin,
45
53
  csvBlocks: number = TimeLockGenerator.CSV_BLOCKS,
46
54
  ): string {
@@ -48,12 +56,11 @@ export class TimeLockGenerator {
48
56
  throw new Error('Public key must be 32 bytes for Taproot');
49
57
  }
50
58
 
51
- const witnessScript = this.generateTimeLockScript(publicKey, csvBlocks);
52
-
59
+ const witnessScript: Script = this.generateTimeLockScript(publicKey, csvBlocks);
53
60
  const taproot = bitcoin.payments.p2tr({
54
61
  redeem: { output: witnessScript },
55
62
  network,
56
- internalPubkey: TimeLockGenerator.UNSPENDABLE_INTERNAL_KEY,
63
+ internalPubkey: TimeLockGenerator.UNSPENDABLE_INTERNAL_KEY as XOnlyPublicKey,
57
64
  });
58
65
 
59
66
  if (!taproot.address) {
@@ -64,9 +71,9 @@ export class TimeLockGenerator {
64
71
  }
65
72
 
66
73
  private static generateTimeLockScript(
67
- publicKey: Buffer,
74
+ publicKey: PublicKey | XOnlyPublicKey,
68
75
  csvBlocks: number = TimeLockGenerator.CSV_BLOCKS,
69
- ): Buffer {
76
+ ): Script {
70
77
  return script.compile([
71
78
  script.number.encode(csvBlocks),
72
79
  opcodes.OP_CHECKSEQUENCEVERIFY,
@@ -1,14 +1,14 @@
1
- import { Psbt, Signer } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { fromHex, Psbt, type PsbtInput, type Signer, toHex } from '@btc-vision/bitcoin';
2
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
4
  import { TransactionBuilder } from '../builders/TransactionBuilder.js';
5
5
  import { MultiSignTransaction } from '../builders/MultiSignTransaction.js';
6
- import { ISerializableTransactionState, PrecomputedData } from './interfaces/ISerializableState.js';
6
+ import type { ISerializableTransactionState, PrecomputedData } from './interfaces/ISerializableState.js';
7
7
  import { TransactionSerializer } from './TransactionSerializer.js';
8
- import { ReconstructionOptions, TransactionReconstructor } from './TransactionReconstructor.js';
8
+ import { type ReconstructionOptions, TransactionReconstructor } from './TransactionReconstructor.js';
9
9
  import { TransactionStateCapture } from './TransactionStateCapture.js';
10
10
  import { isMultiSigSpecificData } from './interfaces/ITypeSpecificData.js';
11
- import {
11
+ import type {
12
12
  IDeploymentParameters,
13
13
  IFundingTransactionParameters,
14
14
  IInteractionParameters,
@@ -107,7 +107,7 @@ export class OfflineTransactionManager {
107
107
  */
108
108
  public static exportMultiSig(
109
109
  params: ITransactionParameters & {
110
- pubkeys: Buffer[];
110
+ pubkeys: Uint8Array[];
111
111
  minimumSignatures: number;
112
112
  receiver: string;
113
113
  requestedAmount: bigint;
@@ -129,9 +129,9 @@ export class OfflineTransactionManager {
129
129
  */
130
130
  public static exportCustomScript(
131
131
  params: ITransactionParameters & {
132
- scriptElements: (Buffer | number)[];
133
- witnesses: Buffer[];
134
- annex?: Buffer;
132
+ scriptElements: (Uint8Array | number)[];
133
+ witnesses: Uint8Array[];
134
+ annex?: Uint8Array;
135
135
  },
136
136
  precomputed?: Partial<PrecomputedData>,
137
137
  ): string {
@@ -147,7 +147,7 @@ export class OfflineTransactionManager {
147
147
  */
148
148
  public static exportCancel(
149
149
  params: ITransactionParameters & {
150
- compiledTargetScript: Buffer | string;
150
+ compiledTargetScript: Uint8Array | string;
151
151
  },
152
152
  precomputed?: Partial<PrecomputedData>,
153
153
  ): string {
@@ -366,7 +366,7 @@ export class OfflineTransactionManager {
366
366
  */
367
367
  public static async multiSigAddSignature(
368
368
  serializedState: string,
369
- signer: Signer | ECPairInterface,
369
+ signer: Signer | UniversalSigner,
370
370
  ): Promise<{
371
371
  state: string;
372
372
  signed: boolean;
@@ -380,7 +380,7 @@ export class OfflineTransactionManager {
380
380
  }
381
381
 
382
382
  const typeData = state.typeSpecificData;
383
- const pubkeys = typeData.pubkeys.map((pk) => Buffer.from(pk, 'hex'));
383
+ const pubkeys = typeData.pubkeys.map((pk) => fromHex(pk));
384
384
 
385
385
  // Parse existing PSBT or create new one
386
386
  let psbt: Psbt;
@@ -411,7 +411,7 @@ export class OfflineTransactionManager {
411
411
  );
412
412
 
413
413
  // Finalize inputs (partial finalization to preserve signatures)
414
- const orderedPubKeys: Buffer[][] = [];
414
+ const orderedPubKeys: Uint8Array[][] = [];
415
415
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
416
416
  orderedPubKeys.push(pubkeys);
417
417
  }
@@ -451,7 +451,7 @@ export class OfflineTransactionManager {
451
451
  */
452
452
  public static multiSigHasSigned(
453
453
  serializedState: string,
454
- signerPubKey: Buffer | string,
454
+ signerPubKey: Uint8Array | string,
455
455
  ): boolean {
456
456
  const state = TransactionSerializer.fromBase64(serializedState);
457
457
 
@@ -468,9 +468,8 @@ export class OfflineTransactionManager {
468
468
  const network = TransactionReconstructor['nameToNetwork'](state.baseParams.networkName);
469
469
  const psbt = Psbt.fromBase64(typeData.existingPsbtBase64, { network });
470
470
 
471
- const pubKeyBuffer = Buffer.isBuffer(signerPubKey)
472
- ? signerPubKey
473
- : Buffer.from(signerPubKey, 'hex');
471
+ const pubKeyBuffer =
472
+ signerPubKey instanceof Uint8Array ? signerPubKey : fromHex(signerPubKey);
474
473
 
475
474
  return MultiSignTransaction.verifyIfSigned(psbt, pubKeyBuffer);
476
475
  }
@@ -512,11 +511,11 @@ export class OfflineTransactionManager {
512
511
  const signerSet = new Set<string>();
513
512
 
514
513
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
515
- const input = psbt.data.inputs[i];
514
+ const input = psbt.data.inputs[i] as PsbtInput;
516
515
 
517
516
  if (input.tapScriptSig) {
518
517
  for (const sig of input.tapScriptSig) {
519
- signerSet.add(sig.pubkey.toString('hex'));
518
+ signerSet.add(toHex(sig.pubkey));
520
519
  }
521
520
  }
522
521
 
@@ -526,8 +525,8 @@ export class OfflineTransactionManager {
526
525
  );
527
526
 
528
527
  for (let j = 0; j < decoded.length - 2; j += 3) {
529
- const pubKey = decoded[j + 2];
530
- signerSet.add(pubKey.toString('hex'));
528
+ const pubKey = decoded[j + 2] as Uint8Array;
529
+ signerSet.add(toHex(pubKey));
531
530
  }
532
531
  }
533
532
  }
@@ -565,8 +564,8 @@ export class OfflineTransactionManager {
565
564
  const network = TransactionReconstructor['nameToNetwork'](state.baseParams.networkName);
566
565
  const psbt = Psbt.fromBase64(typeData.existingPsbtBase64, { network });
567
566
 
568
- const pubkeys = typeData.pubkeys.map((pk) => Buffer.from(pk, 'hex'));
569
- const orderedPubKeys: Buffer[][] = [];
567
+ const pubkeys = typeData.pubkeys.map((pk) => fromHex(pk));
568
+ const orderedPubKeys: Uint8Array[][] = [];
570
569
 
571
570
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
572
571
  orderedPubKeys.push(pubkeys);
@@ -1,8 +1,17 @@
1
- import { Network, networks, PsbtOutputExtended, Signer, Stack } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
3
- import { QuantumBIP32Interface } from '@btc-vision/bip32';
4
- import { UTXO } from '../../utxo/interfaces/IUTXO.js';
5
- import { AddressRotationConfig, SignerMap } from '../../signer/AddressRotation.js';
1
+ import {
2
+ fromHex,
3
+ type Network,
4
+ networks,
5
+ type PsbtOutputExtended,
6
+ type Script,
7
+ type Signer,
8
+ type Stack,
9
+ toSatoshi,
10
+ } from '@btc-vision/bitcoin';
11
+ import { type UniversalSigner } from '@btc-vision/ecpair';
12
+ import type { QuantumBIP32Interface } from '@btc-vision/bip32';
13
+ import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
14
+ import type { AddressRotationConfig, SignerMap } from '../../signer/AddressRotation.js';
6
15
  import { ChallengeSolution } from '../../epoch/ChallengeSolution.js';
7
16
  import { TransactionType } from '../enums/TransactionType.js';
8
17
  import { TransactionBuilder } from '../builders/TransactionBuilder.js';
@@ -12,35 +21,39 @@ import { InteractionTransaction } from '../builders/InteractionTransaction.js';
12
21
  import { MultiSignTransaction } from '../builders/MultiSignTransaction.js';
13
22
  import { CustomScriptTransaction } from '../builders/CustomScriptTransaction.js';
14
23
  import { CancelTransaction } from '../builders/CancelTransaction.js';
15
- import { ISerializableTransactionState, SerializedOutput, SerializedUTXO, } from './interfaces/ISerializableState.js';
24
+ import type {
25
+ ISerializableTransactionState,
26
+ SerializedOutput,
27
+ SerializedUTXO,
28
+ } from './interfaces/ISerializableState.js';
16
29
  import {
17
- CancelSpecificData,
18
- CustomScriptSpecificData,
19
- DeploymentSpecificData,
20
- FundingSpecificData,
21
- InteractionSpecificData,
30
+ type CancelSpecificData,
31
+ type CustomScriptSpecificData,
32
+ type DeploymentSpecificData,
33
+ type FundingSpecificData,
34
+ type InteractionSpecificData,
22
35
  isCancelSpecificData,
23
36
  isCustomScriptSpecificData,
24
37
  isDeploymentSpecificData,
25
38
  isFundingSpecificData,
26
39
  isInteractionSpecificData,
27
40
  isMultiSigSpecificData,
28
- MultiSigSpecificData,
41
+ type MultiSigSpecificData,
29
42
  } from './interfaces/ITypeSpecificData.js';
30
- import {
43
+ import type {
31
44
  IDeploymentParameters,
32
45
  IFundingTransactionParameters,
33
46
  IInteractionParameters,
34
47
  ITransactionParameters,
35
48
  } from '../interfaces/ITransactionParameters.js';
36
- import { SupportedTransactionVersion } from '../interfaces/ITweakedTransactionData.js';
49
+ import type { SupportedTransactionVersion } from '../interfaces/ITweakedTransactionData.js';
37
50
 
38
51
  /**
39
52
  * Options for reconstructing a transaction from serialized state
40
53
  */
41
54
  export interface ReconstructionOptions {
42
55
  /** Primary signer (used for normal mode or as default in rotation mode) */
43
- signer: Signer | ECPairInterface;
56
+ signer: Signer | UniversalSigner;
44
57
 
45
58
  /** Optional: Override fee rate for fee bumping */
46
59
  newFeeRate?: number;
@@ -94,26 +107,22 @@ export class TransactionReconstructor {
94
107
  signer: options.signer,
95
108
  mldsaSigner: options.mldsaSigner ?? null,
96
109
  network,
97
- chainId: state.header.chainId,
98
110
  utxos,
99
111
  optionalInputs,
100
112
  optionalOutputs,
101
113
  from: state.baseParams.from,
102
- to: state.baseParams.to,
103
114
  feeRate,
104
115
  priorityFee,
105
116
  gasSatFee,
106
- txVersion: state.baseParams.txVersion as SupportedTransactionVersion,
107
- note: state.baseParams.note ? Buffer.from(state.baseParams.note, 'hex') : undefined,
108
117
  anchor: state.baseParams.anchor,
109
- debugFees: state.baseParams.debugFees,
110
- addressRotation,
111
- estimatedFees: state.precomputedData.estimatedFees
112
- ? BigInt(state.precomputedData.estimatedFees)
113
- : undefined,
114
- compiledTargetScript: state.precomputedData.compiledTargetScript
115
- ? Buffer.from(state.precomputedData.compiledTargetScript, 'hex')
116
- : undefined,
118
+ ...(state.header.chainId !== undefined ? { chainId: state.header.chainId } : {}),
119
+ ...(state.baseParams.to !== undefined ? { to: state.baseParams.to } : {}),
120
+ ...(state.baseParams.txVersion !== undefined ? { txVersion: state.baseParams.txVersion as SupportedTransactionVersion } : {}),
121
+ ...(state.baseParams.note !== undefined ? { note: fromHex(state.baseParams.note) } : {}),
122
+ ...(state.baseParams.debugFees !== undefined ? { debugFees: state.baseParams.debugFees } : {}),
123
+ ...(addressRotation !== undefined ? { addressRotation } : {}),
124
+ ...(state.precomputedData.estimatedFees !== undefined ? { estimatedFees: BigInt(state.precomputedData.estimatedFees) } : {}),
125
+ ...(state.precomputedData.compiledTargetScript !== undefined ? { compiledTargetScript: fromHex(state.precomputedData.compiledTargetScript) } : {}),
117
126
  };
118
127
 
119
128
  // Dispatch based on transaction type
@@ -164,14 +173,12 @@ export class TransactionReconstructor {
164
173
 
165
174
  const params: IDeploymentParameters = {
166
175
  ...baseParams,
167
- bytecode: Buffer.from(data.bytecode, 'hex'),
168
- calldata: data.calldata ? Buffer.from(data.calldata, 'hex') : undefined,
176
+ bytecode: fromHex(data.bytecode),
169
177
  challenge,
170
- randomBytes: state.precomputedData.randomBytes
171
- ? Buffer.from(state.precomputedData.randomBytes, 'hex')
172
- : undefined,
173
- revealMLDSAPublicKey: data.revealMLDSAPublicKey,
174
- linkMLDSAPublicKeyToAddress: data.linkMLDSAPublicKeyToAddress,
178
+ ...(data.calldata !== undefined ? { calldata: fromHex(data.calldata) } : {}),
179
+ ...(state.precomputedData.randomBytes !== undefined ? { randomBytes: fromHex(state.precomputedData.randomBytes) } : {}),
180
+ ...(data.revealMLDSAPublicKey !== undefined ? { revealMLDSAPublicKey: data.revealMLDSAPublicKey } : {}),
181
+ ...(data.linkMLDSAPublicKeyToAddress !== undefined ? { linkMLDSAPublicKeyToAddress: data.linkMLDSAPublicKeyToAddress } : {}),
175
182
  };
176
183
 
177
184
  return new DeploymentTransaction(params);
@@ -194,17 +201,15 @@ export class TransactionReconstructor {
194
201
  const params: IInteractionParameters = {
195
202
  ...baseParams,
196
203
  to: baseParams.to,
197
- calldata: Buffer.from(data.calldata, 'hex'),
198
- contract: data.contract,
204
+ calldata: fromHex(data.calldata),
199
205
  challenge,
200
- randomBytes: state.precomputedData.randomBytes
201
- ? Buffer.from(state.precomputedData.randomBytes, 'hex')
202
- : undefined,
203
- loadedStorage: data.loadedStorage,
204
- isCancellation: data.isCancellation,
205
- disableAutoRefund: data.disableAutoRefund,
206
- revealMLDSAPublicKey: data.revealMLDSAPublicKey,
207
- linkMLDSAPublicKeyToAddress: data.linkMLDSAPublicKeyToAddress,
206
+ ...(data.contract !== undefined ? { contract: data.contract } : {}),
207
+ ...(state.precomputedData.randomBytes !== undefined ? { randomBytes: fromHex(state.precomputedData.randomBytes) } : {}),
208
+ ...(data.loadedStorage !== undefined ? { loadedStorage: data.loadedStorage } : {}),
209
+ ...(data.isCancellation !== undefined ? { isCancellation: data.isCancellation } : {}),
210
+ ...(data.disableAutoRefund !== undefined ? { disableAutoRefund: data.disableAutoRefund } : {}),
211
+ ...(data.revealMLDSAPublicKey !== undefined ? { revealMLDSAPublicKey: data.revealMLDSAPublicKey } : {}),
212
+ ...(data.linkMLDSAPublicKeyToAddress !== undefined ? { linkMLDSAPublicKeyToAddress: data.linkMLDSAPublicKeyToAddress } : {}),
208
213
  };
209
214
 
210
215
  return new InteractionTransaction(params);
@@ -217,17 +222,14 @@ export class TransactionReconstructor {
217
222
  baseParams: ITransactionParameters,
218
223
  data: MultiSigSpecificData,
219
224
  ): MultiSignTransaction {
220
- const pubkeys = data.pubkeys.map((pk) => Buffer.from(pk, 'hex'));
225
+ const pubkeys = data.pubkeys.map((pk) => fromHex(pk));
221
226
 
222
227
  // If there's an existing PSBT, use fromBase64 to preserve partial signatures
223
228
  if (data.existingPsbtBase64) {
224
229
  return MultiSignTransaction.fromBase64({
225
230
  mldsaSigner: baseParams.mldsaSigner,
226
231
  network: baseParams.network,
227
- chainId: baseParams.chainId,
228
232
  utxos: baseParams.utxos,
229
- optionalInputs: baseParams.optionalInputs,
230
- optionalOutputs: baseParams.optionalOutputs,
231
233
  feeRate: baseParams.feeRate,
232
234
  pubkeys,
233
235
  minimumSignatures: data.minimumSignatures,
@@ -235,6 +237,9 @@ export class TransactionReconstructor {
235
237
  requestedAmount: BigInt(data.requestedAmount),
236
238
  refundVault: data.refundVault,
237
239
  psbt: data.existingPsbtBase64,
240
+ ...(baseParams.chainId !== undefined ? { chainId: baseParams.chainId } : {}),
241
+ ...(baseParams.optionalInputs !== undefined ? { optionalInputs: baseParams.optionalInputs } : {}),
242
+ ...(baseParams.optionalOutputs !== undefined ? { optionalOutputs: baseParams.optionalOutputs } : {}),
238
243
  });
239
244
  }
240
245
 
@@ -242,16 +247,16 @@ export class TransactionReconstructor {
242
247
  const params = {
243
248
  mldsaSigner: baseParams.mldsaSigner,
244
249
  network: baseParams.network,
245
- chainId: baseParams.chainId,
246
250
  utxos: baseParams.utxos,
247
- optionalInputs: baseParams.optionalInputs,
248
- optionalOutputs: baseParams.optionalOutputs,
249
251
  feeRate: baseParams.feeRate,
250
252
  pubkeys,
251
253
  minimumSignatures: data.minimumSignatures,
252
254
  receiver: data.receiver,
253
255
  requestedAmount: BigInt(data.requestedAmount),
254
256
  refundVault: data.refundVault,
257
+ ...(baseParams.chainId !== undefined ? { chainId: baseParams.chainId } : {}),
258
+ ...(baseParams.optionalInputs !== undefined ? { optionalInputs: baseParams.optionalInputs } : {}),
259
+ ...(baseParams.optionalOutputs !== undefined ? { optionalOutputs: baseParams.optionalOutputs } : {}),
255
260
  };
256
261
 
257
262
  return new MultiSignTransaction(params);
@@ -265,17 +270,16 @@ export class TransactionReconstructor {
265
270
  data: CustomScriptSpecificData,
266
271
  state: ISerializableTransactionState,
267
272
  ): CustomScriptTransaction {
268
- // Convert serialized elements to (Buffer | Stack)[]
269
- const scriptElements: (Buffer | Stack)[] = data.scriptElements.map((el) => {
273
+ // Convert serialized elements to (Uint8Array | Stack)[]
274
+ const scriptElements: (Uint8Array | Stack)[] = data.scriptElements.map((el) => {
270
275
  if (el.elementType === 'buffer') {
271
- return Buffer.from(el.value as string, 'hex');
276
+ return fromHex(el.value as string);
272
277
  }
273
278
  // Opcodes stored as numbers - wrap in array for Stack type
274
279
  return [el.value as number] as Stack;
275
280
  });
276
281
 
277
- const witnesses = data.witnesses.map((w) => Buffer.from(w, 'hex'));
278
- const annex = data.annex ? Buffer.from(data.annex, 'hex') : undefined;
282
+ const witnesses = data.witnesses.map((w) => fromHex(w));
279
283
 
280
284
  if (!baseParams.to) {
281
285
  throw new Error('CustomScriptTransaction requires a "to" address');
@@ -286,10 +290,8 @@ export class TransactionReconstructor {
286
290
  to: baseParams.to,
287
291
  script: scriptElements,
288
292
  witnesses,
289
- annex,
290
- randomBytes: state.precomputedData.randomBytes
291
- ? Buffer.from(state.precomputedData.randomBytes, 'hex')
292
- : undefined,
293
+ ...(data.annex !== undefined ? { annex: fromHex(data.annex) } : {}),
294
+ ...(state.precomputedData.randomBytes !== undefined ? { randomBytes: fromHex(state.precomputedData.randomBytes) } : {}),
293
295
  };
294
296
 
295
297
  return new CustomScriptTransaction(params);
@@ -304,7 +306,7 @@ export class TransactionReconstructor {
304
306
  ): CancelTransaction {
305
307
  const params = {
306
308
  ...baseParams,
307
- compiledTargetScript: Buffer.from(data.compiledTargetScript, 'hex'),
309
+ compiledTargetScript: fromHex(data.compiledTargetScript),
308
310
  };
309
311
 
310
312
  return new CancelTransaction(params);
@@ -337,18 +339,21 @@ export class TransactionReconstructor {
337
339
  * Deserialize UTXOs from serialized format
338
340
  */
339
341
  private static deserializeUTXOs(serialized: SerializedUTXO[]): UTXO[] {
340
- return serialized.map((s) => ({
341
- transactionId: s.transactionId,
342
- outputIndex: s.outputIndex,
343
- value: BigInt(s.value),
344
- scriptPubKey: {
345
- hex: s.scriptPubKeyHex,
346
- address: s.scriptPubKeyAddress,
347
- },
348
- redeemScript: s.redeemScript ? Buffer.from(s.redeemScript, 'hex') : undefined,
349
- witnessScript: s.witnessScript ? Buffer.from(s.witnessScript, 'hex') : undefined,
350
- nonWitnessUtxo: s.nonWitnessUtxo ? Buffer.from(s.nonWitnessUtxo, 'hex') : undefined,
351
- }));
342
+ return serialized.map((s) => {
343
+ const utxo: UTXO = {
344
+ transactionId: s.transactionId,
345
+ outputIndex: s.outputIndex,
346
+ value: BigInt(s.value),
347
+ scriptPubKey: {
348
+ hex: s.scriptPubKeyHex,
349
+ ...(s.scriptPubKeyAddress !== undefined ? { address: s.scriptPubKeyAddress } : {}),
350
+ },
351
+ };
352
+ if (s.redeemScript !== undefined) utxo.redeemScript = fromHex(s.redeemScript);
353
+ if (s.witnessScript !== undefined) utxo.witnessScript = fromHex(s.witnessScript);
354
+ if (s.nonWitnessUtxo !== undefined) utxo.nonWitnessUtxo = fromHex(s.nonWitnessUtxo);
355
+ return utxo;
356
+ });
352
357
  }
353
358
 
354
359
  /**
@@ -356,30 +361,17 @@ export class TransactionReconstructor {
356
361
  */
357
362
  private static deserializeOutputs(serialized: SerializedOutput[]): PsbtOutputExtended[] {
358
363
  return serialized.map((s): PsbtOutputExtended => {
359
- const tapInternalKey = s.tapInternalKey
360
- ? Buffer.from(s.tapInternalKey, 'hex')
361
- : undefined;
364
+ const base = { value: toSatoshi(BigInt(s.value)) };
365
+ const tapKey = s.tapInternalKey !== undefined ? { tapInternalKey: fromHex(s.tapInternalKey) } : {};
362
366
 
363
367
  // PsbtOutputExtended is a union type - either has address OR script, not both
364
368
  if (s.address) {
365
- return {
366
- value: s.value,
367
- address: s.address,
368
- tapInternalKey,
369
- };
369
+ return { ...base, address: s.address, ...tapKey };
370
370
  } else if (s.script) {
371
- return {
372
- value: s.value,
373
- script: Buffer.from(s.script, 'hex'),
374
- tapInternalKey,
375
- };
371
+ return { ...base, script: fromHex(s.script) as Script, ...tapKey };
376
372
  } else {
377
373
  // Fallback - shouldn't happen with valid data
378
- return {
379
- value: s.value,
380
- address: '',
381
- tapInternalKey,
382
- };
374
+ return { ...base, address: '', ...tapKey };
383
375
  }
384
376
  });
385
377
  }