@btc-vision/transaction 1.0.96 → 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,12 +0,0 @@
1
- import { BinaryReader } from '@btc-vision/bsi-binary';
2
- function decodeTransferEvent(data) {
3
- const reader = new BinaryReader(data);
4
- const from = reader.readAddress();
5
- const to = reader.readAddress();
6
- const value = reader.readU256();
7
- return { from, to, value };
8
- }
9
- const transferEventData = Buffer.from('YmNydDFwcHFrMzZhenl1bnhkcGFkemE3Z3RmNTY4ZWxxeG5odTNsd3VmZzk4ZGFlazNrejA3Mzkwc3d5dnpkMgBiY3J0MXFwaDRqejZkbXc1dW53bThnc2M1dTRxbXkwbXF0bjVkOGF2bHhqNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9CQA==', 'base64');
10
- const bytes = Uint8Array.from(transferEventData);
11
- const transferEvent = decodeTransferEvent(bytes);
12
- console.log(transferEvent);
@@ -1,5 +0,0 @@
1
- export interface Reserves {
2
- readonly reserve0: bigint;
3
- readonly reserve1: bigint;
4
- readonly blockTimestampLast: bigint;
5
- }
@@ -1,13 +0,0 @@
1
- import { BinaryReader } from '@btc-vision/bsi-binary';
2
- function decodeReserves(data) {
3
- const reader = new BinaryReader(data);
4
- return {
5
- reserve0: reader.readU256(),
6
- reserve1: reader.readU256(),
7
- blockTimestampLast: reader.readU64(),
8
- };
9
- }
10
- const transferEventData = Buffer.from('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlxkHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGd9QMYGAAAAAAAA', 'base64');
11
- const bytes = Uint8Array.from(transferEventData);
12
- const transferEvent = decodeReserves(bytes);
13
- console.log(transferEvent);
@@ -1 +0,0 @@
1
- export {};
@@ -1,18 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- import { AddressGenerator } from '../../generators/AddressGenerator.js';
3
- import { networks } from 'bitcoinjs-lib';
4
- const abiCoder = new ABICoder();
5
- const reservesSelector = Number(`0x` + abiCoder.encodeSelector('getReserves'));
6
- function getReserves() {
7
- const calldata = new BinaryWriter();
8
- calldata.writeSelector(reservesSelector);
9
- return Buffer.from(calldata.getBuffer());
10
- }
11
- const calldata = getReserves();
12
- console.log('reserves ->', calldata.toString('hex'));
13
- const writer = new BinaryWriter();
14
- writer.writeU256(45230079600746738308285183004243888412290717325243858060208446020071790796183n);
15
- const virtualAddress = Buffer.from(writer.getBuffer());
16
- console.log('virtualAddress ->', virtualAddress);
17
- const poolAddress = AddressGenerator.generatePKSH(virtualAddress, networks.regtest);
18
- console.log('poolAddress ->', poolAddress);
@@ -1,2 +0,0 @@
1
- export declare function expandToDecimals(n: number, decimals?: bigint): bigint;
2
- export declare function shuffleArray(array: Array<unknown>): void;
@@ -1,14 +0,0 @@
1
- import BigNumber from 'bignumber.js';
2
- BigNumber.config({ EXPONENTIAL_AT: 256 });
3
- export function expandToDecimals(n, decimals = 18n) {
4
- const amount = new BigNumber(n)
5
- .multipliedBy(new BigNumber(10).pow(decimals.toString()))
6
- .decimalPlaces(0);
7
- return BigInt(amount.toString());
8
- }
9
- export function shuffleArray(array) {
10
- for (let i = array.length - 1; i > 0; i--) {
11
- const j = Math.floor(Math.random() * (i + 1));
12
- [array[i], array[j]] = [array[j], array[i]];
13
- }
14
- }
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- import { Wallet } from '../../keypair/Wallet.js';
3
- import { UTXO } from '../../utxo/interfaces/IUTXO.js';
4
- import { Address } from '@btc-vision/bsi-binary';
5
- import { BroadcastResponse } from '../../utxo/interfaces/BroadcastResponse.js';
6
- export declare const wallet: Wallet;
7
- export declare function interact(contract: Address, calldata: Buffer, mine?: boolean, UTXOs?: UTXO[], feeRate?: number, priorityFee?: bigint): Promise<[[string, string, UTXO[]] | undefined, BroadcastResponse | undefined]>;
@@ -1,85 +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 { shuffleArray } from './Utils.js';
8
- const network = networks.regtest;
9
- const rpc = new BitcoinRPC();
10
- export const wallet = new Wallet(Regtest.wallet, network);
11
- const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
12
- const factory = new TransactionFactory();
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 requestedAmount = 10n ** 8n * 500n;
23
- const utxoSetting = {
24
- addresses: [wallet.p2wpkh, wallet.p2tr],
25
- minAmount: 10000n,
26
- requestedAmount: requestedAmount,
27
- };
28
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
29
- shuffleArray(utxos);
30
- if (!utxos) {
31
- throw new Error('No UTXOs found');
32
- }
33
- export async function interact(contract, calldata, mine = false, UTXOs = utxos, feeRate = 450, priorityFee = 10000n) {
34
- if (!UTXOs.length) {
35
- UTXOs = utxos;
36
- }
37
- if (!UTXOs.length) {
38
- throw new Error('No UTXOs found');
39
- }
40
- let txid;
41
- let finalTx;
42
- for (let i = 0; i < UTXOs.length; i += 1) {
43
- let utxo = UTXOs[i];
44
- const interactionParameters = {
45
- from: wallet.p2tr,
46
- to: contract,
47
- utxos: [utxo],
48
- signer: wallet.keypair,
49
- network: network,
50
- feeRate: feeRate,
51
- priorityFee: priorityFee,
52
- calldata: calldata,
53
- };
54
- try {
55
- finalTx = await factory.signInteraction(interactionParameters);
56
- try {
57
- txid = await utxoManager.broadcastTransaction(finalTx[0], false);
58
- console.log(`Transaction ID:`, txid);
59
- }
60
- catch (e) {
61
- continue;
62
- }
63
- if (!txid) {
64
- continue;
65
- }
66
- try {
67
- txid = await utxoManager.broadcastTransaction(finalTx[1], false);
68
- console.log(`Transaction ID:`, txid);
69
- }
70
- catch (e) {
71
- continue;
72
- }
73
- }
74
- catch (e) {
75
- console.log(e);
76
- continue;
77
- }
78
- break;
79
- }
80
- if (mine) {
81
- await mineBlock();
82
- }
83
- rpc.destroy();
84
- return [finalTx, txid];
85
- }
@@ -1,6 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export declare const FACTORY_ADDRESS: Address;
3
- export declare const POOL_ADDRESS: Address;
4
- export declare const WBTC_ADDRESS: Address;
5
- export declare const MOTO_ADDRESS: Address;
6
- export declare const ROUTER_ADDRESS: Address;
@@ -1,5 +0,0 @@
1
- export const FACTORY_ADDRESS = 'bcrt1qz98txrd6csz0ljhp0v2rw8846k0zgn57uul8c9';
2
- export const POOL_ADDRESS = 'bcrt1qzwth3t3wdgy83tt9xegq7yww5dx0rhy3ezglg9';
3
- export const WBTC_ADDRESS = 'bcrt1q99qtptumw027cw8w274tqzd564q66u537vn0lh';
4
- export const MOTO_ADDRESS = 'bcrt1qwx9h2fvqlzx84t6jhxa424y7g2ynayt8p9rs38';
5
- export const ROUTER_ADDRESS = 'bcrt1qelqwcguvwkgr90w6u5f2q0a7gqlnq4w8rl26ht';
@@ -1 +0,0 @@
1
- export {};
@@ -1,73 +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('stake'));
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 requestedAmount = 1n * 100000000n;
34
- const utxoSetting = {
35
- addresses: [wallet.p2wpkh, wallet.p2tr],
36
- minAmount: 10000n,
37
- requestedAmount: requestedAmount,
38
- };
39
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
40
- console.log(`UTXOs:`, utxos);
41
- if (!utxos) {
42
- throw new Error('No UTXOs found');
43
- }
44
- const calldata = generateCalldata(520000n);
45
- const interactionParameters = {
46
- from: wallet.p2wpkh,
47
- to: wBtc.getAddress(),
48
- utxos: utxos,
49
- signer: wallet.keypair,
50
- network: network,
51
- feeRate: 1000,
52
- priorityFee: 100000n,
53
- calldata: calldata,
54
- };
55
- const finalTx = await factory.signInteraction(interactionParameters);
56
- const firstTxBroadcast = await rpc.sendRawTransaction({
57
- hexstring: finalTx[0],
58
- });
59
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
60
- if (!firstTxBroadcast) {
61
- throw new Error('Could not broadcast first transaction');
62
- }
63
- const secondTxBroadcast = await rpc.sendRawTransaction({
64
- hexstring: finalTx[1],
65
- });
66
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
67
- if (!secondTxBroadcast) {
68
- throw new Error('Could not broadcast second transaction');
69
- }
70
- if (shouldMineBlock) {
71
- await mineBlock();
72
- }
73
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- import { Wallet } from '../keypair/Wallet.js';
2
- import { Regtest } from './Regtest.js';
3
- import { networks } from 'bitcoinjs-lib';
4
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
5
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
6
- const network = networks.regtest;
7
- const rpc = new BitcoinRPC();
8
- const wallet = new Wallet(Regtest.wallet, network);
9
- async function mineBlock() {
10
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
11
- if (!ok) {
12
- throw new Error('Could not mine block');
13
- }
14
- console.log(`Mined block`, ok);
15
- return !!ok.length;
16
- }
17
- await rpc.init(Regtest.config);
18
- const abiCoder = new ABICoder();
19
- const transferSelector = Number(`0x` + abiCoder.encodeSelector('stakedAmount'));
20
- function generateCalldata(to) {
21
- const addCalldata = new BinaryWriter();
22
- addCalldata.writeSelector(transferSelector);
23
- addCalldata.writeAddress(to);
24
- return Buffer.from(addCalldata.getBuffer());
25
- }
26
- const call = generateCalldata(wallet.p2tr);
27
- console.log('call', call.toString('hex'));
28
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,51 +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 { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
6
- import { FundingTransaction } from '../transaction/builders/FundingTransaction.js';
7
- const network = networks.regtest;
8
- const rpc = new BitcoinRPC();
9
- const wallet = new Wallet(Regtest.wallet, network);
10
- const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
11
- const shouldMineBlock = true;
12
- async function mineBlock() {
13
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
14
- if (!ok) {
15
- throw new Error('Could not mine block');
16
- }
17
- console.log(`Mined block`, ok);
18
- return !!ok.length;
19
- }
20
- (async () => {
21
- await rpc.init(Regtest.config);
22
- const utxoSetting = {
23
- address: wallet.p2wpkh,
24
- minAmount: 10000n,
25
- requestedAmount: 100000n,
26
- };
27
- const utxos = await utxoManager.fetchUTXO(utxoSetting);
28
- if (!utxos) {
29
- throw new Error('No UTXOs found');
30
- }
31
- const interactionParameters = {
32
- from: wallet.p2wpkh,
33
- to: 'bcrt1qqvf4gprr05z248ph6gvx54rpg08p8ngq3zh8uh',
34
- utxos: utxos,
35
- signer: wallet.keypair,
36
- network: network,
37
- feeRate: 150,
38
- priorityFee: 1000n,
39
- amount: 0n,
40
- };
41
- const fundingTransaction = new FundingTransaction(interactionParameters);
42
- const fundingTx = await fundingTransaction.signTransaction();
43
- console.log(fundingTx.toHex());
44
- const secondTxBroadcast = await rpc.sendRawTransaction({
45
- hexstring: fundingTx.toHex(),
46
- });
47
- console.log(`Transaction broadcasted: ${secondTxBroadcast}`);
48
- if (shouldMineBlock) {
49
- await mineBlock();
50
- }
51
- })();
@@ -1 +0,0 @@
1
- export {};
@@ -1,73 +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, Psbt } 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 { MultiSignTransaction } from '../transaction/builders/MultiSignTransaction.js';
9
- const network = networks.regtest;
10
- const rpc = new BitcoinRPC();
11
- const wallet = new Wallet(Regtest.wallet, network);
12
- const opnet = new OPNetLimitedProvider('http://localhost:9001');
13
- const factory = new TransactionFactory();
14
- const shouldMineBlock = false;
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 utxoSetting = {
25
- addresses: [wallet.p2wpkh, wallet.p2tr],
26
- minAmount: 10000n,
27
- requestedAmount: 300000n,
28
- };
29
- const utxos = await opnet.fetchUTXOMultiAddr(utxoSetting);
30
- if (!utxos) {
31
- throw new Error('No UTXOs found');
32
- }
33
- const unwrapAmount = 300000n;
34
- const unwrapUtxos = await opnet.fetchUnWrapParameters(unwrapAmount, wallet.p2tr);
35
- if (!unwrapUtxos) {
36
- throw new Error('No UTXOs found for unwrap');
37
- }
38
- const unwrapParameters = {
39
- from: wallet.p2tr,
40
- utxos: utxos,
41
- unwrapUTXOs: unwrapUtxos.vaultUTXOs,
42
- signer: wallet.keypair,
43
- network: network,
44
- feeRate: 100,
45
- priorityFee: 10000n,
46
- amount: unwrapAmount,
47
- };
48
- const finalTx = await factory.unwrap(unwrapParameters);
49
- const pubkeys = [
50
- 'AtOOpbDsniLbs2QGuqPFu7AnCOK9lNSSl+pvPr0m0Yx3',
51
- 'AgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+',
52
- 'A4JEwTBwTx5QaLCFORTow27UQvkLQWZguhz6N+d8FczI',
53
- 'A7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiO',
54
- ]
55
- .map((key) => Buffer.from(key, 'base64'))
56
- .sort((a, b) => a.compare(b));
57
- const rlSigner2 = EcKeyPair.fromPrivateKey(Buffer.from('c3878546c453bca783fd91965218242eecc32d5443764d4a7f233ff018f002e0', 'hex'), network);
58
- const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
59
- console.log('FUNDING', finalTx.fundingTransaction);
60
- const removedFirstTwoChar = finalTx.psbt.slice(4);
61
- const psbtTransaction2 = Psbt.fromHex(removedFirstTwoChar, { network });
62
- const signed3 = MultiSignTransaction.signPartial(psbtTransaction2, rlSigner2, 1, [2, 2, 2, 2]);
63
- const finalized = MultiSignTransaction.attemptFinalizeInputs(psbtTransaction2, 1, [pubkeys, pubkeys, pubkeys, pubkeys], false);
64
- console.log(`Signed`, signed3, finalized);
65
- const signed4 = MultiSignTransaction.signPartial(psbtTransaction2, realSigner.keypair, 1, [2, 2, 2, 2]);
66
- const finalized2 = MultiSignTransaction.attemptFinalizeInputs(psbtTransaction2, 1, [pubkeys, pubkeys, pubkeys, pubkeys], true);
67
- console.log(`Signed`, signed4, finalized2);
68
- const final = psbtTransaction2.extractTransaction().toHex();
69
- console.log(`Finalized`, final);
70
- if (shouldMineBlock) {
71
- await mineBlock();
72
- }
73
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,91 +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 { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
8
- const network = networks.regtest;
9
- const rpc = new BitcoinRPC();
10
- const wallet = new Wallet(Regtest.wallet, network);
11
- const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
12
- const factory = new TransactionFactory();
13
- const abiCoder = new ABICoder();
14
- const transferSelector = Number(`0x` + abiCoder.encodeSelector('mintAndApproveWBTC'));
15
- function getTransferToCalldata(to, amount) {
16
- const addCalldata = new BinaryWriter();
17
- addCalldata.writeSelector(transferSelector);
18
- addCalldata.writeU256(amount);
19
- addCalldata.writeAddress(to);
20
- return Buffer.from(addCalldata.getBuffer());
21
- }
22
- const shouldMineBlock = true;
23
- async function mineBlock() {
24
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
25
- if (!ok) {
26
- throw new Error('Could not mine block');
27
- }
28
- console.log(`Mined block`, ok);
29
- return !!ok.length;
30
- }
31
- await rpc.init(Regtest.config);
32
- const requestedAmount = 10000000000000n;
33
- const utxoSetting = {
34
- addresses: [wallet.p2wpkh, wallet.p2tr],
35
- minAmount: 10000n,
36
- requestedAmount: requestedAmount,
37
- };
38
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
39
- console.log(`UTXOs:`, utxos);
40
- try {
41
- for (let i = 0; i < 3000; i++) {
42
- if (!utxos) {
43
- console.log(`Used all UTXOs`);
44
- throw new Error('No UTXOs found');
45
- }
46
- const calldata = getTransferToCalldata('bcrt1p4q7vkuvy9k0cez7vs4cp9yuwqxafesmdgtu0g5928w9cdvtax54snmucw8', 520000n);
47
- const utxo = utxos.shift();
48
- if (!utxo) {
49
- break;
50
- }
51
- const interactionParameters = {
52
- from: wallet.p2wpkh,
53
- to: 'bcrt1qs3re7ly4we7wtwncfcv22xcsmas0gngalazm9f',
54
- utxos: [utxo],
55
- signer: wallet.keypair,
56
- network: network,
57
- feeRate: 1000,
58
- priorityFee: 100000n,
59
- calldata: calldata,
60
- };
61
- try {
62
- const finalTx = await factory.signInteraction(interactionParameters);
63
- const firstTxBroadcast = await rpc
64
- .sendRawTransaction({
65
- hexstring: finalTx[0],
66
- })
67
- .catch((e) => { });
68
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
69
- if (!firstTxBroadcast) {
70
- continue;
71
- }
72
- const secondTxBroadcast = await rpc
73
- .sendRawTransaction({
74
- hexstring: finalTx[1],
75
- })
76
- .catch((e) => { });
77
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
78
- if (!secondTxBroadcast) {
79
- }
80
- }
81
- catch (e) { }
82
- }
83
- }
84
- catch (e) {
85
- console.error(e);
86
- }
87
- console.log(`All transactions broadcasted`);
88
- if (shouldMineBlock) {
89
- await mineBlock();
90
- }
91
- rpc.destroy();
@@ -1,6 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export declare const FACTORY_ADDRESS: Address;
3
- export declare const POOL_ADDRESS: Address;
4
- export declare const WBTC_ADDRESS: Address;
5
- export declare const MOTO_ADDRESS: Address;
6
- export declare const ROUTER_ADDRESS: Address;
@@ -1,5 +0,0 @@
1
- export const FACTORY_ADDRESS = 'bcrt1qkg4gn2g0zwksthnykuv2ey59dek3sg4tegd90c';
2
- export const POOL_ADDRESS = 'bcrt1qljpxj4sg5dd6v8knx5g6jq9ycsr0wgtwfqxfjs';
3
- export const WBTC_ADDRESS = 'bcrt1qq377w5zsu2p8ywfvr6qa86duy9y8wrdl3jf9td';
4
- export const MOTO_ADDRESS = 'bcrt1qwx9h2fvqlzx84t6jhxa424y7g2ynayt8p9rs38';
5
- export const ROUTER_ADDRESS = 'bcrt1qekusxelmczqcw2cy22m4d0rrmkh29xcrtf4a4r';
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- import { Wallet } from '../keypair/Wallet.js';
2
- import { Regtest } from './Regtest.js';
3
- import { networks } from 'bitcoinjs-lib';
4
- import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
5
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
6
- const network = networks.regtest;
7
- const rpc = new BitcoinRPC();
8
- const wallet = new Wallet(Regtest.wallet, network);
9
- async function mineBlock() {
10
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
11
- if (!ok) {
12
- throw new Error('Could not mine block');
13
- }
14
- console.log(`Mined block`, ok);
15
- return !!ok.length;
16
- }
17
- await rpc.init(Regtest.config);
18
- const wrapAmount = 1n * 100000000n;
19
- const abiCoder = new ABICoder();
20
- const transferSelector = Number(`0x` + abiCoder.encodeSelector('totalStaked'));
21
- function generateCalldata(to, amount) {
22
- const addCalldata = new BinaryWriter();
23
- addCalldata.writeSelector(transferSelector);
24
- return Buffer.from(addCalldata.getBuffer());
25
- }
26
- const call = generateCalldata(wallet.p2tr, wrapAmount);
27
- console.log('call', call.toString('hex'));
28
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,74 +0,0 @@
1
- import { wBTC } from '../metadata/contracts/wBTC.js';
2
- import { Wallet } from '../keypair/Wallet.js';
3
- import { Testnet } 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.testnet;
10
- const rpc = new BitcoinRPC();
11
- const wBtc = new wBTC(network);
12
- const wallet = new Wallet(Testnet.wallet, network);
13
- const utxoManager = new OPNetLimitedProvider('https://testnet.opnet.org');
14
- const factory = new TransactionFactory();
15
- const abiCoder = new ABICoder();
16
- const transferSelector = Number(`0x` + abiCoder.encodeSelector('transfer'));
17
- function getTransferToCalldata(to, amount) {
18
- const addCalldata = new BinaryWriter();
19
- addCalldata.writeSelector(transferSelector);
20
- addCalldata.writeAddress(to);
21
- addCalldata.writeU256(amount);
22
- return Buffer.from(addCalldata.getBuffer());
23
- }
24
- const shouldMineBlock = false;
25
- async function mineBlock() {
26
- const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
27
- if (!ok) {
28
- throw new Error('Could not mine block');
29
- }
30
- console.log(`Mined block`, ok);
31
- return !!ok.length;
32
- }
33
- (async () => {
34
- await rpc.init(Testnet.config);
35
- const utxoSetting = {
36
- address: wallet.p2wpkh,
37
- minAmount: 10000n,
38
- requestedAmount: 100000n,
39
- };
40
- const utxos = await utxoManager.fetchUTXO(utxoSetting);
41
- console.log(`UTXOs:`, utxos);
42
- if (!utxos) {
43
- throw new Error('No UTXOs found');
44
- }
45
- const calldata = getTransferToCalldata('tb1pt3ncc5ktfzpry2uvnag06v3jkv4quvmdydf09q8fx6rkgd7f5s8q3aenuk', 5000000n);
46
- const interactionParameters = {
47
- from: wallet.p2wpkh,
48
- to: wBtc.getAddress(),
49
- utxos: utxos,
50
- signer: wallet.keypair,
51
- network: network,
52
- feeRate: 1000,
53
- priorityFee: 50000n,
54
- calldata: calldata,
55
- };
56
- const finalTx = await factory.signInteraction(interactionParameters);
57
- const firstTxBroadcast = await rpc.sendRawTransaction({
58
- hexstring: finalTx[0],
59
- });
60
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
61
- if (!firstTxBroadcast) {
62
- throw new Error('Could not broadcast first transaction');
63
- }
64
- const secondTxBroadcast = await rpc.sendRawTransaction({
65
- hexstring: finalTx[1],
66
- });
67
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
68
- if (!secondTxBroadcast) {
69
- throw new Error('Could not broadcast second transaction');
70
- }
71
- if (shouldMineBlock) {
72
- await mineBlock();
73
- }
74
- })();
@@ -1 +0,0 @@
1
- export {};