@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,161 +1,76 @@
1
- import { ECPairInterface } from 'ecpair';
1
+ import { type UniversalSigner } from '@btc-vision/ecpair';
2
2
  import { EcKeyPair } from './EcKeyPair.js';
3
- import { initEccLib, Network, networks, toXOnly } from '@btc-vision/bitcoin';
3
+ import {
4
+ fromHex,
5
+ type Network,
6
+ networks,
7
+ type PublicKey,
8
+ toHex,
9
+ toXOnly,
10
+ } from '@btc-vision/bitcoin';
4
11
  import { Address } from './Address.js';
5
12
  import { BitcoinUtils } from '../utils/BitcoinUtils.js';
6
- import { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
7
- import * as ecc from '@bitcoinerlab/secp256k1';
13
+ import type { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
8
14
  import {
9
15
  getMLDSAConfig,
10
16
  MLDSASecurityLevel,
11
17
  QuantumBIP32Factory,
12
- QuantumBIP32Interface,
18
+ type QuantumBIP32Interface,
13
19
  } from '@btc-vision/bip32';
14
20
 
15
- initEccLib(ecc);
16
-
17
21
  /**
18
22
  * Wallet class for managing both classical and quantum-resistant keys
19
- *
20
- * This class represents a wallet with both ECDSA/Schnorr keys (for classical Bitcoin transactions)
21
- * and ML-DSA keys (for quantum-resistant security). It can be created from private keys, WIF strings,
22
- * or generated randomly.
23
- *
24
- * @example
25
- * ```typescript
26
- * // Create from private keys
27
- * const wallet = new Wallet(classicalPrivateKey, mldsaPrivateKey);
28
- *
29
- * // Generate a new random wallet
30
- * const newWallet = Wallet.generate();
31
- *
32
- * // Create from WIF
33
- * const walletFromWif = Wallet.fromWif(wif, quantumWif);
34
- *
35
- * // Export keys
36
- * const classicalWif = wallet.toWIF();
37
- * const quantumHex = wallet.quantumPrivateKeyHex;
38
- * ```
39
23
  */
40
- export class Wallet {
41
- /**
42
- * Classical ECDSA/Schnorr keypair for the wallet
43
- */
44
- private readonly _keypair: ECPairInterface;
45
-
46
- /**
47
- * Quantum ML-DSA keypair for the wallet
48
- */
24
+ export class Wallet implements Disposable {
25
+ private readonly _keypair: UniversalSigner;
49
26
  private readonly _mldsaKeypair: QuantumBIP32Interface;
50
-
51
- /**
52
- * The ML-DSA security level used
53
- */
54
27
  private readonly _securityLevel: MLDSASecurityLevel;
55
-
56
- /**
57
- * Chain code for BIP32 derivation (if applicable)
58
- */
59
- private readonly _chainCode: Buffer;
60
-
61
- /**
62
- * P2WPKH address for the wallet
63
- */
28
+ private readonly _chainCode: Uint8Array;
64
29
  private readonly _p2wpkh: string;
65
-
66
- /**
67
- * P2TR (Taproot) address for the wallet
68
- */
69
30
  private readonly _p2tr: string;
70
-
71
- /**
72
- * P2WDA (Pay-to-Witness-Data-Authentication) address
73
- */
74
31
  private readonly _p2wda: IP2WSHAddress;
75
-
76
- /**
77
- * Legacy P2PKH address for the wallet
78
- */
79
32
  private readonly _legacy: string;
80
-
81
- /**
82
- * Legacy SegWit (P2SH-P2WPKH) address for the wallet
83
- */
84
33
  private readonly _segwitLegacy: string;
85
-
86
- /**
87
- * Classical public key buffer
88
- */
89
- private readonly _bufferPubKey: Buffer;
90
-
91
- /**
92
- * Tweaked key for Taproot
93
- */
94
- private readonly _tweakedKey: Buffer;
95
-
96
- /**
97
- * Address corresponding to the wallet
98
- */
34
+ private readonly _bufferPubKey: Uint8Array;
35
+ private readonly _tweakedKey: Uint8Array;
99
36
  private readonly _address: Address;
100
37
 
101
- /**
102
- * Create a new Wallet instance
103
- *
104
- * @param privateKeyOrWif - Classical private key (hex or WIF format)
105
- * @param mldsaPrivateKeyOrBase58 - ML-DSA private key (hex format) or full base58 extended key
106
- * @param network - The Bitcoin network to use (default: bitcoin mainnet)
107
- * @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
108
- * @param chainCode - Optional chain code for BIP32 derivation (32 bytes)
109
- * @throws {Error} If the private keys are invalid
110
- */
111
38
  constructor(
112
39
  privateKeyOrWif: string,
113
40
  mldsaPrivateKeyOrBase58: string,
114
41
  public readonly network: Network = networks.bitcoin,
115
42
  securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
116
- chainCode?: Buffer,
43
+ chainCode?: Uint8Array,
117
44
  ) {
118
45
  this._securityLevel = securityLevel;
119
46
 
120
- // Parse classical private key
121
47
  const parsedPrivateKey = privateKeyOrWif.startsWith('0x')
122
48
  ? privateKeyOrWif.replace('0x', '')
123
49
  : privateKeyOrWif;
124
50
 
125
51
  if (BitcoinUtils.isValidHex(parsedPrivateKey)) {
126
- this._keypair = EcKeyPair.fromPrivateKey(
127
- Buffer.from(parsedPrivateKey, 'hex'),
128
- this.network,
129
- );
52
+ this._keypair = EcKeyPair.fromPrivateKey(fromHex(parsedPrivateKey), this.network);
130
53
  } else {
131
54
  this._keypair = EcKeyPair.fromWIF(parsedPrivateKey, this.network);
132
55
  }
133
56
 
134
- // Parse ML-DSA private key
135
57
  const parsedMLDSAKey = mldsaPrivateKeyOrBase58.startsWith('0x')
136
58
  ? mldsaPrivateKeyOrBase58.replace('0x', '')
137
59
  : mldsaPrivateKeyOrBase58;
138
60
 
139
- // Check if it's a base58 extended key
140
61
  if (BitcoinUtils.isValidHex(parsedMLDSAKey)) {
141
- // It's a raw hex private key (possibly with public key concatenated)
142
- const mldsaBuffer = Buffer.from(parsedMLDSAKey, 'hex');
62
+ const mldsaBuffer = fromHex(parsedMLDSAKey);
143
63
 
144
- // Get expected lengths for this security level and network
145
64
  const config = getMLDSAConfig(securityLevel, this.network);
146
65
  const privateKeySize = config.privateKeySize;
147
66
  const publicKeySize = config.publicKeySize;
148
67
  const combinedSize = privateKeySize + publicKeySize;
149
68
 
150
- let mldsaPrivateKeyBuffer: Buffer;
69
+ let mldsaPrivateKeyBuffer: Uint8Array;
151
70
 
152
- // Check if it's just the private key, or private+public combined
153
71
  if (mldsaBuffer.length === privateKeySize) {
154
- // Just the private key
155
72
  mldsaPrivateKeyBuffer = mldsaBuffer;
156
73
  } else if (mldsaBuffer.length === combinedSize) {
157
- // Combined privateKey || publicKey format (from Mnemonic.derive)
158
- // Extract just the private key portion
159
74
  mldsaPrivateKeyBuffer = mldsaBuffer.subarray(0, privateKeySize);
160
75
  } else {
161
76
  throw new Error(
@@ -163,15 +78,12 @@ export class Wallet {
163
78
  );
164
79
  }
165
80
 
166
- // Use provided chain code or generate a random one
167
81
  if (chainCode && chainCode.length !== 32) {
168
82
  throw new Error('Chain code must be 32 bytes');
169
83
  }
170
84
 
171
- this._chainCode = chainCode || Buffer.alloc(32);
85
+ this._chainCode = chainCode || new Uint8Array(32);
172
86
 
173
- // Create QuantumBIP32Interface from private key and chain code
174
- // Pass network to ensure network-specific derivation
175
87
  this._mldsaKeypair = QuantumBIP32Factory.fromPrivateKey(
176
88
  mldsaPrivateKeyBuffer,
177
89
  this._chainCode,
@@ -180,11 +92,10 @@ export class Wallet {
180
92
  );
181
93
  } else {
182
94
  this._mldsaKeypair = QuantumBIP32Factory.fromBase58(parsedMLDSAKey);
183
- this._chainCode = Buffer.from(this._mldsaKeypair.chainCode);
95
+ this._chainCode = new Uint8Array(this._mldsaKeypair.chainCode);
184
96
  this._securityLevel = this._mldsaKeypair.securityLevel;
185
97
  }
186
98
 
187
- // Set up addresses
188
99
  this._bufferPubKey = this._keypair.publicKey;
189
100
  this._address = new Address(this._mldsaKeypair.publicKey, this._keypair.publicKey);
190
101
 
@@ -197,170 +108,99 @@ export class Wallet {
197
108
  this._tweakedKey = this._address.tweakedPublicKeyToBuffer();
198
109
  }
199
110
 
200
- /**
201
- * Get the address for the wallet
202
- */
203
111
  public get address(): Address {
204
112
  return this._address;
205
113
  }
206
114
 
207
- /**
208
- * Get the tweaked public key for Taproot
209
- */
210
- public get tweakedPubKeyKey(): Buffer {
115
+ public get tweakedPubKeyKey(): Uint8Array {
211
116
  return this._tweakedKey;
212
117
  }
213
118
 
214
- /**
215
- * Get the classical keypair for the wallet
216
- */
217
- public get keypair(): ECPairInterface {
119
+ public get keypair(): UniversalSigner {
218
120
  if (!this._keypair) throw new Error('Keypair not set');
219
121
  return this._keypair;
220
122
  }
221
123
 
222
- /**
223
- * Get the quantum ML-DSA keypair
224
- */
225
124
  public get mldsaKeypair(): QuantumBIP32Interface {
226
125
  return this._mldsaKeypair;
227
126
  }
228
127
 
229
- /**
230
- * Get the ML-DSA security level
231
- */
232
128
  public get securityLevel(): MLDSASecurityLevel {
233
129
  return this._securityLevel;
234
130
  }
235
131
 
236
- /**
237
- * Get the chain code for BIP32 derivation
238
- */
239
- public get chainCode(): Buffer {
132
+ public get chainCode(): Uint8Array {
240
133
  return this._chainCode;
241
134
  }
242
135
 
243
- /**
244
- * Get the P2WPKH (Native SegWit) address
245
- */
246
136
  public get p2wpkh(): string {
247
137
  return this._p2wpkh;
248
138
  }
249
139
 
250
- /**
251
- * Get the P2TR (Taproot) address
252
- */
253
140
  public get p2tr(): string {
254
141
  return this._p2tr;
255
142
  }
256
143
 
257
- /**
258
- * Get the P2WDA address
259
- */
260
144
  public get p2wda(): IP2WSHAddress {
261
145
  return this._p2wda;
262
146
  }
263
147
 
264
- /**
265
- * Get the legacy P2PKH address
266
- */
267
148
  public get legacy(): string {
268
149
  return this._legacy;
269
150
  }
270
151
 
271
- /**
272
- * Get all addresses for the wallet
273
- */
274
152
  public get addresses(): string[] {
275
153
  return [this.p2wpkh, this.p2tr, this.legacy, this.segwitLegacy];
276
154
  }
277
155
 
278
- /**
279
- * Get the legacy SegWit (P2SH-P2WPKH) address
280
- */
281
156
  public get segwitLegacy(): string {
282
157
  return this._segwitLegacy;
283
158
  }
284
159
 
285
- /**
286
- * Get the classical public key
287
- */
288
- public get publicKey(): Buffer {
160
+ public get publicKey(): Uint8Array {
289
161
  if (!this._bufferPubKey) throw new Error('Public key not set');
290
162
  return this._bufferPubKey;
291
163
  }
292
164
 
293
- /**
294
- * Get the quantum ML-DSA public key
295
- */
296
- public get quantumPublicKey(): Buffer {
297
- return Buffer.from(this._mldsaKeypair.publicKey);
165
+ public get quantumPublicKey(): Uint8Array {
166
+ return new Uint8Array(this._mldsaKeypair.publicKey);
298
167
  }
299
168
 
300
- /**
301
- * Get the quantum ML-DSA private key
302
- */
303
- public get quantumPrivateKey(): Buffer {
169
+ public get quantumPrivateKey(): Uint8Array {
304
170
  if (!this._mldsaKeypair.privateKey) {
305
171
  throw new Error('Quantum private key not set');
306
172
  }
307
173
 
308
- return Buffer.from(this._mldsaKeypair.privateKey);
174
+ return new Uint8Array(this._mldsaKeypair.privateKey);
309
175
  }
310
176
 
311
- /**
312
- * Get the quantum ML-DSA public key as hex string
313
- */
314
177
  public get quantumPublicKeyHex(): string {
315
- return Buffer.from(this._mldsaKeypair.publicKey).toString('hex');
178
+ return toHex(new Uint8Array(this._mldsaKeypair.publicKey));
316
179
  }
317
180
 
318
- /**
319
- * Get the quantum ML-DSA private key as hex string
320
- */
321
181
  public get quantumPrivateKeyHex(): string {
322
182
  if (!this._mldsaKeypair.privateKey) {
323
183
  throw new Error('Quantum private key not set');
324
184
  }
325
185
 
326
- return Buffer.from(this._mldsaKeypair.privateKey).toString('hex');
186
+ return toHex(new Uint8Array(this._mldsaKeypair.privateKey));
327
187
  }
328
188
 
329
- /**
330
- * Get the x-only public key for Taproot
331
- */
332
- public get xOnly(): Buffer {
189
+ public get xOnly(): Uint8Array {
333
190
  if (!this.keypair) throw new Error('Keypair not set');
334
- return toXOnly(this._bufferPubKey);
191
+ return toXOnly(this._bufferPubKey as PublicKey);
335
192
  }
336
193
 
337
- /**
338
- * Create a wallet from WIF strings
339
- *
340
- * @param wif - The classical WIF private key
341
- * @param quantumPrivateKeyHex - The quantum ML-DSA private key (hex)
342
- * @param network - The network (default: bitcoin mainnet)
343
- * @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
344
- * @param chainCode - Optional chain code for BIP32 derivation
345
- * @returns A Wallet instance
346
- */
347
194
  public static fromWif(
348
195
  wif: string,
349
196
  quantumPrivateKeyHex: string,
350
197
  network: Network = networks.bitcoin,
351
198
  securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
352
- chainCode?: Buffer,
199
+ chainCode?: Uint8Array,
353
200
  ): Wallet {
354
201
  return new Wallet(wif, quantumPrivateKeyHex, network, securityLevel, chainCode);
355
202
  }
356
203
 
357
- /**
358
- * Generate a new random wallet with both classical and quantum keys
359
- *
360
- * @param network - The network (default: bitcoin mainnet)
361
- * @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
362
- * @returns A new Wallet instance with randomly generated keys
363
- */
364
204
  public static generate(
365
205
  network: Network = networks.bitcoin,
366
206
  securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
@@ -379,22 +219,12 @@ export class Wallet {
379
219
  );
380
220
  }
381
221
 
382
- /**
383
- * Create a wallet from private key hex strings
384
- *
385
- * @param privateKeyHexOrWif - The classical private key
386
- * @param mldsaPrivateKeyOrBase58 - The quantum ML-DSA private key
387
- * @param network - The network (default: bitcoin mainnet)
388
- * @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
389
- * @param chainCode - Optional chain code for BIP32 derivation
390
- * @returns A Wallet instance
391
- */
392
222
  public static fromPrivateKeys(
393
223
  privateKeyHexOrWif: string,
394
224
  mldsaPrivateKeyOrBase58: string,
395
225
  network: Network = networks.bitcoin,
396
226
  securityLevel: MLDSASecurityLevel = MLDSASecurityLevel.LEVEL2,
397
- chainCode?: Buffer,
227
+ chainCode?: Uint8Array,
398
228
  ): Wallet {
399
229
  return new Wallet(
400
230
  privateKeyHexOrWif,
@@ -405,69 +235,56 @@ export class Wallet {
405
235
  );
406
236
  }
407
237
 
408
- /**
409
- * Export the classical private key as WIF
410
- *
411
- * @returns The WIF-encoded private key
412
- */
413
238
  public toWIF(): string {
414
239
  return this._keypair.toWIF();
415
240
  }
416
241
 
417
- /**
418
- * Export the classical private key as hex
419
- *
420
- * @returns The hex-encoded private key
421
- */
422
242
  public toPrivateKeyHex(): string {
423
243
  if (!this._keypair.privateKey) {
424
244
  throw new Error('Private key not available');
425
245
  }
426
- return this._keypair.privateKey.toString('hex');
246
+ return toHex(this._keypair.privateKey);
427
247
  }
428
248
 
429
- /**
430
- * Export the classical public key as hex
431
- *
432
- * @returns The hex-encoded public key
433
- */
434
249
  public toPublicKeyHex(): string {
435
- return this._bufferPubKey.toString('hex');
250
+ return toHex(this._bufferPubKey);
436
251
  }
437
252
 
438
- /**
439
- * Export quantum keypair as base58 extended key
440
- *
441
- * @returns The base58-encoded extended quantum key
442
- */
443
253
  public toQuantumBase58(): string {
444
254
  return this._mldsaKeypair.toBase58();
445
255
  }
446
256
 
447
257
  /**
448
- * Derive a child wallet using BIP32 path
258
+ * Best-effort zeroing of private key material held by this wallet.
449
259
  *
450
- * @param path - BIP32 derivation path (e.g., "m/0'/0/0")
451
- * @returns A new Wallet instance derived from this wallet
452
- * @throws {Error} If the private key is not available for derivation
453
- */
260
+ * Zeros classical and quantum private key buffers and the chain code in-place.
261
+ * This cannot guarantee all copies are erased (the JS runtime may have copied
262
+ * buffers internally, and string representations cannot be zeroed), but it
263
+ * eliminates the primary references.
264
+ */
265
+ public zeroize(): void {
266
+ this._keypair.privateKey?.fill(0);
267
+ this._mldsaKeypair.privateKey?.fill(0);
268
+ this._chainCode.fill(0);
269
+ }
270
+
271
+ public [Symbol.dispose](): void {
272
+ this.zeroize();
273
+ }
274
+
454
275
  public derivePath(path: string): Wallet {
455
- // Derive quantum key
456
276
  const derivedQuantum = this._mldsaKeypair.derivePath(path);
457
277
 
458
- // Derive classical key using BIP32
459
278
  if (!this._keypair.privateKey) {
460
279
  throw new Error('Cannot derive from a watch-only wallet (no private key available)');
461
280
  }
462
281
 
463
- // Create BIP32 node from current private key and chain code
464
282
  const bip32Root = EcKeyPair.BIP32.fromPrivateKey(
465
283
  this._keypair.privateKey,
466
284
  this._chainCode,
467
285
  this.network,
468
286
  );
469
287
 
470
- // Derive the child key using the provided path
471
288
  const derivedClassical = bip32Root.derivePath(path);
472
289
  if (!derivedClassical.privateKey) {
473
290
  throw new Error('Failed to derive classical private key');
@@ -477,14 +294,12 @@ export class Wallet {
477
294
  throw new Error('Failed to derive classical chain code');
478
295
  }
479
296
 
480
- // Create new wallet from derived keys
481
- // Pass the derived chain code so the child wallet can derive further children
482
297
  return new Wallet(
483
- Buffer.from(derivedClassical.privateKey).toString('hex'),
298
+ toHex(new Uint8Array(derivedClassical.privateKey)),
484
299
  derivedQuantum.toBase58(),
485
300
  this.network,
486
301
  this._securityLevel,
487
- Buffer.from(derivedClassical.chainCode),
302
+ new Uint8Array(derivedClassical.chainCode),
488
303
  );
489
304
  }
490
305
  }
@@ -1,4 +1,4 @@
1
- import { Network, networks } from '@btc-vision/bitcoin';
1
+ import { type Network, networks } from '@btc-vision/bitcoin';
2
2
 
3
3
  export abstract class ContractBaseMetadata {
4
4
  protected abstract readonly address: string;
@@ -9,7 +9,7 @@ export abstract class ContractBaseMetadata {
9
9
  * @description Get the contract address
10
10
  * @param {Network} network - The network to get the address for
11
11
  */
12
- public static getAddress(network: Network = networks.bitcoin): string {
12
+ public static getAddress(_network: Network = networks.bitcoin): string {
13
13
  throw new Error('Method not implemented.');
14
14
  }
15
15