@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,34 +1,72 @@
1
- import * as ecc from '@bitcoinerlab/secp256k1';
1
+ import { backend } from '../ecc/backend.js';
2
2
  import bip32, { BIP32Factory, MLDSASecurityLevel, QuantumBIP32Factory, } from '@btc-vision/bip32';
3
- import bitcoin, { address, fromOutputScript, initEccLib, networks, opcodes, payments, script, toXOnly, } from '@btc-vision/bitcoin';
4
- import { ECPairFactory } from 'ecpair';
5
- import { secp256k1 } from '@noble/curves/secp256k1';
6
- import { mod } from '@noble/curves/abstract/modular';
7
- import { sha256 } from '@noble/hashes/sha2';
8
- import { bytesToNumberBE, concatBytes, randomBytes, utf8ToBytes } from '@noble/curves/utils.js';
9
- initEccLib(ecc);
3
+ import bitcoin, { address, concat, fromHex, fromOutputScript, networks, opcodes, payments, script, toHex, toXOnly, } from '@btc-vision/bitcoin';
4
+ import { ECPairSigner } from '@btc-vision/ecpair';
5
+ import { secp256k1 } from '@noble/curves/secp256k1.js';
6
+ import { mod } from '@noble/curves/abstract/modular.js';
7
+ import { sha256 } from '@noble/hashes/sha2.js';
8
+ import { bytesToNumberBE, concatBytes, randomBytes } from '@noble/curves/utils.js';
10
9
  const BIP32factory = typeof bip32 === 'function' ? bip32 : BIP32Factory;
11
10
  if (!BIP32factory) {
12
11
  throw new Error('Failed to load BIP32 library');
13
12
  }
14
13
  const Point = secp256k1.Point;
15
14
  const CURVE_N = Point.Fn.ORDER;
16
- const TAP_TAG = utf8ToBytes('TapTweak');
15
+ const TAP_TAG = new Uint8Array([84, 97, 112, 84, 119, 101, 97, 107]); // 'TapTweak' in UTF-8
17
16
  const TAP_TAG_HASH = sha256(TAP_TAG);
18
17
  function tapTweakHash(x) {
19
18
  return sha256(concatBytes(TAP_TAG_HASH, TAP_TAG_HASH, x));
20
19
  }
20
+ /**
21
+ * Class for handling EC key pairs
22
+ * @class EcKeyPair
23
+ * @module EcKeyPair
24
+ * @typicalname EcKeyPair
25
+ * @example import { EcKeyPair } from '@btc-vision/transaction';
26
+ */
21
27
  export class EcKeyPair {
28
+ static BIP32 = BIP32factory(backend);
29
+ static ECPairSigner = ECPairSigner;
30
+ // Initialize precomputation for better performance
31
+ static {
32
+ // Precompute tables for the base point for better performance
33
+ Point.BASE.precompute(8);
34
+ }
35
+ /**
36
+ * Generate a keypair from a WIF
37
+ * @param {string} wif - The WIF to use
38
+ * @param {Network} network - The network to use
39
+ * @returns {UniversalSigner} - The generated keypair
40
+ */
22
41
  static fromWIF(wif, network = networks.bitcoin) {
23
- return this.ECPair.fromWIF(wif, network);
42
+ return ECPairSigner.fromWIF(backend, wif, network);
24
43
  }
44
+ /**
45
+ * Generate a keypair from a private key
46
+ * @param {Uint8Array} privateKey - The private key to use
47
+ * @param {Network} network - The network to use
48
+ * @returns {UniversalSigner} - The generated keypair
49
+ */
25
50
  static fromPrivateKey(privateKey, network = networks.bitcoin) {
26
- return this.ECPair.fromPrivateKey(!Buffer.isBuffer(privateKey) ? Buffer.from(privateKey) : privateKey, { network });
51
+ return ECPairSigner.fromPrivateKey(backend, privateKey, network);
27
52
  }
53
+ /**
54
+ * Generate a keypair from a public key
55
+ * @param {Uint8Array} publicKey - The public key to use
56
+ * @param {Network} network - The network to use
57
+ * @returns {UniversalSigner} - The generated keypair
58
+ */
28
59
  static fromPublicKey(publicKey, network = networks.bitcoin) {
29
- const buf = !Buffer.isBuffer(publicKey) ? Buffer.from(publicKey) : publicKey;
30
- return this.ECPair.fromPublicKey(buf, { network });
60
+ return ECPairSigner.fromPublicKey(backend, publicKey, network);
31
61
  }
62
+ /**
63
+ * Generate a multi-sig address
64
+ * @param {Uint8Array[]} pubKeys - The public keys to use
65
+ * @param {number} minimumSignatureRequired - The minimum number of signatures required
66
+ * @param {Network} network - The network to use
67
+ * @returns {string} - The generated address
68
+ * @throws {Error} - If the address cannot be generated
69
+ */
32
70
  static generateMultiSigAddress(pubKeys, minimumSignatureRequired, network = networks.bitcoin) {
33
71
  const publicKeys = this.verifyPubKeys(pubKeys, network);
34
72
  if (publicKeys.length !== pubKeys.length)
@@ -45,37 +83,64 @@ export class EcKeyPair {
45
83
  }
46
84
  return address;
47
85
  }
86
+ /**
87
+ * Verify public keys and return the public keys
88
+ * @param {Uint8Array[]} pubKeys - The public keys to verify
89
+ * @param {Network} network - The network to use
90
+ * @returns {Uint8Array[]} - The verified public keys
91
+ * @throws {Error} - If the key cannot be regenerated
92
+ */
48
93
  static verifyPubKeys(pubKeys, network = networks.bitcoin) {
49
94
  return pubKeys.map((pubKey) => {
50
95
  const key = EcKeyPair.fromPublicKey(pubKey, network);
51
96
  if (!key) {
52
97
  throw new Error('Failed to regenerate key');
53
98
  }
54
- return Buffer.from(key.publicKey);
99
+ return key.publicKey;
55
100
  });
56
101
  }
102
+ /**
103
+ * Get a P2WPKH address from a keypair
104
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
105
+ * @param {Network} network - The network to use
106
+ * @returns {string} - The address
107
+ */
57
108
  static getP2WPKHAddress(keyPair, network = networks.bitcoin) {
58
- const res = payments.p2wpkh({ pubkey: Buffer.from(keyPair.publicKey), network: network });
109
+ const res = payments.p2wpkh({ pubkey: keyPair.publicKey, network: network });
59
110
  if (!res.address) {
60
111
  throw new Error('Failed to generate wallet');
61
112
  }
62
113
  return res.address;
63
114
  }
115
+ /**
116
+ * Get the address of a tweaked public key
117
+ * @param {string} tweakedPubKeyHex - The tweaked public key hex string
118
+ * @param {Network} network - The network to use
119
+ * @returns {string} - The address
120
+ * @throws {Error} - If the address cannot be generated
121
+ */
64
122
  static tweakedPubKeyToAddress(tweakedPubKeyHex, network) {
65
123
  if (tweakedPubKeyHex.startsWith('0x')) {
66
124
  tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
67
125
  }
68
- let tweakedPubKeyBuffer = Buffer.from(tweakedPubKeyHex, 'hex');
126
+ // Convert the tweaked public key hex string to a Uint8Array
127
+ let tweakedPubKeyBuffer = fromHex(tweakedPubKeyHex);
69
128
  if (tweakedPubKeyBuffer.length !== 32) {
70
129
  tweakedPubKeyBuffer = toXOnly(tweakedPubKeyBuffer);
71
130
  }
72
131
  return EcKeyPair.tweakedPubKeyBufferToAddress(tweakedPubKeyBuffer, network);
73
132
  }
133
+ /**
134
+ * Get the address of a tweaked public key
135
+ * @param {Uint8Array} tweakedPubKeyBuffer - The tweaked public key buffer
136
+ * @param {Network} network - The network to use
137
+ * @returns {string} - The address
138
+ * @throws {Error} - If the address cannot be generated
139
+ */
74
140
  static tweakedPubKeyBufferToAddress(tweakedPubKeyBuffer, network) {
141
+ // Generate the Taproot address using the p2tr payment method
75
142
  const { address } = payments.p2tr({
76
- pubkey: Buffer.isBuffer(tweakedPubKeyBuffer)
77
- ? tweakedPubKeyBuffer
78
- : Buffer.from(tweakedPubKeyBuffer),
143
+ pubkey: tweakedPubKeyBuffer,
79
144
  network: network,
80
145
  });
81
146
  if (!address) {
@@ -83,10 +148,18 @@ export class EcKeyPair {
83
148
  }
84
149
  return address;
85
150
  }
151
+ /**
152
+ * Generate a P2OP address
153
+ * @param bytes - The bytes to use for the P2OP address
154
+ * @param network - The network to use
155
+ * @param deploymentVersion - The deployment version (default is 0)
156
+ * @returns {string} - The generated P2OP address
157
+ */
86
158
  static p2op(bytes, network = networks.bitcoin, deploymentVersion = 0) {
87
- const witnessProgram = Buffer.concat([
88
- Buffer.from([deploymentVersion]),
89
- bitcoin.crypto.hash160(Buffer.from(bytes)),
159
+ // custom opnet contract addresses
160
+ const witnessProgram = concat([
161
+ new Uint8Array([deploymentVersion]),
162
+ bitcoin.crypto.hash160(bytes),
90
163
  ]);
91
164
  if (witnessProgram.length < 2 || witnessProgram.length > 40) {
92
165
  throw new Error('Witness program must be 2-40 bytes.');
@@ -94,11 +167,23 @@ export class EcKeyPair {
94
167
  const scriptData = script.compile([opcodes.OP_16, witnessProgram]);
95
168
  return fromOutputScript(scriptData, network);
96
169
  }
170
+ /**
171
+ * Get the address of a xOnly tweaked public key
172
+ * @param {string} tweakedPubKeyHex - The xOnly tweaked public key hex string
173
+ * @param {Network} network - The network to use
174
+ * @returns {string} - The address
175
+ * @throws {Error} - If the address cannot be generated
176
+ */
97
177
  static xOnlyTweakedPubKeyToAddress(tweakedPubKeyHex, network) {
98
178
  if (tweakedPubKeyHex.startsWith('0x')) {
99
179
  tweakedPubKeyHex = tweakedPubKeyHex.slice(2);
100
180
  }
101
- const tweakedPubKeyBuffer = Buffer.from(tweakedPubKeyHex, 'hex');
181
+ // Convert the tweaked public key hex string to a Uint8Array
182
+ const tweakedPubKeyBuffer = fromHex(tweakedPubKeyHex);
183
+ if (tweakedPubKeyBuffer.length !== 32) {
184
+ throw new Error('Invalid xOnly public key length');
185
+ }
186
+ // Generate the Taproot address using the p2tr payment method
102
187
  const { address } = payments.p2tr({
103
188
  pubkey: tweakedPubKeyBuffer,
104
189
  network: network,
@@ -108,60 +193,107 @@ export class EcKeyPair {
108
193
  }
109
194
  return address;
110
195
  }
196
+ /**
197
+ * Tweak a public key
198
+ * @param {Uint8Array | string} pub - The public key to tweak
199
+ * @returns {Uint8Array} - The tweaked public key
200
+ * @throws {Error} - If the public key cannot be tweaked
201
+ */
111
202
  static tweakPublicKey(pub) {
112
203
  if (typeof pub === 'string' && pub.startsWith('0x'))
113
204
  pub = pub.slice(2);
114
- const P = Point.fromHex(pub);
205
+ const hexStr = typeof pub === 'string' ? pub : toHex(pub);
206
+ const P = Point.fromHex(hexStr);
115
207
  const Peven = (P.y & 1n) === 0n ? P : P.negate();
116
- const xBytes = Buffer.from(Peven.toBytes(true).subarray(1));
208
+ const xBytes = Peven.toBytes(true).subarray(1);
117
209
  const tBytes = tapTweakHash(xBytes);
118
210
  const t = mod(bytesToNumberBE(tBytes), CURVE_N);
119
211
  const Q = Peven.add(Point.BASE.multiply(t));
120
- return Buffer.from(Q.toBytes(true));
212
+ return Q.toBytes(true);
121
213
  }
214
+ /**
215
+ * Tweak a batch of public keys
216
+ * @param {readonly Uint8Array[]} pubkeys - The public keys to tweak
217
+ * @param {bigint} tweakScalar - The scalar to use for tweaking
218
+ * @returns {Uint8Array[]} - The tweaked public keys
219
+ */
122
220
  static tweakBatchSharedT(pubkeys, tweakScalar) {
123
221
  const T = Point.BASE.multiply(tweakScalar);
124
222
  return pubkeys.map((bytes) => {
125
- const P = Point.fromHex(bytes);
223
+ const P = Point.fromHex(toHex(bytes));
126
224
  const P_even = P.y % 2n === 0n ? P : P.negate();
127
225
  const Q = P_even.add(T);
128
226
  return Q.toBytes(true);
129
227
  });
130
228
  }
229
+ /**
230
+ * Generate a random wallet with both classical and quantum keys
231
+ *
232
+ * @param network - The network to use
233
+ * @param securityLevel - The ML-DSA security level for quantum keys (default: LEVEL2/44)
234
+ * @returns An object containing both classical and quantum key information
235
+ */
131
236
  static generateWallet(network = networks.bitcoin, securityLevel = MLDSASecurityLevel.LEVEL2) {
132
- const keyPair = this.ECPair.makeRandom({
133
- network: network,
237
+ const keyPair = ECPairSigner.makeRandom(backend, network, {
238
+ rng: (size) => {
239
+ return randomBytes(size);
240
+ },
134
241
  });
135
242
  const wallet = this.getP2WPKHAddress(keyPair, network);
136
243
  if (!wallet) {
137
244
  throw new Error('Failed to generate wallet');
138
245
  }
246
+ // Generate random quantum keypair with network
139
247
  const quantumKeyPair = this.generateQuantumKeyPair(securityLevel, network);
140
248
  return {
141
249
  address: wallet,
142
250
  privateKey: keyPair.toWIF(),
143
- publicKey: Buffer.from(keyPair.publicKey).toString('hex'),
144
- quantumPrivateKey: Buffer.from(quantumKeyPair.privateKey).toString('hex'),
145
- quantumPublicKey: Buffer.from(quantumKeyPair.publicKey).toString('hex'),
251
+ publicKey: toHex(keyPair.publicKey),
252
+ quantumPrivateKey: toHex(quantumKeyPair.privateKey),
253
+ quantumPublicKey: toHex(quantumKeyPair.publicKey),
146
254
  };
147
255
  }
256
+ /**
257
+ * Generate a random quantum ML-DSA keypair
258
+ *
259
+ * This creates a standalone quantum-resistant keypair without using BIP32 derivation.
260
+ * The keys are generated using cryptographically secure random bytes.
261
+ *
262
+ * @param securityLevel - The ML-DSA security level (default: LEVEL2/44)
263
+ * @param network - The Bitcoin network (default: bitcoin mainnet)
264
+ * @returns A random ML-DSA keypair
265
+ */
148
266
  static generateQuantumKeyPair(securityLevel = MLDSASecurityLevel.LEVEL2, network = networks.bitcoin) {
267
+ // Generate random seed for quantum key generation
149
268
  const randomSeed = randomBytes(64);
150
- const quantumRoot = QuantumBIP32Factory.fromSeed(Buffer.from(randomSeed), network, securityLevel);
269
+ // Create a quantum root from the random seed with network parameter
270
+ const quantumRoot = QuantumBIP32Factory.fromSeed(randomSeed, network, securityLevel);
151
271
  if (!quantumRoot.privateKey || !quantumRoot.publicKey) {
152
272
  throw new Error('Failed to generate quantum keypair');
153
273
  }
154
274
  return {
155
- privateKey: Buffer.from(quantumRoot.privateKey),
156
- publicKey: Buffer.from(quantumRoot.publicKey),
275
+ privateKey: new Uint8Array(quantumRoot.privateKey),
276
+ publicKey: new Uint8Array(quantumRoot.publicKey),
157
277
  };
158
278
  }
279
+ /**
280
+ * Verify that a contract address is a valid p2tr address
281
+ * @param {string} contractAddress - The contract address to verify
282
+ * @param {Network} network - The network to use
283
+ * @returns {boolean} - Whether the address is valid
284
+ */
159
285
  static verifyContractAddress(contractAddress, network = networks.bitcoin) {
160
286
  return !!address.toOutputScript(contractAddress, network);
161
287
  }
288
+ /**
289
+ * Get the legacy segwit address from a keypair
290
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
291
+ * @param {Network} network - The network to use
292
+ * @returns {string} - The legacy address
293
+ */
162
294
  static getLegacySegwitAddress(keyPair, network = networks.bitcoin) {
163
295
  const wallet = payments.p2sh({
164
- redeem: payments.p2wpkh({ pubkey: Buffer.from(keyPair.publicKey), network: network }),
296
+ redeem: payments.p2wpkh({ pubkey: keyPair.publicKey, network: network }),
165
297
  network: network,
166
298
  });
167
299
  if (!wallet.address) {
@@ -169,38 +301,75 @@ export class EcKeyPair {
169
301
  }
170
302
  return wallet.address;
171
303
  }
304
+ /**
305
+ * Get the legacy address from a keypair
306
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
307
+ * @param {Network} network - The network to use
308
+ * @returns {string} - The legacy address
309
+ */
172
310
  static getLegacyAddress(keyPair, network = networks.bitcoin) {
173
- const wallet = payments.p2pkh({ pubkey: Buffer.from(keyPair.publicKey), network: network });
311
+ const wallet = payments.p2pkh({ pubkey: keyPair.publicKey, network: network });
174
312
  if (!wallet.address) {
175
313
  throw new Error('Failed to generate wallet');
176
314
  }
177
315
  return wallet.address;
178
316
  }
317
+ /**
318
+ * Get the legacy address from a public key
319
+ * @param publicKey
320
+ * @param {Network} network - The network to use
321
+ * @returns {string} - The legacy address
322
+ */
179
323
  static getP2PKH(publicKey, network = networks.bitcoin) {
180
- const wallet = payments.p2pkh({ pubkey: Buffer.from(publicKey), network: network });
324
+ const wallet = payments.p2pkh({ pubkey: publicKey, network: network });
181
325
  if (!wallet.address) {
182
326
  throw new Error('Failed to generate wallet');
183
327
  }
184
328
  return wallet.address;
185
329
  }
330
+ /**
331
+ * Get the P2PK output from a keypair
332
+ * @param {UniversalSigner} keyPair - The keypair to get the address for
333
+ * @param {Network} network - The network to use
334
+ * @returns {string} - The legacy address
335
+ */
186
336
  static getP2PKAddress(keyPair, network = networks.bitcoin) {
187
- const wallet = payments.p2pk({ pubkey: Buffer.from(keyPair.publicKey), network: network });
337
+ const wallet = payments.p2pk({ pubkey: keyPair.publicKey, network: network });
188
338
  if (!wallet.output) {
189
339
  throw new Error('Failed to generate wallet');
190
340
  }
191
- return '0x' + wallet.output.toString('hex');
341
+ return '0x' + toHex(wallet.output);
192
342
  }
343
+ /**
344
+ * Generate a random keypair
345
+ * @param {Network} network - The network to use
346
+ * @returns {UniversalSigner} - The generated keypair
347
+ */
193
348
  static generateRandomKeyPair(network = networks.bitcoin) {
194
- return this.ECPair.makeRandom({
195
- network: network,
349
+ return ECPairSigner.makeRandom(backend, network, {
350
+ rng: (size) => {
351
+ return randomBytes(size);
352
+ },
196
353
  });
197
354
  }
355
+ /**
356
+ * Generate a BIP32 keypair from a seed
357
+ * @param {Uint8Array} seed - The seed to generate the keypair from
358
+ * @param {Network} network - The network to use
359
+ * @returns {BIP32Interface} - The generated keypair
360
+ */
198
361
  static fromSeed(seed, network = networks.bitcoin) {
199
362
  return this.BIP32.fromSeed(seed, network);
200
363
  }
364
+ /**
365
+ * Get taproot address from keypair
366
+ * @param {UniversalSigner | Signer} keyPair - The keypair to get the taproot address for
367
+ * @param {Network} network - The network to use
368
+ * @returns {string} - The taproot address
369
+ */
201
370
  static getTaprootAddress(keyPair, network = networks.bitcoin) {
202
371
  const { address } = payments.p2tr({
203
- internalPubkey: toXOnly(Buffer.from(keyPair.publicKey)),
372
+ internalPubkey: toXOnly(keyPair.publicKey),
204
373
  network: network,
205
374
  });
206
375
  if (!address) {
@@ -208,6 +377,12 @@ export class EcKeyPair {
208
377
  }
209
378
  return address;
210
379
  }
380
+ /**
381
+ * Get taproot address from address
382
+ * @param {string} inAddr - The address to convert to taproot
383
+ * @param {Network} network - The network to use
384
+ * @returns {string} - The taproot address
385
+ */
211
386
  static getTaprootAddressFromAddress(inAddr, network = networks.bitcoin) {
212
387
  const { address } = payments.p2tr({
213
388
  address: inAddr,
@@ -218,16 +393,18 @@ export class EcKeyPair {
218
393
  }
219
394
  return address;
220
395
  }
396
+ /**
397
+ * Get a keypair from a given seed.
398
+ * @param {Uint8Array} seed - The seed to generate the key pair from
399
+ * @param {Network} network - The network to use
400
+ * @returns {UniversalSigner} - The generated key pair
401
+ */
221
402
  static fromSeedKeyPair(seed, network = networks.bitcoin) {
222
403
  const fromSeed = this.BIP32.fromSeed(seed, network);
223
404
  const privKey = fromSeed.privateKey;
224
405
  if (!privKey)
225
406
  throw new Error('Failed to generate key pair');
226
- return this.ECPair.fromPrivateKey(Buffer.from(privKey), { network });
407
+ return ECPairSigner.fromPrivateKey(backend, privKey, network);
227
408
  }
228
409
  }
229
- EcKeyPair.BIP32 = BIP32factory(ecc);
230
- EcKeyPair.ECPair = ECPairFactory(ecc);
231
- (() => {
232
- Point.BASE.precompute(8);
233
- })();
410
+ //# sourceMappingURL=EcKeyPair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EcKeyPair.js","sourceRoot":"","sources":["../../src/keypair/EcKeyPair.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ECPairInterface } from 'ecpair';
2
- import { Network } from '@btc-vision/bitcoin';
3
- import { MLDSASecurityLevel, QuantumBIP32Interface } from '@btc-vision/bip32';
1
+ import { type UniversalSigner } from '@btc-vision/ecpair';
2
+ import { type Network } from '@btc-vision/bitcoin';
3
+ import { MLDSASecurityLevel, type QuantumBIP32Interface } from '@btc-vision/bip32';
4
4
  export interface SignedMessage {
5
5
  readonly signature: Uint8Array;
6
6
  readonly message: Uint8Array;
@@ -12,22 +12,23 @@ export interface MLDSASignedMessage {
12
12
  readonly securityLevel: MLDSASecurityLevel;
13
13
  }
14
14
  declare class MessageSignerBase {
15
- sha256(message: Buffer | Uint8Array): Buffer;
16
- trySignSchnorrWithOPWallet(message: Uint8Array | Buffer | string): Promise<SignedMessage | null>;
17
- trySignMLDSAWithOPWallet(message: Uint8Array | Buffer | string): Promise<MLDSASignedMessage | null>;
18
- signMessageAuto(message: Uint8Array | Buffer | string, keypair?: ECPairInterface): Promise<SignedMessage>;
19
- tweakAndSignMessageAuto(message: Uint8Array | Buffer | string, keypair?: ECPairInterface, network?: Network): Promise<SignedMessage>;
20
- signMLDSAMessageAuto(message: Uint8Array | Buffer | string, mldsaKeypair?: QuantumBIP32Interface): Promise<MLDSASignedMessage>;
21
- verifyMLDSAWithOPWallet(message: Uint8Array | Buffer | string, signature: MLDSASignedMessage): Promise<boolean | null>;
22
- getMLDSAPublicKeyFromOPWallet(): Promise<Buffer | null>;
23
- tweakAndSignMessage(keypair: ECPairInterface, message: Uint8Array | Buffer | string, network: Network): SignedMessage;
24
- signMessage(keypair: ECPairInterface, message: Uint8Array | Buffer | string): SignedMessage;
25
- verifySignature(publicKey: Uint8Array | Buffer, message: Uint8Array | Buffer | string, signature: Uint8Array | Buffer): boolean;
26
- tweakAndVerifySignature(publicKey: Uint8Array | Buffer, message: Uint8Array | Buffer | string, signature: Uint8Array | Buffer): boolean;
27
- signMLDSAMessage(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | Buffer | string): MLDSASignedMessage;
28
- verifyMLDSASignature(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | Buffer | string, signature: Uint8Array | Buffer): boolean;
15
+ sha256(message: Uint8Array): Uint8Array;
16
+ trySignSchnorrWithOPWallet(message: Uint8Array | string): Promise<SignedMessage | null>;
17
+ trySignMLDSAWithOPWallet(message: Uint8Array | string): Promise<MLDSASignedMessage | null>;
18
+ signMessageAuto(message: Uint8Array | string, keypair?: UniversalSigner): Promise<SignedMessage>;
19
+ tweakAndSignMessageAuto(message: Uint8Array | string, keypair?: UniversalSigner, network?: Network): Promise<SignedMessage>;
20
+ signMLDSAMessageAuto(message: Uint8Array | string, mldsaKeypair?: QuantumBIP32Interface): Promise<MLDSASignedMessage>;
21
+ verifyMLDSAWithOPWallet(message: Uint8Array | string, signature: MLDSASignedMessage): Promise<boolean | null>;
22
+ getMLDSAPublicKeyFromOPWallet(): Promise<Uint8Array | null>;
23
+ tweakAndSignMessage(keypair: UniversalSigner, message: Uint8Array | string, network: Network): SignedMessage;
24
+ signMessage(keypair: UniversalSigner, message: Uint8Array | string): SignedMessage;
25
+ verifySignature(publicKey: Uint8Array, message: Uint8Array | string, signature: Uint8Array): boolean;
26
+ tweakAndVerifySignature(publicKey: Uint8Array, message: Uint8Array | string, signature: Uint8Array): boolean;
27
+ signMLDSAMessage(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | string): MLDSASignedMessage;
28
+ verifyMLDSASignature(mldsaKeypair: QuantumBIP32Interface, message: Uint8Array | string, signature: Uint8Array): boolean;
29
29
  isOPWalletAvailable(): boolean;
30
30
  private getOPWallet;
31
31
  }
32
32
  export declare const MessageSigner: MessageSignerBase;
33
33
  export {};
34
+ //# sourceMappingURL=MessageSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageSigner.d.ts","sourceRoot":"","sources":["../../src/keypair/MessageSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAmB,KAAK,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAInF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;CAC9C;AAMD,cAAM,iBAAiB;IACZ,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAIjC,0BAA0B,CACnC,OAAO,EAAE,UAAU,GAAG,MAAM,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAmBnB,wBAAwB,CACjC,OAAO,EAAE,UAAU,GAAG,MAAM,GAC7B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAqBxB,eAAe,CACxB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,aAAa,CAAC;IAYZ,uBAAuB,CAChC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,aAAa,CAAC;IAgBZ,oBAAoB,CAC7B,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,YAAY,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC,kBAAkB,CAAC;IAYjB,uBAAuB,CAChC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,kBAAkB,GAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAqBb,6BAA6B,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAUjE,mBAAmB,CACtB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,OAAO,GACjB,aAAa;IAKT,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa;IAqBlF,eAAe,CAClB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,UAAU,GACtB,OAAO;IAsBH,uBAAuB,CAC1B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,UAAU,GACtB,OAAO;IAKH,gBAAgB,CACnB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,UAAU,GAAG,MAAM,GAC7B,kBAAkB;IAoBd,oBAAoB,CACvB,YAAY,EAAE,qBAAqB,EACnC,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,SAAS,EAAE,UAAU,GACtB,OAAO;IASH,mBAAmB,IAAI,OAAO;IAIrC,OAAO,CAAC,WAAW;CAYtB;AAED,eAAO,MAAM,aAAa,mBAA0B,CAAC"}