@btc-vision/transaction 1.8.0-beta.3 → 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 (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 +3583 -3184
  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 +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 +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 +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 +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 +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 +219 -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 +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 +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 +6 -6
  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 +16 -147
  683. package/src/keypair/EcKeyPair.ts +105 -114
  684. package/src/keypair/MessageSigner.ts +70 -150
  685. package/src/keypair/Wallet.ts +59 -240
  686. package/src/metadata/ContractBaseMetadata.ts +2 -2
  687. package/src/mnemonic/Mnemonic.ts +32 -221
  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 +28 -13
  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 +101 -79
  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 +7 -7
  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,28 +1,28 @@
1
1
  import { Address } from '../../keypair/Address.js';
2
2
  export interface IChallengeVerification {
3
- readonly epochHash: Buffer;
4
- readonly epochRoot: Buffer;
5
- readonly targetHash: Buffer;
6
- readonly targetChecksum: Buffer;
3
+ readonly epochHash: Uint8Array;
4
+ readonly epochRoot: Uint8Array;
5
+ readonly targetHash: Uint8Array;
6
+ readonly targetChecksum: Uint8Array;
7
7
  readonly startBlock: bigint;
8
8
  readonly endBlock: bigint;
9
- readonly proofs: readonly Buffer[];
9
+ readonly proofs: readonly Uint8Array[];
10
10
  }
11
11
  export interface IChallengeSolution {
12
12
  readonly epochNumber: bigint;
13
13
  readonly publicKey: Address;
14
- readonly solution: Buffer;
15
- readonly salt: Buffer;
16
- readonly graffiti: Buffer;
14
+ readonly solution: Uint8Array;
15
+ readonly salt: Uint8Array;
16
+ readonly graffiti: Uint8Array;
17
17
  readonly difficulty: number;
18
18
  readonly verification: IChallengeVerification;
19
19
  verifySubmissionSignature(): boolean;
20
20
  getSubmission(): IChallengeSubmission | undefined;
21
21
  toRaw(): RawChallenge;
22
22
  verify(): boolean;
23
- toBuffer(): Buffer;
23
+ toBuffer(): Uint8Array;
24
24
  toHex(): string;
25
- calculateSolution(): Buffer;
25
+ calculateSolution(): Uint8Array;
26
26
  checkDifficulty(minDifficulty: number): {
27
27
  valid: boolean;
28
28
  difficulty: number;
@@ -47,9 +47,9 @@ export interface RawChallengeSubmission {
47
47
  }
48
48
  export interface IChallengeSubmission {
49
49
  readonly publicKey: Address;
50
- readonly solution: Buffer;
51
- readonly graffiti: Buffer | undefined;
52
- readonly signature: Buffer;
50
+ readonly solution: Uint8Array;
51
+ readonly graffiti: Uint8Array | undefined;
52
+ readonly signature: Uint8Array;
53
53
  readonly epochNumber: bigint;
54
54
  verifySignature(): boolean;
55
55
  }
@@ -64,3 +64,4 @@ export interface RawChallenge {
64
64
  readonly verification: RawChallengeVerification;
65
65
  readonly submission?: RawChallengeSubmission;
66
66
  }
67
+ //# sourceMappingURL=IChallengeSolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IChallengeSolution.d.ts","sourceRoot":"","sources":["../../../src/epoch/interfaces/IChallengeSolution.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,48 @@
1
1
  import { IChallengeSolution, RawChallenge } from '../interfaces/IChallengeSolution.js';
2
2
  export declare class EpochValidator {
3
3
  private static readonly BLOCKS_PER_EPOCH;
4
- static bufferToUint8Array(buffer: Buffer): Uint8Array;
5
- static uint8ArrayToBuffer(array: Uint8Array): Buffer;
6
- static sha1(data: Uint8Array | Buffer): Buffer;
7
- static calculatePreimage(checksumRoot: Buffer, publicKey: Buffer, salt: Buffer): Buffer;
8
- static countMatchingBits(hash1: Buffer, hash2: Buffer): number;
4
+ /**
5
+ * Calculate SHA-1 hash
6
+ */
7
+ static sha1(data: Uint8Array): Uint8Array;
8
+ /**
9
+ * Calculate mining preimage
10
+ */
11
+ static calculatePreimage(checksumRoot: Uint8Array, publicKey: Uint8Array, salt: Uint8Array): Uint8Array;
12
+ /**
13
+ * Count matching bits between two hashes
14
+ */
15
+ static countMatchingBits(hash1: Uint8Array, hash2: Uint8Array): number;
16
+ /**
17
+ * Verify an epoch solution using IPreimage
18
+ */
9
19
  static verifySolution(challenge: IChallengeSolution, log?: boolean): boolean;
20
+ /**
21
+ * Get the mining target block for an epoch
22
+ */
10
23
  static getMiningTargetBlock(epochNumber: bigint): bigint | null;
24
+ /**
25
+ * Validate epoch winner from raw data
26
+ */
11
27
  static validateEpochWinner(epochData: RawChallenge): boolean;
28
+ /**
29
+ * Validate epoch winner from Preimage instance
30
+ */
12
31
  static validateChallengeSolution(challenge: IChallengeSolution): boolean;
13
- static calculateSolution(targetChecksum: Buffer, publicKey: Buffer, salt: Buffer): Buffer;
14
- static checkDifficulty(solution: Buffer, targetHash: Buffer, minDifficulty: number): {
32
+ /**
33
+ * Calculate solution hash from preimage components
34
+ * @param targetChecksum The target checksum (32 bytes)
35
+ * @param publicKey The public key buffer (32 bytes)
36
+ * @param salt The salt buffer (32 bytes)
37
+ * @returns The SHA-1 hash of the preimage
38
+ */
39
+ static calculateSolution(targetChecksum: Uint8Array, publicKey: Uint8Array, salt: Uint8Array): Uint8Array;
40
+ /**
41
+ * Check if a solution meets the minimum difficulty requirement
42
+ */
43
+ static checkDifficulty(solution: Uint8Array, targetHash: Uint8Array, minDifficulty: number): {
15
44
  valid: boolean;
16
45
  difficulty: number;
17
46
  };
18
47
  }
48
+ //# sourceMappingURL=EpochValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EpochValidator.d.ts","sourceRoot":"","sources":["../../../src/epoch/validator/EpochValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAK5F,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAc;IAEtD;;OAEG;WACW,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAIhD;;OAEG;WACW,iBAAiB,CAC3B,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACjB,UAAU;IAcb;;OAEG;WACW,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IA4B7E;;OAEG;WACW,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,GAAE,OAAe,GAAG,OAAO;IAkC1F;;OAEG;WACW,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAStE;;OAEG;WACW,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAmDnE;;OAEG;WACW,yBAAyB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IAI/E;;;;;;OAMG;WACW,iBAAiB,CAC3B,cAAc,EAAE,UAAU,EAC1B,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACjB,UAAU;IAKb;;OAEG;WACW,eAAe,CACzB,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,GACtB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;CAO5C"}
@@ -3,3 +3,4 @@ export declare class NetEvent {
3
3
  readonly data: Uint8Array;
4
4
  constructor(type: string, data: Uint8Array);
5
5
  }
6
+ //# sourceMappingURL=NetEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetEvent.d.ts","sourceRoot":"","sources":["../../src/event/NetEvent.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;aAEG,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,UAAU;gBADhB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU;CAEvC"}
@@ -1,8 +1,9 @@
1
- import { Network } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network } from '../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  export declare class AddressGenerator {
3
- static generatePKSH(sha256Hash: Buffer, network: Network): string;
4
- static generateTaprootAddress(pubKey: Buffer, network: {
3
+ static generatePKSH(sha256Hash: Uint8Array, network: Network): string;
4
+ static generateTaprootAddress(pubKey: Uint8Array, network: {
5
5
  bech32: string;
6
6
  }): string;
7
7
  private static toSegwitAddress;
8
8
  }
9
+ //# sourceMappingURL=AddressGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/AddressGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,OAAO,EAAa,MAAM,qBAAqB,CAAC;AAK1E,qBAAa,gBAAgB;WAEX,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;WAQ9D,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAc7F,OAAO,CAAC,MAAM,CAAC,eAAe;CAMjC"}
@@ -25,3 +25,4 @@ export interface EpochSubmissionFeature extends Feature<Features.EPOCH_SUBMISSIO
25
25
  export interface MLDSALinkRequest extends Feature<Features.MLDSA_LINK_PUBKEY> {
26
26
  data: MLDSARequestData;
27
27
  }
28
+ //# sourceMappingURL=Features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../src/generators/Features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,oBAAY,QAAQ;IAChB,WAAW,IAAM;IACjB,gBAAgB,IAAO;IACvB,iBAAiB,IAAQ;CAC5B;AAED,oBAAY,eAAe;IACvB,WAAW,IAAI;IACf,gBAAgB,IAAI;IACpB,iBAAiB,IAAI;CACxB;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,QAAQ;IACvC,MAAM,EAAE,CAAC,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IACpE,IAAI,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC9E,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzE,IAAI,EAAE,gBAAgB,CAAC;CAC1B"}
@@ -1,20 +1,56 @@
1
- import { Network } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network, PublicKey, XOnlyPublicKey } from '../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  import { BinaryWriter } from '../buffer/BinaryWriter.js';
3
3
  import { Feature, Features } from './Features.js';
4
+ /** Bitcoin Script Generator */
4
5
  export declare abstract class Generator {
6
+ /**
7
+ * The maximum size of a data chunk
8
+ */
5
9
  static readonly DATA_CHUNK_SIZE: number;
6
- static readonly MAGIC: Buffer;
7
- protected readonly senderPubKey: Buffer;
8
- protected readonly xSenderPubKey: Buffer;
9
- protected readonly contractSaltPubKey?: Buffer;
10
+ /**
11
+ * The magic number of OPNet
12
+ */
13
+ static readonly MAGIC: Uint8Array;
14
+ /**
15
+ * The public key of the sender
16
+ * @protected
17
+ */
18
+ protected readonly senderPubKey: Uint8Array;
19
+ /**
20
+ * The public key of the sender
21
+ * @protected
22
+ */
23
+ protected readonly xSenderPubKey: Uint8Array;
24
+ /**
25
+ * The public key of the contract salt
26
+ * @protected
27
+ */
28
+ protected readonly contractSaltPubKey?: Uint8Array | undefined;
29
+ /**
30
+ * The network to use
31
+ * @protected
32
+ */
10
33
  protected readonly network: Network;
11
- protected constructor(senderPubKey: Buffer, contractSaltPubKey?: Buffer, network?: Network);
12
- buildHeader(features: Features[]): Buffer;
13
- getHeader(maxPriority: bigint, features?: Features[]): Buffer;
14
- abstract compile(...args: unknown[]): Buffer;
15
- protected splitBufferIntoChunks(buffer: Buffer, chunkSize?: number): Array<Buffer[]>;
34
+ protected constructor(senderPubKey: PublicKey | XOnlyPublicKey, contractSaltPubKey?: Uint8Array, network?: Network);
35
+ buildHeader(features: Features[]): Uint8Array;
36
+ getHeader(maxPriority: bigint, features?: Features[]): Uint8Array;
37
+ /**
38
+ * Compile the script
39
+ * @param args - The arguments to use when compiling the script
40
+ * @returns {Uint8Array} - The compiled script
41
+ */
42
+ abstract compile(...args: unknown[]): Uint8Array;
43
+ /**
44
+ * Split a buffer into chunks
45
+ * @param {Uint8Array} buffer - The buffer to split
46
+ * @param {number} chunkSize - The size of each chunk
47
+ * @protected
48
+ * @returns {Array<Uint8Array[]>} - The chunks
49
+ */
50
+ protected splitBufferIntoChunks(buffer: Uint8Array, chunkSize?: number): Array<Uint8Array[]>;
16
51
  protected encodeFeature(feature: Feature<Features>, finalBuffer: BinaryWriter): void;
17
52
  private encodeAccessListFeature;
18
53
  private encodeChallengeSubmission;
19
54
  private encodeLinkRequest;
20
55
  }
56
+ //# sourceMappingURL=Generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Generator.d.ts","sourceRoot":"","sources":["../../src/generators/Generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,OAAO,EAEZ,KAAK,SAAS,EAEd,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAGH,KAAK,OAAO,EACZ,QAAQ,EAEX,MAAM,eAAe,CAAC;AAIvB,+BAA+B;AAC/B,8BAAsB,SAAS;IAC3B;;OAEG;IACH,gBAAuB,eAAe,EAAE,MAAM,CAAO;IAErD;;OAEG;IACH,gBAAuB,KAAK,EAAE,UAAU,CAAkB;IAE1D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAE5C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IAE7C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE/D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAoB;IAEvD,SAAS,aACL,YAAY,EAAE,SAAS,GAAG,cAAc,EACxC,kBAAkB,CAAC,EAAE,UAAU,EAC/B,OAAO,GAAE,OAA0B;IAQhC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,UAAU;IAe7C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,EAAO,GAAG,UAAU;IAQ5E;;;;OAIG;aACa,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU;IAEvD;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,CAC3B,MAAM,EAAE,UAAU,EAClB,SAAS,GAAE,MAAkC,GAC9C,KAAK,CAAC,UAAU,EAAE,CAAC;IAgBtB,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,YAAY,GAAG,IAAI;IAmBpF,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,iBAAiB;CA2B5B"}
@@ -13,3 +13,4 @@ export interface MLDSARequestData {
13
13
  readonly legacySignature: Uint8Array | Buffer;
14
14
  }
15
15
  export declare function getLevelFromPublicKeyLength(length: number): MLDSASecurityLevel;
16
+ //# sourceMappingURL=MLDSAData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MLDSAData.d.ts","sourceRoot":"","sources":["../../src/generators/MLDSAData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,oBAAY,sBAAsB;IAC9B,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IAEnC,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC;CACjD;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAW9E"}
@@ -1,9 +1,30 @@
1
- import { Network } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network, PublicKey } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  import { Feature, Features } from '../Features.js';
3
3
  import { Generator } from '../Generator.js';
4
4
  import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
5
+ /**
6
+ * Class to generate bitcoin script for interaction transactions
7
+ */
5
8
  export declare class CalldataGenerator extends Generator {
6
- constructor(senderPubKey: Buffer, contractSaltPubKey: Buffer, network?: Network);
7
- static getPubKeyAsBuffer(witnessKeys: Buffer[], network: Network): Buffer;
8
- compile(calldata: Buffer, contractSecret: Buffer, challenge: IChallengeSolution, maxPriority: bigint, featuresRaw?: Feature<Features>[]): Buffer;
9
+ constructor(senderPubKey: PublicKey, contractSaltPubKey: Uint8Array, network?: Network);
10
+ /**
11
+ * Get the public key as a buffer
12
+ * @param {Uint8Array[]} witnessKeys - The public keys
13
+ * @param {Network} network - The network to use
14
+ * @private
15
+ * @returns {Uint8Array} - The public key as a buffer
16
+ */
17
+ static getPubKeyAsBuffer(witnessKeys: Uint8Array[], network: Network): Uint8Array;
18
+ /**
19
+ * Compile an interaction bitcoin script
20
+ * @param {Uint8Array} calldata - The calldata to use
21
+ * @param {Uint8Array} contractSecret - The contract secret
22
+ * @param {IChallengeSolution} challenge
23
+ * @param maxPriority - Amount of satoshis to spend max on priority fee
24
+ * @param {Feature<Features>[]} featuresRaw - The features to use
25
+ * @returns {Uint8Array} - The compiled script
26
+ * @throws {Error} - If something goes wrong
27
+ */
28
+ compile(calldata: Uint8Array, contractSecret: Uint8Array, challenge: IChallengeSolution, maxPriority: bigint, featuresRaw?: Feature<Features>[]): Uint8Array;
9
29
  }
30
+ //# sourceMappingURL=CalldataGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalldataGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/builders/CalldataGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAqB,KAAK,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAI9G,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGvF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;gBAExC,YAAY,EAAE,SAAS,EACvB,kBAAkB,EAAE,UAAU,EAC9B,OAAO,GAAE,OAA0B;IAKvC;;;;;;OAMG;WACW,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IA4BxF;;;;;;;;;OASG;IACI,OAAO,CACV,QAAQ,EAAE,UAAU,EACpB,cAAc,EAAE,UAAU,EAC1B,SAAS,EAAE,kBAAkB,EAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,OAAO,CAAC,QAAQ,CAAC,EAAO,GACtC,UAAU;CA6EhB"}
@@ -1,6 +1,16 @@
1
- import { Network, Stack } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network, Stack, XOnlyPublicKey } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  import { Generator } from '../Generator.js';
3
+ /**
4
+ * Class to generate bitcoin script for interaction transactions
5
+ */
3
6
  export declare class CustomGenerator extends Generator {
4
- constructor(senderPubKey: Buffer, network?: Network);
5
- compile(compiledData: (Buffer | Stack)[]): Buffer;
7
+ constructor(senderPubKey: XOnlyPublicKey, network?: Network);
8
+ /**
9
+ * Compile an interaction bitcoin script
10
+ * @param compiledData - The compiled data
11
+ * @returns {Uint8Array} - The compiled script
12
+ * @throws {Error} - If something goes wrong
13
+ */
14
+ compile(compiledData: (Uint8Array | Stack)[]): Uint8Array;
6
15
  }
16
+ //# sourceMappingURL=CustomGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/builders/CustomGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAoB,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAC9B,YAAY,EAAE,cAAc,EAAE,OAAO,GAAE,OAA0B;IAI7E;;;;;OAKG;IACI,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,GAAG,UAAU;CAYnE"}
@@ -1,11 +1,22 @@
1
- import { Network } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network, PublicKey } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  import { Generator } from '../Generator.js';
3
3
  import { Feature, Features } from '../Features.js';
4
4
  import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
5
5
  export declare const OPNET_DEPLOYMENT_VERSION = 0;
6
- export declare const versionBuffer: Buffer<ArrayBuffer>;
6
+ export declare const versionBuffer: Uint8Array<ArrayBuffer>;
7
7
  export declare class DeploymentGenerator extends Generator {
8
- constructor(senderPubKey: Buffer, contractSaltPubKey: Buffer, network?: Network);
9
- compile(contractBytecode: Buffer, contractSalt: Buffer, challenge: IChallengeSolution, maxPriority: bigint, calldata?: Buffer, features?: Feature<Features>[]): Buffer;
8
+ constructor(senderPubKey: PublicKey, contractSaltPubKey: Uint8Array, network?: Network);
9
+ /**
10
+ * Compile a bitcoin script representing a contract deployment
11
+ * @param {Uint8Array} contractBytecode - The contract bytecode
12
+ * @param {Uint8Array} contractSalt - The contract salt
13
+ * @param {ChallengeSolution} challenge - The challenge for reward
14
+ * @param {bigint} maxPriority - The maximum priority for the contract
15
+ * @param {Uint8Array} [calldata] - The calldata to be passed to the contract
16
+ * @param {Feature<Features>[]} [features] - Optional features to include in the script
17
+ * @returns {Uint8Array} - The compiled script
18
+ */
19
+ compile(contractBytecode: Uint8Array, contractSalt: Uint8Array, challenge: IChallengeSolution, maxPriority: bigint, calldata?: Uint8Array, features?: Feature<Features>[]): Uint8Array;
10
20
  private getAsm;
11
21
  }
22
+ //# sourceMappingURL=DeploymentGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/builders/DeploymentGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,OAAO,EAAqB,KAAK,SAAS,EAAU,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,eAAO,MAAM,wBAAwB,IAAO,CAAC;AAC7C,eAAO,MAAM,aAAa,yBAA8C,CAAC;AAEzE,qBAAa,mBAAoB,SAAQ,SAAS;gBAE1C,YAAY,EAAE,SAAS,EACvB,kBAAkB,EAAE,UAAU,EAC9B,OAAO,GAAE,OAA0B;IAKvC;;;;;;;;;OASG;IACI,OAAO,CACV,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,kBAAkB,EAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,UAAU,EACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,GAC/B,UAAU;IAuBb,OAAO,CAAC,MAAM;CA8EjB"}
@@ -1,33 +1,147 @@
1
- import { Network } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network, Script } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  import { IHashCommittedP2WSH } from '../../transaction/interfaces/IConsolidatedTransactionParameters.js';
3
3
  import { IP2WSHAddress } from '../../transaction/mineable/IP2WSHAddress.js';
4
4
  import { Logger } from '@btc-vision/logger';
5
+ /**
6
+ * Generates hash-committed P2WSH addresses for the Consolidated Hash-Committed Transaction (CHCT) system.
7
+ *
8
+ * These P2WSH scripts enforce that specific data must be provided in the witness to spend the output.
9
+ * If data is stripped or modified, the transaction fails at Bitcoin consensus level.
10
+ *
11
+ * Witness Script Structure (58 bytes):
12
+ * OP_HASH160 <20-byte-hash> OP_EQUALVERIFY <33-byte-pubkey> OP_CHECKSIG
13
+ *
14
+ * Witness Stack (when spending):
15
+ * [signature, data_chunk, witnessScript]
16
+ */
5
17
  export declare class HashCommitmentGenerator extends Logger {
18
+ /**
19
+ * Maximum chunk size per Bitcoin P2WSH stack item limit.
20
+ * See policy.h: MAX_STANDARD_P2WSH_STACK_ITEM_SIZE = 80
21
+ */
6
22
  static readonly MAX_CHUNK_SIZE: number;
23
+ /**
24
+ * Maximum stack items per P2WSH input.
25
+ * See policy.h: MAX_STANDARD_P2WSH_STACK_ITEMS = 100
26
+ */
7
27
  static readonly MAX_STACK_ITEMS: number;
28
+ /**
29
+ * Maximum total witness size (serialized).
30
+ * See policy.cpp: GetSerializeSize(tx.vin[i].scriptWitness.stack) > g_script_size_policy_limit
31
+ * Default: 1650 bytes
32
+ */
8
33
  static readonly MAX_WITNESS_SIZE: number;
34
+ /** Maximum weight per standard transaction */
9
35
  static readonly MAX_STANDARD_WEIGHT: number;
36
+ /** Minimum satoshis per output (dust limit) */
10
37
  static readonly MIN_OUTPUT_VALUE: bigint;
38
+ /**
39
+ * Bytes per hash commitment in witness script.
40
+ * OP_HASH160 (1) + push (1) + hash (20) + OP_EQUALVERIFY (1) = 23 bytes
41
+ */
11
42
  private static readonly BYTES_PER_COMMITMENT;
12
- private static readonly SIG_CHECK_BYTES;
43
+ /**
44
+ * Fixed overhead in witness serialization:
45
+ * - Stack item count: 1 byte
46
+ * - Signature: 73 bytes (72 + 1 length prefix)
47
+ * - Script length prefix: 3 bytes (varInt for sizes 253-65535)
48
+ * - Script base (pubkey + checksig): 35 bytes
49
+ */
13
50
  private static readonly WITNESS_FIXED_OVERHEAD;
51
+ /**
52
+ * Per-chunk overhead in witness:
53
+ * - Data: 81 bytes (80 + 1 length prefix)
54
+ * - Script commitment: 23 bytes
55
+ * Total: 104 bytes per chunk
56
+ */
14
57
  private static readonly WITNESS_PER_CHUNK_OVERHEAD;
58
+ /**
59
+ * Maximum data chunks per P2WSH output.
60
+ * Limited by total witness size: (1650 - 112) / 104 = 14 chunks
61
+ */
15
62
  static readonly MAX_CHUNKS_PER_OUTPUT: number;
63
+ /** Base weight per input (non-witness): 41 bytes * 4 = 164 */
16
64
  private static readonly INPUT_BASE_WEIGHT;
65
+ /**
66
+ * Witness weight per input with max chunks:
67
+ * Total witness size is ~1566 bytes (under 1650 limit)
68
+ * Witness bytes count as 1 weight unit each.
69
+ */
17
70
  private static readonly INPUT_WITNESS_WEIGHT_MAX;
71
+ /** Total weight per input (with max chunks) */
18
72
  static readonly WEIGHT_PER_INPUT: number;
19
73
  readonly logColor: string;
20
74
  private readonly publicKey;
21
75
  private readonly network;
22
- constructor(publicKey: Buffer, network?: Network);
76
+ constructor(publicKey: Uint8Array, network?: Network);
77
+ /**
78
+ * Calculate the maximum number of inputs per standard reveal transaction.
79
+ *
80
+ * Standard tx weight limit: 400,000
81
+ * With max chunks per input (~10,385 weight), only ~38 inputs fit
82
+ *
83
+ * @returns Maximum inputs per reveal tx (~38 with max chunks)
84
+ */
23
85
  static calculateMaxInputsPerTx(): number;
86
+ /**
87
+ * Calculate maximum data per standard reveal transaction.
88
+ *
89
+ * @returns Maximum data in bytes (~300KB with batched chunks at 70 chunks/output)
90
+ */
24
91
  static calculateMaxDataPerTx(): number;
92
+ /**
93
+ * Estimate the number of P2WSH outputs needed for a given data size.
94
+ *
95
+ * @param dataSize Data size in bytes
96
+ * @returns Number of P2WSH outputs needed
97
+ */
25
98
  static estimateOutputCount(dataSize: number): number;
99
+ /**
100
+ * Estimate the number of 80-byte chunks for a given data size.
101
+ *
102
+ * @param dataSize Data size in bytes
103
+ * @returns Number of 80-byte chunks needed
104
+ */
26
105
  static estimateChunkCount(dataSize: number): number;
27
- static validateHashCommittedScript(witnessScript: Buffer): boolean;
28
- static extractDataHashes(witnessScript: Buffer): Buffer[] | null;
29
- static extractPublicKey(witnessScript: Buffer): Buffer | null;
30
- static verifyChunkCommitments(dataChunks: Buffer[], witnessScript: Buffer): boolean;
106
+ /**
107
+ * Validate that a witness script is a valid multi-hash committed script.
108
+ *
109
+ * Script structure: (OP_HASH160 <hash> OP_EQUALVERIFY)+ <pubkey> OP_CHECKSIG
110
+ *
111
+ * @param witnessScript The witness script to validate
112
+ * @returns true if valid hash-committed script
113
+ */
114
+ static validateHashCommittedScript(witnessScript: Uint8Array): boolean;
115
+ /**
116
+ * Extract all data hashes from a hash-committed witness script.
117
+ *
118
+ * @param witnessScript The witness script
119
+ * @returns Array of 20-byte data hashes (in data order), or null if invalid
120
+ */
121
+ static extractDataHashes(witnessScript: Uint8Array): Uint8Array[] | null;
122
+ /**
123
+ * Extract the public key from a hash-committed witness script.
124
+ *
125
+ * @param witnessScript The witness script
126
+ * @returns The 33-byte public key, or null if invalid script
127
+ */
128
+ static extractPublicKey(witnessScript: Uint8Array): Uint8Array | null;
129
+ /**
130
+ * Verify that data chunks match their committed hashes.
131
+ *
132
+ * @param dataChunks Array of data chunks (in order)
133
+ * @param witnessScript The witness script containing the hash commitments
134
+ * @returns true if all chunks match their commitments
135
+ */
136
+ static verifyChunkCommitments(dataChunks: Uint8Array[], witnessScript: Uint8Array): boolean;
137
+ /**
138
+ * Estimate fees for a complete CHCT flow (setup + reveal).
139
+ *
140
+ * @param dataSize Data size in bytes (before compression)
141
+ * @param feeRate Fee rate in sat/vB
142
+ * @param compressionRatio Expected compression ratio (default: 0.7)
143
+ * @returns Fee estimates
144
+ */
31
145
  static estimateFees(dataSize: number, feeRate: number, compressionRatio?: number): {
32
146
  compressedSize: number;
33
147
  outputCount: number;
@@ -40,10 +154,48 @@ export declare class HashCommitmentGenerator extends Logger {
40
154
  outputsValue: bigint;
41
155
  totalCost: bigint;
42
156
  };
43
- hashChunk(data: Buffer): Buffer;
44
- generateWitnessScript(dataHashes: Buffer[]): Buffer;
45
- generateP2WSHAddress(witnessScript: Buffer): IP2WSHAddress & {
46
- scriptPubKey: Buffer;
157
+ /**
158
+ * Calculate the HASH160 of a data chunk.
159
+ * HASH160 = RIPEMD160(SHA256(data))
160
+ */
161
+ hashChunk(data: Uint8Array): Uint8Array;
162
+ /**
163
+ * Generate a hash-committed witness script for multiple data chunks.
164
+ *
165
+ * Script structure (for N chunks):
166
+ * OP_HASH160 <hash_N> OP_EQUALVERIFY
167
+ * OP_HASH160 <hash_N-1> OP_EQUALVERIFY
168
+ * ...
169
+ * OP_HASH160 <hash_1> OP_EQUALVERIFY
170
+ * <pubkey> OP_CHECKSIG
171
+ *
172
+ * Hashes are in reverse order because witness stack is LIFO.
173
+ * Witness stack: [sig, data_1, data_2, ..., data_N, witnessScript]
174
+ * Stack before execution: [sig, data_1, data_2, ..., data_N] (data_N on top)
175
+ *
176
+ * @param dataHashes Array of HASH160 values (in data order, will be reversed in script)
177
+ * @returns The compiled witness script
178
+ */
179
+ generateWitnessScript(dataHashes: Uint8Array[]): Uint8Array;
180
+ /**
181
+ * Generate a P2WSH address from a witness script.
182
+ *
183
+ * @param witnessScript The witness script
184
+ * @returns P2WSH address info
185
+ */
186
+ generateP2WSHAddress(witnessScript: Uint8Array | Script): IP2WSHAddress & {
187
+ scriptPubKey: Uint8Array;
47
188
  };
48
- prepareChunks(data: Buffer, maxChunkSize?: number): IHashCommittedP2WSH[];
189
+ /**
190
+ * Split data into chunks and generate hash-committed P2WSH outputs.
191
+ *
192
+ * Each output commits to up to 98 data chunks (80 bytes each = 7,840 bytes).
193
+ * This is MUCH more efficient than one output per chunk.
194
+ *
195
+ * @param data The data to chunk and commit
196
+ * @param maxChunkSize Maximum bytes per stack item (default: 80, P2WSH stack item limit)
197
+ * @returns Array of hash-committed P2WSH outputs
198
+ */
199
+ prepareChunks(data: Uint8Array, maxChunkSize?: number): IHashCommittedP2WSH[];
49
200
  }
201
+ //# sourceMappingURL=HashCommitmentGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashCommitmentGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/builders/HashCommitmentGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,30 @@
1
- import { Network } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
1
+ import { Network, PublicKey } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
2
  import { Generator } from '../Generator.js';
3
3
  import { Feature, Features } from '../Features.js';
4
+ /**
5
+ * Class to generate bitcoin script for interaction transactions
6
+ * @deprecated
7
+ */
4
8
  export declare class LegacyCalldataGenerator extends Generator {
5
- constructor(senderPubKey: Buffer, network?: Network);
6
- static getPubKeyAsBuffer(witnessKeys: Buffer[], network: Network): Buffer;
7
- compile(calldata: Buffer, contractSecret: Buffer, challenge: Buffer, maxPriority: bigint, featuresRaw?: Feature<Features>[]): Buffer;
9
+ constructor(senderPubKey: PublicKey, network?: Network);
10
+ /**
11
+ * Get the public key as a buffer
12
+ * @param {Uint8Array[]} witnessKeys - The public keys
13
+ * @param {Network} network - The network to use
14
+ * @private
15
+ * @returns {Uint8Array} - The public key as a buffer
16
+ */
17
+ static getPubKeyAsBuffer(witnessKeys: Uint8Array[], network: Network): Uint8Array;
18
+ /**
19
+ * Compile an interaction bitcoin script
20
+ * @param {Uint8Array} calldata - The calldata to use
21
+ * @param {Uint8Array} contractSecret - The contract secret
22
+ * @param {Uint8Array} challenge - The challenge to use
23
+ * @param {bigint} maxPriority - The maximum priority
24
+ * @param {number[]} [featuresRaw=[]] - The features to use (optional)
25
+ * @returns {Uint8Array} - The compiled script
26
+ * @throws {Error} - If something goes wrong
27
+ */
28
+ compile(calldata: Uint8Array, contractSecret: Uint8Array, challenge: Uint8Array, maxPriority: bigint, featuresRaw?: Feature<Features>[]): Uint8Array;
8
29
  }
30
+ //# sourceMappingURL=LegacyCalldataGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegacyCalldataGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/builders/LegacyCalldataGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAqB,KAAK,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAI9G,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,SAAS;gBACtC,YAAY,EAAE,SAAS,EAAE,OAAO,GAAE,OAA0B;IAIxE;;;;;;OAMG;WACW,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IA4BxF;;;;;;;;;OASG;IACI,OAAO,CACV,QAAQ,EAAE,UAAU,EACpB,cAAc,EAAE,UAAU,EAC1B,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,OAAO,CAAC,QAAQ,CAAC,EAAO,GACtC,UAAU;CAoEhB"}
@@ -1,4 +1,9 @@
1
+ import { PublicKey, XOnlyPublicKey } from '../../../node_modules/@btc-vision/bitcoin/browser/index.js';
2
+ /**
3
+ * Generate a bitcoin script for a multisign interaction
4
+ */
1
5
  export declare class MultiSignGenerator {
2
6
  static readonly MAXIMUM_SUPPORTED_SIGNATURE = 255;
3
- static compile(vaultPublicKeys: Buffer[], minimumSignatures?: number, internal?: Buffer): Buffer;
7
+ static compile(vaultPublicKeys: Uint8Array[] | PublicKey[], minimumSignatures?: number, internal?: Uint8Array | XOnlyPublicKey): Uint8Array;
4
8
  }
9
+ //# sourceMappingURL=MultiSignGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSignGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/builders/MultiSignGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAmB,KAAK,cAAc,EAAG,MAAM,qBAAqB,CAAC;AAE7H;;GAEG;AACH,qBAAa,kBAAkB;IAC3B,gBAAuB,2BAA2B,OAAO;WAE3C,OAAO,CACjB,eAAe,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,EAC3C,iBAAiB,GAAE,MAAU,EAC7B,QAAQ,CAAC,EAAE,UAAU,GAAG,cAAc,GACvC,UAAU;CA6DhB"}