@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,15 +1,30 @@
1
- import { decompressPublicKey, Network, toXOnly, UncompressedPublicKey } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
1
+ import {
2
+ decompressPublicKey,
3
+ fromHex,
4
+ type Network,
5
+ type PublicKey,
6
+ toHex,
7
+ toXOnly,
8
+ type UncompressedPublicKey,
9
+ type XOnlyPublicKey,
10
+ } from '@btc-vision/bitcoin';
11
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
12
  import { ADDRESS_BYTE_LENGTH } from '../utils/lengths.js';
4
13
  import { AddressVerificator } from './AddressVerificator.js';
5
14
  import { EcKeyPair } from './EcKeyPair.js';
6
15
  import { ContractAddress } from '../transaction/ContractAddress.js';
7
16
  import { BitcoinUtils } from '../utils/BitcoinUtils.js';
8
17
  import { TimeLockGenerator } from '../transaction/mineable/TimelockGenerator.js';
9
- import { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
18
+ import type { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
10
19
  import { P2WDADetector } from '../p2wda/P2WDADetector.js';
11
- import { sha256 } from '@noble/hashes/sha2';
20
+ import { sha256 } from '@noble/hashes/sha2.js';
12
21
  import { MLDSASecurityLevel } from '@btc-vision/bip32';
22
+ import type { HybridPublicKey, MLDSAHashedPublicKey } from '../branded/Branded.js';
23
+
24
+ // ML-DSA-44 (Level 2): 1312 bytes public key
25
+ // ML-DSA-65 (Level 3): 1952 bytes public key
26
+ // ML-DSA-87 (Level 5): 2592 bytes public key
27
+ const validMLDSALengths = [1312, 1952, 2592];
13
28
 
14
29
  /**
15
30
  * Objects of type "Address" represent hashed ML-DSA (quantum) public keys (using SHA256 of quantum keys) and maintain classical public keys separately.
@@ -21,16 +36,16 @@ import { MLDSASecurityLevel } from '@btc-vision/bip32';
21
36
  *
22
37
  * @category KeyPair
23
38
  */
24
- export class Address extends Uint8Array {
39
+ export class Address extends Uint8Array implements Disposable {
25
40
  #p2tr: string | undefined;
26
41
  #p2op: string | undefined;
27
42
  #network: Network | undefined;
28
- #originalPublicKey: Uint8Array | undefined;
29
- #keyPair: ECPairInterface | undefined;
43
+ #originalPublicKey: PublicKey | undefined;
44
+ #keyPair: UniversalSigner | undefined;
30
45
  #uncompressed: UncompressedPublicKey | undefined;
31
- #tweakedUncompressed: Buffer | undefined;
46
+ #tweakedUncompressed: Uint8Array | undefined;
32
47
  #p2wda: IP2WSHAddress | undefined;
33
- #mldsaPublicKey: Uint8Array | undefined;
48
+ #mldsaPublicKey: MLDSAHashedPublicKey | undefined;
34
49
  #cachedBigInt: bigint | undefined;
35
50
  #cachedBigIntTweaked: bigint | undefined;
36
51
  #cachedUint64Array: [bigint, bigint, bigint, bigint] | undefined;
@@ -38,11 +53,11 @@ export class Address extends Uint8Array {
38
53
  #mldsaLevel: MLDSASecurityLevel | undefined;
39
54
 
40
55
  // Lazy loading state - defers expensive EC operations until actually needed
41
- #pendingLegacyKey: Uint8Array | undefined;
56
+ readonly #pendingLegacyKey: Uint8Array | undefined;
42
57
  #legacyProcessed: boolean = false;
43
58
 
44
59
  // After processing, this is 32-byte tweaked x-only (same as original behavior)
45
- #legacyPublicKey: Uint8Array | undefined;
60
+ #tweakedPublicKey: XOnlyPublicKey | undefined;
46
61
 
47
62
  public constructor(mldsaPublicKey?: ArrayLike<number>, publicKeyOrTweak?: ArrayLike<number>) {
48
63
  super(ADDRESS_BYTE_LENGTH);
@@ -66,11 +81,21 @@ export class Address extends Uint8Array {
66
81
  this.setMldsaKey(mldsaPublicKey);
67
82
  }
68
83
 
84
+ /**
85
+ * Prevent TypedArray methods (subarray, slice, etc.) from creating Address
86
+ * instances. Without this, @noble/hashes and other libraries that call
87
+ * subarray() on an Address would invoke the Address constructor that recomputes
88
+ * everything leading to bad performance.
89
+ */
90
+ public static get [Symbol.species](): Uint8ArrayConstructor {
91
+ return Uint8Array;
92
+ }
93
+
69
94
  public get mldsaLevel(): MLDSASecurityLevel | undefined {
70
95
  return this.#mldsaLevel;
71
96
  }
72
97
 
73
- public set mldsaLevel(level: MLDSASecurityLevel) {
98
+ public set mldsaLevel(level: MLDSASecurityLevel | undefined) {
74
99
  this.#mldsaLevel = level;
75
100
  }
76
101
 
@@ -78,20 +103,20 @@ export class Address extends Uint8Array {
78
103
  return this.#originalMDLSAPublicKey;
79
104
  }
80
105
 
81
- public set originalMDLSAPublicKey(key: Buffer | Uint8Array) {
82
- this.#originalMDLSAPublicKey = new Uint8Array(key);
106
+ public set originalMDLSAPublicKey(key: Uint8Array | undefined) {
107
+ this.#originalMDLSAPublicKey = key ? new Uint8Array(key) : undefined;
83
108
  }
84
109
 
85
110
  /**
86
111
  * If available, this will return the original public key associated with the address.
87
112
  * @returns {Uint8Array} The original public key used to create the address.
88
113
  */
89
- public get originalPublicKey(): Uint8Array | undefined {
114
+ public get originalPublicKey(): PublicKey | undefined {
90
115
  this.ensureLegacyProcessed();
91
116
  return this.#originalPublicKey;
92
117
  }
93
118
 
94
- public get mldsaPublicKey(): Uint8Array | undefined {
119
+ public get mldsaPublicKey(): MLDSAHashedPublicKey | undefined {
95
120
  return this.#mldsaPublicKey;
96
121
  }
97
122
 
@@ -99,16 +124,17 @@ export class Address extends Uint8Array {
99
124
  * Get the legacy public key (32-byte tweaked x-only after processing).
100
125
  * Triggers lazy processing if not yet done.
101
126
  */
102
- private get legacyPublicKey(): Uint8Array | undefined {
127
+ private get legacyPublicKey(): XOnlyPublicKey | undefined {
103
128
  this.ensureLegacyProcessed();
104
- return this.#legacyPublicKey;
129
+
130
+ return this.#tweakedPublicKey;
105
131
  }
106
132
 
107
133
  /**
108
134
  * Get the key pair for the address
109
135
  * @description This is only for internal use. Please use address.tweakedBytes instead.
110
136
  */
111
- private get keyPair(): ECPairInterface {
137
+ private get keyPair(): UniversalSigner {
112
138
  this.ensureLegacyProcessed();
113
139
  if (!this.#keyPair) {
114
140
  throw new Error('Legacy public key not set for address');
@@ -145,7 +171,7 @@ export class Address extends Uint8Array {
145
171
  );
146
172
  }
147
173
 
148
- let classicBuffer: Buffer | undefined;
174
+ let classicBuffer: Uint8Array | undefined;
149
175
  if (legacyPublicKey) {
150
176
  if (legacyPublicKey.startsWith('0x')) {
151
177
  legacyPublicKey = legacyPublicKey.slice(2);
@@ -157,10 +183,10 @@ export class Address extends Uint8Array {
157
183
  );
158
184
  }
159
185
 
160
- classicBuffer = Buffer.from(legacyPublicKey, 'hex');
186
+ classicBuffer = fromHex(legacyPublicKey);
161
187
  }
162
188
 
163
- return new Address(Buffer.from(mldsaPublicKey, 'hex'), classicBuffer);
189
+ return new Address(fromHex(mldsaPublicKey), classicBuffer);
164
190
  }
165
191
 
166
192
  /**
@@ -172,19 +198,44 @@ export class Address extends Uint8Array {
172
198
  return new Address(bytes);
173
199
  }
174
200
 
175
- public static uncompressedToCompressed(publicKey: ArrayLike<number>): Buffer {
201
+ public static uncompressedToCompressed(publicKey: ArrayLike<number>): Uint8Array {
176
202
  const buffer = Uint8Array.from(publicKey);
177
203
 
178
204
  const x = buffer.slice(1, 33);
179
205
  const y = buffer.slice(33);
180
206
 
181
- const compressed = Buffer.alloc(33);
182
- compressed[0] = 0x02 + (y[y.length - 1] & 0x01);
207
+ const compressed = new Uint8Array(33);
208
+ compressed[0] = 0x02 + ((y[y.length - 1] as number) & 0x01);
183
209
  compressed.set(x, 1);
184
210
 
185
211
  return compressed;
186
212
  }
187
213
 
214
+ public [Symbol.dispose](): void {
215
+ // Zero the base Uint8Array (hashed ML-DSA public key)
216
+ this.fill(0);
217
+
218
+ // Clear all cached / derived state
219
+ this.#p2tr = undefined;
220
+ this.#p2op = undefined;
221
+ this.#network = undefined;
222
+ this.#originalPublicKey = undefined;
223
+ this.#keyPair = undefined;
224
+ this.#uncompressed = undefined;
225
+ this.#tweakedUncompressed = undefined;
226
+ this.#p2wda = undefined;
227
+ this.#mldsaPublicKey?.fill(0);
228
+ this.#mldsaPublicKey = undefined;
229
+ this.#cachedBigInt = undefined;
230
+ this.#cachedBigIntTweaked = undefined;
231
+ this.#cachedUint64Array = undefined;
232
+ this.#originalMDLSAPublicKey?.fill(0);
233
+ this.#originalMDLSAPublicKey = undefined;
234
+ this.#mldsaLevel = undefined;
235
+ this.#legacyProcessed = false;
236
+ this.#tweakedPublicKey = undefined;
237
+ }
238
+
188
239
  /**
189
240
  * Creates an Address instance from a BigInt value.
190
241
  *
@@ -316,7 +367,7 @@ export class Address extends Uint8Array {
316
367
  * @returns {string} The hex string
317
368
  */
318
369
  public toHex(): string {
319
- return '0x' + Buffer.from(this).toString('hex');
370
+ return '0x' + toHex(this);
320
371
  }
321
372
 
322
373
  /**
@@ -329,28 +380,28 @@ export class Address extends Uint8Array {
329
380
  throw new Error('Legacy public key not set');
330
381
  }
331
382
 
332
- return '0x' + Buffer.from(key).toString('hex');
383
+ return '0x' + toHex(key);
333
384
  }
334
385
 
335
386
  /**
336
- * Converts the address content (SHA256 hash of ML-DSA public key) to a buffer
337
- * @returns {Buffer} The buffer containing the hashed ML-DSA public key
387
+ * Converts the address content (SHA256 hash of ML-DSA public key) to a Uint8Array
388
+ * @returns {Uint8Array} The Uint8Array containing the hashed ML-DSA public key
338
389
  */
339
- public toBuffer(): Buffer {
340
- return Buffer.from(this);
390
+ public toBuffer(): MLDSAHashedPublicKey {
391
+ return new Uint8Array(this) as MLDSAHashedPublicKey;
341
392
  }
342
393
 
343
394
  /**
344
- * Converts the classical public key to a buffer
345
- * @returns {Buffer} The buffer
395
+ * Converts the classical public key to a Uint8Array
396
+ * @returns {Uint8Array} The Uint8Array
346
397
  */
347
- public tweakedPublicKeyToBuffer(): Buffer {
398
+ public tweakedPublicKeyToBuffer(): XOnlyPublicKey {
348
399
  const key = this.legacyPublicKey;
349
400
  if (!key) {
350
401
  throw new Error('Legacy public key not set');
351
402
  }
352
403
 
353
- return Buffer.from(key);
404
+ return new Uint8Array(key) as XOnlyPublicKey;
354
405
  }
355
406
 
356
407
  public toUncompressedHex(): string {
@@ -359,16 +410,16 @@ export class Address extends Uint8Array {
359
410
  throw new Error('Legacy public key not set');
360
411
  }
361
412
 
362
- return '0x' + this.#uncompressed.uncompressed.toString('hex');
413
+ return '0x' + toHex(this.#uncompressed.uncompressed);
363
414
  }
364
415
 
365
- public toUncompressedBuffer(): Buffer {
416
+ public toUncompressedBuffer(): PublicKey {
366
417
  this.ensureLegacyProcessed();
367
418
  if (!this.#uncompressed) {
368
419
  throw new Error('Legacy public key not set');
369
420
  }
370
421
 
371
- return this.#uncompressed.uncompressed;
422
+ return this.#uncompressed.uncompressed as PublicKey;
372
423
  }
373
424
 
374
425
  public toHybridPublicKeyHex(): string {
@@ -377,25 +428,25 @@ export class Address extends Uint8Array {
377
428
  throw new Error('Legacy public key not set');
378
429
  }
379
430
 
380
- return '0x' + this.#uncompressed.hybrid.toString('hex');
431
+ return '0x' + toHex(this.#uncompressed.hybrid);
381
432
  }
382
433
 
383
- public toHybridPublicKeyBuffer(): Buffer {
434
+ public toHybridPublicKeyBuffer(): HybridPublicKey {
384
435
  this.ensureLegacyProcessed();
385
436
  if (!this.#uncompressed) {
386
437
  throw new Error('Legacy public key not set');
387
438
  }
388
439
 
389
- return this.#uncompressed.hybrid;
440
+ return this.#uncompressed.hybrid as HybridPublicKey;
390
441
  }
391
442
 
392
- public originalPublicKeyBuffer(): Buffer {
443
+ public originalPublicKeyBuffer(): PublicKey {
393
444
  this.ensureLegacyProcessed();
394
445
  if (!this.#originalPublicKey) {
395
446
  throw new Error('Legacy public key not set');
396
447
  }
397
448
 
398
- return Buffer.from(this.#originalPublicKey);
449
+ return new Uint8Array(this.#originalPublicKey) as PublicKey;
399
450
  }
400
451
 
401
452
  /**
@@ -491,9 +542,9 @@ export class Address extends Uint8Array {
491
542
  const thisByte = b[i];
492
543
  const aByte = a[i];
493
544
 
494
- if (thisByte < aByte) {
545
+ if ((thisByte as number) < (aByte as number)) {
495
546
  return true; // this is less than a
496
- } else if (thisByte > aByte) {
547
+ } else if ((thisByte as number) > (aByte as number)) {
497
548
  return false; // this is greater than or equal to a
498
549
  }
499
550
  }
@@ -513,9 +564,9 @@ export class Address extends Uint8Array {
513
564
  const thisByte = b[i];
514
565
  const aByte = a[i];
515
566
 
516
- if (thisByte > aByte) {
567
+ if ((thisByte as number) > (aByte as number)) {
517
568
  return true; // this is greater than a
518
- } else if (thisByte < aByte) {
569
+ } else if ((thisByte as number) < (aByte as number)) {
519
570
  return false; // this is less than or equal to a
520
571
  }
521
572
  }
@@ -544,7 +595,7 @@ export class Address extends Uint8Array {
544
595
  throw new Error(`Legacy key not set.`);
545
596
  }
546
597
 
547
- return AddressVerificator.isValidPublicKey(Buffer.from(key).toString('hex'), network);
598
+ return AddressVerificator.isValidPublicKey(toHex(key), network);
548
599
  }
549
600
 
550
601
  /**
@@ -581,7 +632,7 @@ export class Address extends Uint8Array {
581
632
  /**
582
633
  * Convert the address to a string
583
634
  */
584
- public toString(): string {
635
+ public override toString(): string {
585
636
  return this.toHex();
586
637
  }
587
638
 
@@ -650,8 +701,7 @@ export class Address extends Uint8Array {
650
701
  throw new Error('Cannot create P2WDA address: public key not set');
651
702
  }
652
703
 
653
- const publicKeyBuffer = Buffer.from(this.#originalPublicKey);
654
-
704
+ const publicKeyBuffer = new Uint8Array(this.#originalPublicKey);
655
705
  if (publicKeyBuffer.length !== 33) {
656
706
  throw new Error('P2WDA requires a compressed public key (33 bytes)');
657
707
  }
@@ -697,8 +747,8 @@ export class Address extends Uint8Array {
697
747
  throw new Error('Cannot create CSV address: public key not set');
698
748
  }
699
749
 
700
- // Convert the public key to Buffer format that TimeLockGenerator expects
701
- const publicKeyBuffer = Buffer.from(this.#originalPublicKey);
750
+ // Convert the public key to Uint8Array format that TimeLockGenerator expects
751
+ const publicKeyBuffer: PublicKey = new Uint8Array(this.#originalPublicKey) as PublicKey;
702
752
 
703
753
  // Now we can use your TimeLockGenerator to create the timelocked address
704
754
  // Converting bigint to number is safe here because we've already validated the range
@@ -775,10 +825,10 @@ export class Address extends Uint8Array {
775
825
  throw new Error('Legacy public key not set');
776
826
  }
777
827
 
778
- return '0x' + this.#tweakedUncompressed.toString('hex');
828
+ return '0x' + toHex(this.#tweakedUncompressed);
779
829
  }
780
830
 
781
- public toTweakedHybridPublicKeyBuffer(): Buffer {
831
+ public toTweakedHybridPublicKeyBuffer(): Uint8Array {
782
832
  this.ensureLegacyProcessed();
783
833
  this.ensureTweakedUncompressed();
784
834
  if (!this.#tweakedUncompressed) {
@@ -795,15 +845,13 @@ export class Address extends Uint8Array {
795
845
  private ensureTweakedUncompressed(): void {
796
846
  if (this.#tweakedUncompressed) return;
797
847
 
798
- const key = this.#legacyPublicKey;
848
+ const key = this.#tweakedPublicKey;
799
849
  if (!key) return;
800
850
 
801
851
  // Only attempt hybrid key generation for 32-byte keys that weren't processed through autoFormat
802
852
  if (key.length === ADDRESS_BYTE_LENGTH && !this.#originalPublicKey) {
803
853
  try {
804
- const buf = Buffer.alloc(ADDRESS_BYTE_LENGTH);
805
- buf.set(key);
806
- this.#tweakedUncompressed = ContractAddress.generateHybridKeyFromHash(buf);
854
+ this.#tweakedUncompressed = ContractAddress.generateHybridKeyFromHash(key);
807
855
  } catch {
808
856
  // Hybrid key generation may fail for keys that aren't valid EC points
809
857
  // (e.g., zero addresses). Leave #tweakedUncompressed undefined.
@@ -824,11 +872,6 @@ export class Address extends Uint8Array {
824
872
  super.set(buf);
825
873
  } else {
826
874
  // Validate ML-DSA public key lengths according to BIP360 and FIPS 204
827
- // ML-DSA-44 (Level 2): 1312 bytes public key
828
- // ML-DSA-65 (Level 3): 1952 bytes public key
829
- // ML-DSA-87 (Level 5): 2592 bytes public key
830
- const validMLDSALengths = [1312, 1952, 2592];
831
-
832
875
  if (!validMLDSALengths.includes(mldsaPublicKey.length)) {
833
876
  throw new Error(
834
877
  `Invalid ML-DSA public key length: ${mldsaPublicKey.length}. ` +
@@ -837,7 +880,7 @@ export class Address extends Uint8Array {
837
880
  }
838
881
 
839
882
  // Store the original ML-DSA public key
840
- this.#mldsaPublicKey = new Uint8Array(mldsaPublicKey.length);
883
+ this.#mldsaPublicKey = new Uint8Array(mldsaPublicKey.length) as MLDSAHashedPublicKey;
841
884
  this.#mldsaPublicKey.set(mldsaPublicKey);
842
885
 
843
886
  // Hash the ML-DSA public key to get the 32-byte address
@@ -863,7 +906,7 @@ export class Address extends Uint8Array {
863
906
  // Length validation already done in constructor
864
907
 
865
908
  if (pending.length === ADDRESS_BYTE_LENGTH) {
866
- this.#legacyPublicKey = pending;
909
+ this.#tweakedPublicKey = pending as XOnlyPublicKey;
867
910
  } else {
868
911
  // 33 or 65 bytes: full autoFormat processing with EC operations
869
912
  this.autoFormat(pending);
@@ -872,7 +915,7 @@ export class Address extends Uint8Array {
872
915
 
873
916
  /**
874
917
  * Processes a 33 or 65 byte public key, performing EC operations.
875
- * Sets #legacyPublicKey to 32-byte tweaked x-only (same as original behavior).
918
+ * Sets #tweakedPublicKey to 32-byte tweaked x-only (same as original behavior).
876
919
  */
877
920
  private autoFormat(publicKey: ArrayLike<number>): void {
878
921
  const firstByte = publicKey[0];
@@ -884,17 +927,17 @@ export class Address extends Uint8Array {
884
927
  publicKey = Address.uncompressedToCompressed(publicKey);
885
928
  }
886
929
 
887
- this.#originalPublicKey = Uint8Array.from(publicKey);
930
+ this.#originalPublicKey = Uint8Array.from(publicKey) as PublicKey;
888
931
  this.#keyPair = EcKeyPair.fromPublicKey(this.#originalPublicKey);
889
932
  this.#uncompressed = decompressPublicKey(this.#originalPublicKey);
890
933
 
891
- const tweakedBytes: Buffer = toXOnly(
892
- EcKeyPair.tweakPublicKey(Buffer.from(this.#originalPublicKey)),
934
+ const tweakedBytes = toXOnly(
935
+ EcKeyPair.tweakPublicKey(this.#originalPublicKey) as PublicKey,
893
936
  );
894
937
 
895
938
  this.#tweakedUncompressed = ContractAddress.generateHybridKeyFromHash(tweakedBytes);
896
939
 
897
- this.#legacyPublicKey = new Uint8Array(ADDRESS_BYTE_LENGTH);
898
- this.#legacyPublicKey.set(tweakedBytes);
940
+ this.#tweakedPublicKey = new Uint8Array(ADDRESS_BYTE_LENGTH) as XOnlyPublicKey;
941
+ this.#tweakedPublicKey.set(tweakedBytes);
899
942
  }
900
943
  }