@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,21 +1,21 @@
1
- import { Network, networks, script, Stack } from '@btc-vision/bitcoin';
1
+ import { type Network, networks, script, type Stack, type XOnlyPublicKey } from '@btc-vision/bitcoin';
2
2
  import { Generator } from '../Generator.js';
3
3
 
4
4
  /**
5
5
  * Class to generate bitcoin script for interaction transactions
6
6
  */
7
7
  export class CustomGenerator extends Generator {
8
- constructor(senderPubKey: Buffer, network: Network = networks.bitcoin) {
8
+ constructor(senderPubKey: XOnlyPublicKey, network: Network = networks.bitcoin) {
9
9
  super(senderPubKey, undefined, network);
10
10
  }
11
11
 
12
12
  /**
13
13
  * Compile an interaction bitcoin script
14
14
  * @param compiledData - The compiled data
15
- * @returns {Buffer} - The compiled script
15
+ * @returns {Uint8Array} - The compiled script
16
16
  * @throws {Error} - If something goes wrong
17
17
  */
18
- public compile(compiledData: (Buffer | Stack)[]): Buffer {
18
+ public compile(compiledData: (Uint8Array | Stack)[]): Uint8Array {
19
19
  const asm = compiledData.flat();
20
20
  const compiled = script.compile(asm);
21
21
 
@@ -1,16 +1,16 @@
1
- import { crypto, Network, networks, opcodes, script } from '@btc-vision/bitcoin';
1
+ import { crypto, type Network, networks, opcodes, type PublicKey, script } from '@btc-vision/bitcoin';
2
2
  import { Generator } from '../Generator.js';
3
- import { Feature, Features } from '../Features.js';
4
- import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
3
+ import { type Feature, Features } from '../Features.js';
4
+ import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
5
5
  import { BinaryWriter } from '../../buffer/BinaryWriter.js';
6
6
 
7
7
  export const OPNET_DEPLOYMENT_VERSION = 0x00;
8
- export const versionBuffer = Buffer.from([OPNET_DEPLOYMENT_VERSION]);
8
+ export const versionBuffer = Uint8Array.from([OPNET_DEPLOYMENT_VERSION]);
9
9
 
10
10
  export class DeploymentGenerator extends Generator {
11
11
  constructor(
12
- senderPubKey: Buffer,
13
- contractSaltPubKey: Buffer,
12
+ senderPubKey: PublicKey,
13
+ contractSaltPubKey: Uint8Array,
14
14
  network: Network = networks.bitcoin,
15
15
  ) {
16
16
  super(senderPubKey, contractSaltPubKey, network);
@@ -18,22 +18,22 @@ export class DeploymentGenerator extends Generator {
18
18
 
19
19
  /**
20
20
  * Compile a bitcoin script representing a contract deployment
21
- * @param {Buffer} contractBytecode - The contract bytecode
22
- * @param {Buffer} contractSalt - The contract salt
21
+ * @param {Uint8Array} contractBytecode - The contract bytecode
22
+ * @param {Uint8Array} contractSalt - The contract salt
23
23
  * @param {ChallengeSolution} challenge - The challenge for reward
24
24
  * @param {bigint} maxPriority - The maximum priority for the contract
25
- * @param {Buffer} [calldata] - The calldata to be passed to the contract
25
+ * @param {Uint8Array} [calldata] - The calldata to be passed to the contract
26
26
  * @param {Feature<Features>[]} [features] - Optional features to include in the script
27
- * @returns {Buffer} - The compiled script
27
+ * @returns {Uint8Array} - The compiled script
28
28
  */
29
29
  public compile(
30
- contractBytecode: Buffer,
31
- contractSalt: Buffer,
30
+ contractBytecode: Uint8Array,
31
+ contractSalt: Uint8Array,
32
32
  challenge: IChallengeSolution,
33
33
  maxPriority: bigint,
34
- calldata?: Buffer,
34
+ calldata?: Uint8Array,
35
35
  features?: Feature<Features>[],
36
- ): Buffer {
36
+ ): Uint8Array {
37
37
  const asm = this.getAsm(
38
38
  contractBytecode,
39
39
  contractSalt,
@@ -57,20 +57,20 @@ export class DeploymentGenerator extends Generator {
57
57
  }
58
58
 
59
59
  private getAsm(
60
- contractBytecode: Buffer,
61
- contractSalt: Buffer,
60
+ contractBytecode: Uint8Array,
61
+ contractSalt: Uint8Array,
62
62
  challenge: IChallengeSolution,
63
63
  maxPriority: bigint,
64
- calldata?: Buffer,
64
+ calldata?: Uint8Array,
65
65
  featuresRaw?: Feature<Features>[],
66
- ): (number | Buffer)[] {
66
+ ): (number | Uint8Array)[] {
67
67
  if (!this.contractSaltPubKey) throw new Error('Contract salt public key not set');
68
68
 
69
- const dataChunks: Buffer[][] = this.splitBufferIntoChunks(contractBytecode);
70
- const calldataChunks: Buffer[][] = calldata ? this.splitBufferIntoChunks(calldata) : [];
69
+ const dataChunks: Uint8Array[][] = this.splitBufferIntoChunks(contractBytecode);
70
+ const calldataChunks: Uint8Array[][] = calldata ? this.splitBufferIntoChunks(calldata) : [];
71
71
 
72
72
  const featuresList: Features[] = [];
73
- const featureData: (number | Buffer | Buffer[])[] = [];
73
+ const featureData: (number | Uint8Array | Uint8Array[])[] = [];
74
74
 
75
75
  if (featuresRaw && featuresRaw.length) {
76
76
  const features: Feature<Features>[] = featuresRaw.sort(
@@ -79,13 +79,15 @@ export class DeploymentGenerator extends Generator {
79
79
 
80
80
  const finalBuffer = new BinaryWriter();
81
81
  for (let i = 0; i < features.length; i++) {
82
- const feature = features[i];
82
+ const feature = features[i] as Feature<Features>;
83
83
  featuresList.push(feature.opcode);
84
84
 
85
85
  this.encodeFeature(feature, finalBuffer);
86
86
  }
87
87
 
88
- featureData.push(...this.splitBufferIntoChunks(Buffer.from(finalBuffer.getBuffer())));
88
+ featureData.push(
89
+ ...this.splitBufferIntoChunks(new Uint8Array(finalBuffer.getBuffer())),
90
+ );
89
91
  }
90
92
 
91
93
  const compiledData = [
@@ -1,6 +1,6 @@
1
- import { crypto, Network, networks, opcodes, payments, script } from '@btc-vision/bitcoin';
2
- import { IHashCommittedP2WSH } from '../../transaction/interfaces/IConsolidatedTransactionParameters.js';
3
- import { IP2WSHAddress } from '../../transaction/mineable/IP2WSHAddress.js';
1
+ import { crypto, equals, type Network, networks, opcodes, payments, type Script, script, } from '@btc-vision/bitcoin';
2
+ import type { IHashCommittedP2WSH } from '../../transaction/interfaces/IConsolidatedTransactionParameters.js';
3
+ import type { IP2WSHAddress } from '../../transaction/mineable/IP2WSHAddress.js';
4
4
  import { Logger } from '@btc-vision/logger';
5
5
 
6
6
  /**
@@ -42,11 +42,6 @@ export class HashCommitmentGenerator extends Logger {
42
42
  * OP_HASH160 (1) + push (1) + hash (20) + OP_EQUALVERIFY (1) = 23 bytes
43
43
  */
44
44
  private static readonly BYTES_PER_COMMITMENT: number = 23;
45
- /**
46
- * Signature check bytes in witness script.
47
- * push (1) + pubkey (33) + OP_CHECKSIG (1) = 35 bytes
48
- */
49
- private static readonly SIG_CHECK_BYTES: number = 35;
50
45
  /**
51
46
  * Fixed overhead in witness serialization:
52
47
  * - Stack item count: 1 byte
@@ -87,11 +82,11 @@ export class HashCommitmentGenerator extends Logger {
87
82
  public static readonly WEIGHT_PER_INPUT: number =
88
83
  HashCommitmentGenerator.INPUT_BASE_WEIGHT +
89
84
  HashCommitmentGenerator.INPUT_WITNESS_WEIGHT_MAX;
90
- public readonly logColor: string = '#4a90d9';
91
- private readonly publicKey: Buffer;
85
+ public override readonly logColor: string = '#4a90d9';
86
+ private readonly publicKey: Uint8Array;
92
87
  private readonly network: Network;
93
88
 
94
- constructor(publicKey: Buffer, network: Network = networks.bitcoin) {
89
+ constructor(publicKey: Uint8Array, network: Network = networks.bitcoin) {
95
90
  super();
96
91
 
97
92
  if (publicKey.length !== 33) {
@@ -164,7 +159,7 @@ export class HashCommitmentGenerator extends Logger {
164
159
  * @param witnessScript The witness script to validate
165
160
  * @returns true if valid hash-committed script
166
161
  */
167
- public static validateHashCommittedScript(witnessScript: Buffer): boolean {
162
+ public static validateHashCommittedScript(witnessScript: Uint8Array): boolean {
168
163
  try {
169
164
  const decompiled = script.decompile(witnessScript);
170
165
  if (!decompiled || decompiled.length < 5) {
@@ -177,7 +172,7 @@ export class HashCommitmentGenerator extends Logger {
177
172
  return false;
178
173
  }
179
174
  const pubkey = decompiled[lastIdx - 1];
180
- if (!Buffer.isBuffer(pubkey) || pubkey.length !== 33) {
175
+ if (!(pubkey instanceof Uint8Array) || pubkey.length !== 33) {
181
176
  return false;
182
177
  }
183
178
 
@@ -191,7 +186,7 @@ export class HashCommitmentGenerator extends Logger {
191
186
  const hash = hashParts[i + 1];
192
187
  if (
193
188
  hashParts[i] !== opcodes.OP_HASH160 ||
194
- !Buffer.isBuffer(hash) ||
189
+ !(hash instanceof Uint8Array) ||
195
190
  hash.length !== 20 ||
196
191
  hashParts[i + 2] !== opcodes.OP_EQUALVERIFY
197
192
  ) {
@@ -211,7 +206,7 @@ export class HashCommitmentGenerator extends Logger {
211
206
  * @param witnessScript The witness script
212
207
  * @returns Array of 20-byte data hashes (in data order), or null if invalid
213
208
  */
214
- public static extractDataHashes(witnessScript: Buffer): Buffer[] | null {
209
+ public static extractDataHashes(witnessScript: Uint8Array): Uint8Array[] | null {
215
210
  try {
216
211
  const decompiled = script.decompile(witnessScript);
217
212
  if (
@@ -223,10 +218,10 @@ export class HashCommitmentGenerator extends Logger {
223
218
 
224
219
  // Extract hashes from triplets (they're in reverse order in script)
225
220
  const hashParts = decompiled.slice(0, -2);
226
- const hashes: Buffer[] = [];
221
+ const hashes: Uint8Array[] = [];
227
222
 
228
223
  for (let i = 0; i < hashParts.length; i += 3) {
229
- hashes.push(hashParts[i + 1] as Buffer);
224
+ hashes.push(hashParts[i + 1] as Uint8Array);
230
225
  }
231
226
 
232
227
  // Reverse to get data order (script has them reversed)
@@ -242,7 +237,7 @@ export class HashCommitmentGenerator extends Logger {
242
237
  * @param witnessScript The witness script
243
238
  * @returns The 33-byte public key, or null if invalid script
244
239
  */
245
- public static extractPublicKey(witnessScript: Buffer): Buffer | null {
240
+ public static extractPublicKey(witnessScript: Uint8Array): Uint8Array | null {
246
241
  try {
247
242
  const decompiled = script.decompile(witnessScript);
248
243
  if (
@@ -251,7 +246,7 @@ export class HashCommitmentGenerator extends Logger {
251
246
  ) {
252
247
  return null;
253
248
  }
254
- return decompiled[decompiled.length - 2] as Buffer;
249
+ return decompiled[decompiled.length - 2] as Uint8Array;
255
250
  } catch {
256
251
  return null;
257
252
  }
@@ -264,15 +259,18 @@ export class HashCommitmentGenerator extends Logger {
264
259
  * @param witnessScript The witness script containing the hash commitments
265
260
  * @returns true if all chunks match their commitments
266
261
  */
267
- public static verifyChunkCommitments(dataChunks: Buffer[], witnessScript: Buffer): boolean {
262
+ public static verifyChunkCommitments(
263
+ dataChunks: Uint8Array[],
264
+ witnessScript: Uint8Array,
265
+ ): boolean {
268
266
  const committedHashes = HashCommitmentGenerator.extractDataHashes(witnessScript);
269
267
  if (!committedHashes || committedHashes.length !== dataChunks.length) {
270
268
  return false;
271
269
  }
272
270
 
273
271
  for (let i = 0; i < dataChunks.length; i++) {
274
- const actualHash = crypto.hash160(dataChunks[i]);
275
- if (!committedHashes[i].equals(actualHash)) {
272
+ const actualHash = crypto.hash160(dataChunks[i] as Uint8Array);
273
+ if (!equals(committedHashes[i] as Uint8Array, actualHash)) {
276
274
  return false;
277
275
  }
278
276
  }
@@ -344,7 +342,7 @@ export class HashCommitmentGenerator extends Logger {
344
342
  * Calculate the HASH160 of a data chunk.
345
343
  * HASH160 = RIPEMD160(SHA256(data))
346
344
  */
347
- public hashChunk(data: Buffer): Buffer {
345
+ public hashChunk(data: Uint8Array): Uint8Array {
348
346
  return crypto.hash160(data);
349
347
  }
350
348
 
@@ -365,7 +363,7 @@ export class HashCommitmentGenerator extends Logger {
365
363
  * @param dataHashes Array of HASH160 values (in data order, will be reversed in script)
366
364
  * @returns The compiled witness script
367
365
  */
368
- public generateWitnessScript(dataHashes: Buffer[]): Buffer {
366
+ public generateWitnessScript(dataHashes: Uint8Array[]): Uint8Array {
369
367
  if (dataHashes.length === 0) {
370
368
  throw new Error('At least one data hash is required');
371
369
  }
@@ -383,12 +381,12 @@ export class HashCommitmentGenerator extends Logger {
383
381
  }
384
382
 
385
383
  // Build script parts - hashes in reverse order (last data chunk verified first)
386
- const scriptParts: (number | Buffer)[] = [];
384
+ const scriptParts: (number | Uint8Array)[] = [];
387
385
 
388
386
  // Add hash commitments in reverse order
389
387
  for (let i = dataHashes.length - 1; i >= 0; i--) {
390
388
  scriptParts.push(opcodes.OP_HASH160);
391
- scriptParts.push(dataHashes[i]);
389
+ scriptParts.push(dataHashes[i] as Uint8Array);
392
390
  scriptParts.push(opcodes.OP_EQUALVERIFY);
393
391
  }
394
392
 
@@ -405,9 +403,11 @@ export class HashCommitmentGenerator extends Logger {
405
403
  * @param witnessScript The witness script
406
404
  * @returns P2WSH address info
407
405
  */
408
- public generateP2WSHAddress(witnessScript: Buffer): IP2WSHAddress & { scriptPubKey: Buffer } {
406
+ public generateP2WSHAddress(
407
+ witnessScript: Uint8Array | Script,
408
+ ): IP2WSHAddress & { scriptPubKey: Uint8Array } {
409
409
  const p2wsh = payments.p2wsh({
410
- redeem: { output: witnessScript },
410
+ redeem: { output: witnessScript as Script },
411
411
  network: this.network,
412
412
  });
413
413
 
@@ -433,7 +433,7 @@ export class HashCommitmentGenerator extends Logger {
433
433
  * @returns Array of hash-committed P2WSH outputs
434
434
  */
435
435
  public prepareChunks(
436
- data: Buffer,
436
+ data: Uint8Array,
437
437
  maxChunkSize: number = HashCommitmentGenerator.MAX_CHUNK_SIZE,
438
438
  ): IHashCommittedP2WSH[] {
439
439
  if (maxChunkSize > HashCommitmentGenerator.MAX_CHUNK_SIZE) {
@@ -447,12 +447,12 @@ export class HashCommitmentGenerator extends Logger {
447
447
  }
448
448
 
449
449
  // First, split data into 80-byte chunks
450
- const allChunks: Buffer[] = [];
450
+ const allChunks: Uint8Array[] = [];
451
451
  let offset = 0;
452
452
 
453
453
  while (offset < data.length) {
454
454
  const chunkSize = Math.min(maxChunkSize, data.length - offset);
455
- allChunks.push(Buffer.from(data.subarray(offset, offset + chunkSize)));
455
+ allChunks.push(new Uint8Array(data.subarray(offset, offset + chunkSize)));
456
456
  offset += chunkSize;
457
457
  }
458
458
 
@@ -1,9 +1,9 @@
1
- import { crypto, Network, networks, opcodes, script } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { concat, crypto, type Network, networks, opcodes, type PublicKey, script } from '@btc-vision/bitcoin';
2
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
3
  import { Compressor } from '../../bytecode/Compressor.js';
4
4
  import { EcKeyPair } from '../../keypair/EcKeyPair.js';
5
5
  import { Generator } from '../Generator.js';
6
- import { Feature, Features } from '../Features.js';
6
+ import { type Feature, Features } from '../Features.js';
7
7
  import { BinaryWriter } from '../../buffer/BinaryWriter.js';
8
8
 
9
9
  /**
@@ -11,22 +11,22 @@ import { BinaryWriter } from '../../buffer/BinaryWriter.js';
11
11
  * @deprecated
12
12
  */
13
13
  export class LegacyCalldataGenerator extends Generator {
14
- constructor(senderPubKey: Buffer, network: Network = networks.bitcoin) {
15
- super(senderPubKey, Buffer.alloc(0), network);
14
+ constructor(senderPubKey: PublicKey, network: Network = networks.bitcoin) {
15
+ super(senderPubKey, new Uint8Array(0), network);
16
16
  }
17
17
 
18
18
  /**
19
19
  * Get the public key as a buffer
20
- * @param {Buffer[]} witnessKeys - The public keys
20
+ * @param {Uint8Array[]} witnessKeys - The public keys
21
21
  * @param {Network} network - The network to use
22
22
  * @private
23
- * @returns {Buffer} - The public key as a buffer
23
+ * @returns {Uint8Array} - The public key as a buffer
24
24
  */
25
- public static getPubKeyAsBuffer(witnessKeys: Buffer[], network: Network): Buffer {
26
- let finalBuffer: Buffer = Buffer.alloc(0);
25
+ public static getPubKeyAsBuffer(witnessKeys: Uint8Array[], network: Network): Uint8Array {
26
+ let finalBuffer: Uint8Array = new Uint8Array(0);
27
27
 
28
28
  for (const pubKey of witnessKeys) {
29
- const key: ECPairInterface = EcKeyPair.fromPublicKey(pubKey, network);
29
+ const key: UniversalSigner = EcKeyPair.fromPublicKey(pubKey, network);
30
30
 
31
31
  if (!key.compressed) {
32
32
  throw new Error('Public key must be compressed');
@@ -36,11 +36,11 @@ export class LegacyCalldataGenerator extends Generator {
36
36
  throw new Error(`Public key must be 33 bytes, got ${pubKey.byteLength} bytes.`);
37
37
  }
38
38
 
39
- finalBuffer = Buffer.concat([finalBuffer, pubKey]);
39
+ finalBuffer = concat([finalBuffer, pubKey]);
40
40
  }
41
41
 
42
42
  // compress the public keys
43
- const compressed: Buffer = Compressor.compress(finalBuffer);
43
+ const compressed: Uint8Array = Compressor.compress(finalBuffer);
44
44
  if (compressed.byteLength >= finalBuffer.byteLength) {
45
45
  // we ensure that the user pays the smallest amount of fees. [micro-optimization]
46
46
  return finalBuffer;
@@ -52,26 +52,26 @@ export class LegacyCalldataGenerator extends Generator {
52
52
 
53
53
  /**
54
54
  * Compile an interaction bitcoin script
55
- * @param {Buffer} calldata - The calldata to use
56
- * @param {Buffer} contractSecret - The contract secret
57
- * @param {Buffer} challenge - The challenge to use
55
+ * @param {Uint8Array} calldata - The calldata to use
56
+ * @param {Uint8Array} contractSecret - The contract secret
57
+ * @param {Uint8Array} challenge - The challenge to use
58
58
  * @param {bigint} maxPriority - The maximum priority
59
59
  * @param {number[]} [featuresRaw=[]] - The features to use (optional)
60
- * @returns {Buffer} - The compiled script
60
+ * @returns {Uint8Array} - The compiled script
61
61
  * @throws {Error} - If something goes wrong
62
62
  */
63
63
  public compile(
64
- calldata: Buffer,
65
- contractSecret: Buffer,
66
- challenge: Buffer,
64
+ calldata: Uint8Array,
65
+ contractSecret: Uint8Array,
66
+ challenge: Uint8Array,
67
67
  maxPriority: bigint,
68
68
  featuresRaw: Feature<Features>[] = [],
69
- ): Buffer {
70
- const dataChunks: Buffer[][] = this.splitBufferIntoChunks(calldata);
69
+ ): Uint8Array {
70
+ const dataChunks: Uint8Array[][] = this.splitBufferIntoChunks(calldata);
71
71
  if (!dataChunks.length) throw new Error('No data chunks found');
72
72
 
73
73
  const featuresList: Features[] = [];
74
- const featureData: (number | Buffer | Buffer[])[] = [];
74
+ const featureData: (number | Uint8Array | Uint8Array[])[] = [];
75
75
 
76
76
  if (featuresRaw && featuresRaw.length) {
77
77
  const features: Feature<Features>[] = featuresRaw.sort(
@@ -80,13 +80,15 @@ export class LegacyCalldataGenerator extends Generator {
80
80
 
81
81
  const finalBuffer = new BinaryWriter();
82
82
  for (let i = 0; i < features.length; i++) {
83
- const feature = features[i];
83
+ const feature = features[i] as Feature<Features>;
84
84
  featuresList.push(feature.opcode);
85
85
 
86
86
  this.encodeFeature(feature, finalBuffer);
87
87
  }
88
88
 
89
- featureData.push(...this.splitBufferIntoChunks(Buffer.from(finalBuffer.getBuffer())));
89
+ featureData.push(
90
+ ...this.splitBufferIntoChunks(new Uint8Array(finalBuffer.getBuffer())),
91
+ );
90
92
  }
91
93
 
92
94
  let compiledData = [
@@ -1,4 +1,4 @@
1
- import { opcodes, script, toXOnly } from '@btc-vision/bitcoin';
1
+ import { alloc, compare, equals, opcodes, type PublicKey, script, toXOnly, type XOnlyPublicKey, } from '@btc-vision/bitcoin';
2
2
 
3
3
  /**
4
4
  * Generate a bitcoin script for a multisign interaction
@@ -7,10 +7,10 @@ export class MultiSignGenerator {
7
7
  public static readonly MAXIMUM_SUPPORTED_SIGNATURE = 255;
8
8
 
9
9
  public static compile(
10
- vaultPublicKeys: Buffer[],
10
+ vaultPublicKeys: Uint8Array[] | PublicKey[],
11
11
  minimumSignatures: number = 0,
12
- internal?: Buffer,
13
- ): Buffer {
12
+ internal?: Uint8Array | XOnlyPublicKey,
13
+ ): Uint8Array {
14
14
  if (minimumSignatures < 2) {
15
15
  throw new Error('Minimum signatures must be greater than 1');
16
16
  }
@@ -25,27 +25,27 @@ export class MultiSignGenerator {
25
25
  );
26
26
  }
27
27
 
28
- const minimumRequired = Buffer.alloc(1);
29
- minimumRequired.writeUInt8(minimumSignatures);
28
+ const minimumRequired = alloc(1);
29
+ minimumRequired[0] = minimumSignatures;
30
30
 
31
31
  /** Remove duplicates **/
32
32
  vaultPublicKeys = vaultPublicKeys.filter(
33
- (buf, index, self) => index === self.findIndex((otherBuf) => buf.equals(otherBuf)),
33
+ (buf, index, self) => index === self.findIndex((otherBuf) => equals(buf, otherBuf)),
34
34
  );
35
35
 
36
36
  /** We must order the pub keys. */
37
- vaultPublicKeys = vaultPublicKeys.sort((a, b) => a.compare(b));
37
+ vaultPublicKeys = vaultPublicKeys.sort((a, b) => compare(a, b));
38
38
 
39
39
  let included = false;
40
40
  const data = vaultPublicKeys.map((key) => {
41
- const newKey = toXOnly(key);
42
- if (internal && !included) included = internal.equals(newKey);
41
+ const newKey = toXOnly(key as PublicKey);
42
+ if (internal && !included) included = equals(internal, newKey);
43
43
 
44
44
  return newKey;
45
45
  });
46
46
 
47
- if (internal && !included) data.push(internal);
48
- const compiledData: (number | Buffer)[] = [
47
+ if (internal && !included) data.push(internal as XOnlyPublicKey);
48
+ const compiledData: (number | Uint8Array)[] = [
49
49
  // Push the initial 0 (for OP_CHECKSIGADD)
50
50
  opcodes.OP_0,
51
51
 
@@ -1,8 +1,8 @@
1
- import { Network, networks } from '@btc-vision/bitcoin';
1
+ import { type Network, networks, type PublicKey } from '@btc-vision/bitcoin';
2
2
  import { BinaryWriter } from '../../buffer/BinaryWriter.js';
3
- import { Feature, Features } from '../Features.js';
3
+ import { type Feature, Features } from '../Features.js';
4
4
  import { Generator } from '../Generator.js';
5
- import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
5
+ import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
6
6
 
7
7
  /**
8
8
  * @category Generators
@@ -12,8 +12,8 @@ export class P2WDAGenerator extends Generator {
12
12
  private static readonly P2WDA_VERSION = 0x01;
13
13
 
14
14
  constructor(
15
- senderPubKey: Buffer,
16
- contractSaltPubKey: Buffer,
15
+ senderPubKey: PublicKey,
16
+ contractSaltPubKey: Uint8Array,
17
17
  network: Network = networks.bitcoin,
18
18
  ) {
19
19
  super(senderPubKey, contractSaltPubKey, network);
@@ -60,12 +60,12 @@ export class P2WDAGenerator extends Generator {
60
60
  * @returns Raw operation data ready for signing and compression
61
61
  */
62
62
  public compile(
63
- calldata: Buffer,
64
- contractSecret: Buffer,
63
+ calldata: Uint8Array,
64
+ contractSecret: Uint8Array,
65
65
  challenge: IChallengeSolution,
66
66
  maxPriority: bigint,
67
67
  featuresRaw: Feature<Features>[] = [],
68
- ): Buffer {
68
+ ): Uint8Array {
69
69
  if (!this.contractSaltPubKey) {
70
70
  throw new Error('Contract salt public key not set');
71
71
  }
@@ -97,10 +97,10 @@ export class P2WDAGenerator extends Generator {
97
97
 
98
98
  this.writeFeatures(writer, features);
99
99
 
100
- return Buffer.from(writer.getBuffer());
100
+ return new Uint8Array(writer.getBuffer());
101
101
  }
102
102
 
103
- public override getHeader(maxPriority: bigint, features: Features[] = []): Buffer {
103
+ public override getHeader(maxPriority: bigint, features: Features[] = []): Uint8Array {
104
104
  return super.getHeader(maxPriority, features);
105
105
  }
106
106