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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/browser/_version.d.ts +1 -0
  2. package/browser/_version.d.ts.map +1 -0
  3. package/browser/abi/ABICoder.d.ts +1 -1
  4. package/browser/abi/ABICoder.d.ts.map +1 -0
  5. package/browser/branded/Branded.d.ts +4 -0
  6. package/browser/branded/Branded.d.ts.map +1 -0
  7. package/browser/btc-vision-bitcoin.js +11999 -2647
  8. package/browser/buffer/BinaryReader.d.ts +120 -1
  9. package/browser/buffer/BinaryReader.d.ts.map +1 -0
  10. package/browser/buffer/BinaryWriter.d.ts +51 -1
  11. package/browser/buffer/BinaryWriter.d.ts.map +1 -0
  12. package/browser/bytecode/Compressor.d.ts +12 -0
  13. package/browser/bytecode/Compressor.d.ts.map +1 -0
  14. package/browser/chain/ChainData.d.ts +2 -2
  15. package/browser/chain/ChainData.d.ts.map +1 -0
  16. package/browser/consensus/Consensus.d.ts +11 -3
  17. package/browser/consensus/Consensus.d.ts.map +1 -0
  18. package/browser/consensus/ConsensusConfig.d.ts +1 -0
  19. package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
  20. package/browser/consensus/IConsensusConfig.d.ts +1 -0
  21. package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
  22. package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
  23. package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  24. package/browser/crypto/crypto.d.ts +1 -0
  25. package/browser/crypto/crypto.d.ts.map +1 -0
  26. package/browser/deterministic/AddressMap.d.ts +6 -1
  27. package/browser/deterministic/AddressMap.d.ts.map +1 -0
  28. package/browser/deterministic/AddressSet.d.ts +3 -1
  29. package/browser/deterministic/AddressSet.d.ts.map +1 -0
  30. package/browser/deterministic/CustomMap.d.ts +3 -1
  31. package/browser/deterministic/CustomMap.d.ts.map +1 -0
  32. package/browser/deterministic/DeterministicMap.d.ts +3 -1
  33. package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
  34. package/browser/deterministic/DeterministicSet.d.ts +3 -1
  35. package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
  36. package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
  37. package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  38. package/browser/deterministic/FastMap.d.ts +7 -1
  39. package/browser/deterministic/FastMap.d.ts.map +1 -0
  40. package/browser/ecc/backend.d.ts +13 -0
  41. package/browser/ecc/backend.d.ts.map +1 -0
  42. package/browser/epoch/ChallengeSolution.d.ts +33 -1
  43. package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
  44. package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  45. package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  46. package/browser/epoch/validator/EpochValidator.d.ts +37 -7
  47. package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
  48. package/browser/event/NetEvent.d.ts +1 -0
  49. package/browser/event/NetEvent.d.ts.map +1 -0
  50. package/browser/generators/AddressGenerator.d.ts +4 -3
  51. package/browser/generators/AddressGenerator.d.ts.map +1 -0
  52. package/browser/generators/Features.d.ts +1 -0
  53. package/browser/generators/Features.d.ts.map +1 -0
  54. package/browser/generators/Generator.d.ts +46 -10
  55. package/browser/generators/Generator.d.ts.map +1 -0
  56. package/browser/generators/MLDSAData.d.ts +1 -0
  57. package/browser/generators/MLDSAData.d.ts.map +1 -0
  58. package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
  59. package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
  60. package/browser/generators/builders/CustomGenerator.d.ts +13 -3
  61. package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
  62. package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
  63. package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  64. package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
  65. package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  66. package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
  67. package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  68. package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
  69. package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  70. package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
  71. package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  72. package/browser/index.d.ts +1 -0
  73. package/browser/index.d.ts.map +1 -0
  74. package/browser/index.js +3558 -3167
  75. package/browser/keypair/Address.d.ts +283 -13
  76. package/browser/keypair/Address.d.ts.map +1 -0
  77. package/browser/keypair/AddressVerificator.d.ts +7 -6
  78. package/browser/keypair/AddressVerificator.d.ts.map +1 -0
  79. package/browser/keypair/EcKeyPair.d.ts +183 -21
  80. package/browser/keypair/EcKeyPair.d.ts.map +1 -0
  81. package/browser/keypair/MessageSigner.d.ts +17 -16
  82. package/browser/keypair/MessageSigner.d.ts.map +1 -0
  83. package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
  84. package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  85. package/browser/keypair/Wallet.d.ts +27 -13
  86. package/browser/keypair/Wallet.d.ts.map +1 -0
  87. package/browser/keypair/interfaces/IWallet.d.ts +19 -0
  88. package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
  89. package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
  90. package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
  91. package/browser/mnemonic/BIPStandard.d.ts +59 -0
  92. package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
  93. package/browser/mnemonic/Mnemonic.d.ts +15 -3
  94. package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
  95. package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
  96. package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
  97. package/browser/network/ChainId.d.ts +1 -0
  98. package/browser/network/ChainId.d.ts.map +1 -0
  99. package/browser/noble-curves.js +844 -2746
  100. package/browser/noble-hashes.js +1338 -2067
  101. package/browser/opnet.d.ts +22 -1
  102. package/browser/opnet.d.ts.map +1 -0
  103. package/browser/p2wda/P2WDADetector.d.ts +36 -9
  104. package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
  105. package/browser/polyfill/disposable.d.ts +16 -0
  106. package/browser/polyfill/disposable.d.ts.map +1 -0
  107. package/browser/signer/AddressRotation.d.ts +36 -0
  108. package/browser/signer/AddressRotation.d.ts.map +1 -0
  109. package/browser/signer/IRotationSigner.d.ts +27 -3
  110. package/browser/signer/IRotationSigner.d.ts.map +1 -0
  111. package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
  112. package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
  113. package/browser/signer/SignerUtils.d.ts +11 -4
  114. package/browser/signer/SignerUtils.d.ts.map +1 -0
  115. package/browser/signer/TweakedSigner.d.ts +28 -4
  116. package/browser/signer/TweakedSigner.d.ts.map +1 -0
  117. package/browser/transaction/ContractAddress.d.ts +2 -2
  118. package/browser/transaction/ContractAddress.d.ts.map +1 -0
  119. package/browser/transaction/TransactionFactory.d.ts +140 -2
  120. package/browser/transaction/TransactionFactory.d.ts.map +1 -0
  121. package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
  122. package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  123. package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
  124. package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
  125. package/browser/transaction/browser/Web3Provider.d.ts +27 -0
  126. package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
  127. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
  128. package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  129. package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
  130. package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  131. package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
  132. package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
  133. package/browser/transaction/browser/types/Unisat.d.ts +1 -0
  134. package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
  135. package/browser/transaction/browser/types/Xverse.d.ts +1 -0
  136. package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
  137. package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
  138. package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
  139. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  140. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  141. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
  142. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  143. package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
  144. package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  145. package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
  146. package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  147. package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
  148. package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
  149. package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
  150. package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  151. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
  152. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  153. package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
  154. package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  155. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
  156. package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  157. package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
  158. package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  159. package/browser/transaction/enums/TransactionType.d.ts +1 -0
  160. package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
  161. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
  162. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  163. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
  164. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  165. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
  166. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  167. package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
  168. package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  169. package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
  170. package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  171. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +17 -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 +274 -33
  198. package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  199. package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
  200. package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
  201. package/browser/utils/BitcoinUtils.d.ts +19 -0
  202. package/browser/utils/BitcoinUtils.d.ts.map +1 -0
  203. package/browser/utils/BufferHelper.d.ts +1 -0
  204. package/browser/utils/BufferHelper.d.ts.map +1 -0
  205. package/browser/utils/StringToBuffer.d.ts +1 -0
  206. package/browser/utils/StringToBuffer.d.ts.map +1 -0
  207. package/browser/utils/lengths.d.ts +1 -0
  208. package/browser/utils/lengths.d.ts.map +1 -0
  209. package/browser/utils/types.d.ts +1 -0
  210. package/browser/utils/types.d.ts.map +1 -0
  211. package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
  212. package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  213. package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  214. package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  215. package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
  216. package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
  217. package/browser/vendors.js +14351 -10031
  218. package/browser/verification/TapscriptVerificator.d.ts +10 -8
  219. package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
  220. package/build/_version.d.ts +1 -0
  221. package/build/_version.d.ts.map +1 -0
  222. package/build/_version.js +1 -0
  223. package/build/_version.js.map +1 -0
  224. package/build/abi/ABICoder.d.ts +1 -1
  225. package/build/abi/ABICoder.d.ts.map +1 -0
  226. package/build/abi/ABICoder.js +9 -10
  227. package/build/abi/ABICoder.js.map +1 -0
  228. package/build/branded/Branded.d.ts +4 -0
  229. package/build/branded/Branded.d.ts.map +1 -0
  230. package/build/branded/Branded.js +2 -0
  231. package/build/branded/Branded.js.map +1 -0
  232. package/build/buffer/BinaryReader.d.ts +121 -2
  233. package/build/buffer/BinaryReader.d.ts.map +1 -0
  234. package/build/buffer/BinaryReader.js +129 -5
  235. package/build/buffer/BinaryReader.js.map +1 -0
  236. package/build/buffer/BinaryWriter.d.ts +52 -2
  237. package/build/buffer/BinaryWriter.d.ts.map +1 -0
  238. package/build/buffer/BinaryWriter.js +62 -2
  239. package/build/buffer/BinaryWriter.js.map +1 -0
  240. package/build/bytecode/Compressor.d.ts +12 -0
  241. package/build/bytecode/Compressor.d.ts.map +1 -0
  242. package/build/bytecode/Compressor.js +17 -5
  243. package/build/bytecode/Compressor.js.map +1 -0
  244. package/build/chain/ChainData.d.ts +2 -2
  245. package/build/chain/ChainData.d.ts.map +1 -0
  246. package/build/chain/ChainData.js +35 -17
  247. package/build/chain/ChainData.js.map +1 -0
  248. package/build/consensus/Consensus.d.ts +11 -3
  249. package/build/consensus/Consensus.d.ts.map +1 -0
  250. package/build/consensus/Consensus.js +8 -0
  251. package/build/consensus/Consensus.js.map +1 -0
  252. package/build/consensus/ConsensusConfig.d.ts +2 -1
  253. package/build/consensus/ConsensusConfig.d.ts.map +1 -0
  254. package/build/consensus/ConsensusConfig.js +1 -0
  255. package/build/consensus/ConsensusConfig.js.map +1 -0
  256. package/build/consensus/IConsensusConfig.d.ts +1 -0
  257. package/build/consensus/IConsensusConfig.d.ts.map +1 -0
  258. package/build/consensus/IConsensusConfig.js +2 -1
  259. package/build/consensus/IConsensusConfig.js.map +1 -0
  260. package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
  261. package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  262. package/build/consensus/metadata/RoswellConsensus.js +2 -0
  263. package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
  264. package/build/crypto/crypto.d.ts +1 -0
  265. package/build/crypto/crypto.d.ts.map +1 -0
  266. package/build/crypto/crypto.js +1 -0
  267. package/build/crypto/crypto.js.map +1 -0
  268. package/build/deterministic/AddressMap.d.ts +6 -1
  269. package/build/deterministic/AddressMap.d.ts.map +1 -0
  270. package/build/deterministic/AddressMap.js +8 -0
  271. package/build/deterministic/AddressMap.js.map +1 -0
  272. package/build/deterministic/AddressSet.d.ts +3 -1
  273. package/build/deterministic/AddressSet.d.ts.map +1 -0
  274. package/build/deterministic/AddressSet.js +7 -0
  275. package/build/deterministic/AddressSet.js.map +1 -0
  276. package/build/deterministic/CustomMap.d.ts +3 -1
  277. package/build/deterministic/CustomMap.d.ts.map +1 -0
  278. package/build/deterministic/CustomMap.js +65 -47
  279. package/build/deterministic/CustomMap.js.map +1 -0
  280. package/build/deterministic/DeterministicMap.d.ts +4 -2
  281. package/build/deterministic/DeterministicMap.d.ts.map +1 -0
  282. package/build/deterministic/DeterministicMap.js +24 -27
  283. package/build/deterministic/DeterministicMap.js.map +1 -0
  284. package/build/deterministic/DeterministicSet.d.ts +3 -1
  285. package/build/deterministic/DeterministicSet.d.ts.map +1 -0
  286. package/build/deterministic/DeterministicSet.js +6 -0
  287. package/build/deterministic/DeterministicSet.js.map +1 -0
  288. package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
  289. package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  290. package/build/deterministic/ExtendedAddressMap.js +18 -2
  291. package/build/deterministic/ExtendedAddressMap.js.map +1 -0
  292. package/build/deterministic/FastMap.d.ts +7 -1
  293. package/build/deterministic/FastMap.d.ts.map +1 -0
  294. package/build/deterministic/FastMap.js +7 -2
  295. package/build/deterministic/FastMap.js.map +1 -0
  296. package/build/ecc/backend.d.ts +13 -0
  297. package/build/ecc/backend.d.ts.map +1 -0
  298. package/build/ecc/backend.js +15 -0
  299. package/build/ecc/backend.js.map +1 -0
  300. package/build/epoch/ChallengeSolution.d.ts +34 -2
  301. package/build/epoch/ChallengeSolution.d.ts.map +1 -0
  302. package/build/epoch/ChallengeSolution.js +52 -0
  303. package/build/epoch/ChallengeSolution.js.map +1 -0
  304. package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  305. package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  306. package/build/epoch/interfaces/IChallengeSolution.js +2 -1
  307. package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
  308. package/build/epoch/validator/EpochValidator.d.ts +38 -8
  309. package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
  310. package/build/epoch/validator/EpochValidator.js +45 -19
  311. package/build/epoch/validator/EpochValidator.js.map +1 -0
  312. package/build/event/NetEvent.d.ts +1 -0
  313. package/build/event/NetEvent.d.ts.map +1 -0
  314. package/build/event/NetEvent.js +3 -0
  315. package/build/event/NetEvent.js.map +1 -0
  316. package/build/generators/AddressGenerator.d.ts +4 -3
  317. package/build/generators/AddressGenerator.d.ts.map +1 -0
  318. package/build/generators/AddressGenerator.js +9 -4
  319. package/build/generators/AddressGenerator.js.map +1 -0
  320. package/build/generators/Features.d.ts +4 -3
  321. package/build/generators/Features.d.ts.map +1 -0
  322. package/build/generators/Features.js +1 -0
  323. package/build/generators/Features.js.map +1 -0
  324. package/build/generators/Generator.d.ts +47 -11
  325. package/build/generators/Generator.d.ts.map +1 -0
  326. package/build/generators/Generator.js +48 -12
  327. package/build/generators/Generator.js.map +1 -0
  328. package/build/generators/MLDSAData.d.ts +1 -0
  329. package/build/generators/MLDSAData.d.ts.map +1 -0
  330. package/build/generators/MLDSAData.js +1 -0
  331. package/build/generators/MLDSAData.js.map +1 -0
  332. package/build/generators/builders/CalldataGenerator.d.ts +27 -6
  333. package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
  334. package/build/generators/builders/CalldataGenerator.js +33 -4
  335. package/build/generators/builders/CalldataGenerator.js.map +1 -0
  336. package/build/generators/builders/CustomGenerator.d.ts +13 -3
  337. package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
  338. package/build/generators/builders/CustomGenerator.js +11 -0
  339. package/build/generators/builders/CustomGenerator.js.map +1 -0
  340. package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
  341. package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  342. package/build/generators/builders/DeploymentGenerator.js +18 -2
  343. package/build/generators/builders/DeploymentGenerator.js.map +1 -0
  344. package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
  345. package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  346. package/build/generators/builders/HashCommitmentGenerator.js +193 -27
  347. package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
  348. package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
  349. package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  350. package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
  351. package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
  352. package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
  353. package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  354. package/build/generators/builders/MultiSignGenerator.js +20 -10
  355. package/build/generators/builders/MultiSignGenerator.js.map +1 -0
  356. package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
  357. package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  358. package/build/generators/builders/P2WDAGenerator.js +41 -2
  359. package/build/generators/builders/P2WDAGenerator.js.map +1 -0
  360. package/build/index.d.ts +1 -0
  361. package/build/index.d.ts.map +1 -0
  362. package/build/index.js +1 -0
  363. package/build/index.js.map +1 -0
  364. package/build/keypair/Address.d.ts +284 -14
  365. package/build/keypair/Address.d.ts.map +1 -0
  366. package/build/keypair/Address.js +446 -128
  367. package/build/keypair/Address.js.map +1 -0
  368. package/build/keypair/AddressVerificator.d.ts +7 -6
  369. package/build/keypair/AddressVerificator.d.ts.map +1 -0
  370. package/build/keypair/AddressVerificator.js +4 -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 +218 -50
  375. package/build/keypair/EcKeyPair.js.map +1 -0
  376. package/build/keypair/MessageSigner.d.ts +18 -17
  377. package/build/keypair/MessageSigner.d.ts.map +1 -0
  378. package/build/keypair/MessageSigner.js +34 -25
  379. package/build/keypair/MessageSigner.js.map +1 -0
  380. package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
  381. package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  382. package/build/keypair/Secp256k1PointDeriver.js +66 -0
  383. package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
  384. package/build/keypair/Wallet.d.ts +29 -15
  385. package/build/keypair/Wallet.d.ts.map +1 -0
  386. package/build/keypair/Wallet.js +46 -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 +35 -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 +23 -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 +375 -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 +43 -5
  636. package/build/utxo/OPNetLimitedProvider.js.map +1 -0
  637. package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  638. package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  639. package/build/utxo/interfaces/BroadcastResponse.js +1 -0
  640. package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
  641. package/build/utxo/interfaces/IUTXO.d.ts +13 -7
  642. package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
  643. package/build/utxo/interfaces/IUTXO.js +1 -0
  644. package/build/utxo/interfaces/IUTXO.js.map +1 -0
  645. package/build/verification/TapscriptVerificator.d.ts +12 -10
  646. package/build/verification/TapscriptVerificator.d.ts.map +1 -0
  647. package/build/verification/TapscriptVerificator.js +28 -38
  648. package/build/verification/TapscriptVerificator.js.map +1 -0
  649. package/eslint.config.js +0 -1
  650. package/package.json +12 -35
  651. package/src/abi/ABICoder.ts +0 -13
  652. package/src/branded/Branded.ts +5 -0
  653. package/src/buffer/BinaryReader.ts +7 -7
  654. package/src/buffer/BinaryWriter.ts +29 -24
  655. package/src/bytecode/Compressor.ts +1 -1
  656. package/src/chain/ChainData.ts +34 -27
  657. package/src/consensus/ConsensusConfig.ts +1 -1
  658. package/src/consensus/IConsensusConfig.ts +0 -17
  659. package/src/consensus/metadata/RoswellConsensus.ts +1 -17
  660. package/src/deterministic/AddressMap.ts +5 -1
  661. package/src/deterministic/AddressSet.ts +5 -1
  662. package/src/deterministic/CustomMap.ts +6 -2
  663. package/src/deterministic/DeterministicMap.ts +8 -4
  664. package/src/deterministic/DeterministicSet.ts +6 -2
  665. package/src/deterministic/ExtendedAddressMap.ts +9 -4
  666. package/src/deterministic/FastMap.ts +9 -5
  667. package/src/ecc/backend.ts +17 -0
  668. package/src/epoch/ChallengeSolution.ts +3 -3
  669. package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
  670. package/src/epoch/validator/EpochValidator.ts +24 -43
  671. package/src/generators/AddressGenerator.ts +4 -7
  672. package/src/generators/Features.ts +3 -3
  673. package/src/generators/Generator.ts +42 -26
  674. package/src/generators/builders/CalldataGenerator.ts +26 -24
  675. package/src/generators/builders/CustomGenerator.ts +4 -4
  676. package/src/generators/builders/DeploymentGenerator.ts +25 -23
  677. package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
  678. package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
  679. package/src/generators/builders/MultiSignGenerator.ts +12 -12
  680. package/src/generators/builders/P2WDAGenerator.ts +10 -10
  681. package/src/keypair/Address.ts +114 -71
  682. package/src/keypair/AddressVerificator.ts +14 -148
  683. package/src/keypair/EcKeyPair.ts +104 -116
  684. package/src/keypair/MessageSigner.ts +70 -150
  685. package/src/keypair/Wallet.ts +56 -241
  686. package/src/metadata/ContractBaseMetadata.ts +2 -2
  687. package/src/mnemonic/Mnemonic.ts +31 -222
  688. package/src/opnet.ts +12 -6
  689. package/src/p2wda/P2WDADetector.ts +23 -72
  690. package/src/polyfill/disposable.ts +29 -0
  691. package/src/signer/AddressRotation.ts +1 -1
  692. package/src/signer/IRotationSigner.ts +3 -3
  693. package/src/signer/ParallelSignerAdapter.ts +59 -0
  694. package/src/signer/SignerUtils.ts +4 -4
  695. package/src/signer/TweakedSigner.ts +26 -14
  696. package/src/transaction/ContractAddress.ts +3 -7
  697. package/src/transaction/TransactionFactory.ts +28 -50
  698. package/src/transaction/browser/BrowserSignerBase.ts +12 -6
  699. package/src/transaction/browser/Web3Provider.ts +3 -3
  700. package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
  701. package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
  702. package/src/transaction/browser/types/OPWallet.ts +2 -2
  703. package/src/transaction/browser/types/Unisat.ts +1 -1
  704. package/src/transaction/builders/CancelTransaction.ts +59 -24
  705. package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
  706. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
  707. package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
  708. package/src/transaction/builders/DeploymentTransaction.ts +82 -63
  709. package/src/transaction/builders/FundingTransaction.ts +11 -11
  710. package/src/transaction/builders/InteractionTransaction.ts +10 -10
  711. package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
  712. package/src/transaction/builders/MultiSignTransaction.ts +68 -61
  713. package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
  714. package/src/transaction/builders/TransactionBuilder.ts +99 -81
  715. package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
  716. package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
  717. package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
  718. package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
  719. package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
  720. package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
  721. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
  722. package/src/transaction/interfaces/Tap.ts +3 -3
  723. package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
  724. package/src/transaction/mineable/TimelockGenerator.ts +19 -12
  725. package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
  726. package/src/transaction/offline/TransactionReconstructor.ts +83 -91
  727. package/src/transaction/offline/TransactionSerializer.ts +151 -101
  728. package/src/transaction/offline/TransactionStateCapture.ts +83 -79
  729. package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
  730. package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
  731. package/src/transaction/shared/P2TR_MS.ts +4 -4
  732. package/src/transaction/shared/TweakedTransaction.ts +326 -124
  733. package/src/transaction/utils/WitnessUtils.ts +18 -9
  734. package/src/utils/BufferHelper.ts +39 -37
  735. package/src/utxo/OPNetLimitedProvider.ts +9 -9
  736. package/src/utxo/interfaces/IUTXO.ts +7 -7
  737. package/src/verification/TapscriptVerificator.ts +73 -86
  738. package/test/address-rotation.test.ts +24 -24
  739. package/test/address.test.ts +12 -12
  740. package/test/addressmap.test.ts +30 -30
  741. package/test/binary-reader-writer.test.ts +8 -8
  742. package/test/browser/offline-transaction.test.ts +2206 -0
  743. package/test/browser/parallel-signing.test.ts +316 -0
  744. package/test/browser/setup.ts +11 -0
  745. package/test/browser/transaction-signing.test.ts +416 -0
  746. package/test/buffer-helper.test.ts +287 -0
  747. package/test/derivePath.test.ts +4 -3
  748. package/test/disposable.test.ts +279 -0
  749. package/test/fastmap-setall.test.ts +1 -1
  750. package/test/fastmap.test.ts +3 -3
  751. package/test/messagesigner-mldsa.test.ts +3 -3
  752. package/test/messagesigner-schnorr.test.ts +9 -9
  753. package/test/offline-transaction.test.ts +461 -288
  754. package/test/old/FastBigIntMap.ts +3 -3
  755. package/test/oldfastmap.test.ts +6 -6
  756. package/test/transaction-builders.test.ts +321 -0
  757. package/tsconfig.base.json +34 -18
  758. package/tsconfig.browser.json +15 -0
  759. package/tsconfig.json +3 -8
  760. package/vite.config.browser.ts +4 -5
  761. package/vitest.config.browser.ts +68 -0
  762. package/vitest.config.ts +1 -1
  763. package/browser/valibot.js +0 -4948
  764. package/tsconfig.webpack.json +0 -18
@@ -1,17 +1,26 @@
1
- import { Buffer } from 'buffer';
2
1
  import { Psbt } from '@btc-vision/bitcoin';
3
2
  import { TransactionType } from '../enums/TransactionType.js';
4
- import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
3
+ import type { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
5
4
  import { TransactionBuilder } from './TransactionBuilder.js';
6
- import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
7
- import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
5
+ import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
6
+ import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
7
+ /**
8
+ * P2WDA Interaction Transaction
9
+ *
10
+ * This transaction type uses the exact same operation data as regular interactions
11
+ * (via CalldataGenerator), but embeds it in the witness field instead of a taproot script.
12
+ * This achieves 75% cost reduction through the witness discount.
13
+ */
8
14
  export declare class InteractionTransactionP2WDA extends TransactionBuilder<TransactionType.INTERACTION> {
9
15
  private static readonly MAX_WITNESS_FIELDS;
10
16
  private static readonly MAX_BYTES_PER_WITNESS;
11
17
  readonly type: TransactionType.INTERACTION;
12
18
  protected readonly epochChallenge: IP2WSHAddress;
19
+ /**
20
+ * Disable auto refund
21
+ * @protected
22
+ */
13
23
  protected readonly disableAutoRefund: boolean;
14
- private readonly contractAddress;
15
24
  private readonly contractSecret;
16
25
  private readonly calldata;
17
26
  private readonly challenge;
@@ -19,19 +28,61 @@ export declare class InteractionTransactionP2WDA extends TransactionBuilder<Tran
19
28
  private p2wdaGenerator;
20
29
  private scriptSigner;
21
30
  private p2wdaInputIndices;
31
+ /**
32
+ * The compiled operation data from CalldataGenerator
33
+ * This is exactly what would go in a taproot script, but we put it in witness instead
34
+ */
22
35
  private readonly compiledOperationData;
23
36
  constructor(parameters: IInteractionParameters);
24
- getRndBytes(): Buffer;
37
+ /**
38
+ * Get random bytes (for compatibility if needed elsewhere)
39
+ */
40
+ getRndBytes(): Uint8Array;
41
+ /**
42
+ * Get the challenge (for compatibility if needed elsewhere)
43
+ */
25
44
  getChallenge(): IChallengeSolution;
26
- getContractSecret(): Buffer;
45
+ /**
46
+ * Get contract secret (for compatibility if needed elsewhere)
47
+ */
48
+ getContractSecret(): Uint8Array;
49
+ /**
50
+ * Build the transaction
51
+ */
27
52
  protected buildTransaction(): Promise<void>;
28
53
  protected createMineableRewardOutputs(): Promise<void>;
54
+ /**
55
+ * Sign inputs with P2WDA-specific handling
56
+ */
29
57
  protected signInputs(transaction: Psbt): Promise<void>;
58
+ /**
59
+ * Generate features array (same as InteractionTransaction)
60
+ */
30
61
  private generateFeatures;
62
+ /**
63
+ * Generate keypair from seed (same as SharedInteractionTransaction)
64
+ */
31
65
  private generateKeyPairFromSeed;
66
+ /**
67
+ * Get script signer x-only pubkey (same as SharedInteractionTransaction)
68
+ */
32
69
  private scriptSignerXOnlyPubKey;
70
+ /**
71
+ * Validate that input 0 is P2WDA
72
+ */
33
73
  private validateP2WDAInputs;
74
+ /**
75
+ * Validate the compiled operation data will fit in witness fields
76
+ */
34
77
  private validateOperationDataSize;
78
+ /**
79
+ * Finalize primary P2WDA input with the operation data
80
+ * This is where we create the signature and compress everything
81
+ */
35
82
  private finalizePrimaryP2WDA;
83
+ /**
84
+ * Split data into 80-byte chunks
85
+ */
36
86
  private splitIntoWitnessChunks;
37
87
  }
88
+ //# sourceMappingURL=InteractionTransactionP2WDA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionTransactionP2WDA.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/InteractionTransactionP2WDA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAA2B,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC;IAC5F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAM;IAEnD,SAAgB,IAAI,EAAE,eAAe,CAAC,WAAW,CAA+B;IAChF,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACjD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,iBAAiB,CAA0B;IACnD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;gBAE9C,UAAU,EAAE,sBAAsB;IAyErD;;OAEG;IACI,WAAW,IAAI,UAAU;IAIhC;;OAEG;IACI,YAAY,IAAI,kBAAkB;IAIzC;;OAEG;IACI,iBAAiB,IAAI,UAAU;IAItC;;OAEG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;cASjC,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5D;;OAEG;cACsB,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA0D5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAejC"}
@@ -1,5 +1,4 @@
1
- import { Buffer } from 'buffer';
2
- import { toXOnly } from '@btc-vision/bitcoin';
1
+ import { concat, fromHex, Psbt, toXOnly } from '@btc-vision/bitcoin';
3
2
  import { TransactionType } from '../enums/TransactionType.js';
4
3
  import { TransactionBuilder } from './TransactionBuilder.js';
5
4
  import { MessageSigner } from '../../keypair/MessageSigner.js';
@@ -8,14 +7,40 @@ import { P2WDAGenerator } from '../../generators/builders/P2WDAGenerator.js';
8
7
  import { FeaturePriority, Features } from '../../generators/Features.js';
9
8
  import { BitcoinUtils } from '../../utils/BitcoinUtils.js';
10
9
  import { EcKeyPair } from '../../keypair/EcKeyPair.js';
10
+ import {} from '@btc-vision/ecpair';
11
11
  import { P2WDADetector } from '../../p2wda/P2WDADetector.js';
12
12
  import { TimeLockGenerator } from '../mineable/TimelockGenerator.js';
13
+ /**
14
+ * P2WDA Interaction Transaction
15
+ *
16
+ * This transaction type uses the exact same operation data as regular interactions
17
+ * (via CalldataGenerator), but embeds it in the witness field instead of a taproot script.
18
+ * This achieves 75% cost reduction through the witness discount.
19
+ */
13
20
  export class InteractionTransactionP2WDA extends TransactionBuilder {
21
+ static MAX_WITNESS_FIELDS = 10;
22
+ static MAX_BYTES_PER_WITNESS = 80;
23
+ type = TransactionType.INTERACTION;
24
+ epochChallenge;
25
+ /**
26
+ * Disable auto refund
27
+ * @protected
28
+ */
29
+ disableAutoRefund;
30
+ contractSecret;
31
+ calldata;
32
+ challenge;
33
+ randomBytes;
34
+ p2wdaGenerator;
35
+ scriptSigner;
36
+ p2wdaInputIndices = new Set();
37
+ /**
38
+ * The compiled operation data from CalldataGenerator
39
+ * This is exactly what would go in a taproot script, but we put it in witness instead
40
+ */
41
+ compiledOperationData = null;
14
42
  constructor(parameters) {
15
43
  super(parameters);
16
- this.type = TransactionType.INTERACTION;
17
- this.p2wdaInputIndices = new Set();
18
- this.compiledOperationData = null;
19
44
  if (!parameters.to) {
20
45
  throw new Error('Contract address (to) is required');
21
46
  }
@@ -29,24 +54,28 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
29
54
  throw new Error('Challenge solution is required');
30
55
  }
31
56
  this.disableAutoRefund = parameters.disableAutoRefund || false;
32
- this.contractAddress = parameters.to;
33
- this.contractSecret = Buffer.from(parameters.contract.replace('0x', ''), 'hex');
57
+ this.contractSecret = fromHex(parameters.contract.replace('0x', ''));
34
58
  this.calldata = Compressor.compress(parameters.calldata);
35
59
  this.challenge = parameters.challenge;
36
60
  this.randomBytes = parameters.randomBytes || BitcoinUtils.rndBytes();
61
+ // Create the script signer (same as SharedInteractionTransaction does)
37
62
  this.scriptSigner = this.generateKeyPairFromSeed();
38
- this.p2wdaGenerator = new P2WDAGenerator(Buffer.from(this.signer.publicKey), this.scriptSignerXOnlyPubKey(), this.network);
63
+ // Create the P2WDA generator instead of CalldataGenerator
64
+ // P2WDA needs a different data format optimized for witness embedding
65
+ this.p2wdaGenerator = new P2WDAGenerator(this.signer.publicKey, this.scriptSignerXOnlyPubKey(), this.network);
66
+ // Validate contract secret
39
67
  if (this.contractSecret.length !== 32) {
40
68
  throw new Error('Invalid contract secret length. Expected 32 bytes.');
41
69
  }
42
70
  this.epochChallenge = TimeLockGenerator.generateTimeLockAddress(this.challenge.publicKey.originalPublicKeyBuffer(), this.network);
71
+ // Validate P2WDA inputs
43
72
  this.validateP2WDAInputs();
44
73
  if (parameters.compiledTargetScript) {
45
- if (Buffer.isBuffer(parameters.compiledTargetScript)) {
74
+ if (parameters.compiledTargetScript instanceof Uint8Array) {
46
75
  this.compiledOperationData = parameters.compiledTargetScript;
47
76
  }
48
77
  else if (typeof parameters.compiledTargetScript === 'string') {
49
- this.compiledOperationData = Buffer.from(parameters.compiledTargetScript, 'hex');
78
+ this.compiledOperationData = fromHex(parameters.compiledTargetScript);
50
79
  }
51
80
  else {
52
81
  throw new Error('Invalid compiled target script format.');
@@ -55,22 +84,36 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
55
84
  else {
56
85
  this.compiledOperationData = this.p2wdaGenerator.compile(this.calldata, this.contractSecret, this.challenge, this.priorityFee, this.generateFeatures(parameters));
57
86
  }
87
+ // Validate size early
58
88
  this.validateOperationDataSize();
59
89
  this.internalInit();
60
90
  }
91
+ /**
92
+ * Get random bytes (for compatibility if needed elsewhere)
93
+ */
61
94
  getRndBytes() {
62
95
  return this.randomBytes;
63
96
  }
97
+ /**
98
+ * Get the challenge (for compatibility if needed elsewhere)
99
+ */
64
100
  getChallenge() {
65
101
  return this.challenge;
66
102
  }
103
+ /**
104
+ * Get contract secret (for compatibility if needed elsewhere)
105
+ */
67
106
  getContractSecret() {
68
107
  return this.contractSecret;
69
108
  }
109
+ /**
110
+ * Build the transaction
111
+ */
70
112
  async buildTransaction() {
71
113
  if (!this.regenerated) {
72
114
  this.addInputsFromUTXO();
73
115
  }
116
+ // Add refund
74
117
  await this.createMineableRewardOutputs();
75
118
  }
76
119
  async createMineableRewardOutputs() {
@@ -83,10 +126,15 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
83
126
  await this.addRefundOutput(amountSpent + amount);
84
127
  }
85
128
  }
129
+ /**
130
+ * Sign inputs with P2WDA-specific handling
131
+ */
86
132
  async signInputs(transaction) {
133
+ // Sign all inputs
87
134
  for (let i = 0; i < transaction.data.inputs.length; i++) {
88
135
  await this.signInput(transaction, transaction.data.inputs[i], i, this.signer);
89
136
  }
137
+ // Finalize with appropriate finalizers
90
138
  for (let i = 0; i < transaction.data.inputs.length; i++) {
91
139
  if (this.p2wdaInputIndices.has(i)) {
92
140
  if (i === 0) {
@@ -102,6 +150,9 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
102
150
  }
103
151
  this.finalized = true;
104
152
  }
153
+ /**
154
+ * Generate features array (same as InteractionTransaction)
155
+ */
105
156
  generateFeatures(parameters) {
106
157
  const features = [];
107
158
  if (parameters.loadedStorage) {
@@ -121,16 +172,26 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
121
172
  }
122
173
  return features;
123
174
  }
175
+ /**
176
+ * Generate keypair from seed (same as SharedInteractionTransaction)
177
+ */
124
178
  generateKeyPairFromSeed() {
125
179
  return EcKeyPair.fromSeedKeyPair(this.randomBytes, this.network);
126
180
  }
181
+ /**
182
+ * Get script signer x-only pubkey (same as SharedInteractionTransaction)
183
+ */
127
184
  scriptSignerXOnlyPubKey() {
128
- return toXOnly(Buffer.from(this.scriptSigner.publicKey));
185
+ return toXOnly(this.scriptSigner.publicKey);
129
186
  }
187
+ /**
188
+ * Validate that input 0 is P2WDA
189
+ */
130
190
  validateP2WDAInputs() {
131
191
  if (this.utxos.length === 0 || !P2WDADetector.isP2WDAUTXO(this.utxos[0])) {
132
192
  throw new Error('Input 0 must be a P2WDA UTXO');
133
193
  }
194
+ // Track all P2WDA inputs
134
195
  for (let i = 0; i < this.utxos.length; i++) {
135
196
  if (P2WDADetector.isP2WDAUTXO(this.utxos[i])) {
136
197
  this.p2wdaInputIndices.add(i);
@@ -143,10 +204,15 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
143
204
  }
144
205
  }
145
206
  }
207
+ /**
208
+ * Validate the compiled operation data will fit in witness fields
209
+ */
146
210
  validateOperationDataSize() {
147
211
  if (!this.compiledOperationData) {
148
212
  throw new Error('Operation data not compiled');
149
213
  }
214
+ // The data that goes in witness: COMPRESS(signature + compiledOperationData)
215
+ // Signature is 64 bytes
150
216
  const estimatedSize = this.compiledOperationData.length;
151
217
  if (!P2WDAGenerator.validateWitnessSize(estimatedSize)) {
152
218
  const signatureSize = 64;
@@ -158,6 +224,10 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
158
224
  `needs ${requiredFields} witness fields, max is ${InteractionTransactionP2WDA.MAX_WITNESS_FIELDS}`);
159
225
  }
160
226
  }
227
+ /**
228
+ * Finalize primary P2WDA input with the operation data
229
+ * This is where we create the signature and compress everything
230
+ */
161
231
  finalizePrimaryP2WDA(inputIndex, input) {
162
232
  if (!input.partialSig || input.partialSig.length === 0) {
163
233
  throw new Error(`No signature for P2WDA input #${inputIndex}`);
@@ -169,18 +239,23 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
169
239
  throw new Error('Operation data not compiled');
170
240
  }
171
241
  const txSignature = input.partialSig[0].signature;
172
- const messageToSign = Buffer.concat([txSignature, this.compiledOperationData]);
242
+ const messageToSign = concat([txSignature, this.compiledOperationData]);
173
243
  const signedMessage = MessageSigner.signMessage(this.signer, messageToSign);
174
- const schnorrSignature = Buffer.from(signedMessage.signature);
175
- const fullData = Buffer.concat([schnorrSignature, this.compiledOperationData]);
244
+ const schnorrSignature = signedMessage.signature;
245
+ // Combine and compress: COMPRESS(signature + compiledOperationData)
246
+ const fullData = concat([schnorrSignature, this.compiledOperationData]);
176
247
  const compressedData = Compressor.compress(fullData);
248
+ // Split into chunks
177
249
  const chunks = this.splitIntoWitnessChunks(compressedData);
178
250
  if (chunks.length > InteractionTransactionP2WDA.MAX_WITNESS_FIELDS) {
179
251
  throw new Error(`Compressed data needs ${chunks.length} witness fields, max is ${InteractionTransactionP2WDA.MAX_WITNESS_FIELDS}`);
180
252
  }
253
+ // Build witness stack
181
254
  const witnessStack = [txSignature];
255
+ // Add exactly 10 data fields
256
+ // Bitcoin stack is reversed!
182
257
  for (let i = 0; i < InteractionTransactionP2WDA.MAX_WITNESS_FIELDS; i++) {
183
- witnessStack.push(i < chunks.length ? chunks[i] : Buffer.alloc(0));
258
+ witnessStack.push(i < chunks.length ? chunks[i] : new Uint8Array(0));
184
259
  }
185
260
  witnessStack.push(input.witnessScript);
186
261
  return {
@@ -188,16 +263,18 @@ export class InteractionTransactionP2WDA extends TransactionBuilder {
188
263
  finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witnessStack),
189
264
  };
190
265
  }
266
+ /**
267
+ * Split data into 80-byte chunks
268
+ */
191
269
  splitIntoWitnessChunks(data) {
192
270
  const chunks = [];
193
271
  let offset = 0;
194
272
  while (offset < data.length) {
195
273
  const size = Math.min(InteractionTransactionP2WDA.MAX_BYTES_PER_WITNESS, data.length - offset);
196
- chunks.push(Buffer.from(data.subarray(offset, offset + size)));
274
+ chunks.push(data.slice(offset, offset + size));
197
275
  offset += size;
198
276
  }
199
277
  return chunks;
200
278
  }
201
279
  }
202
- InteractionTransactionP2WDA.MAX_WITNESS_FIELDS = 10;
203
- InteractionTransactionP2WDA.MAX_BYTES_PER_WITNESS = 80;
280
+ //# sourceMappingURL=InteractionTransactionP2WDA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionTransactionP2WDA.js","sourceRoot":"","sources":["../../../src/transaction/builders/InteractionTransactionP2WDA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAkB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAgB,eAAe,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAA+C;IACpF,MAAM,CAAU,kBAAkB,GAAG,EAAE,CAAC;IACxC,MAAM,CAAU,qBAAqB,GAAG,EAAE,CAAC;IAEnC,IAAI,GAAgC,eAAe,CAAC,WAAW,CAAC;IAC7D,cAAc,CAAgB;IACjD;;;OAGG;IACgB,iBAAiB,CAAU;IAC7B,cAAc,CAAa;IAC3B,QAAQ,CAAa;IACrB,SAAS,CAAqB;IAC9B,WAAW,CAAa;IACjC,cAAc,CAAiB;IAC/B,YAAY,CAAkB;IAC9B,iBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;IACnD;;;OAGG;IACc,qBAAqB,GAAsB,IAAI,CAAC;IAEjE,YAAmB,UAAkC;QACjD,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;QAErE,uEAAuE;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEnD,0DAA0D;QAC1D,sEAAsE;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACpC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,uBAAuB,EAAE,EAC9B,IAAI,CAAC,OAAO,CACf,CAAC;QAEF,2BAA2B;QAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,uBAAuB,CAC3D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAClD,IAAI,CAAC,OAAO,CACf,CAAC;QAEF,wBAAwB;QACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAClC,IAAI,UAAU,CAAC,oBAAoB,YAAY,UAAU,EAAE,CAAC;gBACxD,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,oBAAoB,CAAC;YACjE,CAAC;iBAAM,IAAI,OAAO,UAAU,CAAC,oBAAoB,KAAK,QAAQ,EAAE,CAAC;gBAC7D,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CACpD,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACpC,CAAC;QACN,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QAED,aAAa;QACb,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,2BAA2B;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAExD,MAAM,WAAW,GAAW,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE1D,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAED;;OAEG;IACgB,KAAK,CAAC,UAAU,CAAC,WAAiB;QACjD,kBAAkB;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAc,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/F,CAAC;QAED,uCAAuC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACV,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACJ,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,UAAkC;QACvD,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,eAAe,CAAC,WAAW;gBACrC,MAAM,EAAE,QAAQ,CAAC,WAAW;gBAC5B,IAAI,EAAE,UAAU,CAAC,aAAa;aACjC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,eAAe,CAAC,gBAAgB;gBAC1C,MAAM,EAAE,QAAQ,CAAC,gBAAgB;gBACjC,IAAI,EAAE,UAAU;aACnB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC3B,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,mBAAmB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAS,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,yBAAyB;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAS,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAS,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACK,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,6EAA6E;QAC7E,wBAAwB;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAExD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;YAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC5B,kBAAkB,GAAG,2BAA2B,CAAC,qBAAqB,CACzE,CAAC;YAEF,MAAM,IAAI,KAAK,CACX,uEAAuE,aAAa,UAAU;gBAC1F,yBAAyB,kBAAkB,UAAU;gBACrD,SAAS,cAAc,2BAA2B,2BAA2B,CAAC,kBAAkB,EAAE,CACzG,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,oBAAoB,CACxB,UAAkB,EAClB,KAAgB;QAKhB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,WAAW,GAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAA+B,CAAC,SAAS,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAC3C,IAAI,CAAC,MAAyB,EAC9B,aAAa,CAChB,CAAC;QAEF,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC;QAEjD,oEAAoE;QACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErD,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAE3D,IAAI,MAAM,CAAC,MAAM,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACX,yBAAyB,MAAM,CAAC,MAAM,2BAA2B,2BAA2B,CAAC,kBAAkB,EAAE,CACpH,CAAC;QACN,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAiB,CAAC,WAAW,CAAC,CAAC;QAEjD,6BAA6B;QAC7B,6BAA6B;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,CAAgB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAA2B,CAAC,CAAC;QAErD,OAAO;YACH,cAAc,EAAE,SAAS;YACzB,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,YAAY,CAAC;SACnF,CAAC;IACN,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAgB;QAC3C,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACjB,2BAA2B,CAAC,qBAAqB,EACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CACvB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC"}
@@ -1,13 +1,13 @@
1
- import { P2TRPayment, Psbt, PsbtInput, Signer, TapScriptSig, Taptree } from '@btc-vision/bitcoin';
1
+ import { type P2TRPayment, Psbt, type PsbtInput, type PublicKey, type Script, type Signer, type TapScriptSig, type Taptree } from '@btc-vision/bitcoin';
2
2
  import { TransactionBuilder } from './TransactionBuilder.js';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
- import { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
5
- import { ECPairInterface } from 'ecpair';
6
- export interface MultiSignParameters extends Omit<ITransactionParameters, 'gasSatFee' | 'priorityFee' | 'signer'> {
7
- readonly pubkeys: Buffer[];
4
+ import type { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
5
+ import { type UniversalSigner } from '@btc-vision/ecpair';
6
+ export interface MultiSignParameters extends Omit<ITransactionParameters, 'gasSatFee' | 'priorityFee' | 'signer' | 'from' | 'to'> {
7
+ readonly pubkeys: Uint8Array[];
8
8
  readonly minimumSignatures: number;
9
- readonly from?: undefined;
10
- readonly to?: undefined;
9
+ readonly from?: string | undefined;
10
+ readonly to?: string | undefined;
11
11
  readonly psbt?: Psbt;
12
12
  readonly receiver: string;
13
13
  readonly requestedAmount: bigint;
@@ -16,45 +16,154 @@ export interface MultiSignParameters extends Omit<ITransactionParameters, 'gasSa
16
16
  export interface MultiSignFromBase64Params extends Omit<MultiSignParameters, 'psbt'> {
17
17
  readonly psbt: string;
18
18
  }
19
+ /**
20
+ * Create a multi sign p2tr transaction
21
+ * @class MultiSignTransaction
22
+ */
19
23
  export declare class MultiSignTransaction extends TransactionBuilder<TransactionType.MULTI_SIG> {
20
- static readonly LOCK_LEAF_SCRIPT: Buffer;
24
+ static readonly LOCK_LEAF_SCRIPT: Script;
21
25
  static readonly signHashTypesArray: number[];
22
- static readonly numsPoint: Buffer<ArrayBuffer>;
26
+ static readonly numsPoint: PublicKey;
23
27
  type: TransactionType.MULTI_SIG;
24
28
  protected targetScriptRedeem: P2TRPayment | null;
25
29
  protected leftOverFundsScriptRedeem: P2TRPayment | null;
26
- protected readonly compiledTargetScript: Buffer;
30
+ protected readonly compiledTargetScript: Uint8Array;
27
31
  protected readonly scriptTree: Taptree;
28
- protected readonly publicKeys: Buffer[];
32
+ protected readonly publicKeys: Uint8Array[];
29
33
  protected readonly minimumSignatures: number;
30
34
  protected readonly originalInputCount: number;
31
35
  protected readonly requestedAmount: bigint;
32
36
  protected readonly receiver: string;
33
37
  protected readonly refundVault: string;
38
+ /**
39
+ * @description Sign hash types
40
+ * @protected
41
+ */
34
42
  protected readonly sighashTypes: number[];
35
43
  constructor(parameters: MultiSignParameters);
44
+ /**
45
+ * Generate a multisig transaction from a base64 psbt.
46
+ * @param {MultiSignFromBase64Params} params The parameters
47
+ * @returns {MultiSignTransaction} The multisig transaction
48
+ */
36
49
  static fromBase64(params: MultiSignFromBase64Params): MultiSignTransaction;
37
- static verifyIfSigned(psbt: Psbt, signerPubKey: Buffer): boolean;
38
- static signPartial(psbt: Psbt, signer: Signer | ECPairInterface, originalInputCount: number, minimums: number[]): {
50
+ /**
51
+ * Verify if that public key already signed the transaction
52
+ * @param {Psbt} psbt The psbt
53
+ * @param {Buffer} signerPubKey The signer public key
54
+ * @returns {boolean} True if the public key signed the transaction
55
+ */
56
+ static verifyIfSigned(psbt: Psbt, signerPubKey: Uint8Array): boolean;
57
+ /**
58
+ * Partially sign the transaction
59
+ * @returns {boolean} True if the transaction was signed
60
+ * @public
61
+ */
62
+ static signPartial(psbt: Psbt, signer: Signer | UniversalSigner, originalInputCount: number, minimums: number[]): {
39
63
  final: boolean;
40
64
  signed: boolean;
41
65
  };
42
- static partialFinalizer: (inputIndex: number, input: PsbtInput, partialSignatures: Buffer[], orderedPubKeys: Buffer[], isFinal: boolean) => {
43
- finalScriptWitness: Buffer<ArrayBufferLike>;
66
+ /**
67
+ * Partially finalize a P2TR MS transaction
68
+ * @param {number} inputIndex The input index
69
+ * @param {PsbtInput} input The input
70
+ * @param {Buffer[]} partialSignatures The partial signatures
71
+ * @param {Buffer[]} orderedPubKeys The ordered public keys
72
+ * @param {boolean} isFinal If the transaction is final
73
+ */
74
+ static partialFinalizer: (inputIndex: number, input: PsbtInput, partialSignatures: Uint8Array[], orderedPubKeys: Uint8Array[], isFinal: boolean) => {
75
+ finalScriptWitness: Uint8Array<ArrayBufferLike>;
44
76
  };
77
+ /**
78
+ * Dedupe signatures
79
+ * @param {TapScriptSig[]} original The original signatures
80
+ * @param {TapScriptSig[]} partial The partial signatures
81
+ * @returns {TapScriptSig[]} The deduped signatures
82
+ */
45
83
  static dedupeSignatures(original: TapScriptSig[], partial: TapScriptSig[]): TapScriptSig[];
46
- static attemptFinalizeInputs(psbt: Psbt, startIndex: number, orderedPubKeys: Buffer[][], isFinal: boolean): boolean;
84
+ /**
85
+ * Attempt to finalize the inputs
86
+ * @param {Psbt} psbt The psbt
87
+ * @param {number} startIndex The start index
88
+ * @param {Buffer[]} orderedPubKeys The ordered public keys
89
+ * @param {boolean} isFinal If the transaction is final
90
+ * @returns {boolean} True if the inputs were finalized
91
+ */
92
+ static attemptFinalizeInputs(psbt: Psbt, startIndex: number, orderedPubKeys: Uint8Array[][], isFinal: boolean): boolean;
93
+ /**
94
+ * Finalize the psbt multisig transaction
95
+ */
47
96
  finalizeTransactionInputs(): boolean;
97
+ /**
98
+ * @description Signs the transaction
99
+ * @public
100
+ * @returns {Promise<Psbt>} - The signed transaction in hex format
101
+ * @throws {Error} - If something went wrong
102
+ */
48
103
  signPSBT(): Promise<Psbt>;
104
+ /**
105
+ * Build the transaction
106
+ * @protected
107
+ *
108
+ * @throws {Error} If the left over funds script redeem is required
109
+ * @throws {Error} If the left over funds script redeem version is required
110
+ * @throws {Error} If the left over funds script redeem output is required
111
+ */
49
112
  protected buildTransaction(): Promise<void>;
113
+ /**
114
+ * Builds the transaction.
115
+ * @param {Psbt} transaction - The transaction to build
116
+ * @param checkPartialSigs
117
+ * @protected
118
+ * @returns {Promise<boolean>}
119
+ * @throws {Error} - If something went wrong while building the transaction
120
+ */
50
121
  protected internalBuildTransaction(transaction: Psbt, checkPartialSigs?: boolean): Promise<boolean>;
122
+ /**
123
+ * Sign the inputs
124
+ * @protected
125
+ */
51
126
  protected signInputs(_transaction: Psbt): Promise<void>;
52
127
  protected generateScriptAddress(): P2TRPayment;
53
128
  protected generateTapData(): P2TRPayment;
54
- protected getScriptSolution(input: PsbtInput): Buffer[];
129
+ /**
130
+ * Generate the script solution
131
+ * @param {PsbtInput} input The input
132
+ * @protected
133
+ *
134
+ * @returns {Buffer[]} The script solution
135
+ */
136
+ protected getScriptSolution(input: PsbtInput): Uint8Array[];
137
+ /**
138
+ * Get the script tree
139
+ * @private
140
+ *
141
+ * @returns {Taptree} The script tree
142
+ */
55
143
  protected getScriptTree(): Taptree;
56
144
  private getTotalOutputAmount;
145
+ /**
146
+ * @description Calculate the amount left to refund to the first vault.
147
+ * @private
148
+ * @returns {bigint} The amount left
149
+ */
57
150
  private calculateOutputLeftAmountFromVaults;
151
+ /**
152
+ * Transaction finalizer
153
+ * @param {number} _inputIndex The input index
154
+ * @param {PsbtInput} input The input
155
+ */
58
156
  private customFinalizer;
157
+ /**
158
+ * Generate the redeem scripts
159
+ * @private
160
+ *
161
+ * @throws {Error} If the public keys are required
162
+ * @throws {Error} If the leaf script is required
163
+ * @throws {Error} If the leaf script version is required
164
+ * @throws {Error} If the leaf script output is required
165
+ * @throws {Error} If the target script redeem is required
166
+ */
59
167
  private generateRedeemScripts;
60
168
  }
169
+ //# sourceMappingURL=MultiSignTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/MultiSignTransaction.ts"],"names":[],"mappings":"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"}