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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/browser/_version.d.ts +1 -0
  2. package/browser/_version.d.ts.map +1 -0
  3. package/browser/abi/ABICoder.d.ts +1 -1
  4. package/browser/abi/ABICoder.d.ts.map +1 -0
  5. package/browser/branded/Branded.d.ts +4 -0
  6. package/browser/branded/Branded.d.ts.map +1 -0
  7. package/browser/btc-vision-bitcoin.js +11999 -2647
  8. package/browser/buffer/BinaryReader.d.ts +120 -1
  9. package/browser/buffer/BinaryReader.d.ts.map +1 -0
  10. package/browser/buffer/BinaryWriter.d.ts +51 -1
  11. package/browser/buffer/BinaryWriter.d.ts.map +1 -0
  12. package/browser/bytecode/Compressor.d.ts +12 -0
  13. package/browser/bytecode/Compressor.d.ts.map +1 -0
  14. package/browser/chain/ChainData.d.ts +2 -2
  15. package/browser/chain/ChainData.d.ts.map +1 -0
  16. package/browser/consensus/Consensus.d.ts +11 -3
  17. package/browser/consensus/Consensus.d.ts.map +1 -0
  18. package/browser/consensus/ConsensusConfig.d.ts +1 -0
  19. package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
  20. package/browser/consensus/IConsensusConfig.d.ts +1 -0
  21. package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
  22. package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
  23. package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  24. package/browser/crypto/crypto.d.ts +1 -0
  25. package/browser/crypto/crypto.d.ts.map +1 -0
  26. package/browser/deterministic/AddressMap.d.ts +6 -1
  27. package/browser/deterministic/AddressMap.d.ts.map +1 -0
  28. package/browser/deterministic/AddressSet.d.ts +3 -1
  29. package/browser/deterministic/AddressSet.d.ts.map +1 -0
  30. package/browser/deterministic/CustomMap.d.ts +3 -1
  31. package/browser/deterministic/CustomMap.d.ts.map +1 -0
  32. package/browser/deterministic/DeterministicMap.d.ts +3 -1
  33. package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
  34. package/browser/deterministic/DeterministicSet.d.ts +3 -1
  35. package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
  36. package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
  37. package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  38. package/browser/deterministic/FastMap.d.ts +7 -1
  39. package/browser/deterministic/FastMap.d.ts.map +1 -0
  40. package/browser/ecc/backend.d.ts +13 -0
  41. package/browser/ecc/backend.d.ts.map +1 -0
  42. package/browser/epoch/ChallengeSolution.d.ts +33 -1
  43. package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
  44. package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  45. package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  46. package/browser/epoch/validator/EpochValidator.d.ts +37 -7
  47. package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
  48. package/browser/event/NetEvent.d.ts +1 -0
  49. package/browser/event/NetEvent.d.ts.map +1 -0
  50. package/browser/generators/AddressGenerator.d.ts +4 -3
  51. package/browser/generators/AddressGenerator.d.ts.map +1 -0
  52. package/browser/generators/Features.d.ts +1 -0
  53. package/browser/generators/Features.d.ts.map +1 -0
  54. package/browser/generators/Generator.d.ts +46 -10
  55. package/browser/generators/Generator.d.ts.map +1 -0
  56. package/browser/generators/MLDSAData.d.ts +1 -0
  57. package/browser/generators/MLDSAData.d.ts.map +1 -0
  58. package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
  59. package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
  60. package/browser/generators/builders/CustomGenerator.d.ts +13 -3
  61. package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
  62. package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
  63. package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  64. package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
  65. package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  66. package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
  67. package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  68. package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
  69. package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  70. package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
  71. package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  72. package/browser/index.d.ts +1 -0
  73. package/browser/index.d.ts.map +1 -0
  74. package/browser/index.js +3583 -3184
  75. package/browser/keypair/Address.d.ts +283 -13
  76. package/browser/keypair/Address.d.ts.map +1 -0
  77. package/browser/keypair/AddressVerificator.d.ts +7 -6
  78. package/browser/keypair/AddressVerificator.d.ts.map +1 -0
  79. package/browser/keypair/EcKeyPair.d.ts +183 -21
  80. package/browser/keypair/EcKeyPair.d.ts.map +1 -0
  81. package/browser/keypair/MessageSigner.d.ts +17 -16
  82. package/browser/keypair/MessageSigner.d.ts.map +1 -0
  83. package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
  84. package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  85. package/browser/keypair/Wallet.d.ts +27 -13
  86. package/browser/keypair/Wallet.d.ts.map +1 -0
  87. package/browser/keypair/interfaces/IWallet.d.ts +19 -0
  88. package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
  89. package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
  90. package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
  91. package/browser/mnemonic/BIPStandard.d.ts +59 -0
  92. package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
  93. package/browser/mnemonic/Mnemonic.d.ts +15 -3
  94. package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
  95. package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
  96. package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
  97. package/browser/network/ChainId.d.ts +1 -0
  98. package/browser/network/ChainId.d.ts.map +1 -0
  99. package/browser/noble-curves.js +844 -2746
  100. package/browser/noble-hashes.js +1338 -2067
  101. package/browser/opnet.d.ts +22 -1
  102. package/browser/opnet.d.ts.map +1 -0
  103. package/browser/p2wda/P2WDADetector.d.ts +36 -9
  104. package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
  105. package/browser/polyfill/disposable.d.ts +16 -0
  106. package/browser/polyfill/disposable.d.ts.map +1 -0
  107. package/browser/signer/AddressRotation.d.ts +36 -0
  108. package/browser/signer/AddressRotation.d.ts.map +1 -0
  109. package/browser/signer/IRotationSigner.d.ts +27 -3
  110. package/browser/signer/IRotationSigner.d.ts.map +1 -0
  111. package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
  112. package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
  113. package/browser/signer/SignerUtils.d.ts +11 -4
  114. package/browser/signer/SignerUtils.d.ts.map +1 -0
  115. package/browser/signer/TweakedSigner.d.ts +28 -4
  116. package/browser/signer/TweakedSigner.d.ts.map +1 -0
  117. package/browser/transaction/ContractAddress.d.ts +2 -2
  118. package/browser/transaction/ContractAddress.d.ts.map +1 -0
  119. package/browser/transaction/TransactionFactory.d.ts +140 -2
  120. package/browser/transaction/TransactionFactory.d.ts.map +1 -0
  121. package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
  122. package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  123. package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
  124. package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
  125. package/browser/transaction/browser/Web3Provider.d.ts +27 -0
  126. package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
  127. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
  128. package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  129. package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
  130. package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  131. package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
  132. package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
  133. package/browser/transaction/browser/types/Unisat.d.ts +1 -0
  134. package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
  135. package/browser/transaction/browser/types/Xverse.d.ts +1 -0
  136. package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
  137. package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
  138. package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
  139. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  140. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  141. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
  142. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  143. package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
  144. package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  145. package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
  146. package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  147. package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
  148. package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
  149. package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
  150. package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  151. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
  152. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  153. package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
  154. package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  155. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
  156. package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  157. package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
  158. package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  159. package/browser/transaction/enums/TransactionType.d.ts +1 -0
  160. package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
  161. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
  162. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  163. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
  164. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  165. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
  166. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  167. package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
  168. package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  169. package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
  170. package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  171. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +18 -5
  172. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  173. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
  174. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  175. package/browser/transaction/interfaces/Tap.d.ts +4 -3
  176. package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
  177. package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  178. package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  179. package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
  180. package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  181. package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
  182. package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  183. package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
  184. package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  185. package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
  186. package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  187. package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
  188. package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  189. package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
  190. package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  191. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
  192. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  193. package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
  194. package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  195. package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
  196. package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
  197. package/browser/transaction/shared/TweakedTransaction.d.ts +275 -33
  198. package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  199. package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
  200. package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
  201. package/browser/utils/BitcoinUtils.d.ts +19 -0
  202. package/browser/utils/BitcoinUtils.d.ts.map +1 -0
  203. package/browser/utils/BufferHelper.d.ts +1 -0
  204. package/browser/utils/BufferHelper.d.ts.map +1 -0
  205. package/browser/utils/StringToBuffer.d.ts +1 -0
  206. package/browser/utils/StringToBuffer.d.ts.map +1 -0
  207. package/browser/utils/lengths.d.ts +1 -0
  208. package/browser/utils/lengths.d.ts.map +1 -0
  209. package/browser/utils/types.d.ts +1 -0
  210. package/browser/utils/types.d.ts.map +1 -0
  211. package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
  212. package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  213. package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  214. package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  215. package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
  216. package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
  217. package/browser/vendors.js +14351 -10031
  218. package/browser/verification/TapscriptVerificator.d.ts +10 -8
  219. package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
  220. package/build/_version.d.ts +1 -0
  221. package/build/_version.d.ts.map +1 -0
  222. package/build/_version.js +1 -0
  223. package/build/_version.js.map +1 -0
  224. package/build/abi/ABICoder.d.ts +1 -1
  225. package/build/abi/ABICoder.d.ts.map +1 -0
  226. package/build/abi/ABICoder.js +9 -10
  227. package/build/abi/ABICoder.js.map +1 -0
  228. package/build/branded/Branded.d.ts +4 -0
  229. package/build/branded/Branded.d.ts.map +1 -0
  230. package/build/branded/Branded.js +2 -0
  231. package/build/branded/Branded.js.map +1 -0
  232. package/build/buffer/BinaryReader.d.ts +121 -2
  233. package/build/buffer/BinaryReader.d.ts.map +1 -0
  234. package/build/buffer/BinaryReader.js +129 -5
  235. package/build/buffer/BinaryReader.js.map +1 -0
  236. package/build/buffer/BinaryWriter.d.ts +52 -2
  237. package/build/buffer/BinaryWriter.d.ts.map +1 -0
  238. package/build/buffer/BinaryWriter.js +62 -2
  239. package/build/buffer/BinaryWriter.js.map +1 -0
  240. package/build/bytecode/Compressor.d.ts +12 -0
  241. package/build/bytecode/Compressor.d.ts.map +1 -0
  242. package/build/bytecode/Compressor.js +17 -5
  243. package/build/bytecode/Compressor.js.map +1 -0
  244. package/build/chain/ChainData.d.ts +2 -2
  245. package/build/chain/ChainData.d.ts.map +1 -0
  246. package/build/chain/ChainData.js +35 -17
  247. package/build/chain/ChainData.js.map +1 -0
  248. package/build/consensus/Consensus.d.ts +11 -3
  249. package/build/consensus/Consensus.d.ts.map +1 -0
  250. package/build/consensus/Consensus.js +8 -0
  251. package/build/consensus/Consensus.js.map +1 -0
  252. package/build/consensus/ConsensusConfig.d.ts +2 -1
  253. package/build/consensus/ConsensusConfig.d.ts.map +1 -0
  254. package/build/consensus/ConsensusConfig.js +1 -0
  255. package/build/consensus/ConsensusConfig.js.map +1 -0
  256. package/build/consensus/IConsensusConfig.d.ts +1 -0
  257. package/build/consensus/IConsensusConfig.d.ts.map +1 -0
  258. package/build/consensus/IConsensusConfig.js +2 -1
  259. package/build/consensus/IConsensusConfig.js.map +1 -0
  260. package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
  261. package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  262. package/build/consensus/metadata/RoswellConsensus.js +2 -0
  263. package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
  264. package/build/crypto/crypto.d.ts +1 -0
  265. package/build/crypto/crypto.d.ts.map +1 -0
  266. package/build/crypto/crypto.js +1 -0
  267. package/build/crypto/crypto.js.map +1 -0
  268. package/build/deterministic/AddressMap.d.ts +6 -1
  269. package/build/deterministic/AddressMap.d.ts.map +1 -0
  270. package/build/deterministic/AddressMap.js +8 -0
  271. package/build/deterministic/AddressMap.js.map +1 -0
  272. package/build/deterministic/AddressSet.d.ts +3 -1
  273. package/build/deterministic/AddressSet.d.ts.map +1 -0
  274. package/build/deterministic/AddressSet.js +7 -0
  275. package/build/deterministic/AddressSet.js.map +1 -0
  276. package/build/deterministic/CustomMap.d.ts +3 -1
  277. package/build/deterministic/CustomMap.d.ts.map +1 -0
  278. package/build/deterministic/CustomMap.js +65 -47
  279. package/build/deterministic/CustomMap.js.map +1 -0
  280. package/build/deterministic/DeterministicMap.d.ts +4 -2
  281. package/build/deterministic/DeterministicMap.d.ts.map +1 -0
  282. package/build/deterministic/DeterministicMap.js +24 -27
  283. package/build/deterministic/DeterministicMap.js.map +1 -0
  284. package/build/deterministic/DeterministicSet.d.ts +3 -1
  285. package/build/deterministic/DeterministicSet.d.ts.map +1 -0
  286. package/build/deterministic/DeterministicSet.js +6 -0
  287. package/build/deterministic/DeterministicSet.js.map +1 -0
  288. package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
  289. package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  290. package/build/deterministic/ExtendedAddressMap.js +18 -2
  291. package/build/deterministic/ExtendedAddressMap.js.map +1 -0
  292. package/build/deterministic/FastMap.d.ts +7 -1
  293. package/build/deterministic/FastMap.d.ts.map +1 -0
  294. package/build/deterministic/FastMap.js +7 -2
  295. package/build/deterministic/FastMap.js.map +1 -0
  296. package/build/ecc/backend.d.ts +13 -0
  297. package/build/ecc/backend.d.ts.map +1 -0
  298. package/build/ecc/backend.js +15 -0
  299. package/build/ecc/backend.js.map +1 -0
  300. package/build/epoch/ChallengeSolution.d.ts +34 -2
  301. package/build/epoch/ChallengeSolution.d.ts.map +1 -0
  302. package/build/epoch/ChallengeSolution.js +52 -0
  303. package/build/epoch/ChallengeSolution.js.map +1 -0
  304. package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  305. package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  306. package/build/epoch/interfaces/IChallengeSolution.js +2 -1
  307. package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
  308. package/build/epoch/validator/EpochValidator.d.ts +38 -8
  309. package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
  310. package/build/epoch/validator/EpochValidator.js +45 -19
  311. package/build/epoch/validator/EpochValidator.js.map +1 -0
  312. package/build/event/NetEvent.d.ts +1 -0
  313. package/build/event/NetEvent.d.ts.map +1 -0
  314. package/build/event/NetEvent.js +3 -0
  315. package/build/event/NetEvent.js.map +1 -0
  316. package/build/generators/AddressGenerator.d.ts +4 -3
  317. package/build/generators/AddressGenerator.d.ts.map +1 -0
  318. package/build/generators/AddressGenerator.js +10 -3
  319. package/build/generators/AddressGenerator.js.map +1 -0
  320. package/build/generators/Features.d.ts +4 -3
  321. package/build/generators/Features.d.ts.map +1 -0
  322. package/build/generators/Features.js +1 -0
  323. package/build/generators/Features.js.map +1 -0
  324. package/build/generators/Generator.d.ts +47 -11
  325. package/build/generators/Generator.d.ts.map +1 -0
  326. package/build/generators/Generator.js +48 -12
  327. package/build/generators/Generator.js.map +1 -0
  328. package/build/generators/MLDSAData.d.ts +1 -0
  329. package/build/generators/MLDSAData.d.ts.map +1 -0
  330. package/build/generators/MLDSAData.js +1 -0
  331. package/build/generators/MLDSAData.js.map +1 -0
  332. package/build/generators/builders/CalldataGenerator.d.ts +27 -6
  333. package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
  334. package/build/generators/builders/CalldataGenerator.js +33 -4
  335. package/build/generators/builders/CalldataGenerator.js.map +1 -0
  336. package/build/generators/builders/CustomGenerator.d.ts +13 -3
  337. package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
  338. package/build/generators/builders/CustomGenerator.js +11 -0
  339. package/build/generators/builders/CustomGenerator.js.map +1 -0
  340. package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
  341. package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  342. package/build/generators/builders/DeploymentGenerator.js +18 -2
  343. package/build/generators/builders/DeploymentGenerator.js.map +1 -0
  344. package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
  345. package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  346. package/build/generators/builders/HashCommitmentGenerator.js +193 -27
  347. package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
  348. package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
  349. package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  350. package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
  351. package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
  352. package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
  353. package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  354. package/build/generators/builders/MultiSignGenerator.js +20 -10
  355. package/build/generators/builders/MultiSignGenerator.js.map +1 -0
  356. package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
  357. package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  358. package/build/generators/builders/P2WDAGenerator.js +41 -2
  359. package/build/generators/builders/P2WDAGenerator.js.map +1 -0
  360. package/build/index.d.ts +1 -0
  361. package/build/index.d.ts.map +1 -0
  362. package/build/index.js +1 -0
  363. package/build/index.js.map +1 -0
  364. package/build/keypair/Address.d.ts +284 -14
  365. package/build/keypair/Address.d.ts.map +1 -0
  366. package/build/keypair/Address.js +446 -128
  367. package/build/keypair/Address.js.map +1 -0
  368. package/build/keypair/AddressVerificator.d.ts +7 -6
  369. package/build/keypair/AddressVerificator.d.ts.map +1 -0
  370. package/build/keypair/AddressVerificator.js +6 -5
  371. package/build/keypair/AddressVerificator.js.map +1 -0
  372. package/build/keypair/EcKeyPair.d.ts +185 -23
  373. package/build/keypair/EcKeyPair.d.ts.map +1 -0
  374. package/build/keypair/EcKeyPair.js +219 -50
  375. package/build/keypair/EcKeyPair.js.map +1 -0
  376. package/build/keypair/MessageSigner.d.ts +18 -17
  377. package/build/keypair/MessageSigner.d.ts.map +1 -0
  378. package/build/keypair/MessageSigner.js +34 -25
  379. package/build/keypair/MessageSigner.js.map +1 -0
  380. package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
  381. package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  382. package/build/keypair/Secp256k1PointDeriver.js +66 -0
  383. package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
  384. package/build/keypair/Wallet.d.ts +29 -15
  385. package/build/keypair/Wallet.d.ts.map +1 -0
  386. package/build/keypair/Wallet.js +48 -14
  387. package/build/keypair/Wallet.js.map +1 -0
  388. package/build/keypair/interfaces/IWallet.d.ts +19 -0
  389. package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
  390. package/build/keypair/interfaces/IWallet.js +1 -0
  391. package/build/keypair/interfaces/IWallet.js.map +1 -0
  392. package/build/metadata/ContractBaseMetadata.d.ts +10 -2
  393. package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
  394. package/build/metadata/ContractBaseMetadata.js +10 -1
  395. package/build/metadata/ContractBaseMetadata.js.map +1 -0
  396. package/build/mnemonic/BIPStandard.d.ts +59 -0
  397. package/build/mnemonic/BIPStandard.d.ts.map +1 -0
  398. package/build/mnemonic/BIPStandard.js +59 -0
  399. package/build/mnemonic/BIPStandard.js.map +1 -0
  400. package/build/mnemonic/Mnemonic.d.ts +16 -4
  401. package/build/mnemonic/Mnemonic.d.ts.map +1 -0
  402. package/build/mnemonic/Mnemonic.js +36 -8
  403. package/build/mnemonic/Mnemonic.js.map +1 -0
  404. package/build/mnemonic/MnemonicStrength.d.ts +6 -0
  405. package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
  406. package/build/mnemonic/MnemonicStrength.js +6 -0
  407. package/build/mnemonic/MnemonicStrength.js.map +1 -0
  408. package/build/network/ChainId.d.ts +1 -0
  409. package/build/network/ChainId.d.ts.map +1 -0
  410. package/build/network/ChainId.js +1 -0
  411. package/build/network/ChainId.js.map +1 -0
  412. package/build/opnet.d.ts +26 -3
  413. package/build/opnet.d.ts.map +1 -0
  414. package/build/opnet.js +23 -0
  415. package/build/opnet.js.map +1 -0
  416. package/build/p2wda/P2WDADetector.d.ts +38 -11
  417. package/build/p2wda/P2WDADetector.d.ts.map +1 -0
  418. package/build/p2wda/P2WDADetector.js +43 -10
  419. package/build/p2wda/P2WDADetector.js.map +1 -0
  420. package/build/polyfill/disposable.d.ts +16 -0
  421. package/build/polyfill/disposable.d.ts.map +1 -0
  422. package/build/polyfill/disposable.js +23 -0
  423. package/build/polyfill/disposable.js.map +1 -0
  424. package/build/signer/AddressRotation.d.ts +37 -1
  425. package/build/signer/AddressRotation.d.ts.map +1 -0
  426. package/build/signer/AddressRotation.js +16 -0
  427. package/build/signer/AddressRotation.js.map +1 -0
  428. package/build/signer/IRotationSigner.d.ts +27 -3
  429. package/build/signer/IRotationSigner.d.ts.map +1 -0
  430. package/build/signer/IRotationSigner.js +2 -1
  431. package/build/signer/IRotationSigner.js.map +1 -0
  432. package/build/signer/ParallelSignerAdapter.d.ts +14 -0
  433. package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
  434. package/build/signer/ParallelSignerAdapter.js +51 -0
  435. package/build/signer/ParallelSignerAdapter.js.map +1 -0
  436. package/build/signer/SignerUtils.d.ts +11 -4
  437. package/build/signer/SignerUtils.d.ts.map +1 -0
  438. package/build/signer/SignerUtils.js +16 -0
  439. package/build/signer/SignerUtils.js.map +1 -0
  440. package/build/signer/TweakedSigner.d.ts +28 -4
  441. package/build/signer/TweakedSigner.d.ts.map +1 -0
  442. package/build/signer/TweakedSigner.js +24 -6
  443. package/build/signer/TweakedSigner.js.map +1 -0
  444. package/build/transaction/ContractAddress.d.ts +2 -2
  445. package/build/transaction/ContractAddress.d.ts.map +1 -0
  446. package/build/transaction/ContractAddress.js +4 -8
  447. package/build/transaction/ContractAddress.js.map +1 -0
  448. package/build/transaction/TransactionFactory.d.ts +147 -9
  449. package/build/transaction/TransactionFactory.d.ts.map +1 -0
  450. package/build/transaction/TransactionFactory.js +145 -26
  451. package/build/transaction/TransactionFactory.js.map +1 -0
  452. package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
  453. package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  454. package/build/transaction/browser/BrowserSignerBase.js +7 -0
  455. package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
  456. package/build/transaction/browser/WalletNetworks.d.ts +1 -0
  457. package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
  458. package/build/transaction/browser/WalletNetworks.js +1 -0
  459. package/build/transaction/browser/WalletNetworks.js.map +1 -0
  460. package/build/transaction/browser/Web3Provider.d.ts +30 -3
  461. package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
  462. package/build/transaction/browser/Web3Provider.js +1 -0
  463. package/build/transaction/browser/Web3Provider.js.map +1 -0
  464. package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
  465. package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  466. package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
  467. package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
  468. package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
  469. package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  470. package/build/transaction/browser/extensions/XverseSigner.js +25 -15
  471. package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
  472. package/build/transaction/browser/types/OPWallet.d.ts +12 -2
  473. package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
  474. package/build/transaction/browser/types/OPWallet.js +4 -0
  475. package/build/transaction/browser/types/OPWallet.js.map +1 -0
  476. package/build/transaction/browser/types/Unisat.d.ts +2 -1
  477. package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
  478. package/build/transaction/browser/types/Unisat.js +2 -0
  479. package/build/transaction/browser/types/Unisat.js.map +1 -0
  480. package/build/transaction/browser/types/Xverse.d.ts +1 -0
  481. package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
  482. package/build/transaction/browser/types/Xverse.js +1 -0
  483. package/build/transaction/browser/types/Xverse.js.map +1 -0
  484. package/build/transaction/builders/CancelTransaction.d.ts +31 -6
  485. package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
  486. package/build/transaction/builders/CancelTransaction.js +116 -33
  487. package/build/transaction/builders/CancelTransaction.js.map +1 -0
  488. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  489. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  490. package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
  491. package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
  492. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
  493. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  494. package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
  495. package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
  496. package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
  497. package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  498. package/build/transaction/builders/CustomScriptTransaction.js +176 -39
  499. package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
  500. package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
  501. package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  502. package/build/transaction/builders/DeploymentTransaction.js +194 -51
  503. package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
  504. package/build/transaction/builders/FundingTransaction.d.ts +5 -4
  505. package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
  506. package/build/transaction/builders/FundingTransaction.js +15 -8
  507. package/build/transaction/builders/FundingTransaction.js.map +1 -0
  508. package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
  509. package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  510. package/build/transaction/builders/InteractionTransaction.js +18 -5
  511. package/build/transaction/builders/InteractionTransaction.js.map +1 -0
  512. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
  513. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  514. package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
  515. package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
  516. package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
  517. package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  518. package/build/transaction/builders/MultiSignTransaction.js +201 -76
  519. package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
  520. package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
  521. package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  522. package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
  523. package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
  524. package/build/transaction/builders/TransactionBuilder.d.ts +249 -19
  525. package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  526. package/build/transaction/builders/TransactionBuilder.js +377 -60
  527. package/build/transaction/builders/TransactionBuilder.js.map +1 -0
  528. package/build/transaction/enums/TransactionType.d.ts +1 -0
  529. package/build/transaction/enums/TransactionType.d.ts.map +1 -0
  530. package/build/transaction/enums/TransactionType.js +1 -0
  531. package/build/transaction/enums/TransactionType.js.map +1 -0
  532. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
  533. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  534. package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
  535. package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
  536. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
  537. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  538. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
  539. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
  540. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
  541. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  542. package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
  543. package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
  544. package/build/transaction/interfaces/ITransactionParameters.d.ts +27 -15
  545. package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  546. package/build/transaction/interfaces/ITransactionParameters.js +1 -0
  547. package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
  548. package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
  549. package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  550. package/build/transaction/interfaces/ITransactionResponses.js +1 -0
  551. package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
  552. package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
  553. package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  554. package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
  555. package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
  556. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
  557. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  558. package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
  559. package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
  560. package/build/transaction/interfaces/Tap.d.ts +4 -3
  561. package/build/transaction/interfaces/Tap.d.ts.map +1 -0
  562. package/build/transaction/interfaces/Tap.js +1 -0
  563. package/build/transaction/interfaces/Tap.js.map +1 -0
  564. package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  565. package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  566. package/build/transaction/mineable/IP2WSHAddress.js +1 -0
  567. package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
  568. package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
  569. package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  570. package/build/transaction/mineable/TimelockGenerator.js +12 -3
  571. package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
  572. package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
  573. package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  574. package/build/transaction/offline/OfflineTransactionManager.js +192 -8
  575. package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
  576. package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
  577. package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  578. package/build/transaction/offline/TransactionReconstructor.js +111 -75
  579. package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
  580. package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
  581. package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  582. package/build/transaction/offline/TransactionSerializer.js +206 -95
  583. package/build/transaction/offline/TransactionSerializer.js.map +1 -0
  584. package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
  585. package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  586. package/build/transaction/offline/TransactionStateCapture.js +124 -60
  587. package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
  588. package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
  589. package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  590. package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
  591. package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
  592. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
  593. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  594. package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
  595. package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
  596. package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
  597. package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  598. package/build/transaction/psbt/PSBTTypes.js +1 -0
  599. package/build/transaction/psbt/PSBTTypes.js.map +1 -0
  600. package/build/transaction/shared/P2TR_MS.d.ts +11 -2
  601. package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
  602. package/build/transaction/shared/P2TR_MS.js +10 -0
  603. package/build/transaction/shared/P2TR_MS.js.map +1 -0
  604. package/build/transaction/shared/TweakedTransaction.d.ts +281 -38
  605. package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  606. package/build/transaction/shared/TweakedTransaction.js +576 -114
  607. package/build/transaction/shared/TweakedTransaction.js.map +1 -0
  608. package/build/transaction/utils/WitnessUtils.d.ts +7 -1
  609. package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
  610. package/build/transaction/utils/WitnessUtils.js +17 -3
  611. package/build/transaction/utils/WitnessUtils.js.map +1 -0
  612. package/build/tsconfig.build.tsbuildinfo +1 -1
  613. package/build/utils/BitcoinUtils.d.ts +19 -0
  614. package/build/utils/BitcoinUtils.d.ts.map +1 -0
  615. package/build/utils/BitcoinUtils.js +19 -0
  616. package/build/utils/BitcoinUtils.js.map +1 -0
  617. package/build/utils/BufferHelper.d.ts +2 -1
  618. package/build/utils/BufferHelper.d.ts.map +1 -0
  619. package/build/utils/BufferHelper.js +38 -32
  620. package/build/utils/BufferHelper.js.map +1 -0
  621. package/build/utils/StringToBuffer.d.ts +1 -0
  622. package/build/utils/StringToBuffer.d.ts.map +1 -0
  623. package/build/utils/StringToBuffer.js +1 -0
  624. package/build/utils/StringToBuffer.js.map +1 -0
  625. package/build/utils/lengths.d.ts +1 -0
  626. package/build/utils/lengths.d.ts.map +1 -0
  627. package/build/utils/lengths.js +1 -0
  628. package/build/utils/lengths.js.map +1 -0
  629. package/build/utils/types.d.ts +1 -0
  630. package/build/utils/types.d.ts.map +1 -0
  631. package/build/utils/types.js +2 -1
  632. package/build/utils/types.js.map +1 -0
  633. package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
  634. package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  635. package/build/utxo/OPNetLimitedProvider.js +41 -3
  636. package/build/utxo/OPNetLimitedProvider.js.map +1 -0
  637. package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  638. package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  639. package/build/utxo/interfaces/BroadcastResponse.js +1 -0
  640. package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
  641. package/build/utxo/interfaces/IUTXO.d.ts +13 -7
  642. package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
  643. package/build/utxo/interfaces/IUTXO.js +1 -0
  644. package/build/utxo/interfaces/IUTXO.js.map +1 -0
  645. package/build/verification/TapscriptVerificator.d.ts +12 -10
  646. package/build/verification/TapscriptVerificator.d.ts.map +1 -0
  647. package/build/verification/TapscriptVerificator.js +28 -38
  648. package/build/verification/TapscriptVerificator.js.map +1 -0
  649. package/eslint.config.js +0 -1
  650. package/package.json +12 -35
  651. package/src/abi/ABICoder.ts +0 -13
  652. package/src/branded/Branded.ts +5 -0
  653. package/src/buffer/BinaryReader.ts +7 -7
  654. package/src/buffer/BinaryWriter.ts +29 -24
  655. package/src/bytecode/Compressor.ts +1 -1
  656. package/src/chain/ChainData.ts +34 -27
  657. package/src/consensus/ConsensusConfig.ts +1 -1
  658. package/src/consensus/IConsensusConfig.ts +0 -17
  659. package/src/consensus/metadata/RoswellConsensus.ts +1 -17
  660. package/src/deterministic/AddressMap.ts +5 -1
  661. package/src/deterministic/AddressSet.ts +5 -1
  662. package/src/deterministic/CustomMap.ts +6 -2
  663. package/src/deterministic/DeterministicMap.ts +8 -4
  664. package/src/deterministic/DeterministicSet.ts +6 -2
  665. package/src/deterministic/ExtendedAddressMap.ts +9 -4
  666. package/src/deterministic/FastMap.ts +9 -5
  667. package/src/ecc/backend.ts +17 -0
  668. package/src/epoch/ChallengeSolution.ts +3 -3
  669. package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
  670. package/src/epoch/validator/EpochValidator.ts +24 -43
  671. package/src/generators/AddressGenerator.ts +6 -6
  672. package/src/generators/Features.ts +3 -3
  673. package/src/generators/Generator.ts +42 -26
  674. package/src/generators/builders/CalldataGenerator.ts +26 -24
  675. package/src/generators/builders/CustomGenerator.ts +4 -4
  676. package/src/generators/builders/DeploymentGenerator.ts +25 -23
  677. package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
  678. package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
  679. package/src/generators/builders/MultiSignGenerator.ts +12 -12
  680. package/src/generators/builders/P2WDAGenerator.ts +10 -10
  681. package/src/keypair/Address.ts +114 -71
  682. package/src/keypair/AddressVerificator.ts +16 -147
  683. package/src/keypair/EcKeyPair.ts +105 -114
  684. package/src/keypair/MessageSigner.ts +70 -150
  685. package/src/keypair/Wallet.ts +59 -240
  686. package/src/metadata/ContractBaseMetadata.ts +2 -2
  687. package/src/mnemonic/Mnemonic.ts +32 -221
  688. package/src/opnet.ts +12 -6
  689. package/src/p2wda/P2WDADetector.ts +23 -72
  690. package/src/polyfill/disposable.ts +29 -0
  691. package/src/signer/AddressRotation.ts +1 -1
  692. package/src/signer/IRotationSigner.ts +3 -3
  693. package/src/signer/ParallelSignerAdapter.ts +59 -0
  694. package/src/signer/SignerUtils.ts +4 -4
  695. package/src/signer/TweakedSigner.ts +28 -13
  696. package/src/transaction/ContractAddress.ts +3 -7
  697. package/src/transaction/TransactionFactory.ts +28 -50
  698. package/src/transaction/browser/BrowserSignerBase.ts +12 -6
  699. package/src/transaction/browser/Web3Provider.ts +3 -3
  700. package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
  701. package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
  702. package/src/transaction/browser/types/OPWallet.ts +2 -2
  703. package/src/transaction/browser/types/Unisat.ts +1 -1
  704. package/src/transaction/builders/CancelTransaction.ts +59 -24
  705. package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
  706. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
  707. package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
  708. package/src/transaction/builders/DeploymentTransaction.ts +82 -63
  709. package/src/transaction/builders/FundingTransaction.ts +11 -11
  710. package/src/transaction/builders/InteractionTransaction.ts +10 -10
  711. package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
  712. package/src/transaction/builders/MultiSignTransaction.ts +68 -61
  713. package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
  714. package/src/transaction/builders/TransactionBuilder.ts +101 -79
  715. package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
  716. package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
  717. package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
  718. package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
  719. package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
  720. package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
  721. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
  722. package/src/transaction/interfaces/Tap.ts +3 -3
  723. package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
  724. package/src/transaction/mineable/TimelockGenerator.ts +19 -12
  725. package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
  726. package/src/transaction/offline/TransactionReconstructor.ts +83 -91
  727. package/src/transaction/offline/TransactionSerializer.ts +151 -101
  728. package/src/transaction/offline/TransactionStateCapture.ts +83 -79
  729. package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
  730. package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
  731. package/src/transaction/shared/P2TR_MS.ts +4 -4
  732. package/src/transaction/shared/TweakedTransaction.ts +326 -124
  733. package/src/transaction/utils/WitnessUtils.ts +18 -9
  734. package/src/utils/BufferHelper.ts +39 -37
  735. package/src/utxo/OPNetLimitedProvider.ts +7 -7
  736. package/src/utxo/interfaces/IUTXO.ts +7 -7
  737. package/src/verification/TapscriptVerificator.ts +73 -86
  738. package/test/address-rotation.test.ts +24 -24
  739. package/test/address.test.ts +12 -12
  740. package/test/addressmap.test.ts +30 -30
  741. package/test/binary-reader-writer.test.ts +8 -8
  742. package/test/browser/offline-transaction.test.ts +2206 -0
  743. package/test/browser/parallel-signing.test.ts +316 -0
  744. package/test/browser/setup.ts +11 -0
  745. package/test/browser/transaction-signing.test.ts +416 -0
  746. package/test/buffer-helper.test.ts +287 -0
  747. package/test/derivePath.test.ts +4 -3
  748. package/test/disposable.test.ts +279 -0
  749. package/test/fastmap-setall.test.ts +1 -1
  750. package/test/fastmap.test.ts +3 -3
  751. package/test/messagesigner-mldsa.test.ts +3 -3
  752. package/test/messagesigner-schnorr.test.ts +9 -9
  753. package/test/offline-transaction.test.ts +461 -288
  754. package/test/old/FastBigIntMap.ts +3 -3
  755. package/test/oldfastmap.test.ts +6 -6
  756. package/test/transaction-builders.test.ts +321 -0
  757. package/tsconfig.base.json +34 -18
  758. package/tsconfig.browser.json +15 -0
  759. package/tsconfig.json +3 -8
  760. package/vite.config.browser.ts +4 -5
  761. package/vitest.config.browser.ts +68 -0
  762. package/vitest.config.ts +1 -1
  763. package/browser/valibot.js +0 -4948
  764. package/tsconfig.webpack.json +0 -18
@@ -1,9 +1,40 @@
1
- import { crypto as bitcoinCrypto, opcodes, PaymentType, Psbt, script, toXOnly, } from '@btc-vision/bitcoin';
1
+ import { crypto as bitcoinCrypto, equals, fromHex, opcodes, PaymentType, Psbt, script, toHex, toSatoshi, toXOnly, } from '@btc-vision/bitcoin';
2
2
  import { TransactionBuilder } from './TransactionBuilder.js';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
4
  import { MultiSignGenerator } from '../../generators/builders/MultiSignGenerator.js';
5
5
  import { EcKeyPair } from '../../keypair/EcKeyPair.js';
6
+ import {} from '@btc-vision/ecpair';
7
+ /**
8
+ * Create a multi sign p2tr transaction
9
+ * @class MultiSignTransaction
10
+ */
6
11
  export class MultiSignTransaction extends TransactionBuilder {
12
+ static LOCK_LEAF_SCRIPT = script.compile([
13
+ opcodes.OP_XOR,
14
+ opcodes.OP_NOP,
15
+ opcodes.OP_CODESEPARATOR,
16
+ ]);
17
+ static signHashTypesArray = [
18
+ //Transaction.SIGHASH_ALL,
19
+ //Transaction.SIGHASH_ANYONECANPAY,
20
+ ];
21
+ static numsPoint = fromHex('50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0');
22
+ type = TransactionType.MULTI_SIG;
23
+ targetScriptRedeem = null;
24
+ leftOverFundsScriptRedeem = null;
25
+ compiledTargetScript;
26
+ scriptTree;
27
+ publicKeys;
28
+ minimumSignatures;
29
+ originalInputCount = 0;
30
+ requestedAmount;
31
+ receiver;
32
+ refundVault;
33
+ /**
34
+ * @description Sign hash types
35
+ * @protected
36
+ */
37
+ sighashTypes = MultiSignTransaction.signHashTypesArray;
7
38
  constructor(parameters) {
8
39
  if (!parameters.refundVault) {
9
40
  throw new Error('Refund vault is required');
@@ -16,27 +47,10 @@ export class MultiSignTransaction extends TransactionBuilder {
16
47
  }
17
48
  super({
18
49
  ...parameters,
19
- signer: EcKeyPair.fromPrivateKey(bitcoinCrypto.sha256(Buffer.from('aaaaaaaa', 'utf-8'))),
50
+ signer: EcKeyPair.fromPrivateKey(bitcoinCrypto.sha256(new TextEncoder().encode('aaaaaaaa'))),
20
51
  priorityFee: 0n,
21
52
  gasSatFee: 0n,
22
53
  });
23
- this.type = TransactionType.MULTI_SIG;
24
- this.targetScriptRedeem = null;
25
- this.leftOverFundsScriptRedeem = null;
26
- this.originalInputCount = 0;
27
- this.sighashTypes = MultiSignTransaction.signHashTypesArray;
28
- this.customFinalizer = (_inputIndex, input) => {
29
- if (!this.tapLeafScript) {
30
- throw new Error('Tap leaf script is required');
31
- }
32
- const scriptSolution = this.getScriptSolution(input);
33
- const witness = scriptSolution
34
- .concat(this.tapLeafScript.script)
35
- .concat(this.tapLeafScript.controlBlock);
36
- return {
37
- finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
38
- };
39
- };
40
54
  if (!parameters.pubkeys) {
41
55
  throw new Error('Pubkeys are required');
42
56
  }
@@ -54,6 +68,11 @@ export class MultiSignTransaction extends TransactionBuilder {
54
68
  this.scriptTree = this.getScriptTree();
55
69
  this.internalInit();
56
70
  }
71
+ /**
72
+ * Generate a multisig transaction from a base64 psbt.
73
+ * @param {MultiSignFromBase64Params} params The parameters
74
+ * @returns {MultiSignTransaction} The multisig transaction
75
+ */
57
76
  static fromBase64(params) {
58
77
  const psbt = Psbt.fromBase64(params.psbt, { network: params.network });
59
78
  return new MultiSignTransaction({
@@ -61,6 +80,12 @@ export class MultiSignTransaction extends TransactionBuilder {
61
80
  psbt,
62
81
  });
63
82
  }
83
+ /**
84
+ * Verify if that public key already signed the transaction
85
+ * @param {Psbt} psbt The psbt
86
+ * @param {Buffer} signerPubKey The signer public key
87
+ * @returns {boolean} True if the public key signed the transaction
88
+ */
64
89
  static verifyIfSigned(psbt, signerPubKey) {
65
90
  let alreadySigned = false;
66
91
  for (let i = 1; i < psbt.data.inputs.length; i++) {
@@ -74,7 +99,7 @@ export class MultiSignTransaction extends TransactionBuilder {
74
99
  }
75
100
  for (let j = 0; j < decoded.length - 2; j += 3) {
76
101
  const pubKey = decoded[j + 2];
77
- if (pubKey.equals(signerPubKey)) {
102
+ if (equals(pubKey, signerPubKey)) {
78
103
  alreadySigned = true;
79
104
  break;
80
105
  }
@@ -82,6 +107,11 @@ export class MultiSignTransaction extends TransactionBuilder {
82
107
  }
83
108
  return alreadySigned;
84
109
  }
110
+ /**
111
+ * Partially sign the transaction
112
+ * @returns {boolean} True if the transaction was signed
113
+ * @public
114
+ */
85
115
  static signPartial(psbt, signer, originalInputCount, minimums) {
86
116
  let signed = false;
87
117
  let final = true;
@@ -100,6 +130,7 @@ export class MultiSignTransaction extends TransactionBuilder {
100
130
  controlBlock: decoded[decoded.length - 1],
101
131
  },
102
132
  ];
133
+ // we must insert all the partial signatures, decoded.length - 2
103
134
  for (let j = 0; j < decoded.length - 2; j += 3) {
104
135
  partialSignatures.push({
105
136
  signature: decoded[j],
@@ -133,18 +164,84 @@ export class MultiSignTransaction extends TransactionBuilder {
133
164
  final: !signed ? false : final,
134
165
  };
135
166
  }
167
+ /**
168
+ * Partially finalize a P2TR MS transaction
169
+ * @param {number} inputIndex The input index
170
+ * @param {PsbtInput} input The input
171
+ * @param {Buffer[]} partialSignatures The partial signatures
172
+ * @param {Buffer[]} orderedPubKeys The ordered public keys
173
+ * @param {boolean} isFinal If the transaction is final
174
+ */
175
+ static partialFinalizer = (inputIndex, input, partialSignatures, orderedPubKeys, isFinal) => {
176
+ if (!input.tapLeafScript ||
177
+ !input.tapLeafScript[0]?.script ||
178
+ !input.tapLeafScript[0]?.controlBlock) {
179
+ throw new Error('Tap leaf script is required');
180
+ }
181
+ if (!input.tapScriptSig) {
182
+ throw new Error(`No new signatures for input ${inputIndex}.`);
183
+ }
184
+ let scriptSolution = [];
185
+ if (!isFinal) {
186
+ scriptSolution = input.tapScriptSig
187
+ .map((sig) => {
188
+ return [sig.signature, sig.leafHash, sig.pubkey];
189
+ })
190
+ .flat();
191
+ }
192
+ else {
193
+ /** We must order the signatures and the pub keys. */
194
+ for (const pubKey of orderedPubKeys) {
195
+ let found = false;
196
+ for (const sig of input.tapScriptSig) {
197
+ if (equals(sig.pubkey, toXOnly(pubKey))) {
198
+ scriptSolution.push(sig.signature);
199
+ found = true;
200
+ }
201
+ }
202
+ if (!found) {
203
+ scriptSolution.push(new Uint8Array(0));
204
+ }
205
+ }
206
+ scriptSolution = scriptSolution.reverse();
207
+ }
208
+ if (partialSignatures.length > 0) {
209
+ scriptSolution = scriptSolution.concat(partialSignatures);
210
+ }
211
+ const tapLeaf = input.tapLeafScript[0];
212
+ const witness = scriptSolution
213
+ .concat(tapLeaf.script)
214
+ .concat(tapLeaf.controlBlock);
215
+ return {
216
+ finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
217
+ };
218
+ };
219
+ /**
220
+ * Dedupe signatures
221
+ * @param {TapScriptSig[]} original The original signatures
222
+ * @param {TapScriptSig[]} partial The partial signatures
223
+ * @returns {TapScriptSig[]} The deduped signatures
224
+ */
136
225
  static dedupeSignatures(original, partial) {
137
226
  const signatures = new Map();
138
227
  for (const sig of original) {
139
- signatures.set(sig.pubkey.toString('hex'), sig);
228
+ signatures.set(toHex(sig.pubkey), sig);
140
229
  }
141
230
  for (const sig of partial) {
142
- if (!signatures.has(sig.pubkey.toString('hex'))) {
143
- signatures.set(sig.pubkey.toString('hex'), sig);
231
+ if (!signatures.has(toHex(sig.pubkey))) {
232
+ signatures.set(toHex(sig.pubkey), sig);
144
233
  }
145
234
  }
146
235
  return Array.from(signatures.values());
147
236
  }
237
+ /**
238
+ * Attempt to finalize the inputs
239
+ * @param {Psbt} psbt The psbt
240
+ * @param {number} startIndex The start index
241
+ * @param {Buffer[]} orderedPubKeys The ordered public keys
242
+ * @param {boolean} isFinal If the transaction is final
243
+ * @returns {boolean} True if the inputs were finalized
244
+ */
148
245
  static attemptFinalizeInputs(psbt, startIndex, orderedPubKeys, isFinal) {
149
246
  let finalizedInputs = 0;
150
247
  for (let i = startIndex; i < psbt.data.inputs.length; i++) {
@@ -156,6 +253,7 @@ export class MultiSignTransaction extends TransactionBuilder {
156
253
  const partialSignatures = [];
157
254
  if (input.finalScriptWitness) {
158
255
  const decoded = TransactionBuilder.readScriptWitnessToWitnessStack(input.finalScriptWitness);
256
+ // we must insert all the partial signatures, decoded.length - 2
159
257
  for (let j = 0; j < decoded.length - 2; j += 3) {
160
258
  partialSignatures.push({
161
259
  signature: decoded[j],
@@ -182,6 +280,9 @@ export class MultiSignTransaction extends TransactionBuilder {
182
280
  }
183
281
  return finalizedInputs === psbt.data.inputs.length - startIndex;
184
282
  }
283
+ /**
284
+ * Finalize the psbt multisig transaction
285
+ */
185
286
  finalizeTransactionInputs() {
186
287
  let finalized = false;
187
288
  try {
@@ -195,12 +296,27 @@ export class MultiSignTransaction extends TransactionBuilder {
195
296
  }
196
297
  return finalized;
197
298
  }
299
+ /**
300
+ * @description Signs the transaction
301
+ * @public
302
+ * @returns {Promise<Psbt>} - The signed transaction in hex format
303
+ * @throws {Error} - If something went wrong
304
+ */
198
305
  async signPSBT() {
199
306
  if (await this.signTransaction()) {
200
307
  return this.transaction;
201
308
  }
202
309
  throw new Error('Could not sign transaction');
203
310
  }
311
+ /**
312
+ * Build the transaction
313
+ * @protected
314
+ *
315
+ * @throws {Error} If the left over funds script redeem is required
316
+ * @throws {Error} If the left over funds script redeem version is required
317
+ * @throws {Error} If the left over funds script redeem output is required
318
+ */
319
+ // eslint-disable-next-line @typescript-eslint/require-await
204
320
  async buildTransaction() {
205
321
  const selectedRedeem = this.targetScriptRedeem;
206
322
  if (!selectedRedeem) {
@@ -224,13 +340,21 @@ export class MultiSignTransaction extends TransactionBuilder {
224
340
  }
225
341
  this.addOutput({
226
342
  address: this.refundVault,
227
- value: Number(outputLeftAmount),
343
+ value: toSatoshi(outputLeftAmount),
228
344
  });
229
345
  this.addOutput({
230
346
  address: this.receiver,
231
- value: Number(this.requestedAmount),
347
+ value: toSatoshi(this.requestedAmount),
232
348
  });
233
349
  }
350
+ /**
351
+ * Builds the transaction.
352
+ * @param {Psbt} transaction - The transaction to build
353
+ * @param checkPartialSigs
354
+ * @protected
355
+ * @returns {Promise<boolean>}
356
+ * @throws {Error} - If something went wrong while building the transaction
357
+ */
234
358
  async internalBuildTransaction(transaction, checkPartialSigs = false) {
235
359
  const inputs = this.getInputs();
236
360
  const outputs = this.getOutputs();
@@ -250,10 +374,14 @@ export class MultiSignTransaction extends TransactionBuilder {
250
374
  }
251
375
  return false;
252
376
  }
377
+ /**
378
+ * Sign the inputs
379
+ * @protected
380
+ */
253
381
  async signInputs(_transaction) { }
254
382
  generateScriptAddress() {
255
383
  return {
256
- internalPubkey: toXOnly(MultiSignTransaction.numsPoint),
384
+ internalPubkey: toXOnly(MultiSignTransaction.numsPoint), //this.internalPubKeyToXOnly(),
257
385
  network: this.network,
258
386
  scriptTree: this.scriptTree,
259
387
  name: PaymentType.P2TR,
@@ -268,13 +396,20 @@ export class MultiSignTransaction extends TransactionBuilder {
268
396
  throw new Error('Script tree is required');
269
397
  }
270
398
  return {
271
- internalPubkey: toXOnly(MultiSignTransaction.numsPoint),
399
+ internalPubkey: toXOnly(MultiSignTransaction.numsPoint), //this.internalPubKeyToXOnly(),
272
400
  network: this.network,
273
401
  scriptTree: this.scriptTree,
274
402
  redeem: selectedRedeem,
275
403
  name: PaymentType.P2TR,
276
404
  };
277
405
  }
406
+ /**
407
+ * Generate the script solution
408
+ * @param {PsbtInput} input The input
409
+ * @protected
410
+ *
411
+ * @returns {Buffer[]} The script solution
412
+ */
278
413
  getScriptSolution(input) {
279
414
  if (!input.tapScriptSig) {
280
415
  return [];
@@ -283,6 +418,12 @@ export class MultiSignTransaction extends TransactionBuilder {
283
418
  return sig.signature;
284
419
  });
285
420
  }
421
+ /**
422
+ * Get the script tree
423
+ * @private
424
+ *
425
+ * @returns {Taptree} The script tree
426
+ */
286
427
  getScriptTree() {
287
428
  this.generateRedeemScripts();
288
429
  return [
@@ -303,10 +444,42 @@ export class MultiSignTransaction extends TransactionBuilder {
303
444
  }
304
445
  return total;
305
446
  }
447
+ /**
448
+ * @description Calculate the amount left to refund to the first vault.
449
+ * @private
450
+ * @returns {bigint} The amount left
451
+ */
306
452
  calculateOutputLeftAmountFromVaults(utxos) {
307
453
  const total = this.getTotalOutputAmount(utxos);
308
454
  return total - this.requestedAmount;
309
455
  }
456
+ /**
457
+ * Transaction finalizer
458
+ * @param {number} _inputIndex The input index
459
+ * @param {PsbtInput} input The input
460
+ */
461
+ customFinalizer = (_inputIndex, input) => {
462
+ if (!this.tapLeafScript) {
463
+ throw new Error('Tap leaf script is required');
464
+ }
465
+ const scriptSolution = this.getScriptSolution(input);
466
+ const witness = scriptSolution
467
+ .concat(this.tapLeafScript.script)
468
+ .concat(this.tapLeafScript.controlBlock);
469
+ return {
470
+ finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
471
+ };
472
+ };
473
+ /**
474
+ * Generate the redeem scripts
475
+ * @private
476
+ *
477
+ * @throws {Error} If the public keys are required
478
+ * @throws {Error} If the leaf script is required
479
+ * @throws {Error} If the leaf script version is required
480
+ * @throws {Error} If the leaf script output is required
481
+ * @throws {Error} If the target script redeem is required
482
+ */
310
483
  generateRedeemScripts() {
311
484
  this.targetScriptRedeem = {
312
485
  name: PaymentType.P2TR,
@@ -320,52 +493,4 @@ export class MultiSignTransaction extends TransactionBuilder {
320
493
  };
321
494
  }
322
495
  }
323
- MultiSignTransaction.LOCK_LEAF_SCRIPT = script.compile([
324
- opcodes.OP_XOR,
325
- opcodes.OP_NOP,
326
- opcodes.OP_CODESEPARATOR,
327
- ]);
328
- MultiSignTransaction.signHashTypesArray = [];
329
- MultiSignTransaction.numsPoint = Buffer.from('50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0', 'hex');
330
- MultiSignTransaction.partialFinalizer = (inputIndex, input, partialSignatures, orderedPubKeys, isFinal) => {
331
- if (!input.tapLeafScript ||
332
- !input.tapLeafScript[0].script ||
333
- !input.tapLeafScript[0].controlBlock) {
334
- throw new Error('Tap leaf script is required');
335
- }
336
- if (!input.tapScriptSig) {
337
- throw new Error(`No new signatures for input ${inputIndex}.`);
338
- }
339
- let scriptSolution = [];
340
- if (!isFinal) {
341
- scriptSolution = input.tapScriptSig
342
- .map((sig) => {
343
- return [sig.signature, sig.leafHash, sig.pubkey];
344
- })
345
- .flat();
346
- }
347
- else {
348
- for (const pubKey of orderedPubKeys) {
349
- let found = false;
350
- for (const sig of input.tapScriptSig) {
351
- if (sig.pubkey.equals(toXOnly(pubKey))) {
352
- scriptSolution.push(sig.signature);
353
- found = true;
354
- }
355
- }
356
- if (!found) {
357
- scriptSolution.push(Buffer.alloc(0));
358
- }
359
- }
360
- scriptSolution = scriptSolution.reverse();
361
- }
362
- if (partialSignatures.length > 0) {
363
- scriptSolution = scriptSolution.concat(partialSignatures);
364
- }
365
- const witness = scriptSolution
366
- .concat(input.tapLeafScript[0].script)
367
- .concat(input.tapLeafScript[0].controlBlock);
368
- return {
369
- finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
370
- };
371
- };
496
+ //# sourceMappingURL=MultiSignTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSignTransaction.js","sourceRoot":"","sources":["../../../src/transaction/builders/MultiSignTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,132 @@
1
- import { P2TRPayment, Psbt, PsbtInput, Signer, Taptree } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { type P2TRPayment, Psbt, type PsbtInput, type Signer, type Taptree } from '@btc-vision/bitcoin';
2
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
3
  import { TransactionBuilder } from './TransactionBuilder.js';
4
4
  import { TransactionType } from '../enums/TransactionType.js';
5
5
  import { CalldataGenerator } from '../../generators/builders/CalldataGenerator.js';
6
- import { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
7
- import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
8
- import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
6
+ import type { SharedInteractionParameters } from '../interfaces/ITransactionParameters.js';
7
+ import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
8
+ import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
9
+ /**
10
+ * Shared interaction transaction
11
+ * @class SharedInteractionTransaction
12
+ */
9
13
  export declare abstract class SharedInteractionTransaction<T extends TransactionType> extends TransactionBuilder<T> {
10
14
  static readonly MAXIMUM_CALLDATA_SIZE: number;
11
- readonly randomBytes: Buffer;
15
+ /**
16
+ * Random salt for the interaction
17
+ * @type {Buffer}
18
+ */
19
+ readonly randomBytes: Uint8Array;
12
20
  protected targetScriptRedeem: P2TRPayment | null;
13
21
  protected leftOverFundsScriptRedeem: P2TRPayment | null;
14
- protected abstract readonly compiledTargetScript: Buffer;
22
+ protected abstract readonly compiledTargetScript: Uint8Array;
15
23
  protected abstract readonly scriptTree: Taptree;
16
24
  protected readonly challenge: IChallengeSolution;
17
25
  protected readonly epochChallenge: IP2WSHAddress;
18
26
  protected calldataGenerator: CalldataGenerator;
19
- protected readonly calldata: Buffer;
20
- protected abstract readonly contractSecret: Buffer;
21
- protected readonly scriptSigner: Signer | ECPairInterface;
27
+ /**
28
+ * Calldata for the interaction
29
+ * @protected
30
+ */
31
+ protected readonly calldata: Uint8Array;
32
+ /**
33
+ * Contract secret for the interaction
34
+ * @protected
35
+ */
36
+ protected abstract readonly contractSecret: Uint8Array;
37
+ /**
38
+ * Script signer for the interaction
39
+ * @protected
40
+ */
41
+ protected readonly scriptSigner: Signer | UniversalSigner;
42
+ /**
43
+ * Disable auto refund
44
+ * @protected
45
+ */
22
46
  protected readonly disableAutoRefund: boolean;
23
47
  protected constructor(parameters: SharedInteractionParameters);
24
- exportCompiledTargetScript(): Buffer;
25
- getContractSecret(): Buffer;
26
- getRndBytes(): Buffer;
48
+ exportCompiledTargetScript(): Uint8Array;
49
+ /**
50
+ * Get the contract secret
51
+ * @returns {Buffer} The contract secret
52
+ */
53
+ getContractSecret(): Uint8Array;
54
+ /**
55
+ * Get the random bytes used for the interaction
56
+ * @returns {Buffer} The random bytes
57
+ */
58
+ getRndBytes(): Uint8Array;
59
+ /**
60
+ * Get the preimage
61
+ */
27
62
  getChallenge(): IChallengeSolution;
28
- protected scriptSignerXOnlyPubKey(): Buffer;
29
- protected generateKeyPairFromSeed(): ECPairInterface;
63
+ /**
64
+ * Get the internal pubkey as an x-only key
65
+ * @protected
66
+ * @returns {Buffer} The internal pubkey as an x-only key
67
+ */
68
+ protected scriptSignerXOnlyPubKey(): Uint8Array;
69
+ /**
70
+ * Generate a key pair from the seed
71
+ * @protected
72
+ *
73
+ * @returns {UniversalSigner} The key pair
74
+ */
75
+ protected generateKeyPairFromSeed(): UniversalSigner;
76
+ /**
77
+ * Build the transaction
78
+ * @protected
79
+ *
80
+ * @throws {Error} If the left over funds script redeem is required
81
+ * @throws {Error} If the left over funds script redeem version is required
82
+ * @throws {Error} If the left over funds script redeem output is required
83
+ * @throws {Error} If the to address is required
84
+ */
30
85
  protected buildTransaction(): Promise<void>;
86
+ /**
87
+ * Sign the inputs
88
+ * @param {Psbt} transaction The transaction to sign
89
+ * @protected
90
+ */
31
91
  protected signInputs(transaction: Psbt): Promise<void>;
32
92
  protected generateScriptAddress(): P2TRPayment;
33
93
  protected generateTapData(): P2TRPayment;
34
- protected getScriptSolution(input: PsbtInput): Buffer[];
94
+ /**
95
+ * Generate the script solution
96
+ * @param {PsbtInput} input The input
97
+ * @protected
98
+ *
99
+ * @returns {Buffer[]} The script solution
100
+ */
101
+ protected getScriptSolution(input: PsbtInput): Uint8Array[];
102
+ /**
103
+ * Get the script tree
104
+ * @private
105
+ *
106
+ * @returns {Taptree} The script tree
107
+ */
35
108
  protected getScriptTree(): Taptree;
109
+ /**
110
+ * Transaction finalizer
111
+ * @param {number} _inputIndex The input index
112
+ * @param {PsbtInput} input The input
113
+ */
36
114
  protected customFinalizer: (_inputIndex: number, input: PsbtInput) => {
37
- finalScriptWitness: Buffer<ArrayBufferLike>;
115
+ finalScriptWitness: Uint8Array<ArrayBufferLike>;
38
116
  };
39
117
  protected signInputsWalletBased(transaction: Psbt): Promise<void>;
40
118
  protected signInputsNonWalletBased(transaction: Psbt): Promise<void>;
41
119
  protected createMineableRewardOutputs(): Promise<void>;
42
- private getPubKeys;
120
+ /**
121
+ * Generate the redeem scripts
122
+ * @private
123
+ *
124
+ * @throws {Error} If the public keys are required
125
+ * @throws {Error} If the leaf script is required
126
+ * @throws {Error} If the leaf script version is required
127
+ * @throws {Error} If the leaf script output is required
128
+ * @throws {Error} If the target script redeem is required
129
+ */
43
130
  private generateRedeemScripts;
44
131
  }
132
+ //# sourceMappingURL=SharedInteractionTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedInteractionTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/SharedInteractionTransaction.ts"],"names":[],"mappings":"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"}