@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,27 +1,80 @@
1
- import { Signer } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { type Signer } 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
- import { ISerializableTransactionState, PrecomputedData } from './interfaces/ISerializableState.js';
6
- import { ReconstructionOptions } from './TransactionReconstructor.js';
7
- import { IDeploymentParameters, IFundingTransactionParameters, IInteractionParameters, ITransactionParameters } from '../interfaces/ITransactionParameters.js';
5
+ import type { ISerializableTransactionState, PrecomputedData } from './interfaces/ISerializableState.js';
6
+ import { type ReconstructionOptions } from './TransactionReconstructor.js';
7
+ import type { IDeploymentParameters, IFundingTransactionParameters, IInteractionParameters, ITransactionParameters } from '../interfaces/ITransactionParameters.js';
8
+ /**
9
+ * Export options for offline transaction signing
10
+ */
8
11
  export interface ExportOptions {
12
+ /** The original transaction parameters */
9
13
  params: ITransactionParameters;
14
+ /** Transaction type */
10
15
  type: TransactionType;
16
+ /** Precomputed data from the builder */
11
17
  precomputed?: Partial<PrecomputedData>;
12
18
  }
19
+ /**
20
+ * Main entry point for offline transaction signing workflow.
21
+ *
22
+ * This class provides a complete API for:
23
+ * 1. Phase 1 (Online): Building transactions and exporting state for offline signing
24
+ * 2. Phase 2 (Offline): Importing state, providing signers, and signing transactions
25
+ *
26
+ * Also supports fee bumping by allowing reconstruction with new fee parameters.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * // Phase 1 (Online environment)
31
+ * const params: IFundingTransactionParameters = { ... };
32
+ * const state = OfflineTransactionManager.exportFunding(params);
33
+ * // Send state to offline environment
34
+ *
35
+ * // Phase 2 (Offline environment)
36
+ * const signedTxHex = await OfflineTransactionManager.importSignAndExport(state, {
37
+ * signer: offlineSigner,
38
+ * });
39
+ * // Send signedTxHex back to online environment for broadcast
40
+ * ```
41
+ */
13
42
  export declare class OfflineTransactionManager {
43
+ /**
44
+ * Export a FundingTransaction for offline signing
45
+ * @param params - Funding transaction parameters
46
+ * @param precomputed - Optional precomputed data
47
+ * @returns Base64-encoded serialized state
48
+ */
14
49
  static exportFunding(params: IFundingTransactionParameters, precomputed?: Partial<PrecomputedData>): string;
50
+ /**
51
+ * Export a DeploymentTransaction for offline signing
52
+ * @param params - Deployment transaction parameters
53
+ * @param precomputed - Required precomputed data (randomBytes, compiledTargetScript)
54
+ * @returns Base64-encoded serialized state
55
+ */
15
56
  static exportDeployment(params: IDeploymentParameters, precomputed: Partial<PrecomputedData> & {
16
57
  compiledTargetScript: string;
17
58
  randomBytes: string;
18
59
  }): string;
60
+ /**
61
+ * Export an InteractionTransaction for offline signing
62
+ * @param params - Interaction transaction parameters
63
+ * @param precomputed - Required precomputed data (randomBytes, compiledTargetScript)
64
+ * @returns Base64-encoded serialized state
65
+ */
19
66
  static exportInteraction(params: IInteractionParameters, precomputed: Partial<PrecomputedData> & {
20
67
  compiledTargetScript: string;
21
68
  randomBytes: string;
22
69
  }): string;
70
+ /**
71
+ * Export a MultiSignTransaction for offline signing
72
+ * @param params - MultiSig transaction parameters
73
+ * @param precomputed - Optional precomputed data
74
+ * @returns Base64-encoded serialized state
75
+ */
23
76
  static exportMultiSig(params: ITransactionParameters & {
24
- pubkeys: Buffer[];
77
+ pubkeys: Uint8Array[];
25
78
  minimumSignatures: number;
26
79
  receiver: string;
27
80
  requestedAmount: bigint;
@@ -29,41 +82,169 @@ export declare class OfflineTransactionManager {
29
82
  originalInputCount?: number;
30
83
  existingPsbtBase64?: string;
31
84
  }, precomputed?: Partial<PrecomputedData>): string;
85
+ /**
86
+ * Export a CustomScriptTransaction for offline signing
87
+ * @param params - Custom script transaction parameters
88
+ * @param precomputed - Optional precomputed data
89
+ * @returns Base64-encoded serialized state
90
+ */
32
91
  static exportCustomScript(params: ITransactionParameters & {
33
- scriptElements: (Buffer | number)[];
34
- witnesses: Buffer[];
35
- annex?: Buffer;
92
+ scriptElements: (Uint8Array | number)[];
93
+ witnesses: Uint8Array[];
94
+ annex?: Uint8Array;
36
95
  }, precomputed?: Partial<PrecomputedData>): string;
96
+ /**
97
+ * Export a CancelTransaction for offline signing
98
+ * @param params - Cancel transaction parameters
99
+ * @param precomputed - Optional precomputed data
100
+ * @returns Base64-encoded serialized state
101
+ */
37
102
  static exportCancel(params: ITransactionParameters & {
38
- compiledTargetScript: Buffer | string;
103
+ compiledTargetScript: Uint8Array | string;
39
104
  }, precomputed?: Partial<PrecomputedData>): string;
105
+ /**
106
+ * Export transaction state from a builder instance.
107
+ * The builder must have been built but not yet signed.
108
+ * @param builder - Transaction builder instance
109
+ * @param params - Original construction parameters
110
+ * @param precomputed - Precomputed data from the builder
111
+ * @returns Base64-encoded serialized state
112
+ */
40
113
  static exportFromBuilder<T extends TransactionType>(builder: TransactionBuilder<T>, params: ITransactionParameters, precomputed?: Partial<PrecomputedData>): string;
114
+ /**
115
+ * Import and reconstruct transaction for signing
116
+ * @param serializedState - Base64-encoded state from Phase 1
117
+ * @param options - Signer(s) and optional fee overrides
118
+ * @returns Reconstructed transaction builder ready for signing
119
+ */
41
120
  static importForSigning(serializedState: string, options: ReconstructionOptions): TransactionBuilder<TransactionType>;
121
+ /**
122
+ * Complete signing and export signed transaction
123
+ * @param builder - Reconstructed builder from importForSigning
124
+ * @returns Signed transaction hex ready for broadcast
125
+ */
42
126
  static signAndExport(builder: TransactionBuilder<TransactionType>): Promise<string>;
127
+ /**
128
+ * Convenience: Full Phase 2 in one call - import, sign, and export
129
+ * @param serializedState - Base64-encoded state
130
+ * @param options - Signer(s) and optional fee overrides
131
+ * @returns Signed transaction hex ready for broadcast
132
+ */
43
133
  static importSignAndExport(serializedState: string, options: ReconstructionOptions): Promise<string>;
134
+ /**
135
+ * Rebuild transaction with new fee rate (fee bumping)
136
+ * @param serializedState - Original state
137
+ * @param newFeeRate - New fee rate in sat/vB
138
+ * @returns New serialized state with updated fees (not signed yet)
139
+ */
44
140
  static rebuildWithNewFees(serializedState: string, newFeeRate: number): string;
141
+ /**
142
+ * Rebuild and immediately sign with new fee rate
143
+ * @param serializedState - Original state
144
+ * @param newFeeRate - New fee rate in sat/vB
145
+ * @param options - Signer options
146
+ * @returns Signed transaction hex with new fees
147
+ */
45
148
  static rebuildSignAndExport(serializedState: string, newFeeRate: number, options: ReconstructionOptions): Promise<string>;
149
+ /**
150
+ * Inspect serialized state without signing
151
+ * @param serializedState - Base64-encoded state
152
+ * @returns Parsed state object for inspection
153
+ */
46
154
  static inspect(serializedState: string): ISerializableTransactionState;
155
+ /**
156
+ * Validate serialized state integrity
157
+ * @param serializedState - Base64-encoded state
158
+ * @returns True if checksum and format are valid
159
+ */
47
160
  static validate(serializedState: string): boolean;
161
+ /**
162
+ * Get transaction type from serialized state
163
+ * @param serializedState - Base64-encoded state
164
+ * @returns Transaction type enum value
165
+ */
48
166
  static getType(serializedState: string): TransactionType;
167
+ /**
168
+ * Parse base64-encoded state into state object
169
+ * @param base64State - Base64-encoded state
170
+ * @returns Parsed state object
171
+ */
49
172
  static fromBase64(base64State: string): ISerializableTransactionState;
173
+ /**
174
+ * Serialize state object to base64
175
+ * @param state - State object to serialize
176
+ * @returns Base64-encoded state
177
+ */
50
178
  static toBase64(state: ISerializableTransactionState): string;
179
+ /**
180
+ * Convert serialized state to hex format
181
+ * @param serializedState - Base64-encoded state
182
+ * @returns Hex-encoded state
183
+ */
51
184
  static toHex(serializedState: string): string;
185
+ /**
186
+ * Convert hex format back to base64
187
+ * @param hexState - Hex-encoded state
188
+ * @returns Base64-encoded state
189
+ */
52
190
  static fromHex(hexState: string): string;
53
- static multiSigAddSignature(serializedState: string, signer: Signer | ECPairInterface): Promise<{
191
+ /**
192
+ * Add a partial signature to a multisig transaction state.
193
+ * This method signs the transaction with the provided signer and returns
194
+ * updated state with the new signature included.
195
+ *
196
+ * @param serializedState - Base64-encoded multisig state
197
+ * @param signer - The signer to add a signature with
198
+ * @returns Updated state with new signature, and signing result
199
+ */
200
+ static multiSigAddSignature(serializedState: string, signer: Signer | UniversalSigner): Promise<{
54
201
  state: string;
55
202
  signed: boolean;
56
203
  final: boolean;
57
204
  psbtBase64: string;
58
205
  }>;
59
- static multiSigHasSigned(serializedState: string, signerPubKey: Buffer | string): boolean;
206
+ /**
207
+ * Check if a public key has already signed a multisig transaction
208
+ *
209
+ * @param serializedState - Base64-encoded multisig state
210
+ * @param signerPubKey - Public key to check (Buffer or hex string)
211
+ * @returns True if the public key has already signed
212
+ */
213
+ static multiSigHasSigned(serializedState: string, signerPubKey: Uint8Array | string): boolean;
214
+ /**
215
+ * Get the current signature count for a multisig transaction
216
+ *
217
+ * @param serializedState - Base64-encoded multisig state
218
+ * @returns Object with signature count info
219
+ */
60
220
  static multiSigGetSignatureStatus(serializedState: string): {
61
221
  required: number;
62
222
  collected: number;
63
223
  isComplete: boolean;
64
224
  signers: string[];
65
225
  };
226
+ /**
227
+ * Finalize a multisig transaction and extract the signed transaction hex.
228
+ * Only call this when all required signatures have been collected.
229
+ *
230
+ * @param serializedState - Base64-encoded multisig state with all signatures
231
+ * @returns Signed transaction hex ready for broadcast
232
+ */
66
233
  static multiSigFinalize(serializedState: string): string;
234
+ /**
235
+ * Get the PSBT from a multisig state (for external signing tools)
236
+ *
237
+ * @param serializedState - Base64-encoded multisig state
238
+ * @returns PSBT in base64 format, or null if not yet built
239
+ */
67
240
  static multiSigGetPsbt(serializedState: string): string | null;
241
+ /**
242
+ * Update the PSBT in a multisig state (after external signing)
243
+ *
244
+ * @param serializedState - Base64-encoded multisig state
245
+ * @param psbtBase64 - New PSBT with additional signatures
246
+ * @returns Updated state
247
+ */
68
248
  static multiSigUpdatePsbt(serializedState: string, psbtBase64: string): string;
69
249
  }
250
+ //# sourceMappingURL=OfflineTransactionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfflineTransactionManager.d.ts","sourceRoot":"","sources":["../../../src/transaction/offline/OfflineTransactionManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Psbt } from '@btc-vision/bitcoin';
1
+ import { fromHex, Psbt, toHex } from '@btc-vision/bitcoin';
2
+ import {} from '@btc-vision/ecpair';
2
3
  import { TransactionType } from '../enums/TransactionType.js';
3
4
  import { TransactionBuilder } from '../builders/TransactionBuilder.js';
4
5
  import { MultiSignTransaction } from '../builders/MultiSignTransaction.js';
@@ -6,31 +7,98 @@ import { TransactionSerializer } from './TransactionSerializer.js';
6
7
  import { TransactionReconstructor } from './TransactionReconstructor.js';
7
8
  import { TransactionStateCapture } from './TransactionStateCapture.js';
8
9
  import { isMultiSigSpecificData } from './interfaces/ITypeSpecificData.js';
10
+ /**
11
+ * Main entry point for offline transaction signing workflow.
12
+ *
13
+ * This class provides a complete API for:
14
+ * 1. Phase 1 (Online): Building transactions and exporting state for offline signing
15
+ * 2. Phase 2 (Offline): Importing state, providing signers, and signing transactions
16
+ *
17
+ * Also supports fee bumping by allowing reconstruction with new fee parameters.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Phase 1 (Online environment)
22
+ * const params: IFundingTransactionParameters = { ... };
23
+ * const state = OfflineTransactionManager.exportFunding(params);
24
+ * // Send state to offline environment
25
+ *
26
+ * // Phase 2 (Offline environment)
27
+ * const signedTxHex = await OfflineTransactionManager.importSignAndExport(state, {
28
+ * signer: offlineSigner,
29
+ * });
30
+ * // Send signedTxHex back to online environment for broadcast
31
+ * ```
32
+ */
9
33
  export class OfflineTransactionManager {
34
+ /**
35
+ * Export a FundingTransaction for offline signing
36
+ * @param params - Funding transaction parameters
37
+ * @param precomputed - Optional precomputed data
38
+ * @returns Base64-encoded serialized state
39
+ */
10
40
  static exportFunding(params, precomputed) {
11
41
  const state = TransactionStateCapture.fromFunding(params, precomputed);
12
42
  return TransactionSerializer.toBase64(state);
13
43
  }
44
+ /**
45
+ * Export a DeploymentTransaction for offline signing
46
+ * @param params - Deployment transaction parameters
47
+ * @param precomputed - Required precomputed data (randomBytes, compiledTargetScript)
48
+ * @returns Base64-encoded serialized state
49
+ */
14
50
  static exportDeployment(params, precomputed) {
15
51
  const state = TransactionStateCapture.fromDeployment(params, precomputed);
16
52
  return TransactionSerializer.toBase64(state);
17
53
  }
54
+ /**
55
+ * Export an InteractionTransaction for offline signing
56
+ * @param params - Interaction transaction parameters
57
+ * @param precomputed - Required precomputed data (randomBytes, compiledTargetScript)
58
+ * @returns Base64-encoded serialized state
59
+ */
18
60
  static exportInteraction(params, precomputed) {
19
61
  const state = TransactionStateCapture.fromInteraction(params, precomputed);
20
62
  return TransactionSerializer.toBase64(state);
21
63
  }
64
+ /**
65
+ * Export a MultiSignTransaction for offline signing
66
+ * @param params - MultiSig transaction parameters
67
+ * @param precomputed - Optional precomputed data
68
+ * @returns Base64-encoded serialized state
69
+ */
22
70
  static exportMultiSig(params, precomputed) {
23
71
  const state = TransactionStateCapture.fromMultiSig(params, precomputed);
24
72
  return TransactionSerializer.toBase64(state);
25
73
  }
74
+ /**
75
+ * Export a CustomScriptTransaction for offline signing
76
+ * @param params - Custom script transaction parameters
77
+ * @param precomputed - Optional precomputed data
78
+ * @returns Base64-encoded serialized state
79
+ */
26
80
  static exportCustomScript(params, precomputed) {
27
81
  const state = TransactionStateCapture.fromCustomScript(params, precomputed);
28
82
  return TransactionSerializer.toBase64(state);
29
83
  }
84
+ /**
85
+ * Export a CancelTransaction for offline signing
86
+ * @param params - Cancel transaction parameters
87
+ * @param precomputed - Optional precomputed data
88
+ * @returns Base64-encoded serialized state
89
+ */
30
90
  static exportCancel(params, precomputed) {
31
91
  const state = TransactionStateCapture.fromCancel(params, precomputed);
32
92
  return TransactionSerializer.toBase64(state);
33
93
  }
94
+ /**
95
+ * Export transaction state from a builder instance.
96
+ * The builder must have been built but not yet signed.
97
+ * @param builder - Transaction builder instance
98
+ * @param params - Original construction parameters
99
+ * @param precomputed - Precomputed data from the builder
100
+ * @returns Base64-encoded serialized state
101
+ */
34
102
  static exportFromBuilder(builder, params, precomputed) {
35
103
  const type = builder.type;
36
104
  let state;
@@ -49,20 +117,45 @@ export class OfflineTransactionManager {
49
117
  }
50
118
  return TransactionSerializer.toBase64(state);
51
119
  }
120
+ /**
121
+ * Import and reconstruct transaction for signing
122
+ * @param serializedState - Base64-encoded state from Phase 1
123
+ * @param options - Signer(s) and optional fee overrides
124
+ * @returns Reconstructed transaction builder ready for signing
125
+ */
52
126
  static importForSigning(serializedState, options) {
53
127
  const state = TransactionSerializer.fromBase64(serializedState);
54
128
  return TransactionReconstructor.reconstruct(state, options);
55
129
  }
130
+ /**
131
+ * Complete signing and export signed transaction
132
+ * @param builder - Reconstructed builder from importForSigning
133
+ * @returns Signed transaction hex ready for broadcast
134
+ */
56
135
  static async signAndExport(builder) {
57
136
  const tx = await builder.signTransaction();
58
137
  return tx.toHex();
59
138
  }
139
+ /**
140
+ * Convenience: Full Phase 2 in one call - import, sign, and export
141
+ * @param serializedState - Base64-encoded state
142
+ * @param options - Signer(s) and optional fee overrides
143
+ * @returns Signed transaction hex ready for broadcast
144
+ */
60
145
  static async importSignAndExport(serializedState, options) {
61
146
  const builder = this.importForSigning(serializedState, options);
62
147
  return this.signAndExport(builder);
63
148
  }
149
+ /**
150
+ * Rebuild transaction with new fee rate (fee bumping)
151
+ * @param serializedState - Original state
152
+ * @param newFeeRate - New fee rate in sat/vB
153
+ * @returns New serialized state with updated fees (not signed yet)
154
+ */
64
155
  static rebuildWithNewFees(serializedState, newFeeRate) {
156
+ // Parse the existing state
65
157
  const state = TransactionSerializer.fromBase64(serializedState);
158
+ // Create a new state with updated fee rate
66
159
  const newState = {
67
160
  ...state,
68
161
  baseParams: {
@@ -72,6 +165,13 @@ export class OfflineTransactionManager {
72
165
  };
73
166
  return TransactionSerializer.toBase64(newState);
74
167
  }
168
+ /**
169
+ * Rebuild and immediately sign with new fee rate
170
+ * @param serializedState - Original state
171
+ * @param newFeeRate - New fee rate in sat/vB
172
+ * @param options - Signer options
173
+ * @returns Signed transaction hex with new fees
174
+ */
75
175
  static async rebuildSignAndExport(serializedState, newFeeRate, options) {
76
176
  const builder = this.importForSigning(serializedState, {
77
177
  ...options,
@@ -79,9 +179,19 @@ export class OfflineTransactionManager {
79
179
  });
80
180
  return this.signAndExport(builder);
81
181
  }
182
+ /**
183
+ * Inspect serialized state without signing
184
+ * @param serializedState - Base64-encoded state
185
+ * @returns Parsed state object for inspection
186
+ */
82
187
  static inspect(serializedState) {
83
188
  return TransactionSerializer.fromBase64(serializedState);
84
189
  }
190
+ /**
191
+ * Validate serialized state integrity
192
+ * @param serializedState - Base64-encoded state
193
+ * @returns True if checksum and format are valid
194
+ */
85
195
  static validate(serializedState) {
86
196
  try {
87
197
  TransactionSerializer.fromBase64(serializedState);
@@ -91,53 +201,93 @@ export class OfflineTransactionManager {
91
201
  return false;
92
202
  }
93
203
  }
204
+ /**
205
+ * Get transaction type from serialized state
206
+ * @param serializedState - Base64-encoded state
207
+ * @returns Transaction type enum value
208
+ */
94
209
  static getType(serializedState) {
95
210
  const state = TransactionSerializer.fromBase64(serializedState);
96
211
  return state.header.transactionType;
97
212
  }
213
+ /**
214
+ * Parse base64-encoded state into state object
215
+ * @param base64State - Base64-encoded state
216
+ * @returns Parsed state object
217
+ */
98
218
  static fromBase64(base64State) {
99
219
  return TransactionSerializer.fromBase64(base64State);
100
220
  }
221
+ /**
222
+ * Serialize state object to base64
223
+ * @param state - State object to serialize
224
+ * @returns Base64-encoded state
225
+ */
101
226
  static toBase64(state) {
102
227
  return TransactionSerializer.toBase64(state);
103
228
  }
229
+ /**
230
+ * Convert serialized state to hex format
231
+ * @param serializedState - Base64-encoded state
232
+ * @returns Hex-encoded state
233
+ */
104
234
  static toHex(serializedState) {
105
235
  const state = TransactionSerializer.fromBase64(serializedState);
106
236
  return TransactionSerializer.toHex(state);
107
237
  }
238
+ /**
239
+ * Convert hex format back to base64
240
+ * @param hexState - Hex-encoded state
241
+ * @returns Base64-encoded state
242
+ */
108
243
  static fromHex(hexState) {
109
244
  const state = TransactionSerializer.fromHex(hexState);
110
245
  return TransactionSerializer.toBase64(state);
111
246
  }
247
+ /**
248
+ * Add a partial signature to a multisig transaction state.
249
+ * This method signs the transaction with the provided signer and returns
250
+ * updated state with the new signature included.
251
+ *
252
+ * @param serializedState - Base64-encoded multisig state
253
+ * @param signer - The signer to add a signature with
254
+ * @returns Updated state with new signature, and signing result
255
+ */
112
256
  static async multiSigAddSignature(serializedState, signer) {
113
257
  const state = TransactionSerializer.fromBase64(serializedState);
114
258
  if (!isMultiSigSpecificData(state.typeSpecificData)) {
115
259
  throw new Error('State is not a multisig transaction');
116
260
  }
117
261
  const typeData = state.typeSpecificData;
118
- const pubkeys = typeData.pubkeys.map((pk) => Buffer.from(pk, 'hex'));
262
+ const pubkeys = typeData.pubkeys.map((pk) => fromHex(pk));
263
+ // Parse existing PSBT or create new one
119
264
  let psbt;
120
265
  const network = TransactionReconstructor['nameToNetwork'](state.baseParams.networkName);
121
266
  if (typeData.existingPsbtBase64) {
122
267
  psbt = Psbt.fromBase64(typeData.existingPsbtBase64, { network });
123
268
  }
124
269
  else {
270
+ // Need to build the transaction first
125
271
  const builder = this.importForSigning(serializedState, {
126
272
  signer,
127
273
  });
128
274
  psbt = await builder.signPSBT();
129
275
  }
276
+ // Calculate minimums array for each input
130
277
  const minimums = [];
131
278
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
132
279
  minimums.push(typeData.minimumSignatures);
133
280
  }
281
+ // Sign the PSBT
134
282
  const result = MultiSignTransaction.signPartial(psbt, signer, typeData.originalInputCount, minimums);
283
+ // Finalize inputs (partial finalization to preserve signatures)
135
284
  const orderedPubKeys = [];
136
285
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
137
286
  orderedPubKeys.push(pubkeys);
138
287
  }
139
288
  MultiSignTransaction.attemptFinalizeInputs(psbt, typeData.originalInputCount, orderedPubKeys, result.final);
140
289
  const newPsbtBase64 = psbt.toBase64();
290
+ // Update the state with new PSBT
141
291
  const newState = {
142
292
  ...state,
143
293
  typeSpecificData: {
@@ -152,6 +302,13 @@ export class OfflineTransactionManager {
152
302
  psbtBase64: newPsbtBase64,
153
303
  };
154
304
  }
305
+ /**
306
+ * Check if a public key has already signed a multisig transaction
307
+ *
308
+ * @param serializedState - Base64-encoded multisig state
309
+ * @param signerPubKey - Public key to check (Buffer or hex string)
310
+ * @returns True if the public key has already signed
311
+ */
155
312
  static multiSigHasSigned(serializedState, signerPubKey) {
156
313
  const state = TransactionSerializer.fromBase64(serializedState);
157
314
  if (!isMultiSigSpecificData(state.typeSpecificData)) {
@@ -163,11 +320,15 @@ export class OfflineTransactionManager {
163
320
  }
164
321
  const network = TransactionReconstructor['nameToNetwork'](state.baseParams.networkName);
165
322
  const psbt = Psbt.fromBase64(typeData.existingPsbtBase64, { network });
166
- const pubKeyBuffer = Buffer.isBuffer(signerPubKey)
167
- ? signerPubKey
168
- : Buffer.from(signerPubKey, 'hex');
323
+ const pubKeyBuffer = signerPubKey instanceof Uint8Array ? signerPubKey : fromHex(signerPubKey);
169
324
  return MultiSignTransaction.verifyIfSigned(psbt, pubKeyBuffer);
170
325
  }
326
+ /**
327
+ * Get the current signature count for a multisig transaction
328
+ *
329
+ * @param serializedState - Base64-encoded multisig state
330
+ * @returns Object with signature count info
331
+ */
171
332
  static multiSigGetSignatureStatus(serializedState) {
172
333
  const state = TransactionSerializer.fromBase64(serializedState);
173
334
  if (!isMultiSigSpecificData(state.typeSpecificData)) {
@@ -185,19 +346,20 @@ export class OfflineTransactionManager {
185
346
  }
186
347
  const network = TransactionReconstructor['nameToNetwork'](state.baseParams.networkName);
187
348
  const psbt = Psbt.fromBase64(typeData.existingPsbtBase64, { network });
349
+ // Collect signers from all inputs
188
350
  const signerSet = new Set();
189
351
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
190
352
  const input = psbt.data.inputs[i];
191
353
  if (input.tapScriptSig) {
192
354
  for (const sig of input.tapScriptSig) {
193
- signerSet.add(sig.pubkey.toString('hex'));
355
+ signerSet.add(toHex(sig.pubkey));
194
356
  }
195
357
  }
196
358
  if (input.finalScriptWitness) {
197
359
  const decoded = TransactionBuilder.readScriptWitnessToWitnessStack(input.finalScriptWitness);
198
360
  for (let j = 0; j < decoded.length - 2; j += 3) {
199
361
  const pubKey = decoded[j + 2];
200
- signerSet.add(pubKey.toString('hex'));
362
+ signerSet.add(toHex(pubKey));
201
363
  }
202
364
  }
203
365
  }
@@ -209,6 +371,13 @@ export class OfflineTransactionManager {
209
371
  signers,
210
372
  };
211
373
  }
374
+ /**
375
+ * Finalize a multisig transaction and extract the signed transaction hex.
376
+ * Only call this when all required signatures have been collected.
377
+ *
378
+ * @param serializedState - Base64-encoded multisig state with all signatures
379
+ * @returns Signed transaction hex ready for broadcast
380
+ */
212
381
  static multiSigFinalize(serializedState) {
213
382
  const state = TransactionSerializer.fromBase64(serializedState);
214
383
  if (!isMultiSigSpecificData(state.typeSpecificData)) {
@@ -220,17 +389,24 @@ export class OfflineTransactionManager {
220
389
  }
221
390
  const network = TransactionReconstructor['nameToNetwork'](state.baseParams.networkName);
222
391
  const psbt = Psbt.fromBase64(typeData.existingPsbtBase64, { network });
223
- const pubkeys = typeData.pubkeys.map((pk) => Buffer.from(pk, 'hex'));
392
+ const pubkeys = typeData.pubkeys.map((pk) => fromHex(pk));
224
393
  const orderedPubKeys = [];
225
394
  for (let i = typeData.originalInputCount; i < psbt.data.inputs.length; i++) {
226
395
  orderedPubKeys.push(pubkeys);
227
396
  }
397
+ // Final finalization
228
398
  const success = MultiSignTransaction.attemptFinalizeInputs(psbt, typeData.originalInputCount, orderedPubKeys, true);
229
399
  if (!success) {
230
400
  throw new Error('Failed to finalize multisig transaction - not enough signatures');
231
401
  }
232
402
  return psbt.extractTransaction(true, true).toHex();
233
403
  }
404
+ /**
405
+ * Get the PSBT from a multisig state (for external signing tools)
406
+ *
407
+ * @param serializedState - Base64-encoded multisig state
408
+ * @returns PSBT in base64 format, or null if not yet built
409
+ */
234
410
  static multiSigGetPsbt(serializedState) {
235
411
  const state = TransactionSerializer.fromBase64(serializedState);
236
412
  if (!isMultiSigSpecificData(state.typeSpecificData)) {
@@ -238,6 +414,13 @@ export class OfflineTransactionManager {
238
414
  }
239
415
  return state.typeSpecificData.existingPsbtBase64 || null;
240
416
  }
417
+ /**
418
+ * Update the PSBT in a multisig state (after external signing)
419
+ *
420
+ * @param serializedState - Base64-encoded multisig state
421
+ * @param psbtBase64 - New PSBT with additional signatures
422
+ * @returns Updated state
423
+ */
241
424
  static multiSigUpdatePsbt(serializedState, psbtBase64) {
242
425
  const state = TransactionSerializer.fromBase64(serializedState);
243
426
  if (!isMultiSigSpecificData(state.typeSpecificData)) {
@@ -253,3 +436,4 @@ export class OfflineTransactionManager {
253
436
  return TransactionSerializer.toBase64(newState);
254
437
  }
255
438
  }
439
+ //# sourceMappingURL=OfflineTransactionManager.js.map