@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
@@ -1,20 +1,30 @@
1
1
  import {
2
2
  crypto as bitCrypto,
3
- Network,
3
+ equals,
4
+ fromHex,
5
+ type Network,
4
6
  networks,
5
7
  Psbt,
8
+ type PsbtInput,
6
9
  script as bitScript,
7
- TapScriptSig,
10
+ type TapScriptSig,
11
+ toHex,
8
12
  toXOnly,
9
13
  } from '@btc-vision/bitcoin';
10
- import { PartialSig } from 'bip174/src/lib/interfaces.js';
11
- import { ECPairInterface } from 'ecpair';
14
+ import type { PartialSig } from 'bip174';
15
+ import {
16
+ createPublicKey,
17
+ type MessageHash,
18
+ type PublicKey,
19
+ type SchnorrSignature,
20
+ type Signature,
21
+ } from '@btc-vision/ecpair';
12
22
  import { EcKeyPair } from '../../../keypair/EcKeyPair.js';
13
23
  import { canSignNonTaprootInput, isTaprootInput } from '../../../signer/SignerUtils.js';
14
24
  import { CustomKeypair } from '../BrowserSignerBase.js';
15
- import { PsbtSignatureOptions, SignatureType, Unisat } from '../types/Unisat.js';
25
+ import { type PsbtSignatureOptions, SignatureType, type Unisat } from '../types/Unisat.js';
16
26
  import { WalletNetworks } from '../WalletNetworks.js';
17
- import { OPWallet } from '../types/OPWallet.js';
27
+ import type { OPWallet } from '../types/OPWallet.js';
18
28
 
19
29
  export interface WindowWithWallets {
20
30
  unisat?: Unisat;
@@ -62,9 +72,9 @@ export class UnisatSigner extends CustomKeypair {
62
72
  return this._addresses;
63
73
  }
64
74
 
65
- private _publicKey: Buffer | undefined;
75
+ private _publicKey: PublicKey | undefined;
66
76
 
67
- public get publicKey(): Buffer {
77
+ public get publicKey(): PublicKey {
68
78
  if (!this._publicKey) {
69
79
  throw new Error('Public key not set');
70
80
  }
@@ -93,11 +103,11 @@ export class UnisatSigner extends CustomKeypair {
93
103
  return module;
94
104
  }
95
105
 
96
- public async signData(data: Buffer, type: SignatureType): Promise<Buffer> {
97
- const str = data.toString('hex');
106
+ public async signData(data: Uint8Array, type: SignatureType): Promise<Uint8Array> {
107
+ const str = toHex(data);
98
108
  const signature = await this.unisat.signData(str, type);
99
109
 
100
- return Buffer.from(signature, 'hex');
110
+ return fromHex(signature);
101
111
  }
102
112
 
103
113
  public async init(): Promise<void> {
@@ -125,18 +135,18 @@ export class UnisatSigner extends CustomKeypair {
125
135
  throw new Error('Unlock your wallet first');
126
136
  }
127
137
 
128
- this._publicKey = Buffer.from(publicKey, 'hex');
138
+ this._publicKey = createPublicKey(fromHex(publicKey));
129
139
 
130
- this._p2wpkh = EcKeyPair.getP2WPKHAddress(this as unknown as ECPairInterface, this.network);
140
+ this._p2wpkh = EcKeyPair.getP2WPKHAddress(this, this.network);
131
141
 
132
- this._p2tr = EcKeyPair.getTaprootAddress(this as unknown as ECPairInterface, this.network);
142
+ this._p2tr = EcKeyPair.getTaprootAddress(this, this.network);
133
143
 
134
144
  this._addresses = [this._p2wpkh, this._p2tr];
135
145
 
136
146
  this.isInitialized = true;
137
147
  }
138
148
 
139
- public getPublicKey(): Buffer {
149
+ public getPublicKey(): PublicKey {
140
150
  if (!this.isInitialized) {
141
151
  throw new Error('UnisatSigner not initialized');
142
152
  }
@@ -144,15 +154,15 @@ export class UnisatSigner extends CustomKeypair {
144
154
  return this.publicKey;
145
155
  }
146
156
 
147
- public sign(_hash: Buffer, _lowR?: boolean): Buffer {
157
+ public sign(_hash: MessageHash, _lowR?: boolean): Signature {
148
158
  throw new Error('Not implemented: sign');
149
159
  }
150
160
 
151
- public signSchnorr(_hash: Buffer): Buffer {
161
+ public signSchnorr(_hash: MessageHash): SchnorrSignature {
152
162
  throw new Error('Not implemented: signSchnorr');
153
163
  }
154
164
 
155
- public verify(_hash: Buffer, _signature: Buffer): boolean {
165
+ public verify(_hash: MessageHash, _signature: Signature): boolean {
156
166
  throw new Error('Not implemented: verify');
157
167
  }
158
168
 
@@ -161,7 +171,7 @@ export class UnisatSigner extends CustomKeypair {
161
171
  i: number,
162
172
  sighashTypes: number[],
163
173
  ): Promise<void> {
164
- const input = transaction.data.inputs[i];
174
+ const input = transaction.data.inputs[i] as PsbtInput;
165
175
  if (
166
176
  input.tapKeySig ||
167
177
  input.finalScriptSig ||
@@ -180,7 +190,7 @@ export class UnisatSigner extends CustomKeypair {
180
190
  }
181
191
 
182
192
  public async signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void> {
183
- const input = transaction.data.inputs[i];
193
+ const input = transaction.data.inputs[i] as PsbtInput;
184
194
  if (
185
195
  input.tapKeySig ||
186
196
  input.finalScriptSig ||
@@ -226,7 +236,7 @@ export class UnisatSigner extends CustomKeypair {
226
236
  const tapInternalKey = input.tapInternalKey;
227
237
  const xOnlyPubKey = toXOnly(this.publicKey);
228
238
 
229
- if (tapInternalKey.equals(xOnlyPubKey)) {
239
+ if (equals(tapInternalKey, xOnlyPubKey)) {
230
240
  needsToSign = true;
231
241
  viaTaproot = true;
232
242
  }
@@ -240,7 +250,7 @@ export class UnisatSigner extends CustomKeypair {
240
250
  if (needsToSign) {
241
251
  return {
242
252
  index: i,
243
- publicKey: this.publicKey.toString('hex'),
253
+ publicKey: toHex(this.publicKey),
244
254
  disableTweakSigner: !viaTaproot,
245
255
  };
246
256
  } else {
@@ -255,24 +265,17 @@ export class UnisatSigner extends CustomKeypair {
255
265
  });
256
266
  }
257
267
 
258
- const signed = await this.unisat.signPsbt(toSignPsbts[0], options[0]);
259
- const signedPsbts = Psbt.fromHex(signed); //signed.map((hex) => Psbt.fromHex(hex));
260
-
261
- /*for (let i = 0; i < signedPsbts.length; i++) {
262
- const psbtOriginal = transactions[i];
263
- const psbtSigned = signedPsbts[i];
264
-
265
- psbtOriginal.combine(psbtSigned);
266
- }*/
268
+ const signed = await this.unisat.signPsbt(toSignPsbts[0] as string, options[0] as PsbtSignatureOptions);
269
+ const signedPsbts = Psbt.fromHex(signed);
267
270
 
268
- transactions[0].combine(signedPsbts);
271
+ (transactions[0] as Psbt).combine(signedPsbts);
269
272
  }
270
273
 
271
274
  private hasAlreadySignedTapScriptSig(input: TapScriptSig[]): boolean {
272
275
  for (let i = 0; i < input.length; i++) {
273
- const item = input[i];
274
- const buf = Buffer.from(item.pubkey);
275
- if (buf.equals(this.publicKey) && item.signature) {
276
+ const item = input[i] as TapScriptSig;
277
+ const buf = new Uint8Array(item.pubkey);
278
+ if (equals(buf, this.publicKey) && item.signature) {
276
279
  return true;
277
280
  }
278
281
  }
@@ -282,9 +285,9 @@ export class UnisatSigner extends CustomKeypair {
282
285
 
283
286
  private hasAlreadyPartialSig(input: PartialSig[]): boolean {
284
287
  for (let i = 0; i < input.length; i++) {
285
- const item = input[i];
286
- const buf = Buffer.from(item.pubkey);
287
- if (buf.equals(this.publicKey) && item.signature) {
288
+ const item = input[i] as PartialSig;
289
+ const buf = new Uint8Array(item.pubkey);
290
+ if (equals(buf, this.publicKey) && item.signature) {
288
291
  return true;
289
292
  }
290
293
  }
@@ -293,8 +296,8 @@ export class UnisatSigner extends CustomKeypair {
293
296
  }
294
297
 
295
298
  private combine(transaction: Psbt, newPsbt: Psbt, i: number): void {
296
- const signedInput = newPsbt.data.inputs[i];
297
- const originalInput = transaction.data.inputs[i];
299
+ const signedInput = newPsbt.data.inputs[i] as PsbtInput;
300
+ const originalInput = transaction.data.inputs[i] as PsbtInput;
298
301
 
299
302
  if (signedInput.partialSig) {
300
303
  transaction.updateInput(i, { partialSig: signedInput.partialSig });
@@ -326,7 +329,7 @@ export class UnisatSigner extends CustomKeypair {
326
329
  sighashTypes: number[],
327
330
  disableTweakSigner: boolean = false,
328
331
  ): Promise<Psbt> {
329
- const pubKey = this.publicKey.toString('hex');
332
+ const pubKey = toHex(this.publicKey);
330
333
  const toSign = transaction.data.inputs.map((_, i) => {
331
334
  return [
332
335
  {
@@ -355,9 +358,10 @@ export class UnisatSigner extends CustomKeypair {
355
358
  ): TapScriptSig[] {
356
359
  const nonDuplicate: TapScriptSig[] = [];
357
360
  for (let i = 0; i < scriptSig2.length; i++) {
358
- const found = scriptSig1.find((item) => item.pubkey.equals(scriptSig2[i].pubkey));
361
+ const sig2 = scriptSig2[i] as TapScriptSig;
362
+ const found = scriptSig1.find((item) => equals(item.pubkey, sig2.pubkey));
359
363
  if (!found) {
360
- nonDuplicate.push(scriptSig2[i]);
364
+ nonDuplicate.push(sig2);
361
365
  }
362
366
  }
363
367
 
@@ -365,13 +369,13 @@ export class UnisatSigner extends CustomKeypair {
365
369
  }
366
370
  }
367
371
 
368
- function pubkeyInScript(pubkey: Buffer, script: Buffer): boolean {
372
+ function pubkeyInScript(pubkey: Uint8Array, script: Uint8Array): boolean {
369
373
  return pubkeyPositionInScript(pubkey, script) !== -1;
370
374
  }
371
375
 
372
- function pubkeyPositionInScript(pubkey: Buffer, script: Buffer): number {
376
+ function pubkeyPositionInScript(pubkey: Uint8Array, script: Uint8Array): number {
373
377
  const pubkeyHash = bitCrypto.hash160(pubkey);
374
- const pubkeyXOnly = toXOnly(pubkey);
378
+ const pubkeyXOnly = toXOnly(pubkey as PublicKey);
375
379
 
376
380
  const decompiled = bitScript.decompile(script);
377
381
  if (decompiled === null) throw new Error('Unknown script error');
@@ -379,8 +383,8 @@ function pubkeyPositionInScript(pubkey: Buffer, script: Buffer): number {
379
383
  return decompiled.findIndex((element) => {
380
384
  if (typeof element === 'number') return false;
381
385
  return (
382
- Buffer.isBuffer(element) &&
383
- (element.equals(pubkey) || element.equals(pubkeyHash) || element.equals(pubkeyXOnly))
386
+ element instanceof Uint8Array &&
387
+ (equals(element, pubkey) || equals(element, pubkeyHash) || equals(element, pubkeyXOnly))
384
388
  );
385
389
  });
386
390
  }
@@ -1,6 +1,22 @@
1
- import { Network, networks, Psbt, TapScriptSig, toXOnly } from '@btc-vision/bitcoin';
2
- import { PartialSig } from 'bip174/src/lib/interfaces.js';
3
- import { ECPairInterface } from 'ecpair';
1
+ import {
2
+ equals,
3
+ fromHex,
4
+ type Network,
5
+ networks,
6
+ Psbt,
7
+ type PsbtInput,
8
+ type TapScriptSig,
9
+ toHex,
10
+ toXOnly,
11
+ } from '@btc-vision/bitcoin';
12
+ import type { PartialSig } from 'bip174';
13
+ import {
14
+ createPublicKey,
15
+ type MessageHash,
16
+ type PublicKey,
17
+ type SchnorrSignature,
18
+ type Signature,
19
+ } from '@btc-vision/ecpair';
4
20
  import { EcKeyPair } from '../../../keypair/EcKeyPair.js';
5
21
  import {
6
22
  canSignNonTaprootInput,
@@ -8,8 +24,8 @@ import {
8
24
  pubkeyInScript,
9
25
  } from '../../../signer/SignerUtils.js';
10
26
  import { CustomKeypair } from '../BrowserSignerBase.js';
11
- import { PsbtSignatureOptions } from '../types/Unisat.js';
12
- import { SigningProtocol, Xverse } from '../types/Xverse.js';
27
+ import type { PsbtSignatureOptions } from '../types/Unisat.js';
28
+ import { SigningProtocol, type Xverse } from '../types/Xverse.js';
13
29
 
14
30
  declare global {
15
31
  interface Window {
@@ -58,9 +74,9 @@ export class XverseSigner extends CustomKeypair {
58
74
  return this._addresses;
59
75
  }
60
76
 
61
- private _publicKey: Buffer | undefined;
77
+ private _publicKey: PublicKey | undefined;
62
78
 
63
- public get publicKey(): Buffer {
79
+ public get publicKey(): PublicKey {
64
80
  if (!this._publicKey) {
65
81
  throw new Error('Public key not set');
66
82
  }
@@ -112,11 +128,11 @@ export class XverseSigner extends CustomKeypair {
112
128
 
113
129
  this._network = network;
114
130
 
115
- this._publicKey = Buffer.from(payementAddress.publicKey, 'hex');
131
+ this._publicKey = createPublicKey(fromHex(payementAddress.publicKey));
116
132
 
117
- this._p2wpkh = EcKeyPair.getP2WPKHAddress(this as unknown as ECPairInterface, this.network);
133
+ this._p2wpkh = EcKeyPair.getP2WPKHAddress(this, this.network);
118
134
 
119
- this._p2tr = EcKeyPair.getTaprootAddress(this as unknown as ECPairInterface, this.network);
135
+ this._p2tr = EcKeyPair.getTaprootAddress(this, this.network);
120
136
 
121
137
  this._addresses = [this._p2wpkh, this._p2tr];
122
138
 
@@ -124,17 +140,17 @@ export class XverseSigner extends CustomKeypair {
124
140
  }
125
141
 
126
142
  public async signData(
127
- data: Buffer,
143
+ data: Uint8Array,
128
144
  address: string,
129
145
  protocol: SigningProtocol,
130
- ): Promise<Buffer> {
146
+ ): Promise<Uint8Array> {
131
147
  if (!this.isInitialized) {
132
148
  throw new Error('UnisatSigner not initialized');
133
149
  }
134
150
 
135
151
  const callSign = await this.BitcoinProvider.request('signMessage', {
136
152
  address,
137
- message: data.toString(),
153
+ message: new TextDecoder().decode(data),
138
154
  protocol,
139
155
  });
140
156
 
@@ -150,10 +166,10 @@ export class XverseSigner extends CustomKeypair {
150
166
  throw new Error('Signature not found');
151
167
  }
152
168
 
153
- return Buffer.from(res.signature, 'hex');
169
+ return fromHex(res.signature);
154
170
  }
155
171
 
156
- public getPublicKey(): Buffer {
172
+ public getPublicKey(): PublicKey {
157
173
  if (!this.isInitialized) {
158
174
  throw new Error('UnisatSigner not initialized');
159
175
  }
@@ -161,15 +177,15 @@ export class XverseSigner extends CustomKeypair {
161
177
  return this.publicKey;
162
178
  }
163
179
 
164
- public sign(_hash: Buffer, _lowR?: boolean): Buffer {
180
+ public sign(_hash: MessageHash, _lowR?: boolean): Signature {
165
181
  throw new Error('Not implemented: sign');
166
182
  }
167
183
 
168
- public signSchnorr(_hash: Buffer): Buffer {
184
+ public signSchnorr(_hash: MessageHash): SchnorrSignature {
169
185
  throw new Error('Not implemented: signSchnorr');
170
186
  }
171
187
 
172
- public verify(_hash: Buffer, _signature: Buffer): boolean {
188
+ public verify(_hash: MessageHash, _signature: Signature): boolean {
173
189
  throw new Error('Not implemented: verify');
174
190
  }
175
191
 
@@ -178,7 +194,7 @@ export class XverseSigner extends CustomKeypair {
178
194
  i: number,
179
195
  sighashTypes: number[],
180
196
  ): Promise<void> {
181
- const input = transaction.data.inputs[i];
197
+ const input = transaction.data.inputs[i] as PsbtInput;
182
198
  if (
183
199
  input.tapKeySig ||
184
200
  input.finalScriptSig ||
@@ -197,7 +213,7 @@ export class XverseSigner extends CustomKeypair {
197
213
  }
198
214
 
199
215
  public async signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void> {
200
- const input = transaction.data.inputs[i];
216
+ const input = transaction.data.inputs[i] as PsbtInput;
201
217
  if (
202
218
  input.tapKeySig ||
203
219
  input.finalScriptSig ||
@@ -243,7 +259,7 @@ export class XverseSigner extends CustomKeypair {
243
259
  const tapInternalKey = input.tapInternalKey;
244
260
  const xOnlyPubKey = toXOnly(this.publicKey);
245
261
 
246
- if (tapInternalKey.equals(xOnlyPubKey)) {
262
+ if (equals(tapInternalKey, xOnlyPubKey)) {
247
263
  needsToSign = true;
248
264
  viaTaproot = true;
249
265
  }
@@ -257,7 +273,7 @@ export class XverseSigner extends CustomKeypair {
257
273
  if (needsToSign) {
258
274
  return {
259
275
  index: i,
260
- publicKey: this.publicKey.toString('hex'),
276
+ publicKey: toHex(this.publicKey),
261
277
  disableTweakSigner: !viaTaproot,
262
278
  };
263
279
  } else {
@@ -275,26 +291,26 @@ export class XverseSigner extends CustomKeypair {
275
291
  const toSignInputs: {
276
292
  [x: string]: number[];
277
293
  } = {
278
- [this.p2wpkh]: options[0].toSignInputs?.map((input) => input.index) || [],
294
+ [this.p2wpkh]: (options[0] as PsbtSignatureOptions).toSignInputs?.map((input) => input.index) || [],
279
295
  };
280
296
 
281
297
  const callSign = await this.BitcoinProvider.request('signPsbt', {
282
- psbt: toSignPsbts[0],
298
+ psbt: toSignPsbts[0] as string,
283
299
  signInputs: toSignInputs,
284
300
  });
285
301
 
286
302
  if ('error' in callSign) throw new Error(callSign.error.message);
287
303
 
288
- const signedPsbts = Psbt.fromBase64(callSign.result.psbt);
304
+ const signedPsbts = Psbt.fromBase64((callSign.result as { psbt: string }).psbt);
289
305
 
290
- transactions[0].combine(signedPsbts);
306
+ (transactions[0] as Psbt).combine(signedPsbts);
291
307
  }
292
308
 
293
309
  private hasAlreadySignedTapScriptSig(input: TapScriptSig[]): boolean {
294
310
  for (let i = 0; i < input.length; i++) {
295
- const item = input[i];
296
- const buf = Buffer.from(item.pubkey);
297
- if (buf.equals(this.publicKey) && item.signature) {
311
+ const item = input[i] as TapScriptSig;
312
+ const buf = new Uint8Array(item.pubkey);
313
+ if (equals(buf, this.publicKey) && item.signature) {
298
314
  return true;
299
315
  }
300
316
  }
@@ -304,9 +320,9 @@ export class XverseSigner extends CustomKeypair {
304
320
 
305
321
  private hasAlreadyPartialSig(input: PartialSig[]): boolean {
306
322
  for (let i = 0; i < input.length; i++) {
307
- const item = input[i];
308
- const buf = Buffer.from(item.pubkey);
309
- if (buf.equals(this.publicKey) && item.signature) {
323
+ const item = input[i] as PartialSig;
324
+ const buf = new Uint8Array(item.pubkey);
325
+ if (equals(buf, this.publicKey) && item.signature) {
310
326
  return true;
311
327
  }
312
328
  }
@@ -315,8 +331,8 @@ export class XverseSigner extends CustomKeypair {
315
331
  }
316
332
 
317
333
  private combine(transaction: Psbt, newPsbt: Psbt, i: number): void {
318
- const signedInput = newPsbt.data.inputs[i];
319
- const originalInput = transaction.data.inputs[i];
334
+ const signedInput = newPsbt.data.inputs[i] as PsbtInput;
335
+ const originalInput = transaction.data.inputs[i] as PsbtInput;
320
336
 
321
337
  if (signedInput.partialSig) {
322
338
  transaction.updateInput(i, { partialSig: signedInput.partialSig });
@@ -348,7 +364,7 @@ export class XverseSigner extends CustomKeypair {
348
364
  sighashTypes: number[],
349
365
  disableTweakSigner: boolean = false,
350
366
  ): Promise<Psbt> {
351
- const pubKey = this.publicKey.toString('hex');
367
+ const pubKey = toHex(this.publicKey);
352
368
  const toSign = transaction.data.inputs.map((_, i) => {
353
369
  return [
354
370
  {
@@ -380,7 +396,7 @@ export class XverseSigner extends CustomKeypair {
380
396
 
381
397
  if ('error' in callSign) throw new Error(callSign.error.message);
382
398
 
383
- return Psbt.fromBase64(callSign.result.psbt);
399
+ return Psbt.fromBase64((callSign.result as { psbt: string }).psbt);
384
400
  }
385
401
 
386
402
  private getNonDuplicateScriptSig(
@@ -389,9 +405,10 @@ export class XverseSigner extends CustomKeypair {
389
405
  ): TapScriptSig[] {
390
406
  const nonDuplicate: TapScriptSig[] = [];
391
407
  for (let i = 0; i < scriptSig2.length; i++) {
392
- const found = scriptSig1.find((item) => item.pubkey.equals(scriptSig2[i].pubkey));
408
+ const sig2 = scriptSig2[i] as TapScriptSig;
409
+ const found = scriptSig1.find((item) => equals(item.pubkey, sig2.pubkey));
393
410
  if (!found) {
394
- nonDuplicate.push(scriptSig2[i]);
411
+ nonDuplicate.push(sig2);
395
412
  }
396
413
  }
397
414
 
@@ -1,5 +1,5 @@
1
- import { Unisat } from './Unisat.js';
2
- import { Web3Provider } from '../Web3Provider.js';
1
+ import type { Unisat } from './Unisat.js';
2
+ import type { Web3Provider } from '../Web3Provider.js';
3
3
 
4
4
  /**
5
5
  * OPWallet interface extending Unisat with ML-DSA (FIPS 204) support
@@ -1,4 +1,4 @@
1
- import { Web3Provider } from '../Web3Provider.js';
1
+ import type { Web3Provider } from '../Web3Provider.js';
2
2
  import { UnisatChainType, WalletNetworks } from '../WalletNetworks.js';
3
3
 
4
4
  export interface UnisatChainInfo {
@@ -1,10 +1,20 @@
1
1
  import { TransactionType } from '../enums/TransactionType.js';
2
- import { P2TRPayment, PaymentType, Psbt, PsbtInput, Taptree } from '@btc-vision/bitcoin';
2
+ import {
3
+ type FinalScriptsFunc,
4
+ fromHex,
5
+ type P2TRPayment,
6
+ PaymentType,
7
+ Psbt,
8
+ type PsbtInput,
9
+ type TapScriptSig,
10
+ type Taptree,
11
+ } from '@btc-vision/bitcoin';
3
12
  import { TransactionBuilder } from './TransactionBuilder.js';
4
- import { TapLeafScript } from '../interfaces/Tap.js';
5
- import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
6
- import { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
13
+ import type { TapLeafScript } from '../interfaces/Tap.js';
14
+ import type { ICancelTransactionParameters } from '../interfaces/ICancelTransactionParameters.js';
7
15
  import { UnisatSigner } from '../browser/extensions/UnisatSigner.js';
16
+ import type { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
17
+ import { isUniversalSigner } from '../../signer/TweakedSigner.js';
8
18
 
9
19
  export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL> {
10
20
  public type: TransactionType.CANCEL = TransactionType.CANCEL;
@@ -12,12 +22,12 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
12
22
  /**
13
23
  * The tap leaf script for spending
14
24
  */
15
- protected tapLeafScript: TapLeafScript | null = null;
25
+ protected override tapLeafScript: TapLeafScript | null = null;
16
26
 
17
- protected readonly compiledTargetScript: Buffer;
27
+ protected readonly compiledTargetScript: Uint8Array;
18
28
  protected readonly scriptTree: Taptree;
19
29
 
20
- protected readonly contractSecret: Buffer;
30
+ protected readonly contractSecret: Uint8Array;
21
31
  protected leftOverFundsScriptRedeem: P2TRPayment | null = null;
22
32
 
23
33
  public constructor(parameters: ICancelTransactionParameters) {
@@ -29,12 +39,12 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
29
39
  calldata: Buffer.alloc(0),
30
40
  } as unknown as SharedInteractionParameters);
31
41
 
32
- this.contractSecret = Buffer.alloc(0);
42
+ this.contractSecret = new Uint8Array(0);
33
43
 
34
- if (Buffer.isBuffer(parameters.compiledTargetScript)) {
44
+ if (parameters.compiledTargetScript instanceof Uint8Array) {
35
45
  this.compiledTargetScript = parameters.compiledTargetScript;
36
46
  } else {
37
- this.compiledTargetScript = Buffer.from(parameters.compiledTargetScript, 'hex');
47
+ this.compiledTargetScript = fromHex(parameters.compiledTargetScript);
38
48
  }
39
49
 
40
50
  // Generate the minimal script tree needed for recovery
@@ -163,7 +173,7 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
163
173
  }
164
174
 
165
175
  // For the simple lock script, we only need the signature
166
- const scriptSolution = [input.tapScriptSig[0].signature];
176
+ const scriptSolution = [(input.tapScriptSig[0] as TapScriptSig).signature];
167
177
 
168
178
  const witness = scriptSolution
169
179
  .concat(this.tapLeafScript.script)
@@ -203,24 +213,49 @@ export class CancelTransaction extends TransactionBuilder<TransactionType.CANCEL
203
213
  }
204
214
 
205
215
  protected override async signInputsNonWalletBased(transaction: Psbt): Promise<void> {
206
- for (let i = 0; i < transaction.data.inputs.length; i++) {
207
- if (i === 0) {
216
+ // Input 0: always sequential (script-path with custom finalizer)
217
+ await this.signInput(transaction, transaction.data.inputs[0] as PsbtInput, 0, this.getSignerKey());
218
+ transaction.finalizeInput(0, this.customFinalizer.bind(this));
219
+
220
+ // Inputs 1+: parallel key-path if available, then sequential for remaining
221
+ let parallelSignedIndices = new Set<number>();
222
+
223
+ if (this.canUseParallelSigning && isUniversalSigner(this.signer)) {
224
+ try {
225
+ const result = await this.signKeyPathInputsParallel(
226
+ transaction,
227
+ new Set([0]),
228
+ );
229
+ if (result.success) {
230
+ parallelSignedIndices = new Set(result.signatures.keys());
231
+ }
232
+ } catch (e) {
233
+ this.error(
234
+ `Parallel signing failed, falling back to sequential: ${(e as Error).message}`,
235
+ );
236
+ }
237
+ }
238
+
239
+ for (let i = 1; i < transaction.data.inputs.length; i++) {
240
+ if (!parallelSignedIndices.has(i)) {
208
241
  await this.signInput(
209
242
  transaction,
210
- transaction.data.inputs[i],
243
+ transaction.data.inputs[i] as PsbtInput,
211
244
  i,
212
- this.getSignerKey(),
245
+ this.signer,
213
246
  );
247
+ }
248
+ }
214
249
 
215
- transaction.finalizeInput(0, this.customFinalizer.bind(this));
216
- } else {
217
- await this.signInput(transaction, transaction.data.inputs[i], i, this.signer);
218
-
219
- try {
220
- transaction.finalizeInput(i, this.customFinalizerP2SH.bind(this));
221
- } catch (e) {
222
- transaction.finalizeInput(i);
223
- }
250
+ // Finalize inputs 1+
251
+ for (let i = 1; i < transaction.data.inputs.length; i++) {
252
+ try {
253
+ transaction.finalizeInput(
254
+ i,
255
+ this.customFinalizerP2SH.bind(this) as FinalScriptsFunc,
256
+ );
257
+ } catch {
258
+ transaction.finalizeInput(i);
224
259
  }
225
260
  }
226
261
  }
@@ -1,7 +1,7 @@
1
1
  /*import { TransactionType } from '../enums/TransactionType.js';
2
2
  import { getFinalScripts, opcodes, Psbt, PsbtInput, script, Signer } from '@btc-vision/bitcoin';
3
3
  import { TransactionBuilder } from './TransactionBuilder.js';
4
- import { ECPairInterface } from 'ecpair';
4
+ import { type UniversalSigner } from '@btc-vision/ecpair';
5
5
 
6
6
  export class ChallengeSolutionTransaction extends TransactionBuilder<TransactionType.CHALLENGE_SOLUTION> {
7
7
  public readonly type: TransactionType.CHALLENGE_SOLUTION = TransactionType.CHALLENGE_SOLUTION;
@@ -49,7 +49,7 @@ export class ChallengeSolutionTransaction extends TransactionBuilder<Transaction
49
49
  transaction: Psbt,
50
50
  input: PsbtInput,
51
51
  i: number,
52
- signer: Signer | ECPairInterface,
52
+ signer: Signer | UniversalSigner,
53
53
  reverse: boolean = false,
54
54
  errored: boolean = false,
55
55
  ): Promise<void> {
@@ -81,7 +81,7 @@ export class ChallengeSolutionTransaction extends TransactionBuilder<Transaction
81
81
  return getFinalScripts(inputIndex, input, scriptA, isSegwit, isP2SH, isP2WSH, false);
82
82
  };
83
83
 
84
- protected override getSignerKey(): Signer | ECPairInterface {
84
+ protected override getSignerKey(): Signer | UniversalSigner {
85
85
  return this.signer;
86
86
  }
87
87
  }*/