@btc-vision/transaction 1.8.0-beta.0 → 1.8.0-beta.10

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 (796) hide show
  1. package/browser/_version.d.ts +2 -1
  2. package/browser/_version.d.ts.map +1 -0
  3. package/browser/abi/ABICoder.d.ts +15 -36
  4. package/browser/abi/ABICoder.d.ts.map +1 -0
  5. package/browser/abi/ABIDataTypes.d.ts +35 -0
  6. package/browser/abi/ABIDataTypes.d.ts.map +1 -0
  7. package/browser/abi/AbiTypes.d.ts +50 -0
  8. package/browser/abi/AbiTypes.d.ts.map +1 -0
  9. package/browser/abi/TupleUtils.d.ts +25 -0
  10. package/browser/abi/TupleUtils.d.ts.map +1 -0
  11. package/browser/branded/Branded.d.ts +4 -0
  12. package/browser/branded/Branded.d.ts.map +1 -0
  13. package/browser/btc-vision-bitcoin.js +12388 -3684
  14. package/browser/buffer/BinaryReader.d.ts +120 -1
  15. package/browser/buffer/BinaryReader.d.ts.map +1 -0
  16. package/browser/buffer/BinaryWriter.d.ts +51 -1
  17. package/browser/buffer/BinaryWriter.d.ts.map +1 -0
  18. package/browser/bytecode/Compressor.d.ts +12 -0
  19. package/browser/bytecode/Compressor.d.ts.map +1 -0
  20. package/browser/chain/ChainData.d.ts +2 -2
  21. package/browser/chain/ChainData.d.ts.map +1 -0
  22. package/browser/consensus/Consensus.d.ts +11 -3
  23. package/browser/consensus/Consensus.d.ts.map +1 -0
  24. package/browser/consensus/ConsensusConfig.d.ts +1 -0
  25. package/browser/consensus/ConsensusConfig.d.ts.map +1 -0
  26. package/browser/consensus/IConsensusConfig.d.ts +1 -0
  27. package/browser/consensus/IConsensusConfig.d.ts.map +1 -0
  28. package/browser/consensus/metadata/RoswellConsensus.d.ts +1 -0
  29. package/browser/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  30. package/browser/crypto/crypto.d.ts +1 -0
  31. package/browser/crypto/crypto.d.ts.map +1 -0
  32. package/browser/deterministic/AddressMap.d.ts +6 -1
  33. package/browser/deterministic/AddressMap.d.ts.map +1 -0
  34. package/browser/deterministic/AddressSet.d.ts +3 -1
  35. package/browser/deterministic/AddressSet.d.ts.map +1 -0
  36. package/browser/deterministic/CustomMap.d.ts +3 -1
  37. package/browser/deterministic/CustomMap.d.ts.map +1 -0
  38. package/browser/deterministic/DeterministicMap.d.ts +3 -1
  39. package/browser/deterministic/DeterministicMap.d.ts.map +1 -0
  40. package/browser/deterministic/DeterministicSet.d.ts +3 -1
  41. package/browser/deterministic/DeterministicSet.d.ts.map +1 -0
  42. package/browser/deterministic/ExtendedAddressMap.d.ts +7 -1
  43. package/browser/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  44. package/browser/deterministic/FastMap.d.ts +7 -1
  45. package/browser/deterministic/FastMap.d.ts.map +1 -0
  46. package/browser/ecc/backend.d.ts +13 -0
  47. package/browser/ecc/backend.d.ts.map +1 -0
  48. package/browser/epoch/ChallengeSolution.d.ts +33 -1
  49. package/browser/epoch/ChallengeSolution.d.ts.map +1 -0
  50. package/browser/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  51. package/browser/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  52. package/browser/epoch/validator/EpochValidator.d.ts +37 -7
  53. package/browser/epoch/validator/EpochValidator.d.ts.map +1 -0
  54. package/browser/event/NetEvent.d.ts +1 -0
  55. package/browser/event/NetEvent.d.ts.map +1 -0
  56. package/browser/generators/AddressGenerator.d.ts +4 -3
  57. package/browser/generators/AddressGenerator.d.ts.map +1 -0
  58. package/browser/generators/Features.d.ts +1 -0
  59. package/browser/generators/Features.d.ts.map +1 -0
  60. package/browser/generators/Generator.d.ts +46 -10
  61. package/browser/generators/Generator.d.ts.map +1 -0
  62. package/browser/generators/MLDSAData.d.ts +1 -0
  63. package/browser/generators/MLDSAData.d.ts.map +1 -0
  64. package/browser/generators/builders/CalldataGenerator.d.ts +25 -4
  65. package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -0
  66. package/browser/generators/builders/CustomGenerator.d.ts +13 -3
  67. package/browser/generators/builders/CustomGenerator.d.ts.map +1 -0
  68. package/browser/generators/builders/DeploymentGenerator.d.ts +15 -4
  69. package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  70. package/browser/generators/builders/HashCommitmentGenerator.d.ts +164 -12
  71. package/browser/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  72. package/browser/generators/builders/LegacyCalldataGenerator.d.ts +26 -4
  73. package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  74. package/browser/generators/builders/MultiSignGenerator.d.ts +6 -1
  75. package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  76. package/browser/generators/builders/P2WDAGenerator.d.ts +42 -4
  77. package/browser/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  78. package/browser/index.d.ts +1 -0
  79. package/browser/index.d.ts.map +1 -0
  80. package/browser/index.js +3921 -3450
  81. package/browser/keypair/Address.d.ts +283 -13
  82. package/browser/keypair/Address.d.ts.map +1 -0
  83. package/browser/keypair/AddressVerificator.d.ts +7 -6
  84. package/browser/keypair/AddressVerificator.d.ts.map +1 -0
  85. package/browser/keypair/EcKeyPair.d.ts +183 -20
  86. package/browser/keypair/EcKeyPair.d.ts.map +1 -0
  87. package/browser/keypair/MessageSigner.d.ts +17 -16
  88. package/browser/keypair/MessageSigner.d.ts.map +1 -0
  89. package/browser/keypair/Secp256k1PointDeriver.d.ts +55 -0
  90. package/browser/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  91. package/browser/keypair/Wallet.d.ts +27 -13
  92. package/browser/keypair/Wallet.d.ts.map +1 -0
  93. package/browser/keypair/interfaces/IWallet.d.ts +19 -0
  94. package/browser/keypair/interfaces/IWallet.d.ts.map +1 -0
  95. package/browser/metadata/ContractBaseMetadata.d.ts +10 -2
  96. package/browser/metadata/ContractBaseMetadata.d.ts.map +1 -0
  97. package/browser/mnemonic/BIPStandard.d.ts +59 -0
  98. package/browser/mnemonic/BIPStandard.d.ts.map +1 -0
  99. package/browser/mnemonic/Mnemonic.d.ts +15 -3
  100. package/browser/mnemonic/Mnemonic.d.ts.map +1 -0
  101. package/browser/mnemonic/MnemonicStrength.d.ts +6 -0
  102. package/browser/mnemonic/MnemonicStrength.d.ts.map +1 -0
  103. package/browser/network/ChainId.d.ts +1 -0
  104. package/browser/network/ChainId.d.ts.map +1 -0
  105. package/browser/noble-curves.js +920 -2966
  106. package/browser/noble-hashes.js +2067 -1038
  107. package/browser/opnet.d.ts +25 -1
  108. package/browser/opnet.d.ts.map +1 -0
  109. package/browser/p2wda/P2WDADetector.d.ts +36 -9
  110. package/browser/p2wda/P2WDADetector.d.ts.map +1 -0
  111. package/browser/polyfill/disposable.d.ts +16 -0
  112. package/browser/polyfill/disposable.d.ts.map +1 -0
  113. package/browser/signer/AddressRotation.d.ts +36 -0
  114. package/browser/signer/AddressRotation.d.ts.map +1 -0
  115. package/browser/signer/IRotationSigner.d.ts +27 -3
  116. package/browser/signer/IRotationSigner.d.ts.map +1 -0
  117. package/browser/signer/ParallelSignerAdapter.d.ts +14 -0
  118. package/browser/signer/ParallelSignerAdapter.d.ts.map +1 -0
  119. package/browser/signer/SignerUtils.d.ts +11 -4
  120. package/browser/signer/SignerUtils.d.ts.map +1 -0
  121. package/browser/signer/TweakedSigner.d.ts +28 -4
  122. package/browser/signer/TweakedSigner.d.ts.map +1 -0
  123. package/browser/transaction/ContractAddress.d.ts +2 -2
  124. package/browser/transaction/ContractAddress.d.ts.map +1 -0
  125. package/browser/transaction/TransactionFactory.d.ts +140 -2
  126. package/browser/transaction/TransactionFactory.d.ts.map +1 -0
  127. package/browser/transaction/browser/BrowserSignerBase.d.ts +12 -6
  128. package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  129. package/browser/transaction/browser/WalletNetworks.d.ts +1 -0
  130. package/browser/transaction/browser/WalletNetworks.d.ts.map +1 -0
  131. package/browser/transaction/browser/Web3Provider.d.ts +27 -0
  132. package/browser/transaction/browser/Web3Provider.d.ts.map +1 -0
  133. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +9 -7
  134. package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  135. package/browser/transaction/browser/extensions/XverseSigner.d.ts +9 -7
  136. package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  137. package/browser/transaction/browser/types/OPWallet.d.ts +10 -0
  138. package/browser/transaction/browser/types/OPWallet.d.ts.map +1 -0
  139. package/browser/transaction/browser/types/Unisat.d.ts +1 -0
  140. package/browser/transaction/browser/types/Unisat.d.ts.map +1 -0
  141. package/browser/transaction/browser/types/Xverse.d.ts +1 -0
  142. package/browser/transaction/browser/types/Xverse.d.ts.map +1 -0
  143. package/browser/transaction/builders/CancelTransaction.d.ts +29 -4
  144. package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -0
  145. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  146. package/browser/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  147. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts +137 -10
  148. package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  149. package/browser/transaction/builders/CustomScriptTransaction.d.ts +106 -6
  150. package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  151. package/browser/transaction/builders/DeploymentTransaction.d.ts +116 -5
  152. package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  153. package/browser/transaction/builders/FundingTransaction.d.ts +5 -3
  154. package/browser/transaction/builders/FundingTransaction.d.ts.map +1 -0
  155. package/browser/transaction/builders/InteractionTransaction.d.ts +12 -3
  156. package/browser/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  157. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts +56 -5
  158. package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  159. package/browser/transaction/builders/MultiSignTransaction.d.ts +125 -16
  160. package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  161. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +103 -15
  162. package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  163. package/browser/transaction/builders/TransactionBuilder.d.ts +238 -15
  164. package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  165. package/browser/transaction/enums/TransactionType.d.ts +1 -0
  166. package/browser/transaction/enums/TransactionType.d.ts.map +1 -0
  167. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts +2 -1
  168. package/browser/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  169. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +46 -3
  170. package/browser/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  171. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts +6 -4
  172. package/browser/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  173. package/browser/transaction/interfaces/ITransactionParameters.d.ts +33 -10
  174. package/browser/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  175. package/browser/transaction/interfaces/ITransactionResponses.d.ts +1 -0
  176. package/browser/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  177. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts +17 -5
  178. package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  179. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts +26 -0
  180. package/browser/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  181. package/browser/transaction/interfaces/Tap.d.ts +4 -3
  182. package/browser/transaction/interfaces/Tap.d.ts.map +1 -0
  183. package/browser/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  184. package/browser/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  185. package/browser/transaction/mineable/TimelockGenerator.d.ts +12 -3
  186. package/browser/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  187. package/browser/transaction/offline/OfflineTransactionManager.d.ts +190 -9
  188. package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  189. package/browser/transaction/offline/TransactionReconstructor.d.ts +53 -3
  190. package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  191. package/browser/transaction/offline/TransactionSerializer.d.ts +53 -2
  192. package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  193. package/browser/transaction/offline/TransactionStateCapture.d.ts +64 -5
  194. package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  195. package/browser/transaction/offline/interfaces/ISerializableState.d.ts +71 -0
  196. package/browser/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  197. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts +76 -0
  198. package/browser/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  199. package/browser/transaction/psbt/PSBTTypes.d.ts +1 -0
  200. package/browser/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  201. package/browser/transaction/shared/P2TR_MS.d.ts +11 -2
  202. package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -0
  203. package/browser/transaction/shared/TweakedTransaction.d.ts +274 -33
  204. package/browser/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  205. package/browser/transaction/utils/WitnessUtils.d.ts +7 -1
  206. package/browser/transaction/utils/WitnessUtils.d.ts.map +1 -0
  207. package/browser/utils/BitcoinUtils.d.ts +19 -0
  208. package/browser/utils/BitcoinUtils.d.ts.map +1 -0
  209. package/browser/utils/BufferHelper.d.ts +1 -0
  210. package/browser/utils/BufferHelper.d.ts.map +1 -0
  211. package/browser/utils/StringToBuffer.d.ts +1 -0
  212. package/browser/utils/StringToBuffer.d.ts.map +1 -0
  213. package/browser/utils/lengths.d.ts +1 -0
  214. package/browser/utils/lengths.d.ts.map +1 -0
  215. package/browser/utils/types.d.ts +1 -0
  216. package/browser/utils/types.d.ts.map +1 -0
  217. package/browser/utxo/OPNetLimitedProvider.d.ts +37 -1
  218. package/browser/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  219. package/browser/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  220. package/browser/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  221. package/browser/utxo/interfaces/IUTXO.d.ts +11 -5
  222. package/browser/utxo/interfaces/IUTXO.d.ts.map +1 -0
  223. package/browser/vendors.js +13940 -9389
  224. package/browser/verification/TapscriptVerificator.d.ts +10 -8
  225. package/browser/verification/TapscriptVerificator.d.ts.map +1 -0
  226. package/build/_version.d.ts +2 -1
  227. package/build/_version.d.ts.map +1 -0
  228. package/build/_version.js +2 -1
  229. package/build/_version.js.map +1 -0
  230. package/build/abi/ABICoder.d.ts +15 -36
  231. package/build/abi/ABICoder.d.ts.map +1 -0
  232. package/build/abi/ABICoder.js +120 -143
  233. package/build/abi/ABICoder.js.map +1 -0
  234. package/build/abi/ABIDataTypes.d.ts +35 -0
  235. package/build/abi/ABIDataTypes.d.ts.map +1 -0
  236. package/build/abi/ABIDataTypes.js +42 -0
  237. package/build/abi/ABIDataTypes.js.map +1 -0
  238. package/build/abi/AbiTypes.d.ts +50 -0
  239. package/build/abi/AbiTypes.d.ts.map +1 -0
  240. package/build/abi/AbiTypes.js +78 -0
  241. package/build/abi/AbiTypes.js.map +1 -0
  242. package/build/abi/TupleUtils.d.ts +25 -0
  243. package/build/abi/TupleUtils.d.ts.map +1 -0
  244. package/build/abi/TupleUtils.js +50 -0
  245. package/build/abi/TupleUtils.js.map +1 -0
  246. package/build/branded/Branded.d.ts +4 -0
  247. package/build/branded/Branded.d.ts.map +1 -0
  248. package/build/branded/Branded.js +2 -0
  249. package/build/branded/Branded.js.map +1 -0
  250. package/build/buffer/BinaryReader.d.ts +121 -2
  251. package/build/buffer/BinaryReader.d.ts.map +1 -0
  252. package/build/buffer/BinaryReader.js +129 -5
  253. package/build/buffer/BinaryReader.js.map +1 -0
  254. package/build/buffer/BinaryWriter.d.ts +52 -2
  255. package/build/buffer/BinaryWriter.d.ts.map +1 -0
  256. package/build/buffer/BinaryWriter.js +62 -2
  257. package/build/buffer/BinaryWriter.js.map +1 -0
  258. package/build/bytecode/Compressor.d.ts +12 -0
  259. package/build/bytecode/Compressor.d.ts.map +1 -0
  260. package/build/bytecode/Compressor.js +17 -5
  261. package/build/bytecode/Compressor.js.map +1 -0
  262. package/build/chain/ChainData.d.ts +2 -2
  263. package/build/chain/ChainData.d.ts.map +1 -0
  264. package/build/chain/ChainData.js +37 -16
  265. package/build/chain/ChainData.js.map +1 -0
  266. package/build/consensus/Consensus.d.ts +11 -3
  267. package/build/consensus/Consensus.d.ts.map +1 -0
  268. package/build/consensus/Consensus.js +8 -0
  269. package/build/consensus/Consensus.js.map +1 -0
  270. package/build/consensus/ConsensusConfig.d.ts +2 -1
  271. package/build/consensus/ConsensusConfig.d.ts.map +1 -0
  272. package/build/consensus/ConsensusConfig.js +1 -0
  273. package/build/consensus/ConsensusConfig.js.map +1 -0
  274. package/build/consensus/IConsensusConfig.d.ts +1 -0
  275. package/build/consensus/IConsensusConfig.d.ts.map +1 -0
  276. package/build/consensus/IConsensusConfig.js +2 -1
  277. package/build/consensus/IConsensusConfig.js.map +1 -0
  278. package/build/consensus/metadata/RoswellConsensus.d.ts +2 -1
  279. package/build/consensus/metadata/RoswellConsensus.d.ts.map +1 -0
  280. package/build/consensus/metadata/RoswellConsensus.js +2 -0
  281. package/build/consensus/metadata/RoswellConsensus.js.map +1 -0
  282. package/build/crypto/crypto.d.ts +1 -0
  283. package/build/crypto/crypto.d.ts.map +1 -0
  284. package/build/crypto/crypto.js +1 -0
  285. package/build/crypto/crypto.js.map +1 -0
  286. package/build/deterministic/AddressMap.d.ts +6 -1
  287. package/build/deterministic/AddressMap.d.ts.map +1 -0
  288. package/build/deterministic/AddressMap.js +8 -0
  289. package/build/deterministic/AddressMap.js.map +1 -0
  290. package/build/deterministic/AddressSet.d.ts +3 -1
  291. package/build/deterministic/AddressSet.d.ts.map +1 -0
  292. package/build/deterministic/AddressSet.js +7 -0
  293. package/build/deterministic/AddressSet.js.map +1 -0
  294. package/build/deterministic/CustomMap.d.ts +3 -1
  295. package/build/deterministic/CustomMap.d.ts.map +1 -0
  296. package/build/deterministic/CustomMap.js +65 -47
  297. package/build/deterministic/CustomMap.js.map +1 -0
  298. package/build/deterministic/DeterministicMap.d.ts +4 -2
  299. package/build/deterministic/DeterministicMap.d.ts.map +1 -0
  300. package/build/deterministic/DeterministicMap.js +24 -27
  301. package/build/deterministic/DeterministicMap.js.map +1 -0
  302. package/build/deterministic/DeterministicSet.d.ts +3 -1
  303. package/build/deterministic/DeterministicSet.d.ts.map +1 -0
  304. package/build/deterministic/DeterministicSet.js +6 -0
  305. package/build/deterministic/DeterministicSet.js.map +1 -0
  306. package/build/deterministic/ExtendedAddressMap.d.ts +7 -1
  307. package/build/deterministic/ExtendedAddressMap.d.ts.map +1 -0
  308. package/build/deterministic/ExtendedAddressMap.js +18 -2
  309. package/build/deterministic/ExtendedAddressMap.js.map +1 -0
  310. package/build/deterministic/FastMap.d.ts +7 -1
  311. package/build/deterministic/FastMap.d.ts.map +1 -0
  312. package/build/deterministic/FastMap.js +7 -2
  313. package/build/deterministic/FastMap.js.map +1 -0
  314. package/build/ecc/backend.d.ts +13 -0
  315. package/build/ecc/backend.d.ts.map +1 -0
  316. package/build/ecc/backend.js +15 -0
  317. package/build/ecc/backend.js.map +1 -0
  318. package/build/epoch/ChallengeSolution.d.ts +34 -2
  319. package/build/epoch/ChallengeSolution.d.ts.map +1 -0
  320. package/build/epoch/ChallengeSolution.js +52 -0
  321. package/build/epoch/ChallengeSolution.js.map +1 -0
  322. package/build/epoch/interfaces/IChallengeSolution.d.ts +14 -13
  323. package/build/epoch/interfaces/IChallengeSolution.d.ts.map +1 -0
  324. package/build/epoch/interfaces/IChallengeSolution.js +2 -1
  325. package/build/epoch/interfaces/IChallengeSolution.js.map +1 -0
  326. package/build/epoch/validator/EpochValidator.d.ts +38 -8
  327. package/build/epoch/validator/EpochValidator.d.ts.map +1 -0
  328. package/build/epoch/validator/EpochValidator.js +45 -19
  329. package/build/epoch/validator/EpochValidator.js.map +1 -0
  330. package/build/event/NetEvent.d.ts +1 -0
  331. package/build/event/NetEvent.d.ts.map +1 -0
  332. package/build/event/NetEvent.js +3 -0
  333. package/build/event/NetEvent.js.map +1 -0
  334. package/build/generators/AddressGenerator.d.ts +4 -3
  335. package/build/generators/AddressGenerator.d.ts.map +1 -0
  336. package/build/generators/AddressGenerator.js +9 -4
  337. package/build/generators/AddressGenerator.js.map +1 -0
  338. package/build/generators/Features.d.ts +4 -3
  339. package/build/generators/Features.d.ts.map +1 -0
  340. package/build/generators/Features.js +1 -0
  341. package/build/generators/Features.js.map +1 -0
  342. package/build/generators/Generator.d.ts +47 -11
  343. package/build/generators/Generator.d.ts.map +1 -0
  344. package/build/generators/Generator.js +48 -12
  345. package/build/generators/Generator.js.map +1 -0
  346. package/build/generators/MLDSAData.d.ts +1 -0
  347. package/build/generators/MLDSAData.d.ts.map +1 -0
  348. package/build/generators/MLDSAData.js +1 -0
  349. package/build/generators/MLDSAData.js.map +1 -0
  350. package/build/generators/builders/CalldataGenerator.d.ts +27 -6
  351. package/build/generators/builders/CalldataGenerator.d.ts.map +1 -0
  352. package/build/generators/builders/CalldataGenerator.js +33 -4
  353. package/build/generators/builders/CalldataGenerator.js.map +1 -0
  354. package/build/generators/builders/CustomGenerator.d.ts +13 -3
  355. package/build/generators/builders/CustomGenerator.d.ts.map +1 -0
  356. package/build/generators/builders/CustomGenerator.js +11 -0
  357. package/build/generators/builders/CustomGenerator.js.map +1 -0
  358. package/build/generators/builders/DeploymentGenerator.d.ts +17 -6
  359. package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -0
  360. package/build/generators/builders/DeploymentGenerator.js +18 -2
  361. package/build/generators/builders/DeploymentGenerator.js.map +1 -0
  362. package/build/generators/builders/HashCommitmentGenerator.d.ts +166 -14
  363. package/build/generators/builders/HashCommitmentGenerator.d.ts.map +1 -0
  364. package/build/generators/builders/HashCommitmentGenerator.js +193 -27
  365. package/build/generators/builders/HashCommitmentGenerator.js.map +1 -0
  366. package/build/generators/builders/LegacyCalldataGenerator.d.ts +27 -5
  367. package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -0
  368. package/build/generators/builders/LegacyCalldataGenerator.js +35 -5
  369. package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -0
  370. package/build/generators/builders/MultiSignGenerator.d.ts +6 -1
  371. package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -0
  372. package/build/generators/builders/MultiSignGenerator.js +20 -10
  373. package/build/generators/builders/MultiSignGenerator.js.map +1 -0
  374. package/build/generators/builders/P2WDAGenerator.d.ts +44 -6
  375. package/build/generators/builders/P2WDAGenerator.d.ts.map +1 -0
  376. package/build/generators/builders/P2WDAGenerator.js +41 -2
  377. package/build/generators/builders/P2WDAGenerator.js.map +1 -0
  378. package/build/index.d.ts +1 -0
  379. package/build/index.d.ts.map +1 -0
  380. package/build/index.js +1 -0
  381. package/build/index.js.map +1 -0
  382. package/build/keypair/Address.d.ts +284 -14
  383. package/build/keypair/Address.d.ts.map +1 -0
  384. package/build/keypair/Address.js +447 -129
  385. package/build/keypair/Address.js.map +1 -0
  386. package/build/keypair/AddressVerificator.d.ts +7 -6
  387. package/build/keypair/AddressVerificator.d.ts.map +1 -0
  388. package/build/keypair/AddressVerificator.js +4 -5
  389. package/build/keypair/AddressVerificator.js.map +1 -0
  390. package/build/keypair/EcKeyPair.d.ts +185 -22
  391. package/build/keypair/EcKeyPair.d.ts.map +1 -0
  392. package/build/keypair/EcKeyPair.js +226 -49
  393. package/build/keypair/EcKeyPair.js.map +1 -0
  394. package/build/keypair/MessageSigner.d.ts +18 -17
  395. package/build/keypair/MessageSigner.d.ts.map +1 -0
  396. package/build/keypair/MessageSigner.js +34 -25
  397. package/build/keypair/MessageSigner.js.map +1 -0
  398. package/build/keypair/Secp256k1PointDeriver.d.ts +55 -0
  399. package/build/keypair/Secp256k1PointDeriver.d.ts.map +1 -0
  400. package/build/keypair/Secp256k1PointDeriver.js +66 -0
  401. package/build/keypair/Secp256k1PointDeriver.js.map +1 -0
  402. package/build/keypair/Wallet.d.ts +29 -15
  403. package/build/keypair/Wallet.d.ts.map +1 -0
  404. package/build/keypair/Wallet.js +46 -14
  405. package/build/keypair/Wallet.js.map +1 -0
  406. package/build/keypair/interfaces/IWallet.d.ts +19 -0
  407. package/build/keypair/interfaces/IWallet.d.ts.map +1 -0
  408. package/build/keypair/interfaces/IWallet.js +1 -0
  409. package/build/keypair/interfaces/IWallet.js.map +1 -0
  410. package/build/metadata/ContractBaseMetadata.d.ts +10 -2
  411. package/build/metadata/ContractBaseMetadata.d.ts.map +1 -0
  412. package/build/metadata/ContractBaseMetadata.js +10 -1
  413. package/build/metadata/ContractBaseMetadata.js.map +1 -0
  414. package/build/mnemonic/BIPStandard.d.ts +59 -0
  415. package/build/mnemonic/BIPStandard.d.ts.map +1 -0
  416. package/build/mnemonic/BIPStandard.js +59 -0
  417. package/build/mnemonic/BIPStandard.js.map +1 -0
  418. package/build/mnemonic/Mnemonic.d.ts +16 -4
  419. package/build/mnemonic/Mnemonic.d.ts.map +1 -0
  420. package/build/mnemonic/Mnemonic.js +35 -8
  421. package/build/mnemonic/Mnemonic.js.map +1 -0
  422. package/build/mnemonic/MnemonicStrength.d.ts +6 -0
  423. package/build/mnemonic/MnemonicStrength.d.ts.map +1 -0
  424. package/build/mnemonic/MnemonicStrength.js +6 -0
  425. package/build/mnemonic/MnemonicStrength.js.map +1 -0
  426. package/build/network/ChainId.d.ts +1 -0
  427. package/build/network/ChainId.d.ts.map +1 -0
  428. package/build/network/ChainId.js +1 -0
  429. package/build/network/ChainId.js.map +1 -0
  430. package/build/opnet.d.ts +29 -3
  431. package/build/opnet.d.ts.map +1 -0
  432. package/build/opnet.js +26 -0
  433. package/build/opnet.js.map +1 -0
  434. package/build/p2wda/P2WDADetector.d.ts +38 -11
  435. package/build/p2wda/P2WDADetector.d.ts.map +1 -0
  436. package/build/p2wda/P2WDADetector.js +43 -10
  437. package/build/p2wda/P2WDADetector.js.map +1 -0
  438. package/build/polyfill/disposable.d.ts +16 -0
  439. package/build/polyfill/disposable.d.ts.map +1 -0
  440. package/build/polyfill/disposable.js +23 -0
  441. package/build/polyfill/disposable.js.map +1 -0
  442. package/build/signer/AddressRotation.d.ts +37 -1
  443. package/build/signer/AddressRotation.d.ts.map +1 -0
  444. package/build/signer/AddressRotation.js +16 -0
  445. package/build/signer/AddressRotation.js.map +1 -0
  446. package/build/signer/IRotationSigner.d.ts +27 -3
  447. package/build/signer/IRotationSigner.d.ts.map +1 -0
  448. package/build/signer/IRotationSigner.js +2 -1
  449. package/build/signer/IRotationSigner.js.map +1 -0
  450. package/build/signer/ParallelSignerAdapter.d.ts +14 -0
  451. package/build/signer/ParallelSignerAdapter.d.ts.map +1 -0
  452. package/build/signer/ParallelSignerAdapter.js +51 -0
  453. package/build/signer/ParallelSignerAdapter.js.map +1 -0
  454. package/build/signer/SignerUtils.d.ts +11 -4
  455. package/build/signer/SignerUtils.d.ts.map +1 -0
  456. package/build/signer/SignerUtils.js +16 -0
  457. package/build/signer/SignerUtils.js.map +1 -0
  458. package/build/signer/TweakedSigner.d.ts +28 -4
  459. package/build/signer/TweakedSigner.d.ts.map +1 -0
  460. package/build/signer/TweakedSigner.js +23 -6
  461. package/build/signer/TweakedSigner.js.map +1 -0
  462. package/build/transaction/ContractAddress.d.ts +2 -2
  463. package/build/transaction/ContractAddress.d.ts.map +1 -0
  464. package/build/transaction/ContractAddress.js +4 -8
  465. package/build/transaction/ContractAddress.js.map +1 -0
  466. package/build/transaction/TransactionFactory.d.ts +147 -9
  467. package/build/transaction/TransactionFactory.d.ts.map +1 -0
  468. package/build/transaction/TransactionFactory.js +145 -26
  469. package/build/transaction/TransactionFactory.js.map +1 -0
  470. package/build/transaction/browser/BrowserSignerBase.d.ts +12 -6
  471. package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -0
  472. package/build/transaction/browser/BrowserSignerBase.js +7 -0
  473. package/build/transaction/browser/BrowserSignerBase.js.map +1 -0
  474. package/build/transaction/browser/WalletNetworks.d.ts +1 -0
  475. package/build/transaction/browser/WalletNetworks.d.ts.map +1 -0
  476. package/build/transaction/browser/WalletNetworks.js +1 -0
  477. package/build/transaction/browser/WalletNetworks.js.map +1 -0
  478. package/build/transaction/browser/Web3Provider.d.ts +30 -3
  479. package/build/transaction/browser/Web3Provider.d.ts.map +1 -0
  480. package/build/transaction/browser/Web3Provider.js +1 -0
  481. package/build/transaction/browser/Web3Provider.js.map +1 -0
  482. package/build/transaction/browser/extensions/UnisatSigner.d.ts +11 -9
  483. package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -0
  484. package/build/transaction/browser/extensions/UnisatSigner.js +27 -17
  485. package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -0
  486. package/build/transaction/browser/extensions/XverseSigner.d.ts +10 -8
  487. package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -0
  488. package/build/transaction/browser/extensions/XverseSigner.js +25 -15
  489. package/build/transaction/browser/extensions/XverseSigner.js.map +1 -0
  490. package/build/transaction/browser/types/OPWallet.d.ts +12 -2
  491. package/build/transaction/browser/types/OPWallet.d.ts.map +1 -0
  492. package/build/transaction/browser/types/OPWallet.js +4 -0
  493. package/build/transaction/browser/types/OPWallet.js.map +1 -0
  494. package/build/transaction/browser/types/Unisat.d.ts +2 -1
  495. package/build/transaction/browser/types/Unisat.d.ts.map +1 -0
  496. package/build/transaction/browser/types/Unisat.js +2 -0
  497. package/build/transaction/browser/types/Unisat.js.map +1 -0
  498. package/build/transaction/browser/types/Xverse.d.ts +1 -0
  499. package/build/transaction/browser/types/Xverse.d.ts.map +1 -0
  500. package/build/transaction/browser/types/Xverse.js +1 -0
  501. package/build/transaction/browser/types/Xverse.js.map +1 -0
  502. package/build/transaction/builders/CancelTransaction.d.ts +31 -6
  503. package/build/transaction/builders/CancelTransaction.d.ts.map +1 -0
  504. package/build/transaction/builders/CancelTransaction.js +116 -33
  505. package/build/transaction/builders/CancelTransaction.js.map +1 -0
  506. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts +1 -0
  507. package/build/transaction/builders/ChallengeSolutionTransaction.d.ts.map +1 -0
  508. package/build/transaction/builders/ChallengeSolutionTransaction.js +88 -0
  509. package/build/transaction/builders/ChallengeSolutionTransaction.js.map +1 -0
  510. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts +140 -13
  511. package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -0
  512. package/build/transaction/builders/ConsolidatedInteractionTransaction.js +197 -20
  513. package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -0
  514. package/build/transaction/builders/CustomScriptTransaction.d.ts +108 -8
  515. package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -0
  516. package/build/transaction/builders/CustomScriptTransaction.js +176 -39
  517. package/build/transaction/builders/CustomScriptTransaction.js.map +1 -0
  518. package/build/transaction/builders/DeploymentTransaction.d.ts +120 -9
  519. package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -0
  520. package/build/transaction/builders/DeploymentTransaction.js +194 -51
  521. package/build/transaction/builders/DeploymentTransaction.js.map +1 -0
  522. package/build/transaction/builders/FundingTransaction.d.ts +6 -4
  523. package/build/transaction/builders/FundingTransaction.d.ts.map +1 -0
  524. package/build/transaction/builders/FundingTransaction.js +50 -9
  525. package/build/transaction/builders/FundingTransaction.js.map +1 -0
  526. package/build/transaction/builders/InteractionTransaction.d.ts +14 -5
  527. package/build/transaction/builders/InteractionTransaction.d.ts.map +1 -0
  528. package/build/transaction/builders/InteractionTransaction.js +18 -5
  529. package/build/transaction/builders/InteractionTransaction.js.map +1 -0
  530. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts +58 -7
  531. package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -0
  532. package/build/transaction/builders/InteractionTransactionP2WDA.js +95 -18
  533. package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -0
  534. package/build/transaction/builders/MultiSignTransaction.d.ts +126 -17
  535. package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -0
  536. package/build/transaction/builders/MultiSignTransaction.js +201 -76
  537. package/build/transaction/builders/MultiSignTransaction.js.map +1 -0
  538. package/build/transaction/builders/SharedInteractionTransaction.d.ts +106 -18
  539. package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -0
  540. package/build/transaction/builders/SharedInteractionTransaction.js +158 -40
  541. package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -0
  542. package/build/transaction/builders/TransactionBuilder.d.ts +244 -20
  543. package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -0
  544. package/build/transaction/builders/TransactionBuilder.js +371 -152
  545. package/build/transaction/builders/TransactionBuilder.js.map +1 -0
  546. package/build/transaction/enums/TransactionType.d.ts +1 -0
  547. package/build/transaction/enums/TransactionType.d.ts.map +1 -0
  548. package/build/transaction/enums/TransactionType.js +1 -0
  549. package/build/transaction/enums/TransactionType.js.map +1 -0
  550. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts +3 -2
  551. package/build/transaction/interfaces/ICancelTransactionParameters.d.ts.map +1 -0
  552. package/build/transaction/interfaces/ICancelTransactionParameters.js +1 -0
  553. package/build/transaction/interfaces/ICancelTransactionParameters.js.map +1 -0
  554. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts +48 -5
  555. package/build/transaction/interfaces/IConsolidatedTransactionParameters.d.ts.map +1 -0
  556. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js +1 -0
  557. package/build/transaction/interfaces/IConsolidatedTransactionParameters.js.map +1 -0
  558. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts +7 -5
  559. package/build/transaction/interfaces/ICustomTransactionParameters.d.ts.map +1 -0
  560. package/build/transaction/interfaces/ICustomTransactionParameters.js +1 -0
  561. package/build/transaction/interfaces/ICustomTransactionParameters.js.map +1 -0
  562. package/build/transaction/interfaces/ITransactionParameters.d.ts +38 -15
  563. package/build/transaction/interfaces/ITransactionParameters.d.ts.map +1 -0
  564. package/build/transaction/interfaces/ITransactionParameters.js +1 -0
  565. package/build/transaction/interfaces/ITransactionParameters.js.map +1 -0
  566. package/build/transaction/interfaces/ITransactionResponses.d.ts +3 -2
  567. package/build/transaction/interfaces/ITransactionResponses.d.ts.map +1 -0
  568. package/build/transaction/interfaces/ITransactionResponses.js +1 -0
  569. package/build/transaction/interfaces/ITransactionResponses.js.map +1 -0
  570. package/build/transaction/interfaces/ITweakedTransactionData.d.ts +21 -8
  571. package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -0
  572. package/build/transaction/interfaces/ITweakedTransactionData.js +1 -0
  573. package/build/transaction/interfaces/ITweakedTransactionData.js.map +1 -0
  574. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts +29 -3
  575. package/build/transaction/interfaces/IWeb3ProviderTypes.d.ts.map +1 -0
  576. package/build/transaction/interfaces/IWeb3ProviderTypes.js +2 -1
  577. package/build/transaction/interfaces/IWeb3ProviderTypes.js.map +1 -0
  578. package/build/transaction/interfaces/Tap.d.ts +4 -3
  579. package/build/transaction/interfaces/Tap.d.ts.map +1 -0
  580. package/build/transaction/interfaces/Tap.js +1 -0
  581. package/build/transaction/interfaces/Tap.js.map +1 -0
  582. package/build/transaction/mineable/IP2WSHAddress.d.ts +2 -1
  583. package/build/transaction/mineable/IP2WSHAddress.d.ts.map +1 -0
  584. package/build/transaction/mineable/IP2WSHAddress.js +1 -0
  585. package/build/transaction/mineable/IP2WSHAddress.js.map +1 -0
  586. package/build/transaction/mineable/TimelockGenerator.d.ts +13 -4
  587. package/build/transaction/mineable/TimelockGenerator.d.ts.map +1 -0
  588. package/build/transaction/mineable/TimelockGenerator.js +12 -3
  589. package/build/transaction/mineable/TimelockGenerator.js.map +1 -0
  590. package/build/transaction/offline/OfflineTransactionManager.d.ts +193 -12
  591. package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -0
  592. package/build/transaction/offline/OfflineTransactionManager.js +192 -8
  593. package/build/transaction/offline/OfflineTransactionManager.js.map +1 -0
  594. package/build/transaction/offline/TransactionReconstructor.d.ts +56 -6
  595. package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -0
  596. package/build/transaction/offline/TransactionReconstructor.js +111 -75
  597. package/build/transaction/offline/TransactionReconstructor.js.map +1 -0
  598. package/build/transaction/offline/TransactionSerializer.d.ts +54 -3
  599. package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -0
  600. package/build/transaction/offline/TransactionSerializer.js +206 -95
  601. package/build/transaction/offline/TransactionSerializer.js.map +1 -0
  602. package/build/transaction/offline/TransactionStateCapture.d.ts +66 -7
  603. package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -0
  604. package/build/transaction/offline/TransactionStateCapture.js +124 -60
  605. package/build/transaction/offline/TransactionStateCapture.js.map +1 -0
  606. package/build/transaction/offline/interfaces/ISerializableState.d.ts +72 -1
  607. package/build/transaction/offline/interfaces/ISerializableState.d.ts.map +1 -0
  608. package/build/transaction/offline/interfaces/ISerializableState.js +10 -1
  609. package/build/transaction/offline/interfaces/ISerializableState.js.map +1 -0
  610. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts +77 -1
  611. package/build/transaction/offline/interfaces/ITypeSpecificData.d.ts.map +1 -0
  612. package/build/transaction/offline/interfaces/ITypeSpecificData.js +19 -0
  613. package/build/transaction/offline/interfaces/ITypeSpecificData.js.map +1 -0
  614. package/build/transaction/psbt/PSBTTypes.d.ts +1 -0
  615. package/build/transaction/psbt/PSBTTypes.d.ts.map +1 -0
  616. package/build/transaction/psbt/PSBTTypes.js +1 -0
  617. package/build/transaction/psbt/PSBTTypes.js.map +1 -0
  618. package/build/transaction/shared/P2TR_MS.d.ts +11 -2
  619. package/build/transaction/shared/P2TR_MS.d.ts.map +1 -0
  620. package/build/transaction/shared/P2TR_MS.js +10 -0
  621. package/build/transaction/shared/P2TR_MS.js.map +1 -0
  622. package/build/transaction/shared/TweakedTransaction.d.ts +280 -38
  623. package/build/transaction/shared/TweakedTransaction.d.ts.map +1 -0
  624. package/build/transaction/shared/TweakedTransaction.js +576 -114
  625. package/build/transaction/shared/TweakedTransaction.js.map +1 -0
  626. package/build/transaction/utils/WitnessUtils.d.ts +7 -1
  627. package/build/transaction/utils/WitnessUtils.d.ts.map +1 -0
  628. package/build/transaction/utils/WitnessUtils.js +17 -3
  629. package/build/transaction/utils/WitnessUtils.js.map +1 -0
  630. package/build/tsconfig.build.tsbuildinfo +1 -1
  631. package/build/utils/BitcoinUtils.d.ts +19 -0
  632. package/build/utils/BitcoinUtils.d.ts.map +1 -0
  633. package/build/utils/BitcoinUtils.js +19 -0
  634. package/build/utils/BitcoinUtils.js.map +1 -0
  635. package/build/utils/BufferHelper.d.ts +2 -1
  636. package/build/utils/BufferHelper.d.ts.map +1 -0
  637. package/build/utils/BufferHelper.js +38 -32
  638. package/build/utils/BufferHelper.js.map +1 -0
  639. package/build/utils/StringToBuffer.d.ts +1 -0
  640. package/build/utils/StringToBuffer.d.ts.map +1 -0
  641. package/build/utils/StringToBuffer.js +1 -0
  642. package/build/utils/StringToBuffer.js.map +1 -0
  643. package/build/utils/lengths.d.ts +1 -0
  644. package/build/utils/lengths.d.ts.map +1 -0
  645. package/build/utils/lengths.js +1 -0
  646. package/build/utils/lengths.js.map +1 -0
  647. package/build/utils/types.d.ts +1 -0
  648. package/build/utils/types.d.ts.map +1 -0
  649. package/build/utils/types.js +2 -1
  650. package/build/utils/types.js.map +1 -0
  651. package/build/utxo/OPNetLimitedProvider.d.ts +39 -3
  652. package/build/utxo/OPNetLimitedProvider.d.ts.map +1 -0
  653. package/build/utxo/OPNetLimitedProvider.js +43 -5
  654. package/build/utxo/OPNetLimitedProvider.js.map +1 -0
  655. package/build/utxo/interfaces/BroadcastResponse.d.ts +1 -0
  656. package/build/utxo/interfaces/BroadcastResponse.d.ts.map +1 -0
  657. package/build/utxo/interfaces/BroadcastResponse.js +1 -0
  658. package/build/utxo/interfaces/BroadcastResponse.js.map +1 -0
  659. package/build/utxo/interfaces/IUTXO.d.ts +13 -7
  660. package/build/utxo/interfaces/IUTXO.d.ts.map +1 -0
  661. package/build/utxo/interfaces/IUTXO.js +1 -0
  662. package/build/utxo/interfaces/IUTXO.js.map +1 -0
  663. package/build/verification/TapscriptVerificator.d.ts +12 -10
  664. package/build/verification/TapscriptVerificator.d.ts.map +1 -0
  665. package/build/verification/TapscriptVerificator.js +28 -38
  666. package/build/verification/TapscriptVerificator.js.map +1 -0
  667. package/documentation/offline-transaction-signing.md +10 -8
  668. package/documentation/quantum-support/01-introduction.md +2 -2
  669. package/documentation/quantum-support/02-mnemonic-and-wallet.md +5 -3
  670. package/documentation/quantum-support/03-address-generation.md +6 -4
  671. package/documentation/quantum-support/04-message-signing.md +36 -43
  672. package/documentation/quantum-support/05-address-verification.md +13 -18
  673. package/documentation/quantum-support/README.md +1 -1
  674. package/documentation/transaction-building.md +9 -9
  675. package/eslint.config.js +0 -1
  676. package/package.json +16 -39
  677. package/src/_version.ts +1 -1
  678. package/src/abi/ABICoder.ts +131 -154
  679. package/src/abi/ABIDataTypes.ts +45 -0
  680. package/src/abi/AbiTypes.ts +183 -0
  681. package/src/abi/TupleUtils.ts +57 -0
  682. package/src/branded/Branded.ts +5 -0
  683. package/src/buffer/BinaryReader.ts +7 -7
  684. package/src/buffer/BinaryWriter.ts +29 -24
  685. package/src/bytecode/Compressor.ts +1 -1
  686. package/src/chain/ChainData.ts +36 -25
  687. package/src/consensus/ConsensusConfig.ts +1 -1
  688. package/src/consensus/IConsensusConfig.ts +0 -17
  689. package/src/consensus/metadata/RoswellConsensus.ts +1 -17
  690. package/src/crypto/crypto-browser.js +3 -4
  691. package/src/deterministic/AddressMap.ts +5 -1
  692. package/src/deterministic/AddressSet.ts +5 -1
  693. package/src/deterministic/CustomMap.ts +6 -2
  694. package/src/deterministic/DeterministicMap.ts +8 -4
  695. package/src/deterministic/DeterministicSet.ts +6 -2
  696. package/src/deterministic/ExtendedAddressMap.ts +9 -4
  697. package/src/deterministic/FastMap.ts +9 -5
  698. package/src/ecc/backend.ts +17 -0
  699. package/src/epoch/ChallengeSolution.ts +3 -3
  700. package/src/epoch/interfaces/IChallengeSolution.ts +13 -13
  701. package/src/epoch/validator/EpochValidator.ts +24 -43
  702. package/src/generators/AddressGenerator.ts +4 -7
  703. package/src/generators/Features.ts +3 -3
  704. package/src/generators/Generator.ts +42 -26
  705. package/src/generators/builders/CalldataGenerator.ts +26 -24
  706. package/src/generators/builders/CustomGenerator.ts +4 -4
  707. package/src/generators/builders/DeploymentGenerator.ts +25 -23
  708. package/src/generators/builders/HashCommitmentGenerator.ts +31 -31
  709. package/src/generators/builders/LegacyCalldataGenerator.ts +26 -24
  710. package/src/generators/builders/MultiSignGenerator.ts +12 -12
  711. package/src/generators/builders/P2WDAGenerator.ts +10 -10
  712. package/src/keypair/Address.ts +115 -72
  713. package/src/keypair/AddressVerificator.ts +14 -148
  714. package/src/keypair/EcKeyPair.ts +110 -111
  715. package/src/keypair/MessageSigner.ts +70 -150
  716. package/src/keypair/Wallet.ts +56 -241
  717. package/src/metadata/ContractBaseMetadata.ts +2 -2
  718. package/src/mnemonic/Mnemonic.ts +31 -222
  719. package/src/opnet.ts +15 -6
  720. package/src/p2wda/P2WDADetector.ts +23 -72
  721. package/src/polyfill/disposable.ts +29 -0
  722. package/src/signer/AddressRotation.ts +1 -1
  723. package/src/signer/IRotationSigner.ts +3 -3
  724. package/src/signer/ParallelSignerAdapter.ts +59 -0
  725. package/src/signer/SignerUtils.ts +4 -4
  726. package/src/signer/TweakedSigner.ts +26 -14
  727. package/src/transaction/ContractAddress.ts +3 -7
  728. package/src/transaction/TransactionFactory.ts +38 -53
  729. package/src/transaction/browser/BrowserSignerBase.ts +12 -6
  730. package/src/transaction/browser/Web3Provider.ts +3 -3
  731. package/src/transaction/browser/extensions/UnisatSigner.ts +52 -48
  732. package/src/transaction/browser/extensions/XverseSigner.ts +55 -38
  733. package/src/transaction/browser/types/OPWallet.ts +2 -2
  734. package/src/transaction/browser/types/Unisat.ts +1 -1
  735. package/src/transaction/builders/CancelTransaction.ts +59 -24
  736. package/src/transaction/builders/ChallengeSolutionTransaction.ts +3 -3
  737. package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +39 -34
  738. package/src/transaction/builders/CustomScriptTransaction.ts +79 -56
  739. package/src/transaction/builders/DeploymentTransaction.ts +82 -63
  740. package/src/transaction/builders/FundingTransaction.ts +53 -12
  741. package/src/transaction/builders/InteractionTransaction.ts +10 -10
  742. package/src/transaction/builders/InteractionTransactionP2WDA.ts +38 -40
  743. package/src/transaction/builders/MultiSignTransaction.ts +68 -61
  744. package/src/transaction/builders/SharedInteractionTransaction.ts +81 -57
  745. package/src/transaction/builders/TransactionBuilder.ts +159 -255
  746. package/src/transaction/interfaces/ICancelTransactionParameters.ts +2 -2
  747. package/src/transaction/interfaces/IConsolidatedTransactionParameters.ts +5 -5
  748. package/src/transaction/interfaces/ICustomTransactionParameters.ts +5 -5
  749. package/src/transaction/interfaces/ITransactionParameters.ts +28 -15
  750. package/src/transaction/interfaces/ITransactionResponses.ts +2 -2
  751. package/src/transaction/interfaces/ITweakedTransactionData.ts +17 -8
  752. package/src/transaction/interfaces/IWeb3ProviderTypes.ts +3 -3
  753. package/src/transaction/interfaces/Tap.ts +3 -3
  754. package/src/transaction/mineable/IP2WSHAddress.ts +1 -1
  755. package/src/transaction/mineable/TimelockGenerator.ts +19 -12
  756. package/src/transaction/offline/OfflineTransactionManager.ts +22 -23
  757. package/src/transaction/offline/TransactionReconstructor.ts +83 -91
  758. package/src/transaction/offline/TransactionSerializer.ts +151 -101
  759. package/src/transaction/offline/TransactionStateCapture.ts +83 -79
  760. package/src/transaction/offline/interfaces/ISerializableState.ts +1 -1
  761. package/src/transaction/offline/interfaces/ITypeSpecificData.ts +1 -1
  762. package/src/transaction/shared/P2TR_MS.ts +4 -4
  763. package/src/transaction/shared/TweakedTransaction.ts +318 -125
  764. package/src/transaction/utils/WitnessUtils.ts +18 -9
  765. package/src/utils/BufferHelper.ts +39 -37
  766. package/src/utxo/OPNetLimitedProvider.ts +9 -9
  767. package/src/utxo/interfaces/IUTXO.ts +7 -7
  768. package/src/verification/TapscriptVerificator.ts +73 -86
  769. package/test/add-refund-output.test.ts +535 -0
  770. package/test/address-rotation.test.ts +24 -24
  771. package/test/address.test.ts +12 -12
  772. package/test/addressmap.test.ts +30 -30
  773. package/test/binary-reader-writer.test.ts +8 -8
  774. package/test/browser/offline-transaction.test.ts +2206 -0
  775. package/test/browser/parallel-signing.test.ts +316 -0
  776. package/test/browser/setup.ts +11 -0
  777. package/test/browser/transaction-signing.test.ts +416 -0
  778. package/test/buffer-helper.test.ts +287 -0
  779. package/test/derivePath.test.ts +4 -3
  780. package/test/disposable.test.ts +279 -0
  781. package/test/fastmap-setall.test.ts +1 -1
  782. package/test/fastmap.test.ts +3 -3
  783. package/test/messagesigner-mldsa.test.ts +3 -3
  784. package/test/messagesigner-schnorr.test.ts +9 -9
  785. package/test/offline-transaction.test.ts +461 -288
  786. package/test/old/FastBigIntMap.ts +3 -3
  787. package/test/oldfastmap.test.ts +6 -6
  788. package/test/transaction-builders.test.ts +482 -0
  789. package/tsconfig.base.json +34 -18
  790. package/tsconfig.browser.json +15 -0
  791. package/tsconfig.json +3 -8
  792. package/vite.config.browser.ts +4 -5
  793. package/vitest.config.browser.ts +68 -0
  794. package/vitest.config.ts +1 -1
  795. package/browser/valibot.js +0 -4948
  796. package/tsconfig.webpack.json +0 -18
@@ -1,18 +1,18 @@
1
- import { Buffer } from 'buffer';
2
- import { Psbt, PsbtInput, toXOnly } from '@btc-vision/bitcoin';
1
+ import { concat, fromHex, Psbt, type PsbtInput, toXOnly } from '@btc-vision/bitcoin';
2
+ import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
3
3
  import { TransactionType } from '../enums/TransactionType.js';
4
- import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
4
+ import type { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
5
5
  import { TransactionBuilder } from './TransactionBuilder.js';
6
6
  import { MessageSigner } from '../../keypair/MessageSigner.js';
7
7
  import { Compressor } from '../../bytecode/Compressor.js';
8
8
  import { P2WDAGenerator } from '../../generators/builders/P2WDAGenerator.js';
9
- import { Feature, FeaturePriority, Features } from '../../generators/Features.js';
9
+ import { type Feature, FeaturePriority, Features } from '../../generators/Features.js';
10
10
  import { BitcoinUtils } from '../../utils/BitcoinUtils.js';
11
11
  import { EcKeyPair } from '../../keypair/EcKeyPair.js';
12
- import { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
13
- import { ECPairInterface } from 'ecpair';
12
+ import type { IChallengeSolution } from '../../epoch/interfaces/IChallengeSolution.js';
13
+ import { type UniversalSigner } from '@btc-vision/ecpair';
14
14
  import { P2WDADetector } from '../../p2wda/P2WDADetector.js';
15
- import { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
15
+ import type { IP2WSHAddress } from '../mineable/IP2WSHAddress.js';
16
16
  import { TimeLockGenerator } from '../mineable/TimelockGenerator.js';
17
17
 
18
18
  /**
@@ -33,19 +33,18 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
33
33
  * @protected
34
34
  */
35
35
  protected readonly disableAutoRefund: boolean;
36
- private readonly contractAddress: string;
37
- private readonly contractSecret: Buffer;
38
- private readonly calldata: Buffer;
36
+ private readonly contractSecret: Uint8Array;
37
+ private readonly calldata: Uint8Array;
39
38
  private readonly challenge: IChallengeSolution;
40
- private readonly randomBytes: Buffer;
39
+ private readonly randomBytes: Uint8Array;
41
40
  private p2wdaGenerator: P2WDAGenerator;
42
- private scriptSigner: ECPairInterface;
41
+ private scriptSigner: UniversalSigner;
43
42
  private p2wdaInputIndices: Set<number> = new Set();
44
43
  /**
45
44
  * The compiled operation data from CalldataGenerator
46
45
  * This is exactly what would go in a taproot script, but we put it in witness instead
47
46
  */
48
- private readonly compiledOperationData: Buffer | null = null;
47
+ private readonly compiledOperationData: Uint8Array | null = null;
49
48
 
50
49
  public constructor(parameters: IInteractionParameters) {
51
50
  super(parameters);
@@ -67,8 +66,7 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
67
66
  }
68
67
 
69
68
  this.disableAutoRefund = parameters.disableAutoRefund || false;
70
- this.contractAddress = parameters.to;
71
- this.contractSecret = Buffer.from(parameters.contract.replace('0x', ''), 'hex');
69
+ this.contractSecret = fromHex(parameters.contract.replace('0x', ''));
72
70
  this.calldata = Compressor.compress(parameters.calldata);
73
71
  this.challenge = parameters.challenge;
74
72
  this.randomBytes = parameters.randomBytes || BitcoinUtils.rndBytes();
@@ -79,7 +77,7 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
79
77
  // Create the P2WDA generator instead of CalldataGenerator
80
78
  // P2WDA needs a different data format optimized for witness embedding
81
79
  this.p2wdaGenerator = new P2WDAGenerator(
82
- Buffer.from(this.signer.publicKey),
80
+ this.signer.publicKey,
83
81
  this.scriptSignerXOnlyPubKey(),
84
82
  this.network,
85
83
  );
@@ -98,10 +96,10 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
98
96
  this.validateP2WDAInputs();
99
97
 
100
98
  if (parameters.compiledTargetScript) {
101
- if (Buffer.isBuffer(parameters.compiledTargetScript)) {
99
+ if (parameters.compiledTargetScript instanceof Uint8Array) {
102
100
  this.compiledOperationData = parameters.compiledTargetScript;
103
101
  } else if (typeof parameters.compiledTargetScript === 'string') {
104
- this.compiledOperationData = Buffer.from(parameters.compiledTargetScript, 'hex');
102
+ this.compiledOperationData = fromHex(parameters.compiledTargetScript);
105
103
  } else {
106
104
  throw new Error('Invalid compiled target script format.');
107
105
  }
@@ -124,7 +122,7 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
124
122
  /**
125
123
  * Get random bytes (for compatibility if needed elsewhere)
126
124
  */
127
- public getRndBytes(): Buffer {
125
+ public getRndBytes(): Uint8Array {
128
126
  return this.randomBytes;
129
127
  }
130
128
 
@@ -138,7 +136,7 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
138
136
  /**
139
137
  * Get contract secret (for compatibility if needed elsewhere)
140
138
  */
141
- public getContractSecret(): Buffer {
139
+ public getContractSecret(): Uint8Array {
142
140
  return this.contractSecret;
143
141
  }
144
142
 
@@ -173,7 +171,7 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
173
171
  protected override async signInputs(transaction: Psbt): Promise<void> {
174
172
  // Sign all inputs
175
173
  for (let i = 0; i < transaction.data.inputs.length; i++) {
176
- await this.signInput(transaction, transaction.data.inputs[i], i, this.signer);
174
+ await this.signInput(transaction, transaction.data.inputs[i] as PsbtInput, i, this.signer);
177
175
  }
178
176
 
179
177
  // Finalize with appropriate finalizers
@@ -221,35 +219,35 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
221
219
  /**
222
220
  * Generate keypair from seed (same as SharedInteractionTransaction)
223
221
  */
224
- private generateKeyPairFromSeed(): ECPairInterface {
222
+ private generateKeyPairFromSeed(): UniversalSigner {
225
223
  return EcKeyPair.fromSeedKeyPair(this.randomBytes, this.network);
226
224
  }
227
225
 
228
226
  /**
229
227
  * Get script signer x-only pubkey (same as SharedInteractionTransaction)
230
228
  */
231
- private scriptSignerXOnlyPubKey(): Buffer {
232
- return toXOnly(Buffer.from(this.scriptSigner.publicKey));
229
+ private scriptSignerXOnlyPubKey(): Uint8Array {
230
+ return toXOnly(this.scriptSigner.publicKey);
233
231
  }
234
232
 
235
233
  /**
236
234
  * Validate that input 0 is P2WDA
237
235
  */
238
236
  private validateP2WDAInputs(): void {
239
- if (this.utxos.length === 0 || !P2WDADetector.isP2WDAUTXO(this.utxos[0])) {
237
+ if (this.utxos.length === 0 || !P2WDADetector.isP2WDAUTXO(this.utxos[0] as UTXO)) {
240
238
  throw new Error('Input 0 must be a P2WDA UTXO');
241
239
  }
242
240
 
243
241
  // Track all P2WDA inputs
244
242
  for (let i = 0; i < this.utxos.length; i++) {
245
- if (P2WDADetector.isP2WDAUTXO(this.utxos[i])) {
243
+ if (P2WDADetector.isP2WDAUTXO(this.utxos[i] as UTXO)) {
246
244
  this.p2wdaInputIndices.add(i);
247
245
  }
248
246
  }
249
247
 
250
248
  for (let i = 0; i < this.optionalInputs.length; i++) {
251
249
  const actualIndex = this.utxos.length + i;
252
- if (P2WDADetector.isP2WDAUTXO(this.optionalInputs[i])) {
250
+ if (P2WDADetector.isP2WDAUTXO(this.optionalInputs[i] as UTXO)) {
253
251
  this.p2wdaInputIndices.add(actualIndex);
254
252
  }
255
253
  }
@@ -291,8 +289,8 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
291
289
  inputIndex: number,
292
290
  input: PsbtInput,
293
291
  ): {
294
- finalScriptSig: Buffer | undefined;
295
- finalScriptWitness: Buffer | undefined;
292
+ finalScriptSig: Uint8Array | undefined;
293
+ finalScriptWitness: Uint8Array | undefined;
296
294
  } {
297
295
  if (!input.partialSig || input.partialSig.length === 0) {
298
296
  throw new Error(`No signature for P2WDA input #${inputIndex}`);
@@ -306,17 +304,17 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
306
304
  throw new Error('Operation data not compiled');
307
305
  }
308
306
 
309
- const txSignature = input.partialSig[0].signature;
310
- const messageToSign = Buffer.concat([txSignature, this.compiledOperationData]);
307
+ const txSignature = (input.partialSig[0] as { signature: Uint8Array }).signature;
308
+ const messageToSign = concat([txSignature, this.compiledOperationData]);
311
309
  const signedMessage = MessageSigner.signMessage(
312
- this.signer as ECPairInterface,
310
+ this.signer as UniversalSigner,
313
311
  messageToSign,
314
312
  );
315
313
 
316
- const schnorrSignature = Buffer.from(signedMessage.signature);
314
+ const schnorrSignature = signedMessage.signature;
317
315
 
318
316
  // Combine and compress: COMPRESS(signature + compiledOperationData)
319
- const fullData = Buffer.concat([schnorrSignature, this.compiledOperationData]);
317
+ const fullData = concat([schnorrSignature, this.compiledOperationData]);
320
318
  const compressedData = Compressor.compress(fullData);
321
319
 
322
320
  // Split into chunks
@@ -329,15 +327,15 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
329
327
  }
330
328
 
331
329
  // Build witness stack
332
- const witnessStack: Buffer[] = [txSignature];
330
+ const witnessStack: Uint8Array[] = [txSignature];
333
331
 
334
332
  // Add exactly 10 data fields
335
333
  // Bitcoin stack is reversed!
336
334
  for (let i = 0; i < InteractionTransactionP2WDA.MAX_WITNESS_FIELDS; i++) {
337
- witnessStack.push(i < chunks.length ? chunks[i] : Buffer.alloc(0));
335
+ witnessStack.push(i < chunks.length ? (chunks[i] as Uint8Array) : new Uint8Array(0));
338
336
  }
339
337
 
340
- witnessStack.push(input.witnessScript);
338
+ witnessStack.push(input.witnessScript as Uint8Array);
341
339
 
342
340
  return {
343
341
  finalScriptSig: undefined,
@@ -348,8 +346,8 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
348
346
  /**
349
347
  * Split data into 80-byte chunks
350
348
  */
351
- private splitIntoWitnessChunks(data: Buffer): Buffer[] {
352
- const chunks: Buffer[] = [];
349
+ private splitIntoWitnessChunks(data: Uint8Array): Uint8Array[] {
350
+ const chunks: Uint8Array[] = [];
353
351
  let offset = 0;
354
352
 
355
353
  while (offset < data.length) {
@@ -357,7 +355,7 @@ export class InteractionTransactionP2WDA extends TransactionBuilder<TransactionT
357
355
  InteractionTransactionP2WDA.MAX_BYTES_PER_WITNESS,
358
356
  data.length - offset,
359
357
  );
360
- chunks.push(Buffer.from(data.subarray(offset, offset + size)));
358
+ chunks.push(data.slice(offset, offset + size));
361
359
  offset += size;
362
360
  }
363
361
 
@@ -1,34 +1,41 @@
1
1
  import {
2
2
  crypto as bitcoinCrypto,
3
+ equals,
4
+ fromHex,
3
5
  opcodes,
4
- P2TRPayment,
6
+ type P2TRPayment,
5
7
  PaymentType,
6
8
  Psbt,
7
- PsbtInput,
8
- PsbtInputExtended,
9
- PsbtOutputExtended,
9
+ type PsbtInput,
10
+ type PsbtInputExtended,
11
+ type PsbtOutputExtended,
12
+ type PublicKey,
13
+ type Script,
10
14
  script,
11
- Signer,
12
- TapScriptSig,
13
- Taptree,
15
+ type Signer,
16
+ type TapScriptSig,
17
+ type Taptree,
18
+ toHex,
19
+ toSatoshi,
14
20
  toXOnly,
15
21
  } from '@btc-vision/bitcoin';
16
22
  import { TransactionBuilder } from './TransactionBuilder.js';
17
23
  import { TransactionType } from '../enums/TransactionType.js';
18
- import { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
24
+ import type { UpdateInput } from '../interfaces/Tap.js';
25
+ import type { ITransactionParameters } from '../interfaces/ITransactionParameters.js';
19
26
  import { MultiSignGenerator } from '../../generators/builders/MultiSignGenerator.js';
20
- import { UTXO } from '../../utxo/interfaces/IUTXO.js';
27
+ import type { UTXO } from '../../utxo/interfaces/IUTXO.js';
21
28
  import { EcKeyPair } from '../../keypair/EcKeyPair.js';
22
- import { ECPairInterface } from 'ecpair';
29
+ import { type UniversalSigner } from '@btc-vision/ecpair';
23
30
 
24
31
  export interface MultiSignParameters extends Omit<
25
32
  ITransactionParameters,
26
- 'gasSatFee' | 'priorityFee' | 'signer'
33
+ 'gasSatFee' | 'priorityFee' | 'signer' | 'from' | 'to'
27
34
  > {
28
- readonly pubkeys: Buffer[];
35
+ readonly pubkeys: Uint8Array[];
29
36
  readonly minimumSignatures: number;
30
- readonly from?: undefined;
31
- readonly to?: undefined;
37
+ readonly from?: string | undefined;
38
+ readonly to?: string | undefined;
32
39
  readonly psbt?: Psbt;
33
40
  readonly receiver: string;
34
41
  readonly requestedAmount: bigint;
@@ -44,7 +51,7 @@ export interface MultiSignFromBase64Params extends Omit<MultiSignParameters, 'ps
44
51
  * @class MultiSignTransaction
45
52
  */
46
53
  export class MultiSignTransaction extends TransactionBuilder<TransactionType.MULTI_SIG> {
47
- public static readonly LOCK_LEAF_SCRIPT: Buffer = script.compile([
54
+ public static readonly LOCK_LEAF_SCRIPT: Script = script.compile([
48
55
  opcodes.OP_XOR,
49
56
  opcodes.OP_NOP,
50
57
  opcodes.OP_CODESEPARATOR,
@@ -54,20 +61,19 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
54
61
  //Transaction.SIGHASH_ALL,
55
62
  //Transaction.SIGHASH_ANYONECANPAY,
56
63
  ];
57
- public static readonly numsPoint = Buffer.from(
64
+ public static readonly numsPoint: PublicKey = fromHex(
58
65
  '50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0',
59
- 'hex',
60
- );
66
+ ) as PublicKey;
61
67
 
62
68
  public type: TransactionType.MULTI_SIG = TransactionType.MULTI_SIG;
63
69
 
64
70
  protected targetScriptRedeem: P2TRPayment | null = null;
65
71
  protected leftOverFundsScriptRedeem: P2TRPayment | null = null;
66
72
 
67
- protected readonly compiledTargetScript: Buffer;
73
+ protected readonly compiledTargetScript: Uint8Array;
68
74
  protected readonly scriptTree: Taptree;
69
75
 
70
- protected readonly publicKeys: Buffer[];
76
+ protected readonly publicKeys: Uint8Array[];
71
77
  protected readonly minimumSignatures: number;
72
78
 
73
79
  protected readonly originalInputCount: number = 0;
@@ -79,7 +85,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
79
85
  * @description Sign hash types
80
86
  * @protected
81
87
  */
82
- protected readonly sighashTypes: number[] = MultiSignTransaction.signHashTypesArray;
88
+ protected override readonly sighashTypes: number[] = MultiSignTransaction.signHashTypesArray;
83
89
 
84
90
  public constructor(parameters: MultiSignParameters) {
85
91
  if (!parameters.refundVault) {
@@ -97,11 +103,11 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
97
103
  super({
98
104
  ...parameters,
99
105
  signer: EcKeyPair.fromPrivateKey(
100
- bitcoinCrypto.sha256(Buffer.from('aaaaaaaa', 'utf-8')),
106
+ bitcoinCrypto.sha256(new TextEncoder().encode('aaaaaaaa')),
101
107
  ),
102
108
  priorityFee: 0n,
103
109
  gasSatFee: 0n,
104
- });
110
+ } as ITransactionParameters);
105
111
 
106
112
  if (!parameters.pubkeys) {
107
113
  throw new Error('Pubkeys are required');
@@ -149,10 +155,10 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
149
155
  * @param {Buffer} signerPubKey The signer public key
150
156
  * @returns {boolean} True if the public key signed the transaction
151
157
  */
152
- public static verifyIfSigned(psbt: Psbt, signerPubKey: Buffer): boolean {
158
+ public static verifyIfSigned(psbt: Psbt, signerPubKey: Uint8Array): boolean {
153
159
  let alreadySigned: boolean = false;
154
160
  for (let i = 1; i < psbt.data.inputs.length; i++) {
155
- const input: PsbtInput = psbt.data.inputs[i];
161
+ const input: PsbtInput = psbt.data.inputs[i] as PsbtInput;
156
162
  if (!input.finalScriptWitness) {
157
163
  continue;
158
164
  }
@@ -166,9 +172,9 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
166
172
  }
167
173
 
168
174
  for (let j = 0; j < decoded.length - 2; j += 3) {
169
- const pubKey = decoded[j + 2];
175
+ const pubKey = decoded[j + 2] as Uint8Array;
170
176
 
171
- if (pubKey.equals(signerPubKey)) {
177
+ if (equals(pubKey, signerPubKey)) {
172
178
  alreadySigned = true;
173
179
  break;
174
180
  }
@@ -185,7 +191,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
185
191
  */
186
192
  public static signPartial(
187
193
  psbt: Psbt,
188
- signer: Signer | ECPairInterface,
194
+ signer: Signer | UniversalSigner,
189
195
  originalInputCount: number,
190
196
  minimums: number[],
191
197
  ): {
@@ -196,7 +202,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
196
202
  let final: boolean = true;
197
203
 
198
204
  for (let i = originalInputCount; i < psbt.data.inputs.length; i++) {
199
- const input: PsbtInput = psbt.data.inputs[i];
205
+ const input: PsbtInput = psbt.data.inputs[i] as PsbtInput;
200
206
  if (!input.tapInternalKey) {
201
207
  input.tapInternalKey = toXOnly(MultiSignTransaction.numsPoint);
202
208
  }
@@ -210,17 +216,17 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
210
216
  input.tapLeafScript = [
211
217
  {
212
218
  leafVersion: 192,
213
- script: decoded[decoded.length - 2],
214
- controlBlock: decoded[decoded.length - 1],
219
+ script: decoded[decoded.length - 2] as Uint8Array,
220
+ controlBlock: decoded[decoded.length - 1] as Uint8Array,
215
221
  },
216
222
  ];
217
223
 
218
224
  // we must insert all the partial signatures, decoded.length - 2
219
225
  for (let j = 0; j < decoded.length - 2; j += 3) {
220
226
  partialSignatures.push({
221
- signature: decoded[j],
222
- leafHash: decoded[j + 1],
223
- pubkey: decoded[j + 2],
227
+ signature: decoded[j] as Uint8Array,
228
+ leafHash: decoded[j + 1] as Uint8Array,
229
+ pubkey: decoded[j + 2] as Uint8Array,
224
230
  });
225
231
  }
226
232
 
@@ -266,14 +272,14 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
266
272
  public static partialFinalizer = (
267
273
  inputIndex: number,
268
274
  input: PsbtInput,
269
- partialSignatures: Buffer[],
270
- orderedPubKeys: Buffer[],
275
+ partialSignatures: Uint8Array[],
276
+ orderedPubKeys: Uint8Array[],
271
277
  isFinal: boolean,
272
278
  ) => {
273
279
  if (
274
280
  !input.tapLeafScript ||
275
- !input.tapLeafScript[0].script ||
276
- !input.tapLeafScript[0].controlBlock
281
+ !input.tapLeafScript[0]?.script ||
282
+ !input.tapLeafScript[0]?.controlBlock
277
283
  ) {
278
284
  throw new Error('Tap leaf script is required');
279
285
  }
@@ -282,7 +288,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
282
288
  throw new Error(`No new signatures for input ${inputIndex}.`);
283
289
  }
284
290
 
285
- let scriptSolution: Buffer[] = [];
291
+ let scriptSolution: Uint8Array[] = [];
286
292
  if (!isFinal) {
287
293
  scriptSolution = input.tapScriptSig
288
294
  .map((sig) => {
@@ -294,14 +300,14 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
294
300
  for (const pubKey of orderedPubKeys) {
295
301
  let found = false;
296
302
  for (const sig of input.tapScriptSig) {
297
- if (sig.pubkey.equals(toXOnly(pubKey))) {
303
+ if (equals(sig.pubkey, toXOnly(pubKey as PublicKey))) {
298
304
  scriptSolution.push(sig.signature);
299
305
  found = true;
300
306
  }
301
307
  }
302
308
 
303
309
  if (!found) {
304
- scriptSolution.push(Buffer.alloc(0));
310
+ scriptSolution.push(new Uint8Array(0));
305
311
  }
306
312
  }
307
313
 
@@ -312,9 +318,10 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
312
318
  scriptSolution = scriptSolution.concat(partialSignatures);
313
319
  }
314
320
 
321
+ const tapLeaf = input.tapLeafScript[0] as { script: Uint8Array; controlBlock: Uint8Array };
315
322
  const witness = scriptSolution
316
- .concat(input.tapLeafScript[0].script)
317
- .concat(input.tapLeafScript[0].controlBlock);
323
+ .concat(tapLeaf.script)
324
+ .concat(tapLeaf.controlBlock);
318
325
 
319
326
  return {
320
327
  finalScriptWitness: TransactionBuilder.witnessStackToScriptWitness(witness),
@@ -333,12 +340,12 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
333
340
  ): TapScriptSig[] {
334
341
  const signatures = new Map<string, TapScriptSig>();
335
342
  for (const sig of original) {
336
- signatures.set(sig.pubkey.toString('hex'), sig);
343
+ signatures.set(toHex(sig.pubkey), sig);
337
344
  }
338
345
 
339
346
  for (const sig of partial) {
340
- if (!signatures.has(sig.pubkey.toString('hex'))) {
341
- signatures.set(sig.pubkey.toString('hex'), sig);
347
+ if (!signatures.has(toHex(sig.pubkey))) {
348
+ signatures.set(toHex(sig.pubkey), sig);
342
349
  }
343
350
  }
344
351
 
@@ -356,13 +363,13 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
356
363
  public static attemptFinalizeInputs(
357
364
  psbt: Psbt,
358
365
  startIndex: number,
359
- orderedPubKeys: Buffer[][],
366
+ orderedPubKeys: Uint8Array[][],
360
367
  isFinal: boolean,
361
368
  ): boolean {
362
369
  let finalizedInputs = 0;
363
370
  for (let i = startIndex; i < psbt.data.inputs.length; i++) {
364
371
  try {
365
- const input = psbt.data.inputs[i];
372
+ const input = psbt.data.inputs[i] as PsbtInput;
366
373
 
367
374
  if (!input.tapInternalKey) {
368
375
  input.tapInternalKey = toXOnly(MultiSignTransaction.numsPoint);
@@ -377,17 +384,17 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
377
384
  // we must insert all the partial signatures, decoded.length - 2
378
385
  for (let j = 0; j < decoded.length - 2; j += 3) {
379
386
  partialSignatures.push({
380
- signature: decoded[j],
381
- leafHash: decoded[j + 1],
382
- pubkey: decoded[j + 2],
387
+ signature: decoded[j] as Uint8Array,
388
+ leafHash: decoded[j + 1] as Uint8Array,
389
+ pubkey: decoded[j + 2] as Uint8Array,
383
390
  });
384
391
  }
385
392
 
386
393
  input.tapLeafScript = [
387
394
  {
388
395
  leafVersion: 192,
389
- script: decoded[decoded.length - 2],
390
- controlBlock: decoded[decoded.length - 1],
396
+ script: decoded[decoded.length - 2] as Uint8Array,
397
+ controlBlock: decoded[decoded.length - 1] as Uint8Array,
391
398
  },
392
399
  ];
393
400
 
@@ -405,13 +412,13 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
405
412
  inputIndex: number,
406
413
  input: PsbtInput,
407
414
  ): {
408
- finalScriptWitness: Buffer | undefined;
415
+ finalScriptWitness: Uint8Array | undefined;
409
416
  } => {
410
417
  return MultiSignTransaction.partialFinalizer(
411
418
  inputIndex,
412
419
  input,
413
420
  [],
414
- orderedPubKeys[i - startIndex],
421
+ orderedPubKeys[i - startIndex] as Uint8Array[],
415
422
  isFinal,
416
423
  );
417
424
  },
@@ -448,7 +455,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
448
455
  * @returns {Promise<Psbt>} - The signed transaction in hex format
449
456
  * @throws {Error} - If something went wrong
450
457
  */
451
- public async signPSBT(): Promise<Psbt> {
458
+ public override async signPSBT(): Promise<Psbt> {
452
459
  if (await this.signTransaction()) {
453
460
  return this.transaction;
454
461
  }
@@ -494,12 +501,12 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
494
501
 
495
502
  this.addOutput({
496
503
  address: this.refundVault,
497
- value: Number(outputLeftAmount),
504
+ value: toSatoshi(outputLeftAmount),
498
505
  });
499
506
 
500
507
  this.addOutput({
501
508
  address: this.receiver,
502
- value: Number(this.requestedAmount),
509
+ value: toSatoshi(this.requestedAmount),
503
510
  });
504
511
  }
505
512
 
@@ -522,7 +529,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
522
529
  transaction.addInputs(inputs, checkPartialSigs);
523
530
 
524
531
  for (let i = 0; i < this.updateInputs.length; i++) {
525
- transaction.updateInput(i, this.updateInputs[i]);
532
+ transaction.updateInput(i, this.updateInputs[i] as UpdateInput);
526
533
  }
527
534
 
528
535
  transaction.addOutputs(outputs);
@@ -583,7 +590,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
583
590
  *
584
591
  * @returns {Buffer[]} The script solution
585
592
  */
586
- protected getScriptSolution(input: PsbtInput): Buffer[] {
593
+ protected getScriptSolution(input: PsbtInput): Uint8Array[] {
587
594
  if (!input.tapScriptSig) {
588
595
  return [];
589
596
  }
@@ -667,7 +674,7 @@ export class MultiSignTransaction extends TransactionBuilder<TransactionType.MUL
667
674
  private generateRedeemScripts(): void {
668
675
  this.targetScriptRedeem = {
669
676
  name: PaymentType.P2TR,
670
- output: this.compiledTargetScript,
677
+ output: this.compiledTargetScript as Script,
671
678
  redeemVersion: 192,
672
679
  };
673
680