@btc-vision/transaction 1.0.97 → 1.0.99

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 (477) hide show
  1. package/.babelrc +4 -7
  2. package/.prettierrc.json +11 -11
  3. package/CONTRIBUTING.md +71 -71
  4. package/LICENSE.md +62 -62
  5. package/README.md +76 -76
  6. package/browser/_version.d.ts +1 -1
  7. package/browser/bytecode/Compressor.d.ts +0 -1
  8. package/browser/crypto/crypto-browser.d.ts +1 -30
  9. package/browser/crypto/crypto.d.ts +0 -1
  10. package/browser/generators/AddressGenerator.d.ts +0 -1
  11. package/browser/generators/Generator.d.ts +0 -1
  12. package/browser/generators/builders/CalldataGenerator.d.ts +0 -1
  13. package/browser/generators/builders/DeploymentGenerator.d.ts +0 -1
  14. package/browser/generators/builders/MultiSignGenerator.d.ts +0 -1
  15. package/browser/index.js +1 -1
  16. package/browser/keypair/EcKeyPair.d.ts +0 -1
  17. package/browser/keypair/Wallet.d.ts +0 -1
  18. package/browser/signer/TweakedSigner.d.ts +0 -1
  19. package/browser/transaction/browser/BrowserSignerBase.d.ts +0 -1
  20. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
  21. package/browser/transaction/builders/DeploymentTransaction.d.ts +0 -1
  22. package/browser/transaction/builders/InteractionTransaction.d.ts +0 -1
  23. package/browser/transaction/builders/MultiSignTransaction.d.ts +0 -1
  24. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
  25. package/browser/transaction/builders/TransactionBuilder.d.ts +0 -1
  26. package/browser/transaction/builders/UnwrapSegwitTransaction.d.ts +0 -1
  27. package/browser/transaction/builders/UnwrapTransaction.d.ts +0 -1
  28. package/browser/transaction/builders/WrapTransaction.d.ts +0 -1
  29. package/browser/transaction/interfaces/ITransactionParameters.d.ts +0 -1
  30. package/browser/transaction/interfaces/Tap.d.ts +0 -1
  31. package/browser/transaction/shared/P2TR_MS.d.ts +0 -1
  32. package/browser/transaction/shared/TweakedTransaction.d.ts +0 -1
  33. package/browser/utils/BitcoinUtils.d.ts +0 -1
  34. package/browser/verification/TapscriptVerificator.d.ts +0 -1
  35. package/browser/wbtc/WrappedGenerationParameters.d.ts +0 -1
  36. package/build/bytecode/Compressor.d.ts +0 -1
  37. package/build/bytecode/Compressor.js +4 -4
  38. package/build/crypto/crypto.d.ts +0 -1
  39. package/build/generators/AddressGenerator.d.ts +0 -1
  40. package/build/generators/Generator.d.ts +0 -1
  41. package/build/generators/Generator.js +3 -5
  42. package/build/generators/builders/CalldataGenerator.d.ts +0 -1
  43. package/build/generators/builders/DeploymentGenerator.d.ts +0 -1
  44. package/build/generators/builders/{MultisignGenerator.d.ts → MultiSignGenerator.d.ts} +0 -1
  45. package/build/generators/builders/{MultisignGenerator.js → MultiSignGenerator.js} +1 -1
  46. package/build/keypair/EcKeyPair.d.ts +0 -1
  47. package/build/keypair/EcKeyPair.js +2 -2
  48. package/build/keypair/Wallet.d.ts +0 -1
  49. package/build/keypair/Wallet.js +0 -5
  50. package/build/metadata/ContractBaseMetadata.js +0 -1
  51. package/build/metadata/contracts/wBTC.js +3 -5
  52. package/build/metadata/tokens.js +27 -25
  53. package/build/signer/TweakedSigner.d.ts +0 -1
  54. package/build/transaction/browser/BrowserSignerBase.d.ts +0 -1
  55. package/build/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
  56. package/build/transaction/browser/extensions/UnisatSigner.js +1 -6
  57. package/build/transaction/builders/DeploymentTransaction.d.ts +0 -1
  58. package/build/transaction/builders/DeploymentTransaction.js +25 -33
  59. package/build/transaction/builders/FundingTransaction.js +1 -3
  60. package/build/transaction/builders/InteractionTransaction.d.ts +0 -1
  61. package/build/transaction/builders/InteractionTransaction.js +2 -5
  62. package/build/transaction/builders/MultiSignTransaction.d.ts +0 -1
  63. package/build/transaction/builders/MultiSignTransaction.js +66 -73
  64. package/build/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
  65. package/build/transaction/builders/SharedInteractionTransaction.js +20 -25
  66. package/build/transaction/builders/TransactionBuilder.d.ts +0 -1
  67. package/build/transaction/builders/TransactionBuilder.js +12 -21
  68. package/build/transaction/builders/UnwrapSegwitTransaction.d.ts +0 -1
  69. package/build/transaction/builders/UnwrapSegwitTransaction.js +4 -10
  70. package/build/transaction/builders/UnwrapTransaction.d.ts +0 -1
  71. package/build/transaction/builders/UnwrapTransaction.js +5 -11
  72. package/build/transaction/builders/WrapTransaction.d.ts +0 -1
  73. package/build/transaction/builders/WrapTransaction.js +5 -12
  74. package/build/transaction/interfaces/ITransactionParameters.d.ts +0 -1
  75. package/build/transaction/interfaces/Tap.d.ts +0 -1
  76. package/build/transaction/processor/PsbtTransaction.js +3 -4
  77. package/build/transaction/shared/P2TR_MS.d.ts +0 -1
  78. package/build/transaction/shared/TweakedTransaction.d.ts +0 -1
  79. package/build/transaction/shared/TweakedTransaction.js +11 -16
  80. package/build/utils/BitcoinUtils.d.ts +0 -1
  81. package/build/utxo/OPNetLimitedProvider.js +2 -3
  82. package/build/verification/TapscriptVerificator.d.ts +0 -1
  83. package/build/verification/TapscriptVerificator.js +1 -1
  84. package/build/wbtc/UnwrapGeneration.js +0 -2
  85. package/build/wbtc/WrappedGenerationParameters.d.ts +0 -1
  86. package/build/wbtc/WrappedGenerationParameters.js +0 -6
  87. package/cjs/package.json +3 -0
  88. package/docs/.nojekyll +1 -0
  89. package/docs/assets/highlight.css +43 -0
  90. package/docs/assets/icons.js +15 -0
  91. package/docs/assets/icons.svg +1 -0
  92. package/docs/assets/main.js +59 -0
  93. package/docs/assets/material-style.css +247 -0
  94. package/docs/assets/navigation.js +1 -0
  95. package/docs/assets/search.js +1 -0
  96. package/docs/assets/style.css +1412 -0
  97. package/docs/classes/AddressGenerator.html +177 -0
  98. package/docs/classes/AddressVerificator.html +177 -0
  99. package/docs/classes/BitcoinUtils.html +196 -0
  100. package/docs/classes/CalldataGenerator.html +213 -0
  101. package/docs/classes/Compressor.html +185 -0
  102. package/docs/classes/ContractBaseMetadata.html +182 -0
  103. package/docs/classes/CustomKeypair.html +189 -0
  104. package/docs/classes/DeploymentGenerator.html +201 -0
  105. package/docs/classes/DeploymentTransaction.html +465 -0
  106. package/docs/classes/EcKeyPair.html +280 -0
  107. package/docs/classes/FundingTransaction.html +425 -0
  108. package/docs/classes/Generator.html +199 -0
  109. package/docs/classes/InteractionTransaction.html +467 -0
  110. package/docs/classes/MultiSignGenerator.html +178 -0
  111. package/docs/classes/MultiSignTransaction.html +490 -0
  112. package/docs/classes/OPNetLimitedProvider.html +225 -0
  113. package/docs/classes/OPNetTokenAddressManager.html +182 -0
  114. package/docs/classes/P2TR_MS.html +186 -0
  115. package/docs/classes/PsbtTransaction.html +320 -0
  116. package/docs/classes/SharedInteractionTransaction.html +477 -0
  117. package/docs/classes/TapscriptVerificator.html +180 -0
  118. package/docs/classes/TransactionBuilder.html +423 -0
  119. package/docs/classes/TransactionFactory.html +230 -0
  120. package/docs/classes/TweakedSigner.html +181 -0
  121. package/docs/classes/TweakedTransaction.html +301 -0
  122. package/docs/classes/UnisatSigner.html +199 -0
  123. package/docs/classes/UnwrapGeneration.html +177 -0
  124. package/docs/classes/UnwrapTransaction.html +518 -0
  125. package/docs/classes/Wallet.html +204 -0
  126. package/docs/classes/WrapTransaction.html +509 -0
  127. package/docs/classes/WrappedGeneration.html +187 -0
  128. package/docs/classes/wBTC.html +190 -0
  129. package/docs/enums/ChainId.html +176 -0
  130. package/docs/enums/Consensus.html +204 -0
  131. package/docs/enums/Features.html +175 -0
  132. package/docs/enums/MessageType.html +176 -0
  133. package/docs/enums/OPNetNetwork.html +177 -0
  134. package/docs/enums/PSBTTypes.html +175 -0
  135. package/docs/enums/TransactionSequence.html +177 -0
  136. package/docs/enums/TransactionType.html +181 -0
  137. package/docs/enums/UnisatChainType.html +181 -0
  138. package/docs/enums/UnisatNetwork.html +177 -0
  139. package/docs/hierarchy.html +174 -0
  140. package/docs/index.html +215 -0
  141. package/docs/interfaces/Balance.html +177 -0
  142. package/docs/interfaces/BitcoinTransferResponse.html +178 -0
  143. package/docs/interfaces/BroadcastResponse.html +181 -0
  144. package/docs/interfaces/BroadcastTransactionOptions.html +176 -0
  145. package/docs/interfaces/BroadcastedTransaction.html +184 -0
  146. package/docs/interfaces/ConsensusConfig.html +182 -0
  147. package/docs/interfaces/ContractAddressVerificationParams.html +179 -0
  148. package/docs/interfaces/DeploymentResult.html +178 -0
  149. package/docs/interfaces/FetchUTXOParams.html +178 -0
  150. package/docs/interfaces/FetchUTXOParamsMultiAddress.html +178 -0
  151. package/docs/interfaces/FundingTransactionResponse.html +178 -0
  152. package/docs/interfaces/GenerationConstraints.html +182 -0
  153. package/docs/interfaces/IDeploymentParameters.html +186 -0
  154. package/docs/interfaces/IFundingTransactionParameters.html +186 -0
  155. package/docs/interfaces/IInteractionParameters.html +187 -0
  156. package/docs/interfaces/ITransactionParameters.html +184 -0
  157. package/docs/interfaces/ITweakedTransactionData.html +178 -0
  158. package/docs/interfaces/IUnwrapParameters.html +189 -0
  159. package/docs/interfaces/IWBTCUTXODocument.html +180 -0
  160. package/docs/interfaces/IWallet.html +181 -0
  161. package/docs/interfaces/IWrapParameters.html +190 -0
  162. package/docs/interfaces/MultiSignFromBase64Params.html +188 -0
  163. package/docs/interfaces/MultiSignParameters.html +188 -0
  164. package/docs/interfaces/OPNetTokenMetadata.html +179 -0
  165. package/docs/interfaces/PsbtInputExtended.html +194 -0
  166. package/docs/interfaces/PsbtOutputExtendedAddress.html +183 -0
  167. package/docs/interfaces/PsbtOutputExtendedScript.html +183 -0
  168. package/docs/interfaces/PsbtSignatureOptions.html +176 -0
  169. package/docs/interfaces/PsbtTransactionData.html +179 -0
  170. package/docs/interfaces/RawUTXOResponse.html +178 -0
  171. package/docs/interfaces/SharedInteractionParameters.html +187 -0
  172. package/docs/interfaces/TapLeafScript.html +177 -0
  173. package/docs/interfaces/ToSignInputAddress.html +178 -0
  174. package/docs/interfaces/ToSignInputPublicKey.html +178 -0
  175. package/docs/interfaces/TweakSettings.html +179 -0
  176. package/docs/interfaces/UTXO.html +178 -0
  177. package/docs/interfaces/Unisat.html +190 -0
  178. package/docs/interfaces/UnisatChainInfo.html +177 -0
  179. package/docs/interfaces/UnwrapResult.html +181 -0
  180. package/docs/interfaces/UnwrappedGenerationParameters.html +178 -0
  181. package/docs/interfaces/UpdateInput.html +175 -0
  182. package/docs/interfaces/VaultUTXOs.html +178 -0
  183. package/docs/interfaces/Web3Provider.html +180 -0
  184. package/docs/interfaces/WrapResult.html +179 -0
  185. package/docs/interfaces/WrappedGenerationParameters.html +184 -0
  186. package/docs/modules.html +289 -0
  187. package/docs/types/FromBase64Params.html +174 -0
  188. package/docs/types/IDeploymentParametersWithoutSigner.html +174 -0
  189. package/docs/types/IUnwrapParametersWithoutSigner.html +174 -0
  190. package/docs/types/IWrapParametersWithoutSigner.html +174 -0
  191. package/docs/types/InteractionParametersWithoutSigner.html +174 -0
  192. package/docs/types/PsbtOutputExtended.html +174 -0
  193. package/docs/types/ToSignInput.html +174 -0
  194. package/docs/variables/FACTORY_ADDRESS_FRACTAL.html +174 -0
  195. package/docs/variables/FACTORY_ADDRESS_REGTEST.html +174 -0
  196. package/docs/variables/FACTORY_ADDRESS_TESTNET.html +174 -0
  197. package/docs/variables/MOTO_ADDRESS_FRACTAL.html +174 -0
  198. package/docs/variables/MOTO_ADDRESS_REGTEST.html +174 -0
  199. package/docs/variables/MOTO_ADDRESS_TESTNET.html +174 -0
  200. package/docs/variables/OPNetConsensusConfig.html +174 -0
  201. package/docs/variables/OPNetMetadata.html +174 -0
  202. package/docs/variables/POOL_ADDRESS_FRACTAL.html +174 -0
  203. package/docs/variables/POOL_ADDRESS_REGTEST.html +174 -0
  204. package/docs/variables/POOL_ADDRESS_TESTNET.html +174 -0
  205. package/docs/variables/ROUTER_ADDRESS_FRACTAL.html +174 -0
  206. package/docs/variables/ROUTER_ADDRESS_REGTEST.html +174 -0
  207. package/docs/variables/ROUTER_ADDRESS_TESTNET.html +174 -0
  208. package/docs/variables/RoswellConsensus.html +174 -0
  209. package/docs/variables/WBTC_ADDRESS_FRACTAL.html +174 -0
  210. package/docs/variables/WBTC_ADDRESS_REGTEST.html +174 -0
  211. package/docs/variables/WBTC_ADDRESS_TESTNET.html +174 -0
  212. package/docs/variables/currentConsensus.html +174 -0
  213. package/docs/variables/currentConsensusConfig.html +174 -0
  214. package/docs/variables/version.html +174 -0
  215. package/gulpfile.js +49 -133
  216. package/package.json +112 -113
  217. package/src/bytecode/Compressor.ts +27 -27
  218. package/src/consensus/metadata/RoswellConsensus.ts +26 -26
  219. package/src/crypto/crypto.ts +1 -1
  220. package/src/generators/Generator.ts +75 -75
  221. package/src/generators/builders/MultiSignGenerator.ts +73 -73
  222. package/src/metadata/contracts/wBTC.ts +60 -60
  223. package/src/metadata/tokens.ts +135 -135
  224. package/src/network/ChainId.ts +6 -6
  225. package/src/opnet.ts +82 -82
  226. package/src/signer/TweakedSigner.ts +56 -56
  227. package/src/transaction/builders/DeploymentTransaction.ts +356 -356
  228. package/src/transaction/builders/MultiSignTransaction.ts +659 -659
  229. package/src/transaction/builders/UnwrapSegwitTransaction.ts +365 -365
  230. package/src/transaction/builders/UnwrapTransaction.ts +507 -507
  231. package/src/transaction/enums/TransactionType.ts +9 -9
  232. package/src/transaction/processor/PsbtTransaction.ts +173 -173
  233. package/src/transaction/shared/P2TR_MS.ts +42 -42
  234. package/src/transaction/shared/TweakedTransaction.ts +539 -539
  235. package/src/utils/BitcoinUtils.ts +96 -96
  236. package/tsconfig.base.json +27 -43
  237. package/tsconfig.json +15 -8
  238. package/tsconfig.webpack.json +22 -22
  239. package/EPOCH.md +0 -250
  240. package/VAULT_TARGET_CONSOLIDATION.md +0 -111
  241. package/browser/network/NetworkInformation.d.ts +0 -6
  242. package/browser/transaction/browser/BrowserSigner.d.ts +0 -9
  243. package/browser/transaction/builders/TapUnwarpTransaction.d.ts +0 -40
  244. package/browser/transaction/builders/UnwarpTransaction.d.ts +0 -34
  245. package/browser/utxo/UTXOManager.d.ts +0 -7
  246. package/build/Utils.d.ts +0 -0
  247. package/build/Utils.js +0 -1
  248. package/build/consensus/metadata/RoswsellConsensus.d.ts +0 -2
  249. package/build/consensus/metadata/RoswsellConsensus.js +0 -4
  250. package/build/contracts/ContractMetadataManager.d.ts +0 -0
  251. package/build/contracts/ContractMetadataManager.js +0 -1
  252. package/build/generators/OPNetAddressGenerator.d.ts +0 -0
  253. package/build/generators/OPNetAddressGenerator.js +0 -1
  254. package/build/generators/builders/DeploymentGeneratorV2.d.ts +0 -13
  255. package/build/generators/builders/DeploymentGeneratorV2.js +0 -57
  256. package/build/generators/builders/UnwrapGenerator.d.ts +0 -8
  257. package/build/generators/builders/UnwrapGenerator.js +0 -79
  258. package/build/keypair/interfaces/GeneratedWallet.d.ts +0 -5
  259. package/build/keypair/interfaces/GeneratedWallet.js +0 -1
  260. package/build/metadata/CommonContracts.d.ts +0 -6
  261. package/build/metadata/CommonContracts.js +0 -5
  262. package/build/metadata/ContractMetadataManager.d.ts +0 -1
  263. package/build/metadata/ContractMetadataManager.js +0 -9
  264. package/build/metadata/contracts/ContractBase.d.ts +0 -9
  265. package/build/metadata/contracts/ContractBase.js +0 -13
  266. package/build/metadata/contracts/ContractBaseMetadata.d.ts +0 -9
  267. package/build/metadata/contracts/ContractBaseMetadata.js +0 -13
  268. package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
  269. package/build/metadata/contracts/ContractMetadataManager.js +0 -1
  270. package/build/network/NetworkConverter.d.ts +0 -0
  271. package/build/network/NetworkConverter.js +0 -14
  272. package/build/network/NetworkInformation.d.ts +0 -6
  273. package/build/network/NetworkInformation.js +0 -1
  274. package/build/scripts/Regtest.d.ts +0 -2
  275. package/build/scripts/Regtest.js +0 -15
  276. package/build/scripts/test.d.ts +0 -1
  277. package/build/scripts/test.js +0 -74
  278. package/build/signer/Regtest.d.ts +0 -2
  279. package/build/signer/Regtest.js +0 -15
  280. package/build/tests/Regtest.d.ts +0 -3
  281. package/build/tests/Regtest.js +0 -29
  282. package/build/tests/adaptPSBT.d.ts +0 -1
  283. package/build/tests/adaptPSBT.js +0 -44
  284. package/build/tests/btc/send.d.ts +0 -1
  285. package/build/tests/btc/send.js +0 -35
  286. package/build/tests/btc/transfer.d.ts +0 -1
  287. package/build/tests/btc/transfer.js +0 -35
  288. package/build/tests/createPairReg.d.ts +0 -1
  289. package/build/tests/createPairReg.js +0 -73
  290. package/build/tests/deploy/deployMoto.d.ts +0 -4
  291. package/build/tests/deploy/deployMoto.js +0 -89
  292. package/build/tests/deploy/deployPool.d.ts +0 -1
  293. package/build/tests/deploy/deployPool.js +0 -5
  294. package/build/tests/deploy/deployStep1.d.ts +0 -1
  295. package/build/tests/deploy/deployStep1.js +0 -5
  296. package/build/tests/deploy/deployStep2.d.ts +0 -1
  297. package/build/tests/deploy/deployStep2.js +0 -5
  298. package/build/tests/deploy/deployStep3.d.ts +0 -1
  299. package/build/tests/deploy/deployStep3.js +0 -5
  300. package/build/tests/deploy.d.ts +0 -1
  301. package/build/tests/deploy.js +0 -41
  302. package/build/tests/deployMotoRegStep1.d.ts +0 -1
  303. package/build/tests/deployMotoRegStep1.js +0 -85
  304. package/build/tests/deployReg.d.ts +0 -1
  305. package/build/tests/deployReg.js +0 -85
  306. package/build/tests/factory/createPairReg.d.ts +0 -1
  307. package/build/tests/factory/createPairReg.js +0 -13
  308. package/build/tests/gen.d.ts +0 -1
  309. package/build/tests/gen.js +0 -19
  310. package/build/tests/interaction.d.ts +0 -5
  311. package/build/tests/interaction.js +0 -62
  312. package/build/tests/massWrapReg.d.ts +0 -1
  313. package/build/tests/massWrapReg.js +0 -105
  314. package/build/tests/mineReg.d.ts +0 -1
  315. package/build/tests/mineReg.js +0 -19
  316. package/build/tests/moto/airdropToken.d.ts +0 -1
  317. package/build/tests/moto/airdropToken.js +0 -21
  318. package/build/tests/moto/airdropTokens.d.ts +0 -1
  319. package/build/tests/moto/airdropTokens.js +0 -60
  320. package/build/tests/moto/allowance.d.ts +0 -1
  321. package/build/tests/moto/allowance.js +0 -6
  322. package/build/tests/moto/approve.d.ts +0 -1
  323. package/build/tests/moto/approve.js +0 -10
  324. package/build/tests/moto/approveWBTC.d.ts +0 -1
  325. package/build/tests/moto/approveWBTC.js +0 -12
  326. package/build/tests/moto/balanceOf.d.ts +0 -1
  327. package/build/tests/moto/balanceOf.js +0 -12
  328. package/build/tests/moto/transfer.d.ts +0 -1
  329. package/build/tests/moto/transfer.js +0 -16
  330. package/build/tests/motoswap/airdropToken.d.ts +0 -11
  331. package/build/tests/motoswap/airdropToken.js +0 -36
  332. package/build/tests/motoswap/deployMoto.d.ts +0 -4
  333. package/build/tests/motoswap/deployMoto.js +0 -89
  334. package/build/tests/motoswap/deployMotoRegStep1.d.ts +0 -1
  335. package/build/tests/motoswap/deployMotoRegStep1.js +0 -91
  336. package/build/tests/motoswap/deployMotoRegStep2.d.ts +0 -1
  337. package/build/tests/motoswap/deployMotoRegStep2.js +0 -91
  338. package/build/tests/motoswap/deployPool.d.ts +0 -1
  339. package/build/tests/motoswap/deployPool.js +0 -5
  340. package/build/tests/motoswap/deployStep1.d.ts +0 -1
  341. package/build/tests/motoswap/deployStep1.js +0 -5
  342. package/build/tests/motoswap/deployStep2.d.ts +0 -1
  343. package/build/tests/motoswap/deployStep2.js +0 -5
  344. package/build/tests/motoswap/deployStep3.d.ts +0 -1
  345. package/build/tests/motoswap/deployStep3.js +0 -5
  346. package/build/tests/motoswap/interaction.d.ts +0 -3
  347. package/build/tests/motoswap/interaction.js +0 -63
  348. package/build/tests/motoswap/routerAddLiquidity.d.ts +0 -11
  349. package/build/tests/motoswap/routerAddLiquidity.js +0 -35
  350. package/build/tests/motoswap-router/addLiquidity.d.ts +0 -11
  351. package/build/tests/motoswap-router/addLiquidity.js +0 -36
  352. package/build/tests/motoswap-router/deployMoto.d.ts +0 -4
  353. package/build/tests/motoswap-router/deployMoto.js +0 -89
  354. package/build/tests/motoswap-router/deployPool.d.ts +0 -1
  355. package/build/tests/motoswap-router/deployPool.js +0 -5
  356. package/build/tests/motoswap-router/deployStep1.d.ts +0 -1
  357. package/build/tests/motoswap-router/deployStep1.js +0 -5
  358. package/build/tests/motoswap-router/deployStep2.d.ts +0 -1
  359. package/build/tests/motoswap-router/deployStep2.js +0 -5
  360. package/build/tests/motoswap-router/deployStep3.d.ts +0 -1
  361. package/build/tests/motoswap-router/deployStep3.js +0 -5
  362. package/build/tests/motoswap-router/getAmountsOut.d.ts +0 -5
  363. package/build/tests/motoswap-router/getAmountsOut.js +0 -34
  364. package/build/tests/motoswap-router/routerAddLiquidity.d.ts +0 -11
  365. package/build/tests/motoswap-router/routerAddLiquidity.js +0 -35
  366. package/build/tests/motoswap-router/swap.d.ts +0 -8
  367. package/build/tests/motoswap-router/swap.js +0 -24
  368. package/build/tests/multisign.d.ts +0 -1
  369. package/build/tests/multisign.js +0 -47
  370. package/build/tests/multisign2.d.ts +0 -1
  371. package/build/tests/multisign2.js +0 -27
  372. package/build/tests/pool/DecodePoolAddress.d.ts +0 -6
  373. package/build/tests/pool/DecodePoolAddress.js +0 -12
  374. package/build/tests/pool/decodeReserves.d.ts +0 -5
  375. package/build/tests/pool/decodeReserves.js +0 -13
  376. package/build/tests/pool/reserves.d.ts +0 -1
  377. package/build/tests/pool/reserves.js +0 -18
  378. package/build/tests/shared/Utils.d.ts +0 -2
  379. package/build/tests/shared/Utils.js +0 -14
  380. package/build/tests/shared/interaction.d.ts +0 -7
  381. package/build/tests/shared/interaction.js +0 -85
  382. package/build/tests/shared/tokens.d.ts +0 -6
  383. package/build/tests/shared/tokens.js +0 -5
  384. package/build/tests/stakeReg.d.ts +0 -1
  385. package/build/tests/stakeReg.js +0 -73
  386. package/build/tests/stakedReg.d.ts +0 -1
  387. package/build/tests/stakedReg.js +0 -28
  388. package/build/tests/test.d.ts +0 -1
  389. package/build/tests/test.js +0 -51
  390. package/build/tests/test2.d.ts +0 -1
  391. package/build/tests/test2.js +0 -73
  392. package/build/tests/testReg.d.ts +0 -1
  393. package/build/tests/testReg.js +0 -91
  394. package/build/tests/tokens.d.ts +0 -6
  395. package/build/tests/tokens.js +0 -5
  396. package/build/tests/totalRewardReg.d.ts +0 -1
  397. package/build/tests/totalRewardReg.js +0 -28
  398. package/build/tests/transfer.d.ts +0 -1
  399. package/build/tests/transfer.js +0 -74
  400. package/build/tests/transferReg.d.ts +0 -1
  401. package/build/tests/transferReg.js +0 -74
  402. package/build/tests/unStakeReg.d.ts +0 -1
  403. package/build/tests/unStakeReg.js +0 -72
  404. package/build/tests/unwrapReg.d.ts +0 -1
  405. package/build/tests/unwrapReg.js +0 -61
  406. package/build/tests/unwrapReg2.d.ts +0 -1
  407. package/build/tests/unwrapReg2.js +0 -56
  408. package/build/tests/unwrapRegSegwit.d.ts +0 -1
  409. package/build/tests/unwrapRegSegwit.js +0 -83
  410. package/build/tests/wbtc/approve.d.ts +0 -1
  411. package/build/tests/wbtc/approve.js +0 -6
  412. package/build/tests/wbtc/approveWBTC.d.ts +0 -1
  413. package/build/tests/wbtc/approveWBTC.js +0 -12
  414. package/build/tests/wbtc/massWrapReg.d.ts +0 -1
  415. package/build/tests/wbtc/massWrapReg.js +0 -105
  416. package/build/tests/wbtc/transfer.d.ts +0 -1
  417. package/build/tests/wbtc/transfer.js +0 -16
  418. package/build/tests/wbtc/transferReg.d.ts +0 -1
  419. package/build/tests/wbtc/transferReg.js +0 -16
  420. package/build/tests/wbtc/unStakeReg.d.ts +0 -1
  421. package/build/tests/wbtc/unStakeReg.js +0 -72
  422. package/build/tests/wbtc/unwrapReg.d.ts +0 -1
  423. package/build/tests/wbtc/unwrapReg.js +0 -60
  424. package/build/tests/wbtc/unwrapRegSegwit.d.ts +0 -1
  425. package/build/tests/wbtc/unwrapRegSegwit.js +0 -83
  426. package/build/tests/wbtc/withdrawalRequestReg.d.ts +0 -1
  427. package/build/tests/wbtc/withdrawalRequestReg.js +0 -71
  428. package/build/tests/wbtc/wrapReg.d.ts +0 -1
  429. package/build/tests/wbtc/wrapReg.js +0 -65
  430. package/build/tests/wbtc/wrapTest.d.ts +0 -1
  431. package/build/tests/wbtc/wrapTest.js +0 -66
  432. package/build/tests/withdrawalRequestReg.d.ts +0 -1
  433. package/build/tests/withdrawalRequestReg.js +0 -71
  434. package/build/tests/wrap.d.ts +0 -1
  435. package/build/tests/wrap.js +0 -65
  436. package/build/tests/wrapReg.d.ts +0 -1
  437. package/build/tests/wrapReg.js +0 -68
  438. package/build/tests/wrapTest.d.ts +0 -1
  439. package/build/tests/wrapTest.js +0 -66
  440. package/build/tests/wrapTestg.d.ts +0 -1
  441. package/build/tests/wrapTestg.js +0 -66
  442. package/build/tests/writers/allowance.d.ts +0 -3
  443. package/build/tests/writers/allowance.js +0 -10
  444. package/build/tests/writers/approve.d.ts +0 -4
  445. package/build/tests/writers/approve.js +0 -11
  446. package/build/transaction/TransactionBuilder.d.ts +0 -60
  447. package/build/transaction/TransactionBuilder.js +0 -244
  448. package/build/transaction/browser/BrowserSigner.d.ts +0 -11
  449. package/build/transaction/browser/BrowserSigner.js +0 -10
  450. package/build/transaction/browser/extensions/Unisat.d.ts +0 -54
  451. package/build/transaction/browser/extensions/Unisat.js +0 -11
  452. package/build/transaction/builders/DeploymentTransactionV2.d.ts +0 -36
  453. package/build/transaction/builders/DeploymentTransactionV2.js +0 -192
  454. package/build/transaction/builders/GenericTransaction.d.ts +0 -11
  455. package/build/transaction/builders/GenericTransaction.js +0 -23
  456. package/build/transaction/builders/TapUnwarpTransaction.d.ts +0 -37
  457. package/build/transaction/builders/TapUnwarpTransaction.js +0 -201
  458. package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +0 -34
  459. package/build/transaction/builders/UnwarpSegwitTransaction.js +0 -184
  460. package/build/transaction/builders/UnwarpTransaction.d.ts +0 -35
  461. package/build/transaction/builders/UnwarpTransaction.js +0 -199
  462. package/build/transaction/interfaces/ITransactions.d.ts +0 -32
  463. package/build/transaction/interfaces/ITransactions.js +0 -1
  464. package/build/utxo/IUTXO.d.ts +0 -0
  465. package/build/utxo/IUTXO.js +0 -1
  466. package/build/utxo/OPNetUtils.d.ts +0 -7
  467. package/build/utxo/OPNetUtils.js +0 -47
  468. package/build/utxo/UTXOManager.d.ts +0 -7
  469. package/build/utxo/UTXOManager.js +0 -47
  470. package/build/wbtc/BroadcastResponse.d.ts +0 -0
  471. package/build/wbtc/BroadcastResponse.js +0 -1
  472. package/examples/Deploy.md +0 -188
  473. package/examples/Unwrap.md +0 -165
  474. package/examples/Wrap.md +0 -194
  475. package/tsconfig.cjs.json +0 -13
  476. /package/build/generators/{features.d.ts → Features.d.ts} +0 -0
  477. /package/build/generators/{features.js → Features.js} +0 -0
@@ -1 +0,0 @@
1
- export {};
@@ -1,83 +0,0 @@
1
- import { Wallet } from '../../keypair/Wallet.js';
2
- import { Regtest } from '../Regtest.js';
3
- import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- import { EcKeyPair } from '../../keypair/EcKeyPair.js';
8
- import { PsbtTransaction } from '../../transaction/processor/PsbtTransaction.js';
9
- import { currentConsensusConfig } from '../../consensus/ConsensusConfig.js';
10
- const network = networks.regtest;
11
- const rpc = new BitcoinRPC();
12
- const wallet = new Wallet(Regtest.wallet, network);
13
- const opnet = new OPNetLimitedProvider('http://localhost:9001');
14
- const factory = new TransactionFactory();
15
- const shouldMineBlock = true;
16
- async function mineBlock() {
17
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
18
- if (!ok) {
19
- throw new Error('Could not mine block');
20
- }
21
- console.log(`Mined block`, ok);
22
- return !!ok.length;
23
- }
24
- await rpc.init(Regtest.config);
25
- const utxoSetting = {
26
- addresses: [wallet.p2wpkh, wallet.p2tr],
27
- minAmount: 10000n,
28
- requestedAmount: 300000n,
29
- };
30
- const utxos = await opnet.fetchUTXOMultiAddr(utxoSetting);
31
- if (!utxos) {
32
- throw new Error('No UTXOs found');
33
- }
34
- const unwrapAmount = currentConsensusConfig.VAULT_MINIMUM_AMOUNT;
35
- const unwrapUtxos = await opnet.fetchUnWrapParameters(unwrapAmount, wallet.p2tr);
36
- if (!unwrapUtxos) {
37
- throw new Error('No UTXOs found for unwrap');
38
- }
39
- const unwrapParameters = {
40
- from: wallet.p2tr,
41
- utxos: utxos,
42
- unwrapUTXOs: unwrapUtxos.vaultUTXOs,
43
- signer: wallet.keypair,
44
- network: network,
45
- feeRate: 100,
46
- priorityFee: 10000n,
47
- amount: unwrapAmount,
48
- };
49
- const finalTx = await factory.unwrapSegwit(unwrapParameters);
50
- console.log(finalTx.psbt, finalTx.fundingTransaction);
51
- const rlSigner2 = EcKeyPair.fromPrivateKey(Buffer.from('c3878546c453bca783fd91965218242eecc32d5443764d4a7f233ff018f002e0', 'hex'), network);
52
- const psbtTransactionData2 = {
53
- signer: rlSigner2,
54
- network: network,
55
- };
56
- const removedFirstTwoChar = finalTx.psbt.slice(2);
57
- const psbtTransaction2 = PsbtTransaction.fromHex(removedFirstTwoChar, psbtTransactionData2);
58
- const s = await psbtTransaction2.attemptSignAllInputs();
59
- const f = psbtTransaction2.attemptFinalizeInputs(1);
60
- const newPsbt = psbtTransaction2.toHex();
61
- console.log(s, f, newPsbt);
62
- const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
63
- const psbtTransactionData3 = {
64
- signer: realSigner.keypair,
65
- network: network,
66
- };
67
- const psbtTransaction3 = PsbtTransaction.fromHex(newPsbt, psbtTransactionData3);
68
- const s2 = await psbtTransaction3.attemptSignAllInputs();
69
- const f2 = psbtTransaction3.attemptFinalizeInputs(1);
70
- if (f2) {
71
- console.log('TRANSACTION IS FINALIZED.');
72
- const finalized = psbtTransaction3.final();
73
- console.log('Finalized:', finalized);
74
- const tx2 = await opnet.broadcastTransaction(finalTx.fundingTransaction, false);
75
- console.log(`Broadcasted:`, tx2);
76
- const tx3 = await opnet.broadcastTransaction(finalized, false);
77
- console.log(`Broadcasted:`, tx3);
78
- await mineBlock();
79
- }
80
- else {
81
- throw new Error('Transaction is not finalized');
82
- }
83
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,71 +0,0 @@
1
- import { wBTC } from '../../metadata/contracts/wBTC.js';
2
- import { Wallet } from '../../keypair/Wallet.js';
3
- import { Regtest } from '../Regtest.js';
4
- import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
5
- import { networks } from 'bitcoinjs-lib';
6
- import { TransactionFactory } from '../../transaction/TransactionFactory.js';
7
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
8
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
9
- const network = networks.regtest;
10
- const rpc = new BitcoinRPC();
11
- const wBtc = new wBTC(network);
12
- const wallet = new Wallet(Regtest.wallet, network);
13
- const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
14
- const factory = new TransactionFactory();
15
- const abiCoder = new ABICoder();
16
- const stakeSelector = Number(`0x` + abiCoder.encodeSelector('requestWithdrawal'));
17
- function generateCalldata(amount) {
18
- const addCalldata = new BinaryWriter();
19
- addCalldata.writeSelector(stakeSelector);
20
- addCalldata.writeU256(amount);
21
- return Buffer.from(addCalldata.getBuffer());
22
- }
23
- const shouldMineBlock = true;
24
- async function mineBlock() {
25
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
26
- if (!ok) {
27
- throw new Error('Could not mine block');
28
- }
29
- console.log(`Mined block`, ok);
30
- return !!ok.length;
31
- }
32
- await rpc.init(Regtest.config);
33
- const utxoSetting = {
34
- addresses: [wallet.p2wpkh, wallet.p2tr],
35
- minAmount: 10000n,
36
- requestedAmount: 100000n,
37
- };
38
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
39
- if (!utxos) {
40
- throw new Error('No UTXOs found');
41
- }
42
- const calldata = generateCalldata(600000n);
43
- const interactionParameters = {
44
- from: wallet.p2wpkh,
45
- to: wBtc.getAddress(),
46
- utxos: utxos,
47
- signer: wallet.keypair,
48
- network: network,
49
- feeRate: 1000,
50
- priorityFee: 100000n,
51
- calldata: calldata,
52
- };
53
- const finalTx = await factory.signInteraction(interactionParameters);
54
- const firstTxBroadcast = await rpc.sendRawTransaction({
55
- hexstring: finalTx[0],
56
- });
57
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
58
- if (!firstTxBroadcast) {
59
- throw new Error('Could not broadcast first transaction');
60
- }
61
- const secondTxBroadcast = await rpc.sendRawTransaction({
62
- hexstring: finalTx[1],
63
- });
64
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
65
- if (!secondTxBroadcast) {
66
- throw new Error('Could not broadcast second transaction');
67
- }
68
- if (shouldMineBlock) {
69
- await mineBlock();
70
- }
71
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,65 +0,0 @@
1
- import { Wallet } from '../../keypair/Wallet.js';
2
- import { Regtest } from '../Regtest.js';
3
- import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- import { currentConsensusConfig } from '../../consensus/ConsensusConfig.js';
8
- const network = networks.regtest;
9
- const rpc = new BitcoinRPC();
10
- const wallet = new Wallet(Regtest.wallet, network);
11
- const opnet = new OPNetLimitedProvider('http://localhost:9001');
12
- const factory = new TransactionFactory();
13
- const shouldMineBlock = true;
14
- async function mineBlock() {
15
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
16
- if (!ok) {
17
- throw new Error('Could not mine block');
18
- }
19
- console.log(`Mined block`, ok);
20
- return !!ok.length;
21
- }
22
- await rpc.init(Regtest.config);
23
- const wrapAmount = 5n * 100000000n;
24
- const utxoSetting = {
25
- addresses: [wallet.p2wpkh, wallet.p2tr],
26
- minAmount: 10000n,
27
- requestedAmount: wrapAmount + currentConsensusConfig.UNWRAP_CONSOLIDATION_PREPAID_FEES_SAT,
28
- };
29
- const utxos = await opnet.fetchUTXOMultiAddr(utxoSetting);
30
- if (!utxos) {
31
- throw new Error('No UTXOs found');
32
- }
33
- const generationParameters = await opnet.fetchWrapParameters(wrapAmount);
34
- if (!generationParameters) {
35
- throw new Error('No generation parameters found');
36
- }
37
- const wrapParameters = {
38
- from: wallet.p2wpkh,
39
- utxos: utxos,
40
- signer: wallet.keypair,
41
- network: network,
42
- feeRate: 500,
43
- priorityFee: 100000n,
44
- receiver: 'bcrt1ppqk36azyunxdpadza7gtf568elqxnhu3lwufg98daek3kz07390swyvzd2',
45
- amount: wrapAmount,
46
- generationParameters: generationParameters,
47
- };
48
- const finalTx = await factory.wrap(wrapParameters);
49
- console.log(`Final transaction:`, finalTx);
50
- const firstTxBroadcast = await rpc.sendRawTransaction({
51
- hexstring: finalTx.transaction[0],
52
- });
53
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
54
- if (!firstTxBroadcast) {
55
- throw new Error('Could not broadcast first transaction');
56
- }
57
- const secondTxBroadcast = await rpc.sendRawTransaction({
58
- hexstring: finalTx.transaction[1],
59
- });
60
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
61
- if (!secondTxBroadcast) {
62
- throw new Error('Could not broadcast second transaction');
63
- }
64
- rpc.destroy();
65
- console.log(`Wrapped ${wrapAmount} sats to ${wallet.p2tr}.`);
@@ -1 +0,0 @@
1
- export {};
@@ -1,66 +0,0 @@
1
- import { Wallet } from '../../keypair/Wallet.js';
2
- import { Testnet } from '../Regtest.js';
3
- import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- const network = networks.testnet;
8
- const rpc = new BitcoinRPC();
9
- const wallet = new Wallet(Testnet.wallet, network);
10
- const opnet = new OPNetLimitedProvider('https://testnet.opnet.org');
11
- const factory = new TransactionFactory();
12
- const shouldMineBlock = true;
13
- async function mineBlock() {
14
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
15
- if (!ok) {
16
- throw new Error('Could not mine block');
17
- }
18
- console.log(`Mined block`, ok);
19
- return !!ok.length;
20
- }
21
- await rpc.init(Testnet.config);
22
- const wrapAmount = 1n * 100000000n;
23
- const utxoSetting = {
24
- addresses: [wallet.p2wpkh, wallet.p2tr],
25
- minAmount: 10000n,
26
- requestedAmount: wrapAmount,
27
- };
28
- const utxos = await opnet.fetchUTXOMultiAddr(utxoSetting);
29
- if (!utxos) {
30
- throw new Error('No UTXOs found');
31
- }
32
- const generationParameters = await opnet.fetchWrapParameters(wrapAmount);
33
- if (!generationParameters) {
34
- throw new Error('No generation parameters found');
35
- }
36
- const wrapParameters = {
37
- from: wallet.p2wpkh,
38
- utxos: utxos,
39
- signer: wallet.keypair,
40
- network: network,
41
- feeRate: 500,
42
- priorityFee: 50000n,
43
- receiver: wallet.p2tr,
44
- amount: wrapAmount,
45
- generationParameters: generationParameters,
46
- };
47
- const finalTx = await factory.wrap(wrapParameters);
48
- console.log(`Final transaction:`, finalTx);
49
- const firstTxBroadcast = await rpc.sendRawTransaction({
50
- hexstring: finalTx.transaction[0],
51
- });
52
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
53
- if (!firstTxBroadcast) {
54
- throw new Error('Could not broadcast first transaction');
55
- }
56
- const secondTxBroadcast = await rpc.sendRawTransaction({
57
- hexstring: finalTx.transaction[1],
58
- });
59
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
60
- if (!secondTxBroadcast) {
61
- throw new Error('Could not broadcast second transaction');
62
- }
63
- if (shouldMineBlock) {
64
- await mineBlock();
65
- }
66
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,71 +0,0 @@
1
- import { wBTC } from '../metadata/contracts/wBTC.js';
2
- import { Wallet } from '../keypair/Wallet.js';
3
- import { Regtest } from './Regtest.js';
4
- import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
5
- import { networks } from 'bitcoinjs-lib';
6
- import { TransactionFactory } from '../transaction/TransactionFactory.js';
7
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
8
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
9
- const network = networks.regtest;
10
- const rpc = new BitcoinRPC();
11
- const wBtc = new wBTC(network);
12
- const wallet = new Wallet(Regtest.wallet, network);
13
- const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
14
- const factory = new TransactionFactory();
15
- const abiCoder = new ABICoder();
16
- const stakeSelector = Number(`0x` + abiCoder.encodeSelector('requestWithdrawal'));
17
- function generateCalldata(amount) {
18
- const addCalldata = new BinaryWriter();
19
- addCalldata.writeSelector(stakeSelector);
20
- addCalldata.writeU256(amount);
21
- return Buffer.from(addCalldata.getBuffer());
22
- }
23
- const shouldMineBlock = true;
24
- async function mineBlock() {
25
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
26
- if (!ok) {
27
- throw new Error('Could not mine block');
28
- }
29
- console.log(`Mined block`, ok);
30
- return !!ok.length;
31
- }
32
- await rpc.init(Regtest.config);
33
- const utxoSetting = {
34
- addresses: [wallet.p2wpkh, wallet.p2tr],
35
- minAmount: 10000n,
36
- requestedAmount: 100000n,
37
- };
38
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
39
- if (!utxos) {
40
- throw new Error('No UTXOs found');
41
- }
42
- const calldata = generateCalldata(252600n);
43
- const interactionParameters = {
44
- from: wallet.p2wpkh,
45
- to: wBtc.getAddress(),
46
- utxos: utxos,
47
- signer: wallet.keypair,
48
- network: network,
49
- feeRate: 1000,
50
- priorityFee: 100000n,
51
- calldata: calldata,
52
- };
53
- const finalTx = factory.signInteraction(interactionParameters);
54
- const firstTxBroadcast = await rpc.sendRawTransaction({
55
- hexstring: finalTx[0],
56
- });
57
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
58
- if (!firstTxBroadcast) {
59
- throw new Error('Could not broadcast first transaction');
60
- }
61
- const secondTxBroadcast = await rpc.sendRawTransaction({
62
- hexstring: finalTx[1],
63
- });
64
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
65
- if (!secondTxBroadcast) {
66
- throw new Error('Could not broadcast second transaction');
67
- }
68
- if (shouldMineBlock) {
69
- await mineBlock();
70
- }
71
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,65 +0,0 @@
1
- import { Wallet } from '../keypair/Wallet.js';
2
- import { Regtest } from './Regtest.js';
3
- import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- const network = networks.regtest;
8
- const rpc = new BitcoinRPC();
9
- const wallet = new Wallet(Regtest.wallet, network);
10
- const opnet = new OPNetLimitedProvider('http://localhost:9001');
11
- const factory = new TransactionFactory();
12
- const shouldMineBlock = false;
13
- async function mineBlock() {
14
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
15
- if (!ok) {
16
- throw new Error('Could not mine block');
17
- }
18
- console.log(`Mined block`, ok);
19
- return !!ok.length;
20
- }
21
- await rpc.init(Regtest.config);
22
- const wrapAmount = 1000000n;
23
- const utxoSetting = {
24
- address: wallet.p2wpkh,
25
- minAmount: 10000n,
26
- requestedAmount: wrapAmount,
27
- };
28
- const utxos = await opnet.fetchUTXO(utxoSetting);
29
- if (!utxos) {
30
- throw new Error('No UTXOs found');
31
- }
32
- const generationParameters = await opnet.fetchWrapParameters(wrapAmount);
33
- if (!generationParameters) {
34
- throw new Error('No generation parameters found');
35
- }
36
- const wrapParameters = {
37
- from: wallet.p2wpkh,
38
- utxos: utxos,
39
- signer: wallet.keypair,
40
- network: network,
41
- feeRate: 1000,
42
- priorityFee: 50000n,
43
- receiver: wallet.p2tr,
44
- amount: wrapAmount,
45
- generationParameters: generationParameters,
46
- };
47
- const finalTx = factory.wrap(wrapParameters);
48
- console.log(`Final transaction:`, finalTx);
49
- const firstTxBroadcast = await rpc.sendRawTransaction({
50
- hexstring: finalTx.transaction[0],
51
- });
52
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
53
- if (!firstTxBroadcast) {
54
- throw new Error('Could not broadcast first transaction');
55
- }
56
- const secondTxBroadcast = await rpc.sendRawTransaction({
57
- hexstring: finalTx.transaction[1],
58
- });
59
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
60
- if (!secondTxBroadcast) {
61
- throw new Error('Could not broadcast second transaction');
62
- }
63
- if (shouldMineBlock) {
64
- await mineBlock();
65
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,68 +0,0 @@
1
- import { Wallet } from '../keypair/Wallet.js';
2
- import { Regtest } from './Regtest.js';
3
- import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- import { currentConsensusConfig } from '../consensus/ConsensusConfig.js';
8
- const network = networks.regtest;
9
- const rpc = new BitcoinRPC();
10
- const wallet = new Wallet(Regtest.wallet, network);
11
- const opnet = new OPNetLimitedProvider('http://localhost:9001');
12
- const factory = new TransactionFactory();
13
- const shouldMineBlock = true;
14
- async function mineBlock() {
15
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
16
- if (!ok) {
17
- throw new Error('Could not mine block');
18
- }
19
- console.log(`Mined block`, ok);
20
- return !!ok.length;
21
- }
22
- await rpc.init(Regtest.config);
23
- const wrapAmount = (currentConsensusConfig.VAULT_MINIMUM_AMOUNT * 30n) / 10n;
24
- const utxoSetting = {
25
- addresses: [wallet.p2wpkh, wallet.p2tr],
26
- minAmount: 10000n,
27
- requestedAmount: wrapAmount + currentConsensusConfig.UNWRAP_CONSOLIDATION_PREPAID_FEES_SAT,
28
- };
29
- const utxos = await opnet.fetchUTXOMultiAddr(utxoSetting);
30
- if (!utxos) {
31
- throw new Error('No UTXOs found');
32
- }
33
- const generationParameters = await opnet.fetchWrapParameters(wrapAmount);
34
- if (!generationParameters) {
35
- throw new Error('No generation parameters found');
36
- }
37
- console.log(`UTXOs:`, utxos);
38
- const wrapParameters = {
39
- from: wallet.p2wpkh,
40
- utxos: utxos,
41
- signer: wallet.keypair,
42
- network: network,
43
- feeRate: 1000,
44
- priorityFee: 100000n,
45
- receiver: wallet.p2tr,
46
- amount: wrapAmount,
47
- generationParameters: generationParameters,
48
- };
49
- const finalTx = factory.wrap(wrapParameters);
50
- console.log(`Final transaction:`, finalTx);
51
- const firstTxBroadcast = await rpc.sendRawTransaction({
52
- hexstring: finalTx.transaction[0],
53
- });
54
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
55
- if (!firstTxBroadcast) {
56
- throw new Error('Could not broadcast first transaction');
57
- }
58
- const secondTxBroadcast = await rpc.sendRawTransaction({
59
- hexstring: finalTx.transaction[1],
60
- });
61
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
62
- if (!secondTxBroadcast) {
63
- throw new Error('Could not broadcast second transaction');
64
- }
65
- if (shouldMineBlock) {
66
- await mineBlock();
67
- }
68
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,66 +0,0 @@
1
- import { Wallet } from '../keypair/Wallet.js';
2
- import { Testnet } from './Regtest.js';
3
- import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- const network = networks.testnet;
8
- const rpc = new BitcoinRPC();
9
- const wallet = new Wallet(Testnet.wallet, network);
10
- const opnet = new OPNetLimitedProvider('https://testnet.opnet.org');
11
- const factory = new TransactionFactory();
12
- const shouldMineBlock = true;
13
- async function mineBlock() {
14
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
15
- if (!ok) {
16
- throw new Error('Could not mine block');
17
- }
18
- console.log(`Mined block`, ok);
19
- return !!ok.length;
20
- }
21
- await rpc.init(Testnet.config);
22
- const wrapAmount = 1n * 100000000n;
23
- const utxoSetting = {
24
- addresses: [wallet.p2wpkh, wallet.p2tr],
25
- minAmount: 10000n,
26
- requestedAmount: wrapAmount,
27
- };
28
- const utxos = await opnet.fetchUTXOMultiAddr(utxoSetting);
29
- if (!utxos) {
30
- throw new Error('No UTXOs found');
31
- }
32
- const generationParameters = await opnet.fetchWrapParameters(wrapAmount);
33
- if (!generationParameters) {
34
- throw new Error('No generation parameters found');
35
- }
36
- const wrapParameters = {
37
- from: wallet.p2wpkh,
38
- utxos: utxos,
39
- signer: wallet.keypair,
40
- network: network,
41
- feeRate: 500,
42
- priorityFee: 50000n,
43
- receiver: wallet.p2tr,
44
- amount: wrapAmount,
45
- generationParameters: generationParameters,
46
- };
47
- const finalTx = factory.wrap(wrapParameters);
48
- console.log(`Final transaction:`, finalTx);
49
- const firstTxBroadcast = await rpc.sendRawTransaction({
50
- hexstring: finalTx.transaction[0],
51
- });
52
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
53
- if (!firstTxBroadcast) {
54
- throw new Error('Could not broadcast first transaction');
55
- }
56
- const secondTxBroadcast = await rpc.sendRawTransaction({
57
- hexstring: finalTx.transaction[1],
58
- });
59
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
60
- if (!secondTxBroadcast) {
61
- throw new Error('Could not broadcast second transaction');
62
- }
63
- if (shouldMineBlock) {
64
- await mineBlock();
65
- }
66
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,66 +0,0 @@
1
- import { Wallet } from '../keypair/Wallet.js';
2
- import { Regtest } from './Regtest.js';
3
- import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { TransactionFactory } from '../transaction/TransactionFactory.js';
6
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
7
- import { wBTC } from '../metadata/contracts/wBTC.js';
8
- const network = networks.regtest;
9
- const rpc = new BitcoinRPC();
10
- const wallet = new Wallet(Regtest.wallet, network);
11
- const opnet = new OPNetLimitedProvider('http://localhost:9001');
12
- const factory = new TransactionFactory();
13
- const wBtc = new wBTC(network);
14
- const shouldMineBlock = true;
15
- async function mineBlock() {
16
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
17
- if (!ok) {
18
- throw new Error('Could not mine block');
19
- }
20
- console.log(`Mined block`, ok);
21
- return !!ok.length;
22
- }
23
- await rpc.init(Regtest.config);
24
- const wrapAmount = 1000000n;
25
- const utxoSetting = {
26
- address: wallet.p2wpkh,
27
- minAmount: 10000n,
28
- requestedAmount: wrapAmount,
29
- };
30
- const utxos = await opnet.fetchUTXO(utxoSetting);
31
- if (!utxos) {
32
- throw new Error('No UTXOs found');
33
- }
34
- const generationParameters = await opnet.fetchWrapParameters(wrapAmount);
35
- if (!generationParameters) {
36
- throw new Error('No generation parameters found');
37
- }
38
- const wrapParameters = {
39
- from: wallet.p2wpkh,
40
- utxos: utxos,
41
- signer: wallet.keypair,
42
- network: network,
43
- feeRate: 150,
44
- priorityFee: 50000n,
45
- amount: wrapAmount,
46
- generationParameters: generationParameters,
47
- };
48
- const finalTx = factory.wrap(wrapParameters);
49
- console.log(`Final transaction:`, finalTx);
50
- const firstTxBroadcast = await rpc.sendRawTransaction({
51
- hexstring: finalTx.transaction[0],
52
- });
53
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
54
- if (!firstTxBroadcast) {
55
- throw new Error('Could not broadcast first transaction');
56
- }
57
- const secondTxBroadcast = await rpc.sendRawTransaction({
58
- hexstring: finalTx.transaction[1],
59
- });
60
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
61
- if (!secondTxBroadcast) {
62
- throw new Error('Could not broadcast second transaction');
63
- }
64
- if (shouldMineBlock) {
65
- await mineBlock();
66
- }
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- import { Address } from '@btc-vision/bsi-binary';
3
- export declare function allowance(owner: Address, spender: Address): Buffer;
@@ -1,10 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- const abiCoder = new ABICoder();
3
- const allowanceSelector = Number(`0x` + abiCoder.encodeSelector('allowance'));
4
- export function allowance(owner, spender) {
5
- const calldata = new BinaryWriter();
6
- calldata.writeSelector(allowanceSelector);
7
- calldata.writeAddress(owner);
8
- calldata.writeAddress(spender);
9
- return Buffer.from(calldata.getBuffer());
10
- }
@@ -1,4 +0,0 @@
1
- /// <reference types="node" />
2
- import { Address } from '@btc-vision/bsi-binary';
3
- export declare const MAX_UINT256: bigint;
4
- export declare function approve(spender: Address, amount?: bigint): Buffer;