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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (765) hide show
  1. package/browser/_version.d.ts +1 -0
  2. package/browser/_version.d.ts.map +1 -0
  3. package/browser/abi/ABICoder.d.ts +1 -1
  4. package/browser/abi/ABICoder.d.ts.map +1 -0
  5. package/browser/branded/Branded.d.ts +4 -0
  6. package/browser/branded/Branded.d.ts.map +1 -0
  7. package/browser/btc-vision-bitcoin.js +12420 -3637
  8. package/browser/buffer/BinaryReader.d.ts +120 -1
  9. package/browser/buffer/BinaryReader.d.ts.map +1 -0
  10. package/browser/buffer/BinaryWriter.d.ts +51 -1
  11. package/browser/buffer/BinaryWriter.d.ts.map +1 -0
  12. package/browser/bytecode/Compressor.d.ts +12 -0
  13. package/browser/bytecode/Compressor.d.ts.map +1 -0
  14. package/browser/chain/ChainData.d.ts +2 -2
  15. package/browser/chain/ChainData.d.ts.map +1 -0
  16. package/browser/consensus/Consensus.d.ts +11 -3
  17. package/browser/consensus/Consensus.d.ts.map +1 -0
  18. package/browser/consensus/ConsensusConfig.d.ts +1 -0
  19. package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
  20. package/browser/consensus/IConsensusConfig.d.ts +1 -0
  21. package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
  22. package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
  23. package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  24. package/browser/crypto/crypto.d.ts +1 -0
  25. package/browser/crypto/crypto.d.ts.map +1 -0
  26. package/browser/deterministic/AddressMap.d.ts +6 -1
  27. package/browser/deterministic/AddressMap.d.ts.map +1 -0
  28. package/browser/deterministic/AddressSet.d.ts +3 -1
  29. package/browser/deterministic/AddressSet.d.ts.map +1 -0
  30. package/browser/deterministic/CustomMap.d.ts +3 -1
  31. package/browser/deterministic/CustomMap.d.ts.map +1 -0
  32. package/browser/deterministic/DeterministicMap.d.ts +3 -1
  33. package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
  34. package/browser/deterministic/DeterministicSet.d.ts +3 -1
  35. package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
  36. package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
  37. package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  38. package/browser/deterministic/FastMap.d.ts +7 -1
  39. package/browser/deterministic/FastMap.d.ts.map +1 -0
  40. package/browser/ecc/backend.d.ts +13 -0
  41. package/browser/ecc/backend.d.ts.map +1 -0
  42. package/browser/epoch/ChallengeSolution.d.ts +33 -1
  43. package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
  44. package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  45. package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  46. package/browser/epoch/validator/EpochValidator.d.ts +37 -7
  47. package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
  48. package/browser/event/NetEvent.d.ts +1 -0
  49. package/browser/event/NetEvent.d.ts.map +1 -0
  50. package/browser/generators/AddressGenerator.d.ts +4 -3
  51. package/browser/generators/AddressGenerator.d.ts.map +1 -0
  52. package/browser/generators/Features.d.ts +1 -0
  53. package/browser/generators/Features.d.ts.map +1 -0
  54. package/browser/generators/Generator.d.ts +46 -10
  55. package/browser/generators/Generator.d.ts.map +1 -0
  56. package/browser/generators/MLDSAData.d.ts +1 -0
  57. package/browser/generators/MLDSAData.d.ts.map +1 -0
  58. package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
  59. package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
  60. package/browser/generators/builders/CustomGenerator.d.ts +13 -3
  61. package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
  62. package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
  63. package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  64. package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
  65. package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  66. package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
  67. package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  68. package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
  69. package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  70. package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
  71. package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  72. package/browser/index.d.ts +1 -0
  73. package/browser/index.d.ts.map +1 -0
  74. package/browser/index.js +3602 -3203
  75. package/browser/keypair/Address.d.ts +283 -13
  76. package/browser/keypair/Address.d.ts.map +1 -0
  77. package/browser/keypair/AddressVerificator.d.ts +7 -6
  78. package/browser/keypair/AddressVerificator.d.ts.map +1 -0
  79. package/browser/keypair/EcKeyPair.d.ts +183 -21
  80. package/browser/keypair/EcKeyPair.d.ts.map +1 -0
  81. package/browser/keypair/MessageSigner.d.ts +17 -16
  82. package/browser/keypair/MessageSigner.d.ts.map +1 -0
  83. package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
  84. package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  85. package/browser/keypair/Wallet.d.ts +27 -13
  86. package/browser/keypair/Wallet.d.ts.map +1 -0
  87. package/browser/keypair/interfaces/IWallet.d.ts +19 -0
  88. package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
  89. package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
  90. package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
  91. package/browser/mnemonic/BIPStandard.d.ts +59 -0
  92. package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
  93. package/browser/mnemonic/Mnemonic.d.ts +15 -3
  94. package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
  95. package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
  96. package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
  97. package/browser/network/ChainId.d.ts +1 -0
  98. package/browser/network/ChainId.d.ts.map +1 -0
  99. package/browser/noble-curves.js +920 -2966
  100. package/browser/noble-hashes.js +2067 -1038
  101. package/browser/opnet.d.ts +22 -1
  102. package/browser/opnet.d.ts.map +1 -0
  103. package/browser/p2wda/P2WDADetector.d.ts +36 -9
  104. package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
  105. package/browser/polyfill/disposable.d.ts +16 -0
  106. package/browser/polyfill/disposable.d.ts.map +1 -0
  107. package/browser/signer/AddressRotation.d.ts +36 -0
  108. package/browser/signer/AddressRotation.d.ts.map +1 -0
  109. package/browser/signer/IRotationSigner.d.ts +27 -3
  110. package/browser/signer/IRotationSigner.d.ts.map +1 -0
  111. package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
  112. package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
  113. package/browser/signer/SignerUtils.d.ts +11 -4
  114. package/browser/signer/SignerUtils.d.ts.map +1 -0
  115. package/browser/signer/TweakedSigner.d.ts +28 -4
  116. package/browser/signer/TweakedSigner.d.ts.map +1 -0
  117. package/browser/transaction/ContractAddress.d.ts +2 -2
  118. package/browser/transaction/ContractAddress.d.ts.map +1 -0
  119. package/browser/transaction/TransactionFactory.d.ts +140 -2
  120. package/browser/transaction/TransactionFactory.d.ts.map +1 -0
  121. package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
  122. package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  123. package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
  124. package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
  125. package/browser/transaction/browser/Web3Provider.d.ts +27 -0
  126. package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
  127. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
  128. package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  129. package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
  130. package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  131. package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
  132. package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
  133. package/browser/transaction/browser/types/Unisat.d.ts +1 -0
  134. package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
  135. package/browser/transaction/browser/types/Xverse.d.ts +1 -0
  136. package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
  137. package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
  138. package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
  139. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  140. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  141. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
  142. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  143. package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
  144. package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  145. package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
  146. package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  147. package/browser/transaction/builders/FundingTransaction.d.ts +4 -3
  148. package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
  149. package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
  150. package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  151. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
  152. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  153. package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
  154. package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  155. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
  156. package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  157. package/browser/transaction/builders/TransactionBuilder.d.ts +243 -14
  158. package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  159. package/browser/transaction/enums/TransactionType.d.ts +1 -0
  160. package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
  161. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
  162. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  163. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
  164. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  165. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
  166. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  167. package/browser/transaction/interfaces/ITransactionParameters.d.ts +22 -10
  168. package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  169. package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
  170. package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  171. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +18 -5
  172. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  173. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
  174. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  175. package/browser/transaction/interfaces/Tap.d.ts +4 -3
  176. package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
  177. package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  178. package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  179. package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
  180. package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  181. package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
  182. package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  183. package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
  184. package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  185. package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
  186. package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  187. package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
  188. package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  189. package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
  190. package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  191. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
  192. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  193. package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
  194. package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  195. package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
  196. package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
  197. package/browser/transaction/shared/TweakedTransaction.d.ts +275 -33
  198. package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  199. package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
  200. package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
  201. package/browser/utils/BitcoinUtils.d.ts +19 -0
  202. package/browser/utils/BitcoinUtils.d.ts.map +1 -0
  203. package/browser/utils/BufferHelper.d.ts +1 -0
  204. package/browser/utils/BufferHelper.d.ts.map +1 -0
  205. package/browser/utils/StringToBuffer.d.ts +1 -0
  206. package/browser/utils/StringToBuffer.d.ts.map +1 -0
  207. package/browser/utils/lengths.d.ts +1 -0
  208. package/browser/utils/lengths.d.ts.map +1 -0
  209. package/browser/utils/types.d.ts +1 -0
  210. package/browser/utils/types.d.ts.map +1 -0
  211. package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
  212. package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  213. package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  214. package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  215. package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
  216. package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
  217. package/browser/vendors.js +13940 -9389
  218. package/browser/verification/TapscriptVerificator.d.ts +10 -8
  219. package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
  220. package/build/_version.d.ts +1 -0
  221. package/build/_version.d.ts.map +1 -0
  222. package/build/_version.js +1 -0
  223. package/build/_version.js.map +1 -0
  224. package/build/abi/ABICoder.d.ts +1 -1
  225. package/build/abi/ABICoder.d.ts.map +1 -0
  226. package/build/abi/ABICoder.js +9 -10
  227. package/build/abi/ABICoder.js.map +1 -0
  228. package/build/branded/Branded.d.ts +4 -0
  229. package/build/branded/Branded.d.ts.map +1 -0
  230. package/build/branded/Branded.js +2 -0
  231. package/build/branded/Branded.js.map +1 -0
  232. package/build/buffer/BinaryReader.d.ts +121 -2
  233. package/build/buffer/BinaryReader.d.ts.map +1 -0
  234. package/build/buffer/BinaryReader.js +129 -5
  235. package/build/buffer/BinaryReader.js.map +1 -0
  236. package/build/buffer/BinaryWriter.d.ts +52 -2
  237. package/build/buffer/BinaryWriter.d.ts.map +1 -0
  238. package/build/buffer/BinaryWriter.js +62 -2
  239. package/build/buffer/BinaryWriter.js.map +1 -0
  240. package/build/bytecode/Compressor.d.ts +12 -0
  241. package/build/bytecode/Compressor.d.ts.map +1 -0
  242. package/build/bytecode/Compressor.js +17 -5
  243. package/build/bytecode/Compressor.js.map +1 -0
  244. package/build/chain/ChainData.d.ts +2 -2
  245. package/build/chain/ChainData.d.ts.map +1 -0
  246. package/build/chain/ChainData.js +35 -17
  247. package/build/chain/ChainData.js.map +1 -0
  248. package/build/consensus/Consensus.d.ts +11 -3
  249. package/build/consensus/Consensus.d.ts.map +1 -0
  250. package/build/consensus/Consensus.js +8 -0
  251. package/build/consensus/Consensus.js.map +1 -0
  252. package/build/consensus/ConsensusConfig.d.ts +2 -1
  253. package/build/consensus/ConsensusConfig.d.ts.map +1 -0
  254. package/build/consensus/ConsensusConfig.js +1 -0
  255. package/build/consensus/ConsensusConfig.js.map +1 -0
  256. package/build/consensus/IConsensusConfig.d.ts +1 -0
  257. package/build/consensus/IConsensusConfig.d.ts.map +1 -0
  258. package/build/consensus/IConsensusConfig.js +2 -1
  259. package/build/consensus/IConsensusConfig.js.map +1 -0
  260. package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
  261. package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  262. package/build/consensus/metadata/RoswellConsensus.js +2 -0
  263. package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
  264. package/build/crypto/crypto.d.ts +1 -0
  265. package/build/crypto/crypto.d.ts.map +1 -0
  266. package/build/crypto/crypto.js +1 -0
  267. package/build/crypto/crypto.js.map +1 -0
  268. package/build/deterministic/AddressMap.d.ts +6 -1
  269. package/build/deterministic/AddressMap.d.ts.map +1 -0
  270. package/build/deterministic/AddressMap.js +8 -0
  271. package/build/deterministic/AddressMap.js.map +1 -0
  272. package/build/deterministic/AddressSet.d.ts +3 -1
  273. package/build/deterministic/AddressSet.d.ts.map +1 -0
  274. package/build/deterministic/AddressSet.js +7 -0
  275. package/build/deterministic/AddressSet.js.map +1 -0
  276. package/build/deterministic/CustomMap.d.ts +3 -1
  277. package/build/deterministic/CustomMap.d.ts.map +1 -0
  278. package/build/deterministic/CustomMap.js +65 -47
  279. package/build/deterministic/CustomMap.js.map +1 -0
  280. package/build/deterministic/DeterministicMap.d.ts +4 -2
  281. package/build/deterministic/DeterministicMap.d.ts.map +1 -0
  282. package/build/deterministic/DeterministicMap.js +24 -27
  283. package/build/deterministic/DeterministicMap.js.map +1 -0
  284. package/build/deterministic/DeterministicSet.d.ts +3 -1
  285. package/build/deterministic/DeterministicSet.d.ts.map +1 -0
  286. package/build/deterministic/DeterministicSet.js +6 -0
  287. package/build/deterministic/DeterministicSet.js.map +1 -0
  288. package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
  289. package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  290. package/build/deterministic/ExtendedAddressMap.js +18 -2
  291. package/build/deterministic/ExtendedAddressMap.js.map +1 -0
  292. package/build/deterministic/FastMap.d.ts +7 -1
  293. package/build/deterministic/FastMap.d.ts.map +1 -0
  294. package/build/deterministic/FastMap.js +7 -2
  295. package/build/deterministic/FastMap.js.map +1 -0
  296. package/build/ecc/backend.d.ts +13 -0
  297. package/build/ecc/backend.d.ts.map +1 -0
  298. package/build/ecc/backend.js +15 -0
  299. package/build/ecc/backend.js.map +1 -0
  300. package/build/epoch/ChallengeSolution.d.ts +34 -2
  301. package/build/epoch/ChallengeSolution.d.ts.map +1 -0
  302. package/build/epoch/ChallengeSolution.js +52 -0
  303. package/build/epoch/ChallengeSolution.js.map +1 -0
  304. package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  305. package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  306. package/build/epoch/interfaces/IChallengeSolution.js +2 -1
  307. package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
  308. package/build/epoch/validator/EpochValidator.d.ts +38 -8
  309. package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
  310. package/build/epoch/validator/EpochValidator.js +45 -19
  311. package/build/epoch/validator/EpochValidator.js.map +1 -0
  312. package/build/event/NetEvent.d.ts +1 -0
  313. package/build/event/NetEvent.d.ts.map +1 -0
  314. package/build/event/NetEvent.js +3 -0
  315. package/build/event/NetEvent.js.map +1 -0
  316. package/build/generators/AddressGenerator.d.ts +4 -3
  317. package/build/generators/AddressGenerator.d.ts.map +1 -0
  318. package/build/generators/AddressGenerator.js +10 -3
  319. package/build/generators/AddressGenerator.js.map +1 -0
  320. package/build/generators/Features.d.ts +4 -3
  321. package/build/generators/Features.d.ts.map +1 -0
  322. package/build/generators/Features.js +1 -0
  323. package/build/generators/Features.js.map +1 -0
  324. package/build/generators/Generator.d.ts +47 -11
  325. package/build/generators/Generator.d.ts.map +1 -0
  326. package/build/generators/Generator.js +48 -12
  327. package/build/generators/Generator.js.map +1 -0
  328. package/build/generators/MLDSAData.d.ts +1 -0
  329. package/build/generators/MLDSAData.d.ts.map +1 -0
  330. package/build/generators/MLDSAData.js +1 -0
  331. package/build/generators/MLDSAData.js.map +1 -0
  332. package/build/generators/builders/CalldataGenerator.d.ts +27 -6
  333. package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
  334. package/build/generators/builders/CalldataGenerator.js +33 -4
  335. package/build/generators/builders/CalldataGenerator.js.map +1 -0
  336. package/build/generators/builders/CustomGenerator.d.ts +13 -3
  337. package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
  338. package/build/generators/builders/CustomGenerator.js +11 -0
  339. package/build/generators/builders/CustomGenerator.js.map +1 -0
  340. package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
  341. package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  342. package/build/generators/builders/DeploymentGenerator.js +18 -2
  343. package/build/generators/builders/DeploymentGenerator.js.map +1 -0
  344. package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
  345. package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  346. package/build/generators/builders/HashCommitmentGenerator.js +193 -27
  347. package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
  348. package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
  349. package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  350. package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
  351. package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
  352. package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
  353. package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  354. package/build/generators/builders/MultiSignGenerator.js +20 -10
  355. package/build/generators/builders/MultiSignGenerator.js.map +1 -0
  356. package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
  357. package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  358. package/build/generators/builders/P2WDAGenerator.js +41 -2
  359. package/build/generators/builders/P2WDAGenerator.js.map +1 -0
  360. package/build/index.d.ts +1 -0
  361. package/build/index.d.ts.map +1 -0
  362. package/build/index.js +1 -0
  363. package/build/index.js.map +1 -0
  364. package/build/keypair/Address.d.ts +284 -14
  365. package/build/keypair/Address.d.ts.map +1 -0
  366. package/build/keypair/Address.js +447 -129
  367. package/build/keypair/Address.js.map +1 -0
  368. package/build/keypair/AddressVerificator.d.ts +7 -6
  369. package/build/keypair/AddressVerificator.d.ts.map +1 -0
  370. package/build/keypair/AddressVerificator.js +6 -5
  371. package/build/keypair/AddressVerificator.js.map +1 -0
  372. package/build/keypair/EcKeyPair.d.ts +185 -23
  373. package/build/keypair/EcKeyPair.d.ts.map +1 -0
  374. package/build/keypair/EcKeyPair.js +223 -54
  375. package/build/keypair/EcKeyPair.js.map +1 -0
  376. package/build/keypair/MessageSigner.d.ts +18 -17
  377. package/build/keypair/MessageSigner.d.ts.map +1 -0
  378. package/build/keypair/MessageSigner.js +34 -25
  379. package/build/keypair/MessageSigner.js.map +1 -0
  380. package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
  381. package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  382. package/build/keypair/Secp256k1PointDeriver.js +66 -0
  383. package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
  384. package/build/keypair/Wallet.d.ts +29 -15
  385. package/build/keypair/Wallet.d.ts.map +1 -0
  386. package/build/keypair/Wallet.js +48 -14
  387. package/build/keypair/Wallet.js.map +1 -0
  388. package/build/keypair/interfaces/IWallet.d.ts +19 -0
  389. package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
  390. package/build/keypair/interfaces/IWallet.js +1 -0
  391. package/build/keypair/interfaces/IWallet.js.map +1 -0
  392. package/build/metadata/ContractBaseMetadata.d.ts +10 -2
  393. package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
  394. package/build/metadata/ContractBaseMetadata.js +10 -1
  395. package/build/metadata/ContractBaseMetadata.js.map +1 -0
  396. package/build/mnemonic/BIPStandard.d.ts +59 -0
  397. package/build/mnemonic/BIPStandard.d.ts.map +1 -0
  398. package/build/mnemonic/BIPStandard.js +59 -0
  399. package/build/mnemonic/BIPStandard.js.map +1 -0
  400. package/build/mnemonic/Mnemonic.d.ts +16 -4
  401. package/build/mnemonic/Mnemonic.d.ts.map +1 -0
  402. package/build/mnemonic/Mnemonic.js +36 -8
  403. package/build/mnemonic/Mnemonic.js.map +1 -0
  404. package/build/mnemonic/MnemonicStrength.d.ts +6 -0
  405. package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
  406. package/build/mnemonic/MnemonicStrength.js +6 -0
  407. package/build/mnemonic/MnemonicStrength.js.map +1 -0
  408. package/build/network/ChainId.d.ts +1 -0
  409. package/build/network/ChainId.d.ts.map +1 -0
  410. package/build/network/ChainId.js +1 -0
  411. package/build/network/ChainId.js.map +1 -0
  412. package/build/opnet.d.ts +26 -3
  413. package/build/opnet.d.ts.map +1 -0
  414. package/build/opnet.js +23 -0
  415. package/build/opnet.js.map +1 -0
  416. package/build/p2wda/P2WDADetector.d.ts +38 -11
  417. package/build/p2wda/P2WDADetector.d.ts.map +1 -0
  418. package/build/p2wda/P2WDADetector.js +43 -10
  419. package/build/p2wda/P2WDADetector.js.map +1 -0
  420. package/build/polyfill/disposable.d.ts +16 -0
  421. package/build/polyfill/disposable.d.ts.map +1 -0
  422. package/build/polyfill/disposable.js +23 -0
  423. package/build/polyfill/disposable.js.map +1 -0
  424. package/build/signer/AddressRotation.d.ts +37 -1
  425. package/build/signer/AddressRotation.d.ts.map +1 -0
  426. package/build/signer/AddressRotation.js +16 -0
  427. package/build/signer/AddressRotation.js.map +1 -0
  428. package/build/signer/IRotationSigner.d.ts +27 -3
  429. package/build/signer/IRotationSigner.d.ts.map +1 -0
  430. package/build/signer/IRotationSigner.js +2 -1
  431. package/build/signer/IRotationSigner.js.map +1 -0
  432. package/build/signer/ParallelSignerAdapter.d.ts +14 -0
  433. package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
  434. package/build/signer/ParallelSignerAdapter.js +51 -0
  435. package/build/signer/ParallelSignerAdapter.js.map +1 -0
  436. package/build/signer/SignerUtils.d.ts +11 -4
  437. package/build/signer/SignerUtils.d.ts.map +1 -0
  438. package/build/signer/SignerUtils.js +16 -0
  439. package/build/signer/SignerUtils.js.map +1 -0
  440. package/build/signer/TweakedSigner.d.ts +28 -4
  441. package/build/signer/TweakedSigner.d.ts.map +1 -0
  442. package/build/signer/TweakedSigner.js +24 -6
  443. package/build/signer/TweakedSigner.js.map +1 -0
  444. package/build/transaction/ContractAddress.d.ts +2 -2
  445. package/build/transaction/ContractAddress.d.ts.map +1 -0
  446. package/build/transaction/ContractAddress.js +4 -8
  447. package/build/transaction/ContractAddress.js.map +1 -0
  448. package/build/transaction/TransactionFactory.d.ts +147 -9
  449. package/build/transaction/TransactionFactory.d.ts.map +1 -0
  450. package/build/transaction/TransactionFactory.js +145 -26
  451. package/build/transaction/TransactionFactory.js.map +1 -0
  452. package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
  453. package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  454. package/build/transaction/browser/BrowserSignerBase.js +7 -0
  455. package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
  456. package/build/transaction/browser/WalletNetworks.d.ts +1 -0
  457. package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
  458. package/build/transaction/browser/WalletNetworks.js +1 -0
  459. package/build/transaction/browser/WalletNetworks.js.map +1 -0
  460. package/build/transaction/browser/Web3Provider.d.ts +30 -3
  461. package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
  462. package/build/transaction/browser/Web3Provider.js +1 -0
  463. package/build/transaction/browser/Web3Provider.js.map +1 -0
  464. package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
  465. package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  466. package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
  467. package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
  468. package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
  469. package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  470. package/build/transaction/browser/extensions/XverseSigner.js +25 -15
  471. package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
  472. package/build/transaction/browser/types/OPWallet.d.ts +12 -2
  473. package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
  474. package/build/transaction/browser/types/OPWallet.js +4 -0
  475. package/build/transaction/browser/types/OPWallet.js.map +1 -0
  476. package/build/transaction/browser/types/Unisat.d.ts +2 -1
  477. package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
  478. package/build/transaction/browser/types/Unisat.js +2 -0
  479. package/build/transaction/browser/types/Unisat.js.map +1 -0
  480. package/build/transaction/browser/types/Xverse.d.ts +1 -0
  481. package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
  482. package/build/transaction/browser/types/Xverse.js +1 -0
  483. package/build/transaction/browser/types/Xverse.js.map +1 -0
  484. package/build/transaction/builders/CancelTransaction.d.ts +31 -6
  485. package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
  486. package/build/transaction/builders/CancelTransaction.js +116 -33
  487. package/build/transaction/builders/CancelTransaction.js.map +1 -0
  488. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  489. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  490. package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
  491. package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
  492. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
  493. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  494. package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
  495. package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
  496. package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
  497. package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  498. package/build/transaction/builders/CustomScriptTransaction.js +176 -39
  499. package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
  500. package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
  501. package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  502. package/build/transaction/builders/DeploymentTransaction.js +194 -51
  503. package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
  504. package/build/transaction/builders/FundingTransaction.d.ts +5 -4
  505. package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
  506. package/build/transaction/builders/FundingTransaction.js +15 -8
  507. package/build/transaction/builders/FundingTransaction.js.map +1 -0
  508. package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
  509. package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  510. package/build/transaction/builders/InteractionTransaction.js +18 -5
  511. package/build/transaction/builders/InteractionTransaction.js.map +1 -0
  512. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
  513. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  514. package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
  515. package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
  516. package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
  517. package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  518. package/build/transaction/builders/MultiSignTransaction.js +201 -76
  519. package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
  520. package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
  521. package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  522. package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
  523. package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
  524. package/build/transaction/builders/TransactionBuilder.d.ts +249 -19
  525. package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  526. package/build/transaction/builders/TransactionBuilder.js +377 -60
  527. package/build/transaction/builders/TransactionBuilder.js.map +1 -0
  528. package/build/transaction/enums/TransactionType.d.ts +1 -0
  529. package/build/transaction/enums/TransactionType.d.ts.map +1 -0
  530. package/build/transaction/enums/TransactionType.js +1 -0
  531. package/build/transaction/enums/TransactionType.js.map +1 -0
  532. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
  533. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  534. package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
  535. package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
  536. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
  537. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  538. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
  539. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
  540. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
  541. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  542. package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
  543. package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
  544. package/build/transaction/interfaces/ITransactionParameters.d.ts +27 -15
  545. package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  546. package/build/transaction/interfaces/ITransactionParameters.js +1 -0
  547. package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
  548. package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
  549. package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  550. package/build/transaction/interfaces/ITransactionResponses.js +1 -0
  551. package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
  552. package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
  553. package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  554. package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
  555. package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
  556. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
  557. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  558. package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
  559. package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
  560. package/build/transaction/interfaces/Tap.d.ts +4 -3
  561. package/build/transaction/interfaces/Tap.d.ts.map +1 -0
  562. package/build/transaction/interfaces/Tap.js +1 -0
  563. package/build/transaction/interfaces/Tap.js.map +1 -0
  564. package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  565. package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  566. package/build/transaction/mineable/IP2WSHAddress.js +1 -0
  567. package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
  568. package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
  569. package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  570. package/build/transaction/mineable/TimelockGenerator.js +12 -3
  571. package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
  572. package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
  573. package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  574. package/build/transaction/offline/OfflineTransactionManager.js +192 -8
  575. package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
  576. package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
  577. package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  578. package/build/transaction/offline/TransactionReconstructor.js +111 -75
  579. package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
  580. package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
  581. package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  582. package/build/transaction/offline/TransactionSerializer.js +206 -95
  583. package/build/transaction/offline/TransactionSerializer.js.map +1 -0
  584. package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
  585. package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  586. package/build/transaction/offline/TransactionStateCapture.js +124 -60
  587. package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
  588. package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
  589. package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  590. package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
  591. package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
  592. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
  593. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  594. package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
  595. package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
  596. package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
  597. package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  598. package/build/transaction/psbt/PSBTTypes.js +1 -0
  599. package/build/transaction/psbt/PSBTTypes.js.map +1 -0
  600. package/build/transaction/shared/P2TR_MS.d.ts +11 -2
  601. package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
  602. package/build/transaction/shared/P2TR_MS.js +10 -0
  603. package/build/transaction/shared/P2TR_MS.js.map +1 -0
  604. package/build/transaction/shared/TweakedTransaction.d.ts +281 -38
  605. package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  606. package/build/transaction/shared/TweakedTransaction.js +576 -114
  607. package/build/transaction/shared/TweakedTransaction.js.map +1 -0
  608. package/build/transaction/utils/WitnessUtils.d.ts +7 -1
  609. package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
  610. package/build/transaction/utils/WitnessUtils.js +17 -3
  611. package/build/transaction/utils/WitnessUtils.js.map +1 -0
  612. package/build/tsconfig.build.tsbuildinfo +1 -1
  613. package/build/utils/BitcoinUtils.d.ts +19 -0
  614. package/build/utils/BitcoinUtils.d.ts.map +1 -0
  615. package/build/utils/BitcoinUtils.js +19 -0
  616. package/build/utils/BitcoinUtils.js.map +1 -0
  617. package/build/utils/BufferHelper.d.ts +2 -1
  618. package/build/utils/BufferHelper.d.ts.map +1 -0
  619. package/build/utils/BufferHelper.js +38 -32
  620. package/build/utils/BufferHelper.js.map +1 -0
  621. package/build/utils/StringToBuffer.d.ts +1 -0
  622. package/build/utils/StringToBuffer.d.ts.map +1 -0
  623. package/build/utils/StringToBuffer.js +1 -0
  624. package/build/utils/StringToBuffer.js.map +1 -0
  625. package/build/utils/lengths.d.ts +1 -0
  626. package/build/utils/lengths.d.ts.map +1 -0
  627. package/build/utils/lengths.js +1 -0
  628. package/build/utils/lengths.js.map +1 -0
  629. package/build/utils/types.d.ts +1 -0
  630. package/build/utils/types.d.ts.map +1 -0
  631. package/build/utils/types.js +2 -1
  632. package/build/utils/types.js.map +1 -0
  633. package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
  634. package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  635. package/build/utxo/OPNetLimitedProvider.js +41 -3
  636. package/build/utxo/OPNetLimitedProvider.js.map +1 -0
  637. package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  638. package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  639. package/build/utxo/interfaces/BroadcastResponse.js +1 -0
  640. package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
  641. package/build/utxo/interfaces/IUTXO.d.ts +13 -7
  642. package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
  643. package/build/utxo/interfaces/IUTXO.js +1 -0
  644. package/build/utxo/interfaces/IUTXO.js.map +1 -0
  645. package/build/verification/TapscriptVerificator.d.ts +12 -10
  646. package/build/verification/TapscriptVerificator.d.ts.map +1 -0
  647. package/build/verification/TapscriptVerificator.js +28 -38
  648. package/build/verification/TapscriptVerificator.js.map +1 -0
  649. package/eslint.config.js +0 -1
  650. package/package.json +16 -39
  651. package/src/abi/ABICoder.ts +0 -13
  652. package/src/branded/Branded.ts +5 -0
  653. package/src/buffer/BinaryReader.ts +7 -7
  654. package/src/buffer/BinaryWriter.ts +29 -24
  655. package/src/bytecode/Compressor.ts +1 -1
  656. package/src/chain/ChainData.ts +34 -27
  657. package/src/consensus/ConsensusConfig.ts +1 -1
  658. package/src/consensus/IConsensusConfig.ts +0 -17
  659. package/src/consensus/metadata/RoswellConsensus.ts +1 -17
  660. package/src/crypto/crypto-browser.js +3 -4
  661. package/src/deterministic/AddressMap.ts +5 -1
  662. package/src/deterministic/AddressSet.ts +5 -1
  663. package/src/deterministic/CustomMap.ts +6 -2
  664. package/src/deterministic/DeterministicMap.ts +8 -4
  665. package/src/deterministic/DeterministicSet.ts +6 -2
  666. package/src/deterministic/ExtendedAddressMap.ts +9 -4
  667. package/src/deterministic/FastMap.ts +9 -5
  668. package/src/ecc/backend.ts +17 -0
  669. package/src/epoch/ChallengeSolution.ts +3 -3
  670. package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
  671. package/src/epoch/validator/EpochValidator.ts +24 -43
  672. package/src/generators/AddressGenerator.ts +6 -6
  673. package/src/generators/Features.ts +3 -3
  674. package/src/generators/Generator.ts +42 -26
  675. package/src/generators/builders/CalldataGenerator.ts +26 -24
  676. package/src/generators/builders/CustomGenerator.ts +4 -4
  677. package/src/generators/builders/DeploymentGenerator.ts +25 -23
  678. package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
  679. package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
  680. package/src/generators/builders/MultiSignGenerator.ts +12 -12
  681. package/src/generators/builders/P2WDAGenerator.ts +10 -10
  682. package/src/keypair/Address.ts +115 -72
  683. package/src/keypair/AddressVerificator.ts +16 -147
  684. package/src/keypair/EcKeyPair.ts +109 -118
  685. package/src/keypair/MessageSigner.ts +70 -150
  686. package/src/keypair/Wallet.ts +59 -240
  687. package/src/metadata/ContractBaseMetadata.ts +2 -2
  688. package/src/mnemonic/Mnemonic.ts +32 -221
  689. package/src/opnet.ts +12 -6
  690. package/src/p2wda/P2WDADetector.ts +23 -72
  691. package/src/polyfill/disposable.ts +29 -0
  692. package/src/signer/AddressRotation.ts +1 -1
  693. package/src/signer/IRotationSigner.ts +3 -3
  694. package/src/signer/ParallelSignerAdapter.ts +59 -0
  695. package/src/signer/SignerUtils.ts +4 -4
  696. package/src/signer/TweakedSigner.ts +28 -13
  697. package/src/transaction/ContractAddress.ts +3 -7
  698. package/src/transaction/TransactionFactory.ts +28 -50
  699. package/src/transaction/browser/BrowserSignerBase.ts +12 -6
  700. package/src/transaction/browser/Web3Provider.ts +3 -3
  701. package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
  702. package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
  703. package/src/transaction/browser/types/OPWallet.ts +2 -2
  704. package/src/transaction/browser/types/Unisat.ts +1 -1
  705. package/src/transaction/builders/CancelTransaction.ts +59 -24
  706. package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
  707. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
  708. package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
  709. package/src/transaction/builders/DeploymentTransaction.ts +82 -63
  710. package/src/transaction/builders/FundingTransaction.ts +11 -11
  711. package/src/transaction/builders/InteractionTransaction.ts +10 -10
  712. package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
  713. package/src/transaction/builders/MultiSignTransaction.ts +68 -61
  714. package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
  715. package/src/transaction/builders/TransactionBuilder.ts +101 -79
  716. package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
  717. package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
  718. package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
  719. package/src/transaction/interfaces/ITransactionParameters.ts +15 -15
  720. package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
  721. package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
  722. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
  723. package/src/transaction/interfaces/Tap.ts +3 -3
  724. package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
  725. package/src/transaction/mineable/TimelockGenerator.ts +19 -12
  726. package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
  727. package/src/transaction/offline/TransactionReconstructor.ts +83 -91
  728. package/src/transaction/offline/TransactionSerializer.ts +151 -101
  729. package/src/transaction/offline/TransactionStateCapture.ts +83 -79
  730. package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
  731. package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
  732. package/src/transaction/shared/P2TR_MS.ts +4 -4
  733. package/src/transaction/shared/TweakedTransaction.ts +326 -124
  734. package/src/transaction/utils/WitnessUtils.ts +18 -9
  735. package/src/utils/BufferHelper.ts +39 -37
  736. package/src/utxo/OPNetLimitedProvider.ts +7 -7
  737. package/src/utxo/interfaces/IUTXO.ts +7 -7
  738. package/src/verification/TapscriptVerificator.ts +73 -86
  739. package/test/address-rotation.test.ts +24 -24
  740. package/test/address.test.ts +12 -12
  741. package/test/addressmap.test.ts +30 -30
  742. package/test/binary-reader-writer.test.ts +8 -8
  743. package/test/browser/offline-transaction.test.ts +2206 -0
  744. package/test/browser/parallel-signing.test.ts +316 -0
  745. package/test/browser/setup.ts +11 -0
  746. package/test/browser/transaction-signing.test.ts +416 -0
  747. package/test/buffer-helper.test.ts +287 -0
  748. package/test/derivePath.test.ts +4 -3
  749. package/test/disposable.test.ts +279 -0
  750. package/test/fastmap-setall.test.ts +1 -1
  751. package/test/fastmap.test.ts +3 -3
  752. package/test/messagesigner-mldsa.test.ts +3 -3
  753. package/test/messagesigner-schnorr.test.ts +9 -9
  754. package/test/offline-transaction.test.ts +461 -288
  755. package/test/old/FastBigIntMap.ts +3 -3
  756. package/test/oldfastmap.test.ts +6 -6
  757. package/test/transaction-builders.test.ts +321 -0
  758. package/tsconfig.base.json +34 -18
  759. package/tsconfig.browser.json +15 -0
  760. package/tsconfig.json +3 -8
  761. package/vite.config.browser.ts +4 -5
  762. package/vitest.config.browser.ts +68 -0
  763. package/vitest.config.ts +1 -1
  764. package/browser/valibot.js +0 -4948
  765. package/tsconfig.webpack.json +0 -18
@@ -1,35 +1,73 @@
1
- import * as ecc from '@bitcoinerlab/secp256k1';
1
+ import { backend, eccLib } from '../ecc/backend.js';
2
2
  import bip32, { BIP32Factory, MLDSASecurityLevel, QuantumBIP32Factory, } from '@btc-vision/bip32';
3
- import bitcoin, { address, fromOutputScript, initEccLib, networks, opcodes, payments, script, toXOnly, } from '@btc-vision/bitcoin';
4
- import { ECPairFactory } from 'ecpair';
5
- import { secp256k1 } from '@noble/curves/secp256k1';
6
- import { mod } from '@noble/curves/abstract/modular';
7
- import { sha256 } from '@noble/hashes/sha2';
8
- import { bytesToNumberBE, concatBytes, randomBytes, utf8ToBytes } from '@noble/curves/utils.js';
9
- import { Buffer } from 'buffer';
10
- initEccLib(ecc);
3
+ import bitcoin, { address, concat, fromHex, fromOutputScript, initEccLib, networks, opcodes, payments, script, toHex, toXOnly, } from '@btc-vision/bitcoin';
4
+ import { ECPairSigner } from '@btc-vision/ecpair';
5
+ import { secp256k1 } from '@noble/curves/secp256k1.js';
6
+ import { mod } from '@noble/curves/abstract/modular.js';
7
+ import { sha256 } from '@noble/hashes/sha2.js';
8
+ import { bytesToNumberBE, concatBytes, randomBytes } from '@noble/curves/utils.js';
9
+ initEccLib(eccLib);
11
10
  const BIP32factory = typeof bip32 === 'function' ? bip32 : BIP32Factory;
12
11
  if (!BIP32factory) {
13
12
  throw new Error('Failed to load BIP32 library');
14
13
  }
15
14
  const Point = secp256k1.Point;
16
15
  const CURVE_N = Point.Fn.ORDER;
17
- const TAP_TAG = utf8ToBytes('TapTweak');
16
+ const TAP_TAG = new Uint8Array([84, 97, 112, 84, 119, 101, 97, 107]); // 'TapTweak' in UTF-8
18
17
  const TAP_TAG_HASH = sha256(TAP_TAG);
19
18
  function tapTweakHash(x) {
20
19
  return sha256(concatBytes(TAP_TAG_HASH, TAP_TAG_HASH, x));
21
20
  }
21
+ /**
22
+ * Class for handling EC key pairs
23
+ * @class EcKeyPair
24
+ * @module EcKeyPair
25
+ * @typicalname EcKeyPair
26
+ * @example import { EcKeyPair } from '@btc-vision/transaction';
27
+ */
22
28
  export class EcKeyPair {
29
+ static BIP32 = BIP32factory(backend);
30
+ static ECPairSigner = ECPairSigner;
31
+ // Initialize precomputation for better performance
32
+ static {
33
+ // Precompute tables for the base point for better performance
34
+ Point.BASE.precompute(8);
35
+ }
36
+ /**
37
+ * Generate a keypair from a WIF
38
+ * @param {string} wif - The WIF to use
39
+ * @param {Network} network - The network to use
40
+ * @returns {UniversalSigner} - The generated keypair
41
+ */
23
42
  static fromWIF(wif, network = networks.bitcoin) {
24
- return this.ECPair.fromWIF(wif, network);
43
+ return ECPairSigner.fromWIF(backend, wif, network);
25
44
  }
45
+ /**
46
+ * Generate a keypair from a private key
47
+ * @param {Uint8Array} privateKey - The private key to use
48
+ * @param {Network} network - The network to use
49
+ * @returns {UniversalSigner} - The generated keypair
50
+ */
26
51
  static fromPrivateKey(privateKey, network = networks.bitcoin) {
27
- return this.ECPair.fromPrivateKey(!Buffer.isBuffer(privateKey) ? Buffer.from(privateKey) : privateKey, { network });
52
+ return ECPairSigner.fromPrivateKey(backend, privateKey, network);
28
53
  }
54
+ /**
55
+ * Generate a keypair from a public key
56
+ * @param {Uint8Array} publicKey - The public key to use
57
+ * @param {Network} network - The network to use
58
+ * @returns {UniversalSigner} - The generated keypair
59
+ */
29
60
  static fromPublicKey(publicKey, network = networks.bitcoin) {
30
- const buf = !Buffer.isBuffer(publicKey) ? Buffer.from(publicKey) : publicKey;
31
- return this.ECPair.fromPublicKey(buf, { network });
61
+ return ECPairSigner.fromPublicKey(backend, publicKey, network);
32
62
  }
63
+ /**
64
+ * Generate a multi-sig address
65
+ * @param {Uint8Array[]} pubKeys - The public keys to use
66
+ * @param {number} minimumSignatureRequired - The minimum number of signatures required
67
+ * @param {Network} network - The network to use
68
+ * @returns {string} - The generated address
69
+ * @throws {Error} - If the address cannot be generated
70
+ */
33
71
  static generateMultiSigAddress(pubKeys, minimumSignatureRequired, network = networks.bitcoin) {
34
72
  const publicKeys = this.verifyPubKeys(pubKeys, network);
35
73
  if (publicKeys.length !== pubKeys.length)
@@ -46,37 +84,64 @@ export class EcKeyPair {
46
84
  }
47
85
  return address;
48
86
  }
87
+ /**
88
+ * Verify public keys and return the public keys
89
+ * @param {Uint8Array[]} pubKeys - The public keys to verify
90
+ * @param {Network} network - The network to use
91
+ * @returns {Uint8Array[]} - The verified public keys
92
+ * @throws {Error} - If the key cannot be regenerated
93
+ */
49
94
  static verifyPubKeys(pubKeys, network = networks.bitcoin) {
50
95
  return pubKeys.map((pubKey) => {
51
96
  const key = EcKeyPair.fromPublicKey(pubKey, network);
52
97
  if (!key) {
53
98
  throw new Error('Failed to regenerate key');
54
99
  }
55
- return Buffer.from(key.publicKey);
100
+ return key.publicKey;
56
101
  });
57
102
  }
103
+ /**
104
+ * Get a P2WPKH address from a keypair
105
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
106
+ * @param {Network} network - The network to use
107
+ * @returns {string} - The address
108
+ */
58
109
  static getP2WPKHAddress(keyPair, network = networks.bitcoin) {
59
- const res = payments.p2wpkh({ pubkey: Buffer.from(keyPair.publicKey), network: network });
110
+ const res = payments.p2wpkh({ pubkey: keyPair.publicKey, network: network });
60
111
  if (!res.address) {
61
112
  throw new Error('Failed to generate wallet');
62
113
  }
63
114
  return res.address;
64
115
  }
116
+ /**
117
+ * Get the address of a tweaked public key
118
+ * @param {string} tweakedPubKeyHex - The tweaked public key hex string
119
+ * @param {Network} network - The network to use
120
+ * @returns {string} - The address
121
+ * @throws {Error} - If the address cannot be generated
122
+ */
65
123
  static tweakedPubKeyToAddress(tweakedPubKeyHex, network) {
66
124
  if (tweakedPubKeyHex.startsWith('0x')) {
67
125
  tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
68
126
  }
69
- let tweakedPubKeyBuffer = Buffer.from(tweakedPubKeyHex, 'hex');
127
+ // Convert the tweaked public key hex string to a Uint8Array
128
+ let tweakedPubKeyBuffer = fromHex(tweakedPubKeyHex);
70
129
  if (tweakedPubKeyBuffer.length !== 32) {
71
130
  tweakedPubKeyBuffer = toXOnly(tweakedPubKeyBuffer);
72
131
  }
73
132
  return EcKeyPair.tweakedPubKeyBufferToAddress(tweakedPubKeyBuffer, network);
74
133
  }
134
+ /**
135
+ * Get the address of a tweaked public key
136
+ * @param {Uint8Array} tweakedPubKeyBuffer - The tweaked public key buffer
137
+ * @param {Network} network - The network to use
138
+ * @returns {string} - The address
139
+ * @throws {Error} - If the address cannot be generated
140
+ */
75
141
  static tweakedPubKeyBufferToAddress(tweakedPubKeyBuffer, network) {
142
+ // Generate the Taproot address using the p2tr payment method
76
143
  const { address } = payments.p2tr({
77
- pubkey: Buffer.isBuffer(tweakedPubKeyBuffer)
78
- ? tweakedPubKeyBuffer
79
- : Buffer.from(tweakedPubKeyBuffer),
144
+ pubkey: tweakedPubKeyBuffer,
80
145
  network: network,
81
146
  });
82
147
  if (!address) {
@@ -84,10 +149,18 @@ export class EcKeyPair {
84
149
  }
85
150
  return address;
86
151
  }
152
+ /**
153
+ * Generate a P2OP address
154
+ * @param bytes - The bytes to use for the P2OP address
155
+ * @param network - The network to use
156
+ * @param deploymentVersion - The deployment version (default is 0)
157
+ * @returns {string} - The generated P2OP address
158
+ */
87
159
  static p2op(bytes, network = networks.bitcoin, deploymentVersion = 0) {
88
- const witnessProgram = Buffer.concat([
89
- Buffer.from([deploymentVersion]),
90
- bitcoin.crypto.hash160(Buffer.from(bytes)),
160
+ // custom opnet contract addresses
161
+ const witnessProgram = concat([
162
+ new Uint8Array([deploymentVersion]),
163
+ bitcoin.crypto.hash160(bytes),
91
164
  ]);
92
165
  if (witnessProgram.length < 2 || witnessProgram.length > 40) {
93
166
  throw new Error('Witness program must be 2-40 bytes.');
@@ -95,11 +168,23 @@ export class EcKeyPair {
95
168
  const scriptData = script.compile([opcodes.OP_16, witnessProgram]);
96
169
  return fromOutputScript(scriptData, network);
97
170
  }
171
+ /**
172
+ * Get the address of a xOnly tweaked public key
173
+ * @param {string} tweakedPubKeyHex - The xOnly tweaked public key hex string
174
+ * @param {Network} network - The network to use
175
+ * @returns {string} - The address
176
+ * @throws {Error} - If the address cannot be generated
177
+ */
98
178
  static xOnlyTweakedPubKeyToAddress(tweakedPubKeyHex, network) {
99
179
  if (tweakedPubKeyHex.startsWith('0x')) {
100
180
  tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
101
181
  }
102
- const tweakedPubKeyBuffer = Buffer.from(tweakedPubKeyHex, 'hex');
182
+ // Convert the tweaked public key hex string to a Uint8Array
183
+ const tweakedPubKeyBuffer = fromHex(tweakedPubKeyHex);
184
+ if (tweakedPubKeyBuffer.length !== 32) {
185
+ throw new Error('Invalid xOnly public key length');
186
+ }
187
+ // Generate the Taproot address using the p2tr payment method
103
188
  const { address } = payments.p2tr({
104
189
  pubkey: tweakedPubKeyBuffer,
105
190
  network: network,
@@ -109,64 +194,107 @@ export class EcKeyPair {
109
194
  }
110
195
  return address;
111
196
  }
197
+ /**
198
+ * Tweak a public key
199
+ * @param {Uint8Array | string} pub - The public key to tweak
200
+ * @returns {Uint8Array} - The tweaked public key
201
+ * @throws {Error} - If the public key cannot be tweaked
202
+ */
112
203
  static tweakPublicKey(pub) {
113
204
  if (typeof pub === 'string' && pub.startsWith('0x'))
114
205
  pub = pub.slice(2);
115
- const P = Point.fromHex(pub);
206
+ const hexStr = typeof pub === 'string' ? pub : toHex(pub);
207
+ const P = Point.fromHex(hexStr);
116
208
  const Peven = (P.y & 1n) === 0n ? P : P.negate();
117
- const xBytes = Buffer.from(Peven.toBytes(true).subarray(1));
209
+ const xBytes = Peven.toBytes(true).subarray(1);
118
210
  const tBytes = tapTweakHash(xBytes);
119
211
  const t = mod(bytesToNumberBE(tBytes), CURVE_N);
120
212
  const Q = Peven.add(Point.BASE.multiply(t));
121
- return Buffer.from(Q.toBytes(true));
213
+ return Q.toBytes(true);
122
214
  }
215
+ /**
216
+ * Tweak a batch of public keys
217
+ * @param {readonly Uint8Array[]} pubkeys - The public keys to tweak
218
+ * @param {bigint} tweakScalar - The scalar to use for tweaking
219
+ * @returns {Uint8Array[]} - The tweaked public keys
220
+ */
123
221
  static tweakBatchSharedT(pubkeys, tweakScalar) {
124
222
  const T = Point.BASE.multiply(tweakScalar);
125
223
  return pubkeys.map((bytes) => {
126
- const P = Point.fromHex(bytes);
224
+ const P = Point.fromHex(toHex(bytes));
127
225
  const P_even = P.y % 2n === 0n ? P : P.negate();
128
226
  const Q = P_even.add(T);
129
227
  return Q.toBytes(true);
130
228
  });
131
229
  }
230
+ /**
231
+ * Generate a random wallet with both classical and quantum keys
232
+ *
233
+ * @param network - The network to use
234
+ * @param securityLevel - The ML-DSA security level for quantum keys (default: LEVEL2/44)
235
+ * @returns An object containing both classical and quantum key information
236
+ */
132
237
  static generateWallet(network = networks.bitcoin, securityLevel = MLDSASecurityLevel.LEVEL2) {
133
- const keyPair = this.ECPair.makeRandom({
134
- network: network,
238
+ const keyPair = ECPairSigner.makeRandom(backend, network, {
135
239
  rng: (size) => {
136
- const bytes = randomBytes(size);
137
- return Buffer.from(bytes);
240
+ return randomBytes(size);
138
241
  },
139
242
  });
140
243
  const wallet = this.getP2WPKHAddress(keyPair, network);
141
244
  if (!wallet) {
142
245
  throw new Error('Failed to generate wallet');
143
246
  }
247
+ // Generate random quantum keypair with network
144
248
  const quantumKeyPair = this.generateQuantumKeyPair(securityLevel, network);
145
249
  return {
146
250
  address: wallet,
147
251
  privateKey: keyPair.toWIF(),
148
- publicKey: Buffer.from(keyPair.publicKey).toString('hex'),
149
- quantumPrivateKey: Buffer.from(quantumKeyPair.privateKey).toString('hex'),
150
- quantumPublicKey: Buffer.from(quantumKeyPair.publicKey).toString('hex'),
252
+ publicKey: toHex(keyPair.publicKey),
253
+ quantumPrivateKey: toHex(quantumKeyPair.privateKey),
254
+ quantumPublicKey: toHex(quantumKeyPair.publicKey),
151
255
  };
152
256
  }
257
+ /**
258
+ * Generate a random quantum ML-DSA keypair
259
+ *
260
+ * This creates a standalone quantum-resistant keypair without using BIP32 derivation.
261
+ * The keys are generated using cryptographically secure random bytes.
262
+ *
263
+ * @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
264
+ * @param network - The Bitcoin network (default: bitcoin mainnet)
265
+ * @returns A random ML-DSA keypair
266
+ */
153
267
  static generateQuantumKeyPair(securityLevel = MLDSASecurityLevel.LEVEL2, network = networks.bitcoin) {
268
+ // Generate random seed for quantum key generation
154
269
  const randomSeed = randomBytes(64);
155
- const quantumRoot = QuantumBIP32Factory.fromSeed(Buffer.from(randomSeed), network, securityLevel);
270
+ // Create a quantum root from the random seed with network parameter
271
+ const quantumRoot = QuantumBIP32Factory.fromSeed(randomSeed, network, securityLevel);
156
272
  if (!quantumRoot.privateKey || !quantumRoot.publicKey) {
157
273
  throw new Error('Failed to generate quantum keypair');
158
274
  }
159
275
  return {
160
- privateKey: Buffer.from(quantumRoot.privateKey),
161
- publicKey: Buffer.from(quantumRoot.publicKey),
276
+ privateKey: new Uint8Array(quantumRoot.privateKey),
277
+ publicKey: new Uint8Array(quantumRoot.publicKey),
162
278
  };
163
279
  }
280
+ /**
281
+ * Verify that a contract address is a valid p2tr address
282
+ * @param {string} contractAddress - The contract address to verify
283
+ * @param {Network} network - The network to use
284
+ * @returns {boolean} - Whether the address is valid
285
+ */
164
286
  static verifyContractAddress(contractAddress, network = networks.bitcoin) {
165
287
  return !!address.toOutputScript(contractAddress, network);
166
288
  }
289
+ /**
290
+ * Get the legacy segwit address from a keypair
291
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
292
+ * @param {Network} network - The network to use
293
+ * @returns {string} - The legacy address
294
+ */
167
295
  static getLegacySegwitAddress(keyPair, network = networks.bitcoin) {
168
296
  const wallet = payments.p2sh({
169
- redeem: payments.p2wpkh({ pubkey: Buffer.from(keyPair.publicKey), network: network }),
297
+ redeem: payments.p2wpkh({ pubkey: keyPair.publicKey, network: network }),
170
298
  network: network,
171
299
  });
172
300
  if (!wallet.address) {
@@ -174,42 +302,75 @@ export class EcKeyPair {
174
302
  }
175
303
  return wallet.address;
176
304
  }
305
+ /**
306
+ * Get the legacy address from a keypair
307
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
308
+ * @param {Network} network - The network to use
309
+ * @returns {string} - The legacy address
310
+ */
177
311
  static getLegacyAddress(keyPair, network = networks.bitcoin) {
178
- const wallet = payments.p2pkh({ pubkey: Buffer.from(keyPair.publicKey), network: network });
312
+ const wallet = payments.p2pkh({ pubkey: keyPair.publicKey, network: network });
179
313
  if (!wallet.address) {
180
314
  throw new Error('Failed to generate wallet');
181
315
  }
182
316
  return wallet.address;
183
317
  }
318
+ /**
319
+ * Get the legacy address from a public key
320
+ * @param publicKey
321
+ * @param {Network} network - The network to use
322
+ * @returns {string} - The legacy address
323
+ */
184
324
  static getP2PKH(publicKey, network = networks.bitcoin) {
185
- const wallet = payments.p2pkh({ pubkey: Buffer.from(publicKey), network: network });
325
+ const wallet = payments.p2pkh({ pubkey: publicKey, network: network });
186
326
  if (!wallet.address) {
187
327
  throw new Error('Failed to generate wallet');
188
328
  }
189
329
  return wallet.address;
190
330
  }
331
+ /**
332
+ * Get the P2PK output from a keypair
333
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
334
+ * @param {Network} network - The network to use
335
+ * @returns {string} - The legacy address
336
+ */
191
337
  static getP2PKAddress(keyPair, network = networks.bitcoin) {
192
- const wallet = payments.p2pk({ pubkey: Buffer.from(keyPair.publicKey), network: network });
338
+ const wallet = payments.p2pk({ pubkey: keyPair.publicKey, network: network });
193
339
  if (!wallet.output) {
194
340
  throw new Error('Failed to generate wallet');
195
341
  }
196
- return '0x' + wallet.output.toString('hex');
342
+ return '0x' + toHex(wallet.output);
197
343
  }
344
+ /**
345
+ * Generate a random keypair
346
+ * @param {Network} network - The network to use
347
+ * @returns {UniversalSigner} - The generated keypair
348
+ */
198
349
  static generateRandomKeyPair(network = networks.bitcoin) {
199
- return this.ECPair.makeRandom({
200
- network: network,
350
+ return ECPairSigner.makeRandom(backend, network, {
201
351
  rng: (size) => {
202
- const bytes = randomBytes(size);
203
- return Buffer.from(bytes);
352
+ return randomBytes(size);
204
353
  },
205
354
  });
206
355
  }
356
+ /**
357
+ * Generate a BIP32 keypair from a seed
358
+ * @param {Uint8Array} seed - The seed to generate the keypair from
359
+ * @param {Network} network - The network to use
360
+ * @returns {BIP32Interface} - The generated keypair
361
+ */
207
362
  static fromSeed(seed, network = networks.bitcoin) {
208
363
  return this.BIP32.fromSeed(seed, network);
209
364
  }
365
+ /**
366
+ * Get taproot address from keypair
367
+ * @param {UniversalSigner | Signer} keyPair - The keypair to get the taproot address for
368
+ * @param {Network} network - The network to use
369
+ * @returns {string} - The taproot address
370
+ */
210
371
  static getTaprootAddress(keyPair, network = networks.bitcoin) {
211
372
  const { address } = payments.p2tr({
212
- internalPubkey: toXOnly(Buffer.from(keyPair.publicKey)),
373
+ internalPubkey: toXOnly(keyPair.publicKey),
213
374
  network: network,
214
375
  });
215
376
  if (!address) {
@@ -217,6 +378,12 @@ export class EcKeyPair {
217
378
  }
218
379
  return address;
219
380
  }
381
+ /**
382
+ * Get taproot address from address
383
+ * @param {string} inAddr - The address to convert to taproot
384
+ * @param {Network} network - The network to use
385
+ * @returns {string} - The taproot address
386
+ */
220
387
  static getTaprootAddressFromAddress(inAddr, network = networks.bitcoin) {
221
388
  const { address } = payments.p2tr({
222
389
  address: inAddr,
@@ -227,16 +394,18 @@ export class EcKeyPair {
227
394
  }
228
395
  return address;
229
396
  }
397
+ /**
398
+ * Get a keypair from a given seed.
399
+ * @param {Uint8Array} seed - The seed to generate the key pair from
400
+ * @param {Network} network - The network to use
401
+ * @returns {UniversalSigner} - The generated key pair
402
+ */
230
403
  static fromSeedKeyPair(seed, network = networks.bitcoin) {
231
404
  const fromSeed = this.BIP32.fromSeed(seed, network);
232
405
  const privKey = fromSeed.privateKey;
233
406
  if (!privKey)
234
407
  throw new Error('Failed to generate key pair');
235
- return this.ECPair.fromPrivateKey(Buffer.from(privKey), { network });
408
+ return ECPairSigner.fromPrivateKey(backend, privKey, network);
236
409
  }
237
410
  }
238
- EcKeyPair.BIP32 = BIP32factory(ecc);
239
- EcKeyPair.ECPair = ECPairFactory(ecc);
240
- (() => {
241
- Point.BASE.precompute(8);
242
- })();
411
+ //# sourceMappingURL=EcKeyPair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EcKeyPair.js","sourceRoot":"","sources":["../../src/keypair/EcKeyPair.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ECPairInterface } from 'ecpair';
2
- import { Network } from '@btc-vision/bitcoin';
3
- import { MLDSASecurityLevel, QuantumBIP32Interface } from '@btc-vision/bip32';
1
+ import { type UniversalSigner } from '@btc-vision/ecpair';
2
+ import { type Network } from '@btc-vision/bitcoin';
3
+ import { MLDSASecurityLevel, type QuantumBIP32Interface } from '@btc-vision/bip32';
4
4
  export interface SignedMessage {
5
5
  readonly signature: Uint8Array;
6
6
  readonly message: Uint8Array;
@@ -12,22 +12,23 @@ export interface MLDSASignedMessage {
12
12
  readonly securityLevel: MLDSASecurityLevel;
13
13
  }
14
14
  declare class MessageSignerBase {
15
- sha256(message: Buffer | Uint8Array): Buffer;
16
- trySignSchnorrWithOPWallet(message: Uint8Array | Buffer | string): Promise<SignedMessage | null>;
17
- trySignMLDSAWithOPWallet(message: Uint8Array | Buffer | string): Promise<MLDSASignedMessage | null>;
18
- signMessageAuto(message: Uint8Array | Buffer | string, keypair?: ECPairInterface): Promise<SignedMessage>;
19
- tweakAndSignMessageAuto(message: Uint8Array | Buffer | string, keypair?: ECPairInterface, network?: Network): Promise<SignedMessage>;
20
- signMLDSAMessageAuto(message: Uint8Array | Buffer | string, mldsaKeypair?: QuantumBIP32Interface): Promise<MLDSASignedMessage>;
21
- verifyMLDSAWithOPWallet(message: Uint8Array | Buffer | string, signature: MLDSASignedMessage): Promise<boolean | null>;
22
- getMLDSAPublicKeyFromOPWallet(): Promise<Buffer | null>;
23
- tweakAndSignMessage(keypair: ECPairInterface, message: Uint8Array | Buffer | string, network: Network): SignedMessage;
24
- signMessage(keypair: ECPairInterface, message: Uint8Array | Buffer | string): SignedMessage;
25
- verifySignature(publicKey: Uint8Array | Buffer, message: Uint8Array | Buffer | string, signature: Uint8Array | Buffer): boolean;
26
- tweakAndVerifySignature(publicKey: Uint8Array | Buffer, message: Uint8Array | Buffer | string, signature: Uint8Array | Buffer): boolean;
27
- signMLDSAMessage(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | Buffer | string): MLDSASignedMessage;
28
- verifyMLDSASignature(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | Buffer | string, signature: Uint8Array | Buffer): boolean;
15
+ sha256(message: Uint8Array): Uint8Array;
16
+ trySignSchnorrWithOPWallet(message: Uint8Array | string): Promise<SignedMessage | null>;
17
+ trySignMLDSAWithOPWallet(message: Uint8Array | string): Promise<MLDSASignedMessage | null>;
18
+ signMessageAuto(message: Uint8Array | string, keypair?: UniversalSigner): Promise<SignedMessage>;
19
+ tweakAndSignMessageAuto(message: Uint8Array | string, keypair?: UniversalSigner, network?: Network): Promise<SignedMessage>;
20
+ signMLDSAMessageAuto(message: Uint8Array | string, mldsaKeypair?: QuantumBIP32Interface): Promise<MLDSASignedMessage>;
21
+ verifyMLDSAWithOPWallet(message: Uint8Array | string, signature: MLDSASignedMessage): Promise<boolean | null>;
22
+ getMLDSAPublicKeyFromOPWallet(): Promise<Uint8Array | null>;
23
+ tweakAndSignMessage(keypair: UniversalSigner, message: Uint8Array | string, network: Network): SignedMessage;
24
+ signMessage(keypair: UniversalSigner, message: Uint8Array | string): SignedMessage;
25
+ verifySignature(publicKey: Uint8Array, message: Uint8Array | string, signature: Uint8Array): boolean;
26
+ tweakAndVerifySignature(publicKey: Uint8Array, message: Uint8Array | string, signature: Uint8Array): boolean;
27
+ signMLDSAMessage(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | string): MLDSASignedMessage;
28
+ verifyMLDSASignature(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | string, signature: Uint8Array): boolean;
29
29
  isOPWalletAvailable(): boolean;
30
30
  private getOPWallet;
31
31
  }
32
32
  export declare const MessageSigner: MessageSignerBase;
33
33
  export {};
34
+ //# sourceMappingURL=MessageSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageSigner.d.ts","sourceRoot":"","sources":["../../src/keypair/MessageSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAmB,KAAK,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAInF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;CAC9C;AAMD,cAAM,iBAAiB;IACZ,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAIjC,0BAA0B,CACnC,OAAO,EAAE,UAAU,GAAG,MAAM,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAmBnB,wBAAwB,CACjC,OAAO,EAAE,UAAU,GAAG,MAAM,GAC7B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAqBxB,eAAe,CACxB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,aAAa,CAAC;IAYZ,uBAAuB,CAChC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,aAAa,CAAC;IAgBZ,oBAAoB,CAC7B,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,YAAY,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC,kBAAkB,CAAC;IAYjB,uBAAuB,CAChC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAqBb,6BAA6B,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAUjE,mBAAmB,CACtB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,OAAO,GACjB,aAAa;IAKT,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa;IAqBlF,eAAe,CAClB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,UAAU,GACtB,OAAO;IAsBH,uBAAuB,CAC1B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,UAAU,GACtB,OAAO;IAKH,gBAAgB,CACnB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,UAAU,GAAG,MAAM,GAC7B,kBAAkB;IAoBd,oBAAoB,CACvB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,UAAU,GACtB,OAAO;IASH,mBAAmB,IAAI,OAAO;IAIrC,OAAO,CAAC,WAAW;CAYtB;AAED,eAAO,MAAM,aAAa,mBAA0B,CAAC"}