@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,5 +1,5 @@
1
- import { Buffer } from 'buffer';
2
- import { Psbt, toXOnly } from '@btc-vision/bitcoin';
1
+ import { fromHex, Psbt, toSatoshi, toXOnly, Transaction, } from '@btc-vision/bitcoin';
2
+ import {} from '@btc-vision/ecpair';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
4
  import { MINIMUM_AMOUNT_REWARD, TransactionBuilder } from './TransactionBuilder.js';
5
5
  import { HashCommitmentGenerator } from '../../generators/builders/HashCommitmentGenerator.js';
@@ -10,11 +10,84 @@ import { BitcoinUtils } from '../../utils/BitcoinUtils.js';
10
10
  import { Compressor } from '../../bytecode/Compressor.js';
11
11
  import { FeaturePriority, Features } from '../../generators/Features.js';
12
12
  import { AddressGenerator } from '../../generators/AddressGenerator.js';
13
+ /**
14
+ * Consolidated Interaction Transaction
15
+ *
16
+ * Drop-in replacement for InteractionTransaction that bypasses BIP110/Bitcoin Knots censorship.
17
+ *
18
+ * Uses the same parameters and sends the same data on-chain as InteractionTransaction,
19
+ * but embeds data in hash-committed P2WSH witnesses instead of Tapscript.
20
+ *
21
+ * Data is split into 80-byte chunks (P2WSH stack item limit), with up to 14 chunks
22
+ * batched per P2WSH output (~1,120 bytes per output). Each output's witness script
23
+ * commits to all its chunks via HASH160. When spent, all data chunks are revealed
24
+ * in the witness and verified at consensus level.
25
+ *
26
+ * Policy limits respected:
27
+ * - MAX_STANDARD_P2WSH_STACK_ITEM_SIZE = 80 bytes per chunk
28
+ * - g_script_size_policy_limit = 1650 bytes total witness size (serialized)
29
+ * - MAX_STANDARD_P2WSH_STACK_ITEMS = 100 items per witness
30
+ *
31
+ * Data integrity is consensus-enforced: if any data is stripped or modified,
32
+ * HASH160(data) != committed_hash and the transaction is INVALID.
33
+ *
34
+ * Capacity: ~1.1KB per P2WSH output, ~220 outputs per reveal tx, ~242KB max.
35
+ *
36
+ * Usage:
37
+ * ```typescript
38
+ * // Same parameters as InteractionTransaction
39
+ * const tx = new ConsolidatedInteractionTransaction({
40
+ * calldata: myCalldata,
41
+ * to: contractAddress,
42
+ * contract: contractSecret,
43
+ * challenge: myChallenge,
44
+ * utxos: myUtxos,
45
+ * signer: mySigner,
46
+ * network: networks.bitcoin,
47
+ * feeRate: 10,
48
+ * priorityFee: 0n,
49
+ * gasSatFee: 330n,
50
+ * });
51
+ *
52
+ * const result = await tx.build();
53
+ * // Broadcast setup first, then reveal (can use CPFP)
54
+ * broadcast(result.setup.txHex);
55
+ * broadcast(result.reveal.txHex);
56
+ * ```
57
+ */
13
58
  export class ConsolidatedInteractionTransaction extends TransactionBuilder {
59
+ type = TransactionType.INTERACTION;
60
+ /** Random bytes for interaction (same as InteractionTransaction) */
61
+ randomBytes;
62
+ /** The contract address (same as InteractionTransaction.to) */
63
+ contractAddress;
64
+ /** The contract secret - 32 bytes (same as InteractionTransaction) */
65
+ contractSecret;
66
+ /** The compressed calldata (same as InteractionTransaction) */
67
+ calldata;
68
+ /** Challenge solution for epoch (same as InteractionTransaction) */
69
+ challenge;
70
+ /** Epoch challenge P2WSH address (same as InteractionTransaction) */
71
+ epochChallenge;
72
+ /** Script signer for interaction (same as InteractionTransaction) */
73
+ scriptSigner;
74
+ /** Calldata generator - produces same output as InteractionTransaction */
75
+ calldataGenerator;
76
+ /** Hash commitment generator for CHCT */
77
+ hashCommitmentGenerator;
78
+ /** The compiled operation data - SAME as InteractionTransaction's compiledTargetScript */
79
+ compiledTargetScript;
80
+ /** Generated hash-committed P2WSH outputs */
81
+ commitmentOutputs;
82
+ /** Disable auto refund (same as InteractionTransaction) */
83
+ disableAutoRefund;
84
+ /** Maximum chunk size (default: 80 bytes per P2WSH stack item limit) */
85
+ maxChunkSize;
86
+ /** Cached value per output (calculated once, used by setup and reveal) */
87
+ cachedValuePerOutput = null;
14
88
  constructor(parameters) {
15
89
  super(parameters);
16
- this.type = TransactionType.INTERACTION;
17
- this.cachedValuePerOutput = null;
90
+ // Same validation as InteractionTransaction
18
91
  if (!parameters.to) {
19
92
  throw new Error('Contract address (to) is required');
20
93
  }
@@ -28,24 +101,30 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
28
101
  throw new Error('Challenge solution is required');
29
102
  }
30
103
  this.contractAddress = parameters.to;
31
- this.contractSecret = Buffer.from(parameters.contract.replace('0x', ''), 'hex');
104
+ this.contractSecret = fromHex(parameters.contract.replace('0x', ''));
32
105
  this.disableAutoRefund = parameters.disableAutoRefund || false;
33
106
  this.maxChunkSize = parameters.maxChunkSize ?? HashCommitmentGenerator.MAX_CHUNK_SIZE;
107
+ // Validate contract secret (same as InteractionTransaction)
34
108
  if (this.contractSecret.length !== 32) {
35
109
  throw new Error('Invalid contract secret length. Expected 32 bytes.');
36
110
  }
111
+ // Compress calldata (same as SharedInteractionTransaction)
37
112
  this.calldata = Compressor.compress(parameters.calldata);
113
+ // Generate random bytes and script signer (same as SharedInteractionTransaction)
38
114
  this.randomBytes = parameters.randomBytes || BitcoinUtils.rndBytes();
39
115
  this.scriptSigner = EcKeyPair.fromSeedKeyPair(this.randomBytes, this.network);
116
+ // Generate epoch challenge address (same as SharedInteractionTransaction)
40
117
  this.challenge = parameters.challenge;
41
118
  this.epochChallenge = TimeLockGenerator.generateTimeLockAddress(this.challenge.publicKey.originalPublicKeyBuffer(), this.network);
42
- this.calldataGenerator = new CalldataGenerator(Buffer.from(this.signer.publicKey), toXOnly(Buffer.from(this.scriptSigner.publicKey)), this.network);
119
+ // Create calldata generator (same as SharedInteractionTransaction)
120
+ this.calldataGenerator = new CalldataGenerator(this.signer.publicKey, toXOnly(this.scriptSigner.publicKey), this.network);
121
+ // Compile the target script - SAME as InteractionTransaction
43
122
  if (parameters.compiledTargetScript) {
44
- if (Buffer.isBuffer(parameters.compiledTargetScript)) {
123
+ if (parameters.compiledTargetScript instanceof Uint8Array) {
45
124
  this.compiledTargetScript = parameters.compiledTargetScript;
46
125
  }
47
126
  else if (typeof parameters.compiledTargetScript === 'string') {
48
- this.compiledTargetScript = Buffer.from(parameters.compiledTargetScript, 'hex');
127
+ this.compiledTargetScript = fromHex(parameters.compiledTargetScript);
49
128
  }
50
129
  else {
51
130
  throw new Error('Invalid compiled target script format.');
@@ -54,36 +133,66 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
54
133
  else {
55
134
  this.compiledTargetScript = this.calldataGenerator.compile(this.calldata, this.contractSecret, this.challenge, this.priorityFee, this.generateFeatures(parameters));
56
135
  }
57
- this.hashCommitmentGenerator = new HashCommitmentGenerator(Buffer.from(this.signer.publicKey), this.network);
136
+ // Create hash commitment generator
137
+ this.hashCommitmentGenerator = new HashCommitmentGenerator(this.signer.publicKey, this.network);
138
+ // Split compiled data into hash-committed chunks
58
139
  this.commitmentOutputs = this.hashCommitmentGenerator.prepareChunks(this.compiledTargetScript, this.maxChunkSize);
140
+ // Validate output count
59
141
  this.validateOutputCount();
60
142
  const totalChunks = this.commitmentOutputs.reduce((sum, output) => sum + output.dataChunks.length, 0);
61
143
  this.log(`ConsolidatedInteractionTransaction: ${this.commitmentOutputs.length} outputs, ` +
62
144
  `${totalChunks} chunks from ${this.compiledTargetScript.length} bytes compiled data`);
63
145
  this.internalInit();
64
146
  }
147
+ /**
148
+ * Get the compiled target script (same as InteractionTransaction).
149
+ */
65
150
  exportCompiledTargetScript() {
66
151
  return this.compiledTargetScript;
67
152
  }
153
+ /**
154
+ * Get the contract secret (same as InteractionTransaction).
155
+ */
68
156
  getContractSecret() {
69
157
  return this.contractSecret;
70
158
  }
159
+ /**
160
+ * Get the random bytes (same as InteractionTransaction).
161
+ */
71
162
  getRndBytes() {
72
163
  return this.randomBytes;
73
164
  }
165
+ /**
166
+ * Get the challenge solution (same as InteractionTransaction).
167
+ */
74
168
  getChallenge() {
75
169
  return this.challenge;
76
170
  }
171
+ /**
172
+ * Get the commitment outputs for the setup transaction.
173
+ */
77
174
  getCommitmentOutputs() {
78
175
  return this.commitmentOutputs;
79
176
  }
177
+ /**
178
+ * Get the number of P2WSH outputs.
179
+ */
80
180
  getOutputCount() {
81
181
  return this.commitmentOutputs.length;
82
182
  }
183
+ /**
184
+ * Get the total number of 80-byte chunks across all outputs.
185
+ */
83
186
  getTotalChunkCount() {
84
187
  return this.commitmentOutputs.reduce((sum, output) => sum + output.dataChunks.length, 0);
85
188
  }
189
+ /**
190
+ * Build both setup and reveal transactions.
191
+ *
192
+ * @returns Complete result with both transactions
193
+ */
86
194
  async build() {
195
+ // Build and sign setup transaction using base class flow
87
196
  const setupTx = await this.signTransaction();
88
197
  const setupTxId = setupTx.getId();
89
198
  const setup = {
@@ -95,6 +204,7 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
95
204
  totalDataSize: this.compiledTargetScript.length,
96
205
  };
97
206
  this.log(`Setup transaction: ${setup.txId}`);
207
+ // Build reveal transaction
98
208
  const reveal = this.buildRevealTransaction(setupTxId);
99
209
  return {
100
210
  setup,
@@ -102,9 +212,21 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
102
212
  totalFees: setup.feesPaid + reveal.feesPaid,
103
213
  };
104
214
  }
215
+ /**
216
+ * Build the reveal transaction.
217
+ * Spends the P2WSH commitment outputs, revealing the compiled data in witnesses.
218
+ *
219
+ * Output structure matches InteractionTransaction:
220
+ * - Output to epochChallenge.address (miner reward)
221
+ * - Change output (if any)
222
+ *
223
+ * @param setupTxId The transaction ID of the setup transaction
224
+ */
105
225
  buildRevealTransaction(setupTxId) {
106
226
  const revealPsbt = new Psbt({ network: this.network });
227
+ // Get the value per output (same as used in setup transaction)
107
228
  const valuePerOutput = this.calculateValuePerOutput();
229
+ // Add commitment outputs as inputs (from setup tx)
108
230
  for (let i = 0; i < this.commitmentOutputs.length; i++) {
109
231
  const commitment = this.commitmentOutputs[i];
110
232
  revealPsbt.addInput({
@@ -112,31 +234,38 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
112
234
  index: i,
113
235
  witnessUtxo: {
114
236
  script: commitment.scriptPubKey,
115
- value: Number(valuePerOutput),
237
+ value: toSatoshi(valuePerOutput),
116
238
  },
117
239
  witnessScript: commitment.witnessScript,
118
240
  });
119
241
  }
242
+ // Calculate input value from commitments
120
243
  const inputValue = BigInt(this.commitmentOutputs.length) * valuePerOutput;
244
+ // Calculate OPNet fee (same as InteractionTransaction)
121
245
  const opnetFee = this.getTransactionOPNetFee();
122
246
  const feeAmount = opnetFee < MINIMUM_AMOUNT_REWARD ? MINIMUM_AMOUNT_REWARD : opnetFee;
247
+ // Add output to epoch challenge address (same as InteractionTransaction)
123
248
  revealPsbt.addOutput({
124
249
  address: this.epochChallenge.address,
125
- value: Number(feeAmount),
250
+ value: toSatoshi(feeAmount),
126
251
  });
252
+ // Estimate reveal transaction fee
127
253
  const estimatedVBytes = this.estimateRevealVBytes();
128
254
  const revealFee = BigInt(Math.ceil(estimatedVBytes * this.feeRate));
255
+ // Add change output if there's enough left
129
256
  const changeValue = inputValue - feeAmount - revealFee;
130
257
  if (changeValue > TransactionBuilder.MINIMUM_DUST) {
131
258
  const refundAddress = this.getRefundAddress();
132
259
  revealPsbt.addOutput({
133
260
  address: refundAddress,
134
- value: Number(changeValue),
261
+ value: toSatoshi(changeValue),
135
262
  });
136
263
  }
264
+ // Sign all commitment inputs
137
265
  for (let i = 0; i < this.commitmentOutputs.length; i++) {
138
266
  revealPsbt.signInput(i, this.signer);
139
267
  }
268
+ // Finalize all inputs with hash-commitment finalizer
140
269
  for (let i = 0; i < this.commitmentOutputs.length; i++) {
141
270
  const commitment = this.commitmentOutputs[i];
142
271
  revealPsbt.finalizeInput(i, (_inputIndex, input) => {
@@ -154,22 +283,44 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
154
283
  this.log(`Reveal transaction: ${result.txId}`);
155
284
  return result;
156
285
  }
286
+ /**
287
+ * Get the value per commitment output (for external access).
288
+ */
157
289
  getValuePerOutput() {
158
290
  return this.calculateValuePerOutput();
159
291
  }
292
+ /**
293
+ * Build the setup transaction.
294
+ * Creates P2WSH outputs with hash commitments to the compiled data chunks.
295
+ * This is called by signTransaction() in the base class.
296
+ */
160
297
  async buildTransaction() {
298
+ // Add funding UTXOs as inputs
161
299
  this.addInputsFromUTXO();
300
+ // Calculate value per output (includes reveal fee + OPNet fee)
162
301
  const valuePerOutput = this.calculateValuePerOutput();
302
+ // Add each hash-committed P2WSH as an output
163
303
  for (const commitment of this.commitmentOutputs) {
164
304
  this.addOutput({
165
- value: Number(valuePerOutput),
305
+ value: toSatoshi(valuePerOutput),
166
306
  address: commitment.address,
167
307
  });
168
308
  }
309
+ // Calculate total spent on commitment outputs
169
310
  const totalCommitmentValue = BigInt(this.commitmentOutputs.length) * valuePerOutput;
311
+ // Add optional outputs
170
312
  const optionalAmount = this.addOptionalOutputsAndGetAmount();
313
+ // Add refund/change output
171
314
  await this.addRefundOutput(totalCommitmentValue + optionalAmount);
172
315
  }
316
+ /**
317
+ * Finalize a commitment input.
318
+ *
319
+ * Witness stack: [signature, data_1, data_2, ..., data_N, witnessScript]
320
+ *
321
+ * The witness script verifies each data chunk against its committed hash.
322
+ * If any data is wrong or missing, the transaction is INVALID at consensus level.
323
+ */
173
324
  finalizeCommitmentInput(input, commitment) {
174
325
  if (!input.partialSig || input.partialSig.length === 0) {
175
326
  throw new Error('No signature for commitment input');
@@ -177,51 +328,73 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
177
328
  if (!input.witnessScript) {
178
329
  throw new Error('No witness script for commitment input');
179
330
  }
331
+ // Witness stack for hash-committed P2WSH with multiple chunks
332
+ // Order: [signature, data_1, data_2, ..., data_N, witnessScript]
180
333
  const witnessStack = [
181
- input.partialSig[0].signature,
182
- ...commitment.dataChunks,
183
- input.witnessScript,
334
+ input.partialSig[0].signature, // Signature for OP_CHECKSIG
335
+ ...commitment.dataChunks, // All data chunks for OP_HASH160 verification
336
+ input.witnessScript, // The witness script
184
337
  ];
185
338
  return {
186
339
  finalScriptSig: undefined,
187
340
  finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witnessStack),
188
341
  };
189
342
  }
343
+ /**
344
+ * Estimate reveal transaction vBytes.
345
+ */
190
346
  estimateRevealVBytes() {
191
- const inputCount = this.commitmentOutputs.length;
347
+ // Calculate actual witness weight based on chunks per output
192
348
  let witnessWeight = 0;
193
349
  for (const commitment of this.commitmentOutputs) {
350
+ // Per input: 41 bytes base (× 4) + witness data
351
+ // Witness: signature (~72) + chunks (N × 80) + script (N × 23 + 35) + overhead (~20)
194
352
  const numChunks = commitment.dataChunks.length;
195
- const chunkDataWeight = numChunks * 80;
196
- const scriptWeight = numChunks * 23 + 35;
353
+ const chunkDataWeight = numChunks * 80; // actual data
354
+ const scriptWeight = numChunks * 23 + 35; // witness script
197
355
  const sigWeight = 72;
198
356
  const overheadWeight = 20;
199
357
  witnessWeight += 164 + chunkDataWeight + scriptWeight + sigWeight + overheadWeight;
200
358
  }
201
- const weight = 40 + witnessWeight + 200;
359
+ const weight = 40 + witnessWeight + 200; // tx overhead + witnesses + outputs
202
360
  return Math.ceil(weight / 4);
203
361
  }
362
+ /**
363
+ * Calculate the required value per commitment output.
364
+ * This must cover: dust minimum + share of reveal fee + share of OPNet fee
365
+ */
204
366
  calculateValuePerOutput() {
367
+ // Return cached value if already calculated
205
368
  if (this.cachedValuePerOutput !== null) {
206
369
  return this.cachedValuePerOutput;
207
370
  }
208
371
  const numOutputs = this.commitmentOutputs.length;
372
+ // Calculate OPNet fee
209
373
  const opnetFee = this.getTransactionOPNetFee();
210
374
  const feeAmount = opnetFee < MINIMUM_AMOUNT_REWARD ? MINIMUM_AMOUNT_REWARD : opnetFee;
375
+ // Calculate reveal fee
211
376
  const estimatedVBytes = this.estimateRevealVBytes();
212
377
  const revealFee = BigInt(Math.ceil(estimatedVBytes * this.feeRate));
378
+ // Total needed: OPNet fee + reveal fee + dust for change
213
379
  const totalNeeded = feeAmount + revealFee + TransactionBuilder.MINIMUM_DUST;
380
+ // Distribute across outputs, ensuring at least MIN_OUTPUT_VALUE per output
214
381
  const valuePerOutput = BigInt(Math.ceil(Number(totalNeeded) / numOutputs));
215
382
  const minValue = HashCommitmentGenerator.MIN_OUTPUT_VALUE;
216
383
  this.cachedValuePerOutput = valuePerOutput > minValue ? valuePerOutput : minValue;
217
384
  return this.cachedValuePerOutput;
218
385
  }
386
+ /**
387
+ * Get refund address.
388
+ */
219
389
  getRefundAddress() {
220
390
  if (this.from) {
221
391
  return this.from;
222
392
  }
223
393
  return AddressGenerator.generatePKSH(this.signer.publicKey, this.network);
224
394
  }
395
+ /**
396
+ * Generate features (same as InteractionTransaction).
397
+ */
225
398
  generateFeatures(parameters) {
226
399
  const features = [];
227
400
  if (parameters.loadedStorage) {
@@ -247,6 +420,9 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
247
420
  }
248
421
  return features;
249
422
  }
423
+ /**
424
+ * Validate output count is within standard tx limits.
425
+ */
250
426
  validateOutputCount() {
251
427
  const maxInputs = HashCommitmentGenerator.calculateMaxInputsPerTx();
252
428
  if (this.commitmentOutputs.length > maxInputs) {
@@ -257,3 +433,4 @@ export class ConsolidatedInteractionTransaction extends TransactionBuilder {
257
433
  }
258
434
  }
259
435
  }
436
+ //# sourceMappingURL=ConsolidatedInteractionTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolidatedInteractionTransaction.js","sourceRoot":"","sources":["../../../src/transaction/builders/ConsolidatedInteractionTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,137 @@
1
- import { P2TRPayment, Psbt, PsbtInput } from '@btc-vision/bitcoin';
1
+ import { type P2TRPayment, Psbt, type PsbtInput } from '@btc-vision/bitcoin';
2
2
  import { TransactionType } from '../enums/TransactionType.js';
3
- import { TapLeafScript } from '../interfaces/Tap.js';
3
+ import type { TapLeafScript } from '../interfaces/Tap.js';
4
4
  import { TransactionBuilder } from './TransactionBuilder.js';
5
- import { ICustomTransactionParameters } from '../interfaces/ICustomTransactionParameters.js';
5
+ import type { ICustomTransactionParameters } from '../interfaces/ICustomTransactionParameters.js';
6
+ /**
7
+ * Class for interaction transactions
8
+ * @class CustomScriptTransaction
9
+ */
6
10
  export declare class CustomScriptTransaction extends TransactionBuilder<TransactionType.CUSTOM_CODE> {
7
11
  type: TransactionType.CUSTOM_CODE;
12
+ /**
13
+ * The contract address
14
+ * @protected
15
+ */
8
16
  protected readonly _scriptAddress: string;
17
+ /**
18
+ * The tap leaf script
19
+ * @private
20
+ */
9
21
  protected tapLeafScript: TapLeafScript | null;
22
+ /**
23
+ * The target script redeem
24
+ * @private
25
+ */
10
26
  private targetScriptRedeem;
27
+ /**
28
+ * The left over funds script redeem
29
+ * @private
30
+ */
11
31
  private leftOverFundsScriptRedeem;
32
+ /**
33
+ * The compiled target script
34
+ * @private
35
+ */
12
36
  private readonly compiledTargetScript;
37
+ /**
38
+ * The script tree
39
+ * @private
40
+ */
13
41
  private readonly scriptTree;
42
+ /**
43
+ * The deployment bitcoin generator
44
+ * @private
45
+ */
14
46
  private generator;
47
+ /**
48
+ * The contract seed
49
+ * @private
50
+ */
15
51
  private readonly scriptSeed;
52
+ /**
53
+ * The contract signer
54
+ * @private
55
+ */
16
56
  private readonly contractSigner;
57
+ /**
58
+ * The contract salt random bytes
59
+ * @private
60
+ */
17
61
  private readonly randomBytes;
62
+ /**
63
+ * The witnesses
64
+ * @private
65
+ */
18
66
  private readonly witnesses;
19
67
  private readonly annexData?;
20
68
  constructor(parameters: ICustomTransactionParameters);
69
+ /**
70
+ * @description Get the contract address (PKSH)
71
+ */
21
72
  get scriptAddress(): string;
73
+ /**
74
+ * @description Get the P2TR address
75
+ */
22
76
  get p2trAddress(): string;
23
- exportCompiledTargetScript(): Buffer;
24
- getRndBytes(): Buffer;
25
- protected contractSignerXOnlyPubKey(): Buffer;
77
+ exportCompiledTargetScript(): Uint8Array;
78
+ /**
79
+ * Get the random bytes used for the interaction
80
+ * @returns {Buffer} The random bytes
81
+ */
82
+ getRndBytes(): Uint8Array;
83
+ /**
84
+ * Get the contract signer public key
85
+ * @protected
86
+ */
87
+ protected contractSignerXOnlyPubKey(): Uint8Array;
88
+ /**
89
+ * Build the transaction
90
+ * @protected
91
+ */
26
92
  protected buildTransaction(): Promise<void>;
93
+ /**
94
+ * Sign the inputs
95
+ * @param {Psbt} transaction The transaction to sign
96
+ * @protected
97
+ */
27
98
  protected signInputs(transaction: Psbt): Promise<void>;
99
+ /**
100
+ * Get the tap output
101
+ * @protected
102
+ */
28
103
  protected generateScriptAddress(): P2TRPayment;
104
+ /**
105
+ * Generate the tap data
106
+ * @protected
107
+ */
29
108
  protected generateTapData(): P2TRPayment;
30
- protected getScriptSolution(input: PsbtInput): Buffer[];
109
+ protected getScriptSolution(input: PsbtInput): Uint8Array[];
110
+ /**
111
+ * Generate the contract seed for the deployment
112
+ * @private
113
+ */
31
114
  private getContractSeed;
115
+ /**
116
+ * Finalize the transaction
117
+ * @param _inputIndex
118
+ * @param input
119
+ */
32
120
  private customFinalizer;
33
- private getPubKeys;
121
+ /**
122
+ * Generate the redeem scripts
123
+ * @private
124
+ */
34
125
  private generateRedeemScripts;
126
+ /**
127
+ * Get the second leaf script
128
+ * @private
129
+ */
35
130
  private getLeafScript;
131
+ /**
132
+ * Get the script tree
133
+ * @private
134
+ */
36
135
  private getScriptTree;
37
136
  }
137
+ //# sourceMappingURL=CustomScriptTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomScriptTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/builders/CustomScriptTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,WAAW,EAEhB,IAAI,EACJ,KAAK,SAAS,EAMjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAElG;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC;IACjF,IAAI,EAAE,eAAe,CAAC,WAAW,CAA+B;IAEvE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C;;;OAGG;IACH,UAAmB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC9D;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAA4B;IACtD;;;OAGG;IACH,OAAO,CAAC,yBAAyB,CAA4B;IAC7D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAE1D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAa;gBAErB,UAAU,EAAE,4BAA4B;IAwB3D;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAEM,0BAA0B,IAAI,UAAU;IAI/C;;;OAGG;IACI,WAAW,IAAI,UAAU;IAIhC;;;OAGG;IACH,SAAS,CAAC,yBAAyB,IAAI,UAAU;IAIjD;;;OAGG;cACsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC1D;;;;OAIG;cACsB,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDrE;;;OAGG;cACgB,qBAAqB,IAAI,WAAW;IASvD;;;OAGG;cACgB,eAAe,IAAI,WAAW;IAsBjD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,EAAE;IAe3D;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;OAIG;IACH,OAAO,CAAC,eAAe,CA0BrB;IAEF;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAcxB"}