@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,16 +1,43 @@
1
- import { Buffer } from 'buffer';
2
- import { Network } from '@btc-vision/bitcoin';
3
- import { UTXO } from '../utxo/interfaces/IUTXO.js';
4
- import { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
1
+ import { type Network } from '@btc-vision/bitcoin';
2
+ import type { UTXO } from '../utxo/interfaces/IUTXO.js';
3
+ import type { IP2WSHAddress } from '../transaction/mineable/IP2WSHAddress.js';
4
+ /**
5
+ * P2WDA Detection and Validation Utilities
6
+ */
5
7
  export declare class P2WDADetector {
8
+ /**
9
+ * Check if a UTXO is a P2WDA output by examining its script structure
10
+ */
6
11
  static isP2WDAUTXO(utxo: UTXO): boolean;
7
- static isP2WDAWitnessScript(witnessScript: Buffer): boolean;
8
- static generateP2WDAAddress(publicKey: Buffer, network: Network): IP2WSHAddress & {
9
- scriptPubKey: Buffer;
12
+ /**
13
+ * Check if a witness script follows the P2WDA pattern
14
+ */
15
+ static isP2WDAWitnessScript(witnessScript: Uint8Array): boolean;
16
+ /**
17
+ * Generate a P2WDA address from a public key
18
+ */
19
+ static generateP2WDAAddress(publicKey: Uint8Array, network: Network): IP2WSHAddress & {
20
+ scriptPubKey: Uint8Array;
10
21
  };
11
- static extractPublicKeyFromP2WDA(witnessScript: Buffer): Buffer | null;
12
- static createSimpleP2WDAWitness(transactionSignature: Buffer, witnessScript: Buffer): Buffer[];
13
- static validateP2WDASignature(publicKey: Buffer, dataSignature: Buffer, operationData: Buffer): boolean;
22
+ /**
23
+ * Extract the public key from a P2WDA witness script
24
+ */
25
+ static extractPublicKeyFromP2WDA(witnessScript: Uint8Array): Uint8Array | null;
26
+ /**
27
+ * Create witness data for a simple P2WDA spend (no operation data)
28
+ */
29
+ static createSimpleP2WDAWitness(transactionSignature: Uint8Array, witnessScript: Uint8Array): Uint8Array[];
30
+ /**
31
+ * Validate P2WDA operation data signature
32
+ */
33
+ static validateP2WDASignature(_publicKey: Uint8Array, dataSignature: Uint8Array, _operationData: Uint8Array): boolean;
34
+ /**
35
+ * Calculate the witness size for P2WDA transaction estimation
36
+ */
14
37
  static estimateP2WDAWitnessSize(dataSize?: number): number;
15
- static couldBeP2WDA(scriptPubKey: Buffer): boolean;
38
+ /**
39
+ * Check if a scriptPubKey is a P2WSH that could be P2WDA
40
+ */
41
+ static couldBeP2WDA(scriptPubKey: Uint8Array): boolean;
16
42
  }
43
+ //# sourceMappingURL=P2WDADetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"P2WDADetector.d.ts","sourceRoot":"","sources":["../../src/p2wda/P2WDADetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,OAAO,EAA6B,MAAM,qBAAqB,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;WACW,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAa9C;;OAEG;WACW,oBAAoB,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO;IA0BtE;;OAEG;WACW,oBAAoB,CAC9B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,OAAO,GACjB,aAAa,GAAG;QACf,YAAY,EAAE,UAAU,CAAC;KAC5B;IAiCD;;OAEG;WACW,yBAAyB,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IA6BrF;;OAEG;WACW,wBAAwB,CAClC,oBAAoB,EAAE,UAAU,EAChC,aAAa,EAAE,UAAU,GAC1B,UAAU,EAAE;IAYf;;OAEG;WACW,sBAAsB,CAChC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,UAAU,GAC3B,OAAO;IAIV;;OAEG;WACW,wBAAwB,CAAC,QAAQ,GAAE,MAAU,GAAG,MAAM;IAIpE;;OAEG;WACW,YAAY,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO;CAGhE"}
@@ -1,38 +1,52 @@
1
- import { Buffer } from 'buffer';
2
- import { opcodes, payments, script } from '@btc-vision/bitcoin';
1
+ import { fromHex, opcodes, payments, script } from '@btc-vision/bitcoin';
2
+ /**
3
+ * P2WDA Detection and Validation Utilities
4
+ */
3
5
  export class P2WDADetector {
6
+ /**
7
+ * Check if a UTXO is a P2WDA output by examining its script structure
8
+ */
4
9
  static isP2WDAUTXO(utxo) {
5
10
  if (!utxo.witnessScript) {
6
11
  return false;
7
12
  }
8
- const witnessScript = Buffer.isBuffer(utxo.witnessScript)
13
+ const witnessScript = utxo.witnessScript instanceof Uint8Array
9
14
  ? utxo.witnessScript
10
- : Buffer.from(utxo.witnessScript, 'hex');
15
+ : fromHex(utxo.witnessScript);
11
16
  return this.isP2WDAWitnessScript(witnessScript);
12
17
  }
18
+ /**
19
+ * Check if a witness script follows the P2WDA pattern
20
+ */
13
21
  static isP2WDAWitnessScript(witnessScript) {
14
22
  try {
15
23
  const decompiled = script.decompile(witnessScript);
16
24
  if (!decompiled || decompiled.length !== 7) {
17
25
  return false;
18
26
  }
27
+ // Check for 5 OP_2DROP operations
19
28
  for (let i = 0; i < 5; i++) {
20
29
  if (decompiled[i] !== opcodes.OP_2DROP) {
21
30
  return false;
22
31
  }
23
32
  }
24
- return (Buffer.isBuffer(decompiled[5]) &&
25
- decompiled[5].length === 33 &&
33
+ // Check for pubkey and OP_CHECKSIG
34
+ return (decompiled[5] instanceof Uint8Array &&
35
+ decompiled[5].length === 33 && // Compressed public key
26
36
  decompiled[6] === opcodes.OP_CHECKSIG);
27
37
  }
28
38
  catch {
29
39
  return false;
30
40
  }
31
41
  }
42
+ /**
43
+ * Generate a P2WDA address from a public key
44
+ */
32
45
  static generateP2WDAAddress(publicKey, network) {
33
46
  if (publicKey.length !== 33) {
34
47
  throw new Error('Public key must be 33 bytes (compressed)');
35
48
  }
49
+ // Create the P2WDA witness script with 5x OP_2DROP
36
50
  const witnessScript = script.compile([
37
51
  opcodes.OP_2DROP,
38
52
  opcodes.OP_2DROP,
@@ -42,6 +56,7 @@ export class P2WDADetector {
42
56
  publicKey,
43
57
  opcodes.OP_CHECKSIG,
44
58
  ]);
59
+ // Wrap in P2WSH
45
60
  const p2wsh = payments.p2wsh({
46
61
  redeem: { output: witnessScript },
47
62
  network,
@@ -55,18 +70,22 @@ export class P2WDADetector {
55
70
  scriptPubKey: p2wsh.output,
56
71
  };
57
72
  }
73
+ /**
74
+ * Extract the public key from a P2WDA witness script
75
+ */
58
76
  static extractPublicKeyFromP2WDA(witnessScript) {
59
77
  try {
60
78
  const decompiled = script.decompile(witnessScript);
61
79
  if (!decompiled || decompiled.length !== 7) {
62
80
  return null;
63
81
  }
82
+ // Check for 5x OP_2DROP pattern
64
83
  for (let i = 0; i < 5; i++) {
65
84
  if (decompiled[i] !== opcodes.OP_2DROP) {
66
85
  return null;
67
86
  }
68
87
  }
69
- if (Buffer.isBuffer(decompiled[5]) &&
88
+ if (decompiled[5] instanceof Uint8Array &&
70
89
  decompiled[5].length === 33 &&
71
90
  decompiled[6] === opcodes.OP_CHECKSIG) {
72
91
  return decompiled[5];
@@ -77,21 +96,35 @@ export class P2WDADetector {
77
96
  return null;
78
97
  }
79
98
  }
99
+ /**
100
+ * Create witness data for a simple P2WDA spend (no operation data)
101
+ */
80
102
  static createSimpleP2WDAWitness(transactionSignature, witnessScript) {
81
103
  const witnessStack = [transactionSignature];
104
+ // Add 10 empty buffers for the 5x OP_2DROP operations
82
105
  for (let i = 0; i < 10; i++) {
83
- witnessStack.push(Buffer.alloc(0));
106
+ witnessStack.push(new Uint8Array(0));
84
107
  }
85
108
  witnessStack.push(witnessScript);
86
109
  return witnessStack;
87
110
  }
88
- static validateP2WDASignature(publicKey, dataSignature, operationData) {
89
- return dataSignature.length === 64;
111
+ /**
112
+ * Validate P2WDA operation data signature
113
+ */
114
+ static validateP2WDASignature(_publicKey, dataSignature, _operationData) {
115
+ return dataSignature.length === 64; // Schnorr signatures are always 64 bytes
90
116
  }
117
+ /**
118
+ * Calculate the witness size for P2WDA transaction estimation
119
+ */
91
120
  static estimateP2WDAWitnessSize(dataSize = 0) {
92
121
  return 72 + dataSize + 39 + 12;
93
122
  }
123
+ /**
124
+ * Check if a scriptPubKey is a P2WSH that could be P2WDA
125
+ */
94
126
  static couldBeP2WDA(scriptPubKey) {
95
127
  return scriptPubKey.length === 34 && scriptPubKey[0] === 0x00 && scriptPubKey[1] === 0x20;
96
128
  }
97
129
  }
130
+ //# sourceMappingURL=P2WDADetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"P2WDADetector.js","sourceRoot":"","sources":["../../src/p2wda/P2WDADetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIvF;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,IAAU;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GACf,IAAI,CAAC,aAAa,YAAY,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAAC,aAAyB;QACxD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,kCAAkC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YAED,mCAAmC;YACnC,OAAO,CACH,UAAU,CAAC,CAAC,CAAC,YAAY,UAAU;gBACnC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,wBAAwB;gBACvD,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,CACxC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAC9B,SAAqB,EACrB,OAAgB;QAIhB,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,mDAAmD;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;YACjC,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,SAAS;YACT,OAAO,CAAC,WAAW;SACtB,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;YACjC,OAAO;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa;YACb,YAAY,EAAE,KAAK,CAAC,MAAM;SAC7B,CAAC;IACN,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,yBAAyB,CAAC,aAAyB;QAC7D,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,gCAAgC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,IACI,UAAU,CAAC,CAAC,CAAC,YAAY,UAAU;gBACnC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;gBAC3B,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,WAAW,EACvC,CAAC;gBACC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,wBAAwB,CAClC,oBAAgC,EAChC,aAAyB;QAEzB,MAAM,YAAY,GAAiB,CAAC,oBAAoB,CAAC,CAAC;QAE1D,sDAAsD;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,sBAAsB,CAChC,UAAsB,EACtB,aAAyB,EACzB,cAA0B;QAE1B,OAAO,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,yCAAyC;IACjF,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,wBAAwB,CAAC,WAAmB,CAAC;QACvD,OAAO,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,YAAwB;QAC/C,OAAO,YAAY,CAAC,MAAM,KAAK,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9F,CAAC;CACJ"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Polyfill for Symbol.dispose and Symbol.asyncDispose.
3
+ *
4
+ * ES2024 Explicit Resource Management defines these well-known symbols,
5
+ * but Safari and Android WebView do not yet support them. This polyfill
6
+ * creates globally-shared symbols via Symbol.for() so that classes can
7
+ * implement [Symbol.dispose]() and [Symbol.asyncDispose]() today.
8
+ *
9
+ * When native support lands, the guards prevent the polyfill from running
10
+ * and the native symbols are used transparently.
11
+ *
12
+ * NOTE: This file must be imported before any module that references
13
+ * Symbol.dispose or Symbol.asyncDispose at the module-evaluation scope.
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=disposable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../../src/polyfill/disposable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Polyfill for Symbol.dispose and Symbol.asyncDispose.
3
+ *
4
+ * ES2024 Explicit Resource Management defines these well-known symbols,
5
+ * but Safari and Android WebView do not yet support them. This polyfill
6
+ * creates globally-shared symbols via Symbol.for() so that classes can
7
+ * implement [Symbol.dispose]() and [Symbol.asyncDispose]() today.
8
+ *
9
+ * When native support lands, the guards prevent the polyfill from running
10
+ * and the native symbols are used transparently.
11
+ *
12
+ * NOTE: This file must be imported before any module that references
13
+ * Symbol.dispose or Symbol.asyncDispose at the module-evaluation scope.
14
+ */
15
+ const S = Symbol;
16
+ if (typeof S.dispose !== 'symbol') {
17
+ S.dispose = Symbol.for('Symbol.dispose');
18
+ }
19
+ if (typeof S.asyncDispose !== 'symbol') {
20
+ S.asyncDispose = Symbol.for('Symbol.asyncDispose');
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=disposable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../src/polyfill/disposable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,CAAC,GAAG,MAAkD,CAAC;AAE7D,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;IACrC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACvD,CAAC"}
@@ -1,11 +1,47 @@
1
- import { RotationSignerBase } from './IRotationSigner.js';
1
+ import type { RotationSignerBase } from './IRotationSigner.js';
2
2
  import { UnisatSigner } from '../transaction/browser/extensions/UnisatSigner.js';
3
+ /**
4
+ * Supported signer types for address rotation (includes browser signers)
5
+ */
3
6
  export type RotationSigner = RotationSignerBase | UnisatSigner;
7
+ /**
8
+ * Map of addresses to their respective signers for address rotation mode.
9
+ * Each UTXO address can have its own dedicated signer.
10
+ */
4
11
  export type SignerMap = Map<string, RotationSigner>;
12
+ /**
13
+ * Configuration for address rotation mode.
14
+ * When enabled, each UTXO can be signed by a different signer based on its address.
15
+ */
5
16
  export interface AddressRotationConfig {
17
+ /**
18
+ * Whether address rotation mode is enabled.
19
+ * When true, the signerMap will be used to find the appropriate signer for each UTXO.
20
+ * When false, the default single signer will be used for all inputs.
21
+ */
6
22
  readonly enabled: boolean;
23
+ /**
24
+ * Map of addresses to their respective signers.
25
+ * The key is the address (from UTXO.scriptPubKey.address).
26
+ * The value is the signer that controls that address.
27
+ */
7
28
  readonly signerMap: SignerMap;
8
29
  }
30
+ /**
31
+ * Creates a new SignerMap from an array of address-signer pairs.
32
+ * @param pairs - Array of [address, signer] tuples
33
+ * @returns A SignerMap ready for use with address rotation
34
+ */
9
35
  export declare function createSignerMap(pairs: ReadonlyArray<readonly [string, RotationSigner]>): SignerMap;
36
+ /**
37
+ * Creates an AddressRotationConfig with the given signers.
38
+ * @param signers - Map or array of address-signer pairs
39
+ * @returns AddressRotationConfig ready for use
40
+ */
10
41
  export declare function createAddressRotation(signers: SignerMap | ReadonlyArray<readonly [string, RotationSigner]>): AddressRotationConfig;
42
+ /**
43
+ * Creates a disabled address rotation config (single signer mode).
44
+ * @returns AddressRotationConfig with rotation disabled
45
+ */
11
46
  export declare function disabledAddressRotation(): AddressRotationConfig;
47
+ //# sourceMappingURL=AddressRotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressRotation.d.ts","sourceRoot":"","sources":["../../src/signer/AddressRotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,YAAY,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GACxD,SAAS,CAEX;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GACtE,qBAAqB,CAOvB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,qBAAqB,CAK/D"}
@@ -1,6 +1,17 @@
1
+ import { UnisatSigner } from '../transaction/browser/extensions/UnisatSigner.js';
2
+ /**
3
+ * Creates a new SignerMap from an array of address-signer pairs.
4
+ * @param pairs - Array of [address, signer] tuples
5
+ * @returns A SignerMap ready for use with address rotation
6
+ */
1
7
  export function createSignerMap(pairs) {
2
8
  return new Map(pairs);
3
9
  }
10
+ /**
11
+ * Creates an AddressRotationConfig with the given signers.
12
+ * @param signers - Map or array of address-signer pairs
13
+ * @returns AddressRotationConfig ready for use
14
+ */
4
15
  export function createAddressRotation(signers) {
5
16
  const signerMap = signers instanceof Map ? signers : createSignerMap(signers);
6
17
  return {
@@ -8,9 +19,14 @@ export function createAddressRotation(signers) {
8
19
  signerMap,
9
20
  };
10
21
  }
22
+ /**
23
+ * Creates a disabled address rotation config (single signer mode).
24
+ * @returns AddressRotationConfig with rotation disabled
25
+ */
11
26
  export function disabledAddressRotation() {
12
27
  return {
13
28
  enabled: false,
14
29
  signerMap: new Map(),
15
30
  };
16
31
  }
32
+ //# sourceMappingURL=AddressRotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressRotation.js","sourceRoot":"","sources":["../../src/signer/AddressRotation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAiCjF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAuD;IAEvD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACjC,OAAqE;IAErE,MAAM,SAAS,GAAG,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAE9E,OAAO;QACH,OAAO,EAAE,IAAI;QACb,SAAS;KACZ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACnC,OAAO;QACH,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;AACN,CAAC"}
@@ -1,8 +1,32 @@
1
- import { Signer } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
3
- export type RotationSignerBase = Signer | ECPairInterface;
1
+ import type { Signer } from '@btc-vision/bitcoin';
2
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
+ /**
4
+ * Base signer type for address rotation.
5
+ * This is the minimal interface required for UTXO signing.
6
+ * UnisatSigner extends this through the CustomKeypair base class.
7
+ */
8
+ export type RotationSignerBase = Signer | UniversalSigner;
9
+ /**
10
+ * Map of addresses to their respective signers for address rotation mode.
11
+ * Each UTXO address can have its own dedicated signer.
12
+ */
4
13
  export type SignerMapBase = Map<string, RotationSignerBase>;
14
+ /**
15
+ * Configuration for address rotation mode (base version without browser signers).
16
+ * When enabled, each UTXO can be signed by a different signer based on its address.
17
+ */
5
18
  export interface AddressRotationConfigBase {
19
+ /**
20
+ * Whether address rotation mode is enabled.
21
+ * When true, the signerMap will be used to find the appropriate signer for each UTXO.
22
+ * When false, the default single signer will be used for all inputs.
23
+ */
6
24
  readonly enabled: boolean;
25
+ /**
26
+ * Map of addresses to their respective signers.
27
+ * The key is the address (from UTXO.scriptPubKey.address).
28
+ * The value is the signer that controls that address.
29
+ */
7
30
  readonly signerMap: SignerMapBase;
8
31
  }
32
+ //# sourceMappingURL=IRotationSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRotationSigner.d.ts","sourceRoot":"","sources":["../../src/signer/IRotationSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,eAAe,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACrC"}
@@ -1 +1,2 @@
1
- export {};
1
+ import {} from '@btc-vision/ecpair';
2
+ //# sourceMappingURL=IRotationSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRotationSigner.js","sourceRoot":"","sources":["../../src/signer/IRotationSigner.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { PsbtParallelKeyPair } from '@btc-vision/bitcoin';
2
+ import type { UniversalSigner } from '@btc-vision/ecpair';
3
+ /**
4
+ * Wraps an untweaked UniversalSigner as PsbtParallelKeyPair.
5
+ * Used for script-path signing (raw private key needed).
6
+ */
7
+ export declare function toParallelKeyPair(signer: UniversalSigner): PsbtParallelKeyPair;
8
+ /**
9
+ * Creates a hybrid adapter with untweaked publicKey (for PSBT input matching)
10
+ * but tweaked privateKey (for correct key-path Schnorr signatures).
11
+ * Uses createPrivateKey/createPublicKey for branded type validation.
12
+ */
13
+ export declare function toTweakedParallelKeyPair(untweakedSigner: UniversalSigner, tweakedSigner: UniversalSigner): PsbtParallelKeyPair;
14
+ //# sourceMappingURL=ParallelSignerAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelSignerAdapter.d.ts","sourceRoot":"","sources":["../../src/signer/ParallelSignerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAmB9E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,eAAe,GAC/B,mBAAmB,CAqBrB"}
@@ -0,0 +1,51 @@
1
+ import { createPrivateKey, createPublicKey } from '@btc-vision/ecpair';
2
+ /**
3
+ * Wraps an untweaked UniversalSigner as PsbtParallelKeyPair.
4
+ * Used for script-path signing (raw private key needed).
5
+ */
6
+ export function toParallelKeyPair(signer) {
7
+ return {
8
+ publicKey: signer.publicKey,
9
+ getPrivateKey() {
10
+ if (!signer.privateKey) {
11
+ throw new Error('Signer does not have a private key');
12
+ }
13
+ return createPrivateKey(signer.privateKey);
14
+ },
15
+ sign(hash, lowR) {
16
+ return signer.sign(hash, lowR);
17
+ },
18
+ signSchnorr(hash) {
19
+ if (!signer.signSchnorr) {
20
+ throw new Error('Signer does not support Schnorr signing');
21
+ }
22
+ return signer.signSchnorr(hash);
23
+ },
24
+ };
25
+ }
26
+ /**
27
+ * Creates a hybrid adapter with untweaked publicKey (for PSBT input matching)
28
+ * but tweaked privateKey (for correct key-path Schnorr signatures).
29
+ * Uses createPrivateKey/createPublicKey for branded type validation.
30
+ */
31
+ export function toTweakedParallelKeyPair(untweakedSigner, tweakedSigner) {
32
+ return {
33
+ publicKey: createPublicKey(untweakedSigner.publicKey),
34
+ getPrivateKey() {
35
+ if (!tweakedSigner.privateKey) {
36
+ throw new Error('Tweaked signer does not have a private key');
37
+ }
38
+ return createPrivateKey(tweakedSigner.privateKey);
39
+ },
40
+ sign(hash, lowR) {
41
+ return tweakedSigner.sign(hash, lowR);
42
+ },
43
+ signSchnorr(hash) {
44
+ if (!tweakedSigner.signSchnorr) {
45
+ throw new Error('Tweaked signer does not support Schnorr signing');
46
+ }
47
+ return tweakedSigner.signSchnorr(hash);
48
+ },
49
+ };
50
+ }
51
+ //# sourceMappingURL=ParallelSignerAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelSignerAdapter.js","sourceRoot":"","sources":["../../src/signer/ParallelSignerAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACrD,OAAO;QACH,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa;YACT,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAgB,EAAE,IAAc;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAyC,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,WAAW,CAAC,IAAgB;YACxB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,MAAM,CAAC,WAAW,CAAC,IAAgD,CAAC,CAAC;QAChF,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACpC,eAAgC,EAChC,aAA8B;IAE9B,OAAO;QACH,SAAS,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC;QACrD,aAAa;YACT,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,IAAgB,EAAE,IAAc;YACjC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAgD,EAAE,IAAI,CAAC,CAAC;QACtF,CAAC;QACD,WAAW,CAAC,IAAgB;YACxB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,aAAa,CAAC,WAAW,CAC5B,IAAuD,CAC1D,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,5 +1,12 @@
1
- import { PsbtInput } from '@btc-vision/bitcoin';
1
+ import { type PsbtInput } from '@btc-vision/bitcoin';
2
2
  export declare function isTaprootInput(input: PsbtInput): boolean;
3
- export declare function getInputRelevantScript(input: PsbtInput): Buffer | null;
4
- export declare function canSignNonTaprootInput(input: PsbtInput, publicKey: Buffer): boolean;
5
- export declare function pubkeyInScript(pubkey: Buffer, script: Buffer): boolean;
3
+ export declare function getInputRelevantScript(input: PsbtInput): Uint8Array | null;
4
+ export declare function canSignNonTaprootInput(input: PsbtInput, publicKey: Uint8Array): boolean;
5
+ /**
6
+ * Checks if a public key is present in a script.
7
+ * @param pubkey The public key to check.
8
+ * @param script The script to search in.
9
+ * @returns A boolean indicating whether the public key is present in the script.
10
+ */
11
+ export declare function pubkeyInScript(pubkey: Uint8Array, script: Uint8Array): boolean;
12
+ //# sourceMappingURL=SignerUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignerUtils.d.ts","sourceRoot":"","sources":["../../src/signer/SignerUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,SAAS,EAA0B,MAAM,qBAAqB,CAAC;AAErF,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAWxD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAqB1E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAgBvF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAE9E"}
@@ -1,3 +1,4 @@
1
+ // Helper functions
1
2
  import { isP2TR, pubkeyPositionInScript } from '@btc-vision/bitcoin';
2
3
  export function isTaprootInput(input) {
3
4
  return (input &&
@@ -18,6 +19,14 @@ export function getInputRelevantScript(input) {
18
19
  return input.witnessUtxo.script;
19
20
  }
20
21
  if (input.nonWitnessUtxo) {
22
+ // Parse the full transaction from nonWitnessUtxo
23
+ /*const tx = Transaction.fromBuffer(input.nonWitnessUtxo);
24
+ // Retrieve the output referenced by the input index
25
+ const out = tx.outs[input.index];
26
+ if (!out) {
27
+ throw new Error(`No output at index ${input.index} in nonWitnessUtxo`);
28
+ }
29
+ return out.script;*/
21
30
  }
22
31
  return null;
23
32
  }
@@ -35,6 +44,13 @@ export function canSignNonTaprootInput(input, publicKey) {
35
44
  }
36
45
  return false;
37
46
  }
47
+ /**
48
+ * Checks if a public key is present in a script.
49
+ * @param pubkey The public key to check.
50
+ * @param script The script to search in.
51
+ * @returns A boolean indicating whether the public key is present in the script.
52
+ */
38
53
  export function pubkeyInScript(pubkey, script) {
39
54
  return pubkeyPositionInScript(pubkey, script) !== -1;
40
55
  }
56
+ //# sourceMappingURL=SignerUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignerUtils.js","sourceRoot":"","sources":["../../src/signer/SignerUtils.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAkB,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAErF,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC3C,OAAO,CACH,KAAK;QACL,CAAC,CAAC,CACE,KAAK,CAAC,cAAc;YACpB,KAAK,CAAC,aAAa;YACnB,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC7D,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAC1D,CACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAgB;IACnD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,aAAa,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,iDAAiD;QACjD;;;;;;4BAMoB;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAgB,EAAE,SAAqB;IAC1E,IACI,CAAC,KAAK,CAAC,cAAc;QACjB,CAAC,KAAK,CAAC,YAAY;QACnB,CAAC,KAAK,CAAC,aAAa;QACpB,CAAC,KAAK,CAAC,WAAW,CAAC;QACvB,KAAK,CAAC,YAAY,EACpB,CAAC;QACC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,EAAE,MAAkB;IACjE,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC"}
@@ -1,9 +1,33 @@
1
- import { Network } from '@btc-vision/bitcoin';
2
- import { ECPairInterface } from 'ecpair';
1
+ import { type Bytes32, type Network, type Signer } from '@btc-vision/bitcoin';
2
+ import { type UniversalSigner } from '@btc-vision/ecpair';
3
+ /**
4
+ * Tweak settings
5
+ */
3
6
  export interface TweakSettings {
7
+ /**
8
+ * The network to use
9
+ */
4
10
  readonly network?: Network;
5
- tweakHash?: Buffer;
11
+ /**
12
+ * The tweak hash to use
13
+ */
14
+ tweakHash?: Bytes32;
6
15
  }
16
+ /**
17
+ * Type guard to check if a Signer is a UniversalSigner (has privateKey).
18
+ */
19
+ export declare function isUniversalSigner(signer: Signer): signer is UniversalSigner;
20
+ /**
21
+ * Class for tweaking signers
22
+ * @class TweakedSigner
23
+ */
7
24
  export declare class TweakedSigner {
8
- static tweakSigner(signer: ECPairInterface, opts?: TweakSettings): ECPairInterface;
25
+ /**
26
+ * Tweak a signer
27
+ * @param {UniversalSigner} signer - The signer to tweak (must have privateKey)
28
+ * @param {TweakSettings} opts - The tweak settings
29
+ * @returns {UniversalSigner} - The tweaked signer
30
+ */
31
+ static tweakSigner(signer: UniversalSigner, opts?: TweakSettings): UniversalSigner;
9
32
  }
33
+ //# sourceMappingURL=TweakedSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TweakedSigner.d.ts","sourceRoot":"","sources":["../../src/signer/TweakedSigner.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,OAAO,EAEZ,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,eAAe,CAE3E;AAED;;;GAGG;AACH,qBAAa,aAAa;IACtB;;;;;OAKG;WACW,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,GAAE,aAAkB,GAAG,eAAe;CAqBhG"}
@@ -1,20 +1,37 @@
1
- import * as ecc from '@bitcoinerlab/secp256k1';
2
- import { initEccLib, tapTweakHash, toXOnly } from '@btc-vision/bitcoin';
1
+ import { backend } from '../ecc/backend.js';
2
+ import { tapTweakHash, toXOnly, } from '@btc-vision/bitcoin';
3
+ import {} from '@btc-vision/ecpair';
3
4
  import { EcKeyPair } from '../keypair/EcKeyPair.js';
4
- initEccLib(ecc);
5
+ /**
6
+ * Type guard to check if a Signer is a UniversalSigner (has privateKey).
7
+ */
8
+ export function isUniversalSigner(signer) {
9
+ return 'privateKey' in signer && signer.privateKey != null;
10
+ }
11
+ /**
12
+ * Class for tweaking signers
13
+ * @class TweakedSigner
14
+ */
5
15
  export class TweakedSigner {
16
+ /**
17
+ * Tweak a signer
18
+ * @param {UniversalSigner} signer - The signer to tweak (must have privateKey)
19
+ * @param {TweakSettings} opts - The tweak settings
20
+ * @returns {UniversalSigner} - The tweaked signer
21
+ */
6
22
  static tweakSigner(signer, opts = {}) {
7
23
  let privateKey = signer.privateKey;
8
24
  if (!privateKey) {
9
25
  throw new Error('Private key is required for tweaking signer!');
10
26
  }
11
27
  if (signer.publicKey[0] === 3) {
12
- privateKey = ecc.privateNegate(privateKey);
28
+ privateKey = backend.privateNegate(privateKey);
13
29
  }
14
- const tweakedPrivateKey = ecc.privateAdd(privateKey, tapTweakHash(toXOnly(Buffer.from(signer.publicKey)), opts.tweakHash));
30
+ const tweakedPrivateKey = backend.privateAdd(privateKey, tapTweakHash(toXOnly(signer.publicKey), opts.tweakHash));
15
31
  if (!tweakedPrivateKey) {
16
32
  throw new Error('Invalid tweaked private key!');
17
33
  }
18
- return EcKeyPair.fromPrivateKey(Buffer.from(tweakedPrivateKey), opts.network);
34
+ return EcKeyPair.fromPrivateKey(tweakedPrivateKey, opts.network);
19
35
  }
20
36
  }
37
+ //# sourceMappingURL=TweakedSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TweakedSigner.js","sourceRoot":"","sources":["../../src/signer/TweakedSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAKH,YAAY,EACZ,OAAO,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAiBpD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC5C,OAAO,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACtB;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAC,MAAuB,EAAE,OAAsB,EAAE;QACvE,IAAI,UAAU,GAA2B,MAAM,CAAC,UAAU,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CACxC,UAAU,EACV,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAC1D,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,SAAS,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
1
  declare class ContractAddressBase {
2
2
  private readonly deriver;
3
- generateHybridKeyFromHash(input: Buffer): Buffer;
4
- private cloneBuffer;
3
+ generateHybridKeyFromHash(input: Uint8Array): Uint8Array;
5
4
  }
6
5
  export declare const ContractAddress: ContractAddressBase;
7
6
  export {};
7
+ //# sourceMappingURL=ContractAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractAddress.d.ts","sourceRoot":"","sources":["../../src/transaction/ContractAddress.ts"],"names":[],"mappings":"AAEA,cAAM,mBAAmB;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAEvE,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;CAKlE;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC"}