@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,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 * as fs from 'fs';
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 shouldMineBlock = false;
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 requestedAmount = 100000000000n;
24
- const utxoSetting = {
25
- addresses: [wallet.p2wpkh, wallet.p2tr],
26
- minAmount: 10000n,
27
- requestedAmount: requestedAmount,
28
- };
29
- function shuffleArray(array) {
30
- for (let i = array.length - 1; i > 0; i--) {
31
- const j = Math.floor(Math.random() * (i + 1));
32
- [array[i], array[j]] = [array[j], array[i]];
33
- }
34
- }
35
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
36
- if (!utxos) {
37
- throw new Error('No UTXOs found');
38
- }
39
- shuffleArray(utxos);
40
- const contracts = ['./bytecode/wbtc.wasm', './bytecode/wbtc.wasm'];
41
- let deployed = [];
42
- for (let contract of contracts) {
43
- const bytecode = fs.readFileSync(contract);
44
- for (let utxo of utxos) {
45
- const deploymentParameters = {
46
- from: wallet.p2wpkh,
47
- utxos: [utxo],
48
- signer: wallet.keypair,
49
- network: network,
50
- feeRate: 500,
51
- priorityFee: 50000n,
52
- bytecode: bytecode,
53
- };
54
- try {
55
- const finalTx = factory.signDeployment(deploymentParameters);
56
- console.log(`Final transaction:`, finalTx);
57
- let txid;
58
- try {
59
- txid = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
60
- console.log(`Transaction ID:`, txid);
61
- }
62
- catch (e) {
63
- continue;
64
- }
65
- if (!txid) {
66
- continue;
67
- }
68
- try {
69
- txid = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
70
- console.log(`Transaction ID:`, txid);
71
- }
72
- catch (e) {
73
- continue;
74
- }
75
- if (!txid) {
76
- continue;
77
- }
78
- deployed.push({ contract: finalTx.contractAddress, file: contract });
79
- console.log(`Contract deployed at ${finalTx.contractAddress}`);
80
- }
81
- catch (e) {
82
- continue;
83
- }
84
- break;
85
- }
86
- }
87
- console.log(deployed);
88
- if (shouldMineBlock) {
89
- await mineBlock();
90
- }
91
- rpc.destroy();
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 1: Deploying MotoSwap contracts`);
3
- const contractsToDeploy = ['./bytecode/moto.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 1: Deploying MotoSwap contracts`);
3
- const contractsToDeploy = ['./bytecode/wbtc.wasm', './bytecode/moto.wasm', './bytecode/pool.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 2: Deploying Factory`);
3
- const contractsToDeploy = ['./bytecode/factory.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 3: Deploying Router`);
3
- const contractsToDeploy = ['./bytecode/router.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- import { Address } from '@btc-vision/bsi-binary';
3
- export declare function interact(contract: Address, calldata: Buffer): Promise<void>;
@@ -1,63 +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 utxoManager = new OPNetLimitedProvider('http://localhost:9001');
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(Regtest.config);
22
- const requestedAmount = 1n * 100000000n;
23
- const utxoSetting = {
24
- addresses: [wallet.p2wpkh, wallet.p2tr],
25
- minAmount: 10000n,
26
- requestedAmount: requestedAmount,
27
- };
28
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
29
- console.log(`UTXOs:`, utxos);
30
- if (!utxos) {
31
- throw new Error('No UTXOs found');
32
- }
33
- export async function interact(contract, calldata) {
34
- const interactionParameters = {
35
- from: wallet.p2wpkh,
36
- to: contract,
37
- utxos: utxos,
38
- signer: wallet.keypair,
39
- network: network,
40
- feeRate: 1000,
41
- priorityFee: 100000n,
42
- calldata: calldata,
43
- };
44
- const finalTx = factory.signInteraction(interactionParameters);
45
- const firstTxBroadcast = await rpc.sendRawTransaction({
46
- hexstring: finalTx[0],
47
- });
48
- console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
49
- if (!firstTxBroadcast) {
50
- throw new Error('Could not broadcast first transaction');
51
- }
52
- const secondTxBroadcast = await rpc.sendRawTransaction({
53
- hexstring: finalTx[1],
54
- });
55
- console.log(`Second transaction broadcasted: ${secondTxBroadcast}`, finalTx[1]);
56
- if (!secondTxBroadcast) {
57
- throw new Error('Could not broadcast second transaction');
58
- }
59
- if (shouldMineBlock) {
60
- await mineBlock();
61
- }
62
- rpc.destroy();
63
- }
@@ -1,11 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export interface AddLiquidityParameters {
3
- readonly tokenA: Address;
4
- readonly tokenB: Address;
5
- readonly amountADesired: bigint;
6
- readonly amountBDesired: bigint;
7
- readonly amountAMin: bigint;
8
- readonly amountBMin: bigint;
9
- readonly to: Address;
10
- readonly deadline: bigint;
11
- }
@@ -1,35 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- import { wallet } from '../shared/interaction.js';
3
- import { wBTC } from '../../metadata/contracts/wBTC.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { MOTO_ADDRESS_REGTEST } from '../../metadata/tokens.js';
6
- import { expandToDecimals } from '../shared/Utils.js';
7
- const abiCoder = new ABICoder();
8
- const addLiquiditySelector = Number(`0x` + abiCoder.encodeSelector('addLiquidity'));
9
- function addLiquidity(parameters) {
10
- const calldata = new BinaryWriter();
11
- calldata.writeSelector(addLiquiditySelector);
12
- calldata.writeAddress(parameters.tokenA);
13
- calldata.writeAddress(parameters.tokenB);
14
- calldata.writeU256(parameters.amountADesired);
15
- calldata.writeU256(parameters.amountBDesired);
16
- calldata.writeU256(parameters.amountAMin);
17
- calldata.writeU256(parameters.amountBMin);
18
- calldata.writeAddress(parameters.to);
19
- calldata.writeU64(parameters.deadline);
20
- return Buffer.from(calldata.getBuffer());
21
- }
22
- const token0Amount = expandToDecimals(1000, 8n);
23
- const token1Amount = 600000n;
24
- const receiver = wallet.p2tr;
25
- const calldata = addLiquidity({
26
- tokenA: MOTO_ADDRESS_REGTEST,
27
- tokenB: wBTC.getAddress(networks.regtest),
28
- amountADesired: token0Amount,
29
- amountBDesired: token1Amount,
30
- amountAMin: 0n,
31
- amountBMin: 0n,
32
- to: receiver,
33
- deadline: 5000n,
34
- });
35
- console.log('add liquidity:', calldata.toString('hex'));
@@ -1,11 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export interface AddLiquidityParameters {
3
- readonly tokenA: Address;
4
- readonly tokenB: Address;
5
- readonly amountADesired: bigint;
6
- readonly amountBDesired: bigint;
7
- readonly amountAMin: bigint;
8
- readonly amountBMin: bigint;
9
- readonly to: Address;
10
- readonly deadline: bigint;
11
- }
@@ -1,36 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- import { interact, wallet } from '../shared/interaction.js';
3
- import { wBTC } from '../../metadata/contracts/wBTC.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { MOTO_ADDRESS_REGTEST, ROUTER_ADDRESS_REGTEST } from '../../metadata/tokens.js';
6
- import { expandToDecimals } from '../shared/Utils.js';
7
- const abiCoder = new ABICoder();
8
- const addLiquiditySelector = Number(`0x` + abiCoder.encodeSelector('addLiquidity'));
9
- function addLiquidity(parameters) {
10
- const calldata = new BinaryWriter();
11
- calldata.writeSelector(addLiquiditySelector);
12
- calldata.writeAddress(parameters.tokenA);
13
- calldata.writeAddress(parameters.tokenB);
14
- calldata.writeU256(parameters.amountADesired);
15
- calldata.writeU256(parameters.amountBDesired);
16
- calldata.writeU256(parameters.amountAMin);
17
- calldata.writeU256(parameters.amountBMin);
18
- calldata.writeAddress(parameters.to);
19
- calldata.writeU64(parameters.deadline);
20
- return Buffer.from(calldata.getBuffer());
21
- }
22
- const token0Amount = expandToDecimals(1000, 8n);
23
- const token1Amount = 600000n;
24
- const receiver = wallet.p2tr;
25
- const calldata = addLiquidity({
26
- tokenA: MOTO_ADDRESS_REGTEST,
27
- tokenB: wBTC.getAddress(networks.regtest),
28
- amountADesired: token0Amount,
29
- amountBDesired: token1Amount,
30
- amountAMin: 0n,
31
- amountBMin: 0n,
32
- to: receiver,
33
- deadline: 5000n,
34
- });
35
- console.log('add liquidity:', calldata.toString('hex'));
36
- await interact(ROUTER_ADDRESS_REGTEST, calldata);
@@ -1,4 +0,0 @@
1
- export declare function deployMoto(contracts: string[]): Promise<{
2
- contract: string;
3
- file: string;
4
- }[]>;
@@ -1,89 +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 * as fs from 'fs';
8
- import { shuffleArray } from '../shared/Utils.js';
9
- const network = networks.regtest;
10
- const rpc = new BitcoinRPC();
11
- const wallet = new Wallet(Regtest.wallet, network);
12
- const utxoManager = 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 requestedAmount = 100000000000n;
25
- const utxoSetting = {
26
- addresses: [wallet.p2wpkh, wallet.p2tr],
27
- minAmount: 10000n,
28
- requestedAmount: requestedAmount,
29
- };
30
- console.log('Fetching UTXOs');
31
- const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
32
- if (!utxos) {
33
- throw new Error('No UTXOs found');
34
- }
35
- console.log('Shuffling UTXOs', utxos.length);
36
- shuffleArray(utxos);
37
- export async function deployMoto(contracts) {
38
- let deployed = [];
39
- for (let contract of contracts) {
40
- const bytecode = fs.readFileSync(contract);
41
- for (let utxo of utxos) {
42
- const deploymentParameters = {
43
- from: wallet.p2wpkh,
44
- utxos: [utxo],
45
- signer: wallet.keypair,
46
- network: network,
47
- feeRate: 500,
48
- priorityFee: 50000n,
49
- bytecode: bytecode,
50
- };
51
- try {
52
- const finalTx = await factory.signDeployment(deploymentParameters);
53
- console.log(`Final transaction:`, finalTx);
54
- let txid;
55
- try {
56
- txid = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
57
- console.log(`Transaction ID:`, txid);
58
- }
59
- catch (e) {
60
- continue;
61
- }
62
- if (!txid) {
63
- continue;
64
- }
65
- try {
66
- txid = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
67
- console.log(`Transaction ID:`, txid);
68
- }
69
- catch (e) {
70
- continue;
71
- }
72
- if (!txid) {
73
- continue;
74
- }
75
- deployed.push({ contract: finalTx.contractAddress, file: contract });
76
- console.log(`Contract deployed at ${finalTx.contractAddress}`);
77
- }
78
- catch (e) {
79
- continue;
80
- }
81
- break;
82
- }
83
- }
84
- if (shouldMineBlock) {
85
- await mineBlock();
86
- }
87
- rpc.destroy();
88
- return deployed;
89
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 1: Deploying MotoSwap contracts`);
3
- const contractsToDeploy = ['./bytecode/moto.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 1: Deploying MotoSwap contracts`);
3
- const contractsToDeploy = ['./bytecode/wbtc.wasm', './bytecode/moto.wasm', './bytecode/pool.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 2: Deploying Factory`);
3
- const contractsToDeploy = ['./bytecode/factory.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { deployMoto } from './deployMoto.js';
2
- console.log(`Step 3: Deploying Router`);
3
- const contractsToDeploy = ['./bytecode/router.wasm'];
4
- const contracts = await deployMoto(contractsToDeploy);
5
- console.log(`Contracts deployed:`, contracts);
@@ -1,5 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export interface AddLiquidityParameters {
3
- readonly path: Address[];
4
- readonly amount: bigint;
5
- }
@@ -1,34 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- import { expandToDecimals } from '../shared/Utils.js';
3
- import { MOTO_ADDRESS_REGTEST, WBTC_ADDRESS_REGTEST } from '../../metadata/tokens.js';
4
- const abiCoder = new ABICoder();
5
- const getAmountsOutSelector = Number(`0x` + abiCoder.encodeSelector('getAmountsOut'));
6
- const quoteSelector = Number(`0x` + abiCoder.encodeSelector('quote'));
7
- function getAmountsOut(parameters) {
8
- console.log(parameters);
9
- const calldata = new BinaryWriter();
10
- calldata.writeSelector(getAmountsOutSelector);
11
- calldata.writeU256(parameters.amount);
12
- calldata.writeAddressArray(parameters.path);
13
- return Buffer.from(calldata.getBuffer());
14
- }
15
- const token0Amount = 1000n;
16
- const path = [WBTC_ADDRESS_REGTEST, MOTO_ADDRESS_REGTEST];
17
- const calldata = getAmountsOut({ path, amount: token0Amount });
18
- console.log('calldata', calldata.toString('hex'));
19
- function quote(parameters) {
20
- console.log(parameters);
21
- const calldata = new BinaryWriter();
22
- calldata.writeSelector(quoteSelector);
23
- calldata.writeU256(parameters.amountA);
24
- calldata.writeU256(parameters.reserveA);
25
- calldata.writeU256(parameters.reserveB);
26
- return Buffer.from(calldata.getBuffer());
27
- }
28
- const quoteParams = {
29
- amountA: token0Amount,
30
- reserveA: expandToDecimals(1, 8n),
31
- reserveB: expandToDecimals(1000, 18n),
32
- };
33
- const quoteCalldata = quote(quoteParams);
34
- console.log('quoteCalldata', quoteCalldata.toString('hex'));
@@ -1,11 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export interface AddLiquidityParameters {
3
- readonly tokenA: Address;
4
- readonly tokenB: Address;
5
- readonly amountADesired: bigint;
6
- readonly amountBDesired: bigint;
7
- readonly amountAMin: bigint;
8
- readonly amountBMin: bigint;
9
- readonly to: Address;
10
- readonly deadline: bigint;
11
- }
@@ -1,35 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- import { wallet } from '../shared/interaction.js';
3
- import { wBTC } from '../../metadata/contracts/wBTC.js';
4
- import { networks } from 'bitcoinjs-lib';
5
- import { MOTO_ADDRESS_REGTEST } from '../../metadata/tokens.js';
6
- import { expandToDecimals } from '../shared/Utils.js';
7
- const abiCoder = new ABICoder();
8
- const addLiquiditySelector = Number(`0x` + abiCoder.encodeSelector('addLiquidity'));
9
- function addLiquidity(parameters) {
10
- const calldata = new BinaryWriter();
11
- calldata.writeSelector(addLiquiditySelector);
12
- calldata.writeAddress(parameters.tokenA);
13
- calldata.writeAddress(parameters.tokenB);
14
- calldata.writeU256(parameters.amountADesired);
15
- calldata.writeU256(parameters.amountBDesired);
16
- calldata.writeU256(parameters.amountAMin);
17
- calldata.writeU256(parameters.amountBMin);
18
- calldata.writeAddress(parameters.to);
19
- calldata.writeU64(parameters.deadline);
20
- return Buffer.from(calldata.getBuffer());
21
- }
22
- const token0Amount = expandToDecimals(1000, 8n);
23
- const token1Amount = 600000n;
24
- const receiver = wallet.p2tr;
25
- const calldata = addLiquidity({
26
- tokenA: MOTO_ADDRESS_REGTEST,
27
- tokenB: wBTC.getAddress(networks.regtest),
28
- amountADesired: token0Amount,
29
- amountBDesired: token1Amount,
30
- amountAMin: 0n,
31
- amountBMin: 0n,
32
- to: receiver,
33
- deadline: 5000n,
34
- });
35
- console.log('add liquidity:', calldata.toString('hex'));
@@ -1,8 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export interface SwapParameters {
3
- readonly amountIn: bigint;
4
- readonly amountOutMin: bigint;
5
- readonly path: Address[];
6
- readonly to: Address;
7
- readonly deadline: bigint;
8
- }
@@ -1,24 +0,0 @@
1
- import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
2
- import { wallet } from '../shared/interaction.js';
3
- import { MOTO_ADDRESS_REGTEST, WBTC_ADDRESS_REGTEST } from '../../metadata/tokens.js';
4
- import { expandToDecimals } from '../shared/Utils.js';
5
- const abiCoder = new ABICoder();
6
- const swapSelector = Number(`0x` + abiCoder.encodeSelector('swap'));
7
- function generateSwap(parameters) {
8
- const calldata = new BinaryWriter();
9
- calldata.writeSelector(swapSelector);
10
- calldata.writeU256(parameters.amountIn);
11
- calldata.writeU256(parameters.amountOutMin);
12
- calldata.writeAddressArray(parameters.path);
13
- calldata.writeAddress(parameters.to);
14
- calldata.writeU64(parameters.deadline);
15
- return Buffer.from(calldata.getBuffer());
16
- }
17
- const calldata = generateSwap({
18
- amountIn: expandToDecimals(0.01, 8n),
19
- amountOutMin: 0n,
20
- path: [WBTC_ADDRESS_REGTEST, MOTO_ADDRESS_REGTEST],
21
- to: wallet.p2tr,
22
- deadline: 10000n,
23
- });
24
- console.log('swap:', calldata.toString('hex'));
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- import { networks, Psbt } from 'bitcoinjs-lib';
2
- import { Regtest } from './Regtest.js';
3
- import { Wallet } from '../keypair/Wallet.js';
4
- import { MultiSignTransaction, } from '../transaction/builders/MultiSignTransaction.js';
5
- import { EcKeyPair } from '../keypair/EcKeyPair.js';
6
- const base64 = 'cHNidP8BAFICAAAAASNIxwwrZsoFQXkT+/iZFGZfE3nASG6UKlzzp/GqP9aYAAAAAAD9////ARAnAAAAAAAAFgAU3A1GB3oiXLyahEdQ+brLnuXu1PkAAAAAAAEA9wIAAAAAAQEEp9c4x0mHzuAx2zITbeG/URike79ng12YAsPWhjeVMQEAAAAA/f///wJa9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUtMs2kwAAAAAiUSDL4fsq34Gxa6Svuzh0P0c4zLKBcNLvw1o8qTZs5k6kUQJIMEUCIQDDhiqYy+HKDXywY3kHHNYirdVCcuOnaOJsaHrHoFg1/QIgd1TXcUzslGOAdvTSpvuTCh1mWlUGQyXK4p1Pgs8qWZwBIQIDc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LAAAAAABASta9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUAQj9mwEGFNwNRgd6Ily8moRHUPm6y57l7tT5IANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUsQWnmKwWlC3PzllTD3UronjfKtL59X3OaJioXxozhodCWtPNSXzdT5dQcS3R4PssChqtXhsr87NaJjVlbePJlHS2DQecQkmGe3r7lcT5nGv6XIvtUpkc2ZdQ0RXiY2g5AYh42Aq8T1EJh4VB7j1z9c135oTxlkuXmAikGlrmhxEuysCCDnSADc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LK0gKezyFtE0GBZRLpSp/uGv1o4OVHTiXfBiHSd+K6+SnZytqRRr4RFHLP9N9MIFIGHGxZKfve2OvYipFFfTvUOjMKawg5fnZ94W/TVaiC75iHRRnGMDYnNpTx4fiwgAAAAAAAIKa52/5igDPsC+UAEALs4PKSQAAABnUWhBwANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUs5+TVk/y3KSbu2+DR4xH0Gs1vbvFh3LoIGnUWjsTc03kAAA==';
7
- const network = networks.regtest;
8
- const wallet = new Wallet(Regtest.wallet, network);
9
- const pubkeys = [
10
- 'AgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+',
11
- 'AtOOpbDsniLbs2QGuqPFu7AnCOK9lNSSl+pvPr0m0Yx3',
12
- 'A7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiO',
13
- 'A4JEwTBwTx5QaLCFORTow27UQvkLQWZguhz6N+d8FczI',
14
- ].map((key) => Buffer.from(key, 'base64'));
15
- const utxos = [
16
- {
17
- transactionId: '19ad15c5a73dd2b591d3269337025c7cda5d619eb872cf543bff531a2946a245',
18
- outputIndex: 1,
19
- value: 100000000n,
20
- scriptPubKey: {
21
- address: 'bcrt1pc6vdqqscqu4j8ktrc0558p4cmw8c3glqx4f80eflmtgwgu9r275svkax55',
22
- hex: Buffer.from('USDGmNACGAcrI9ljw+lDhrjbj4ij4DVSd+U/2tDkcKNXqQ==', 'base64').toString('hex'),
23
- },
24
- },
25
- ];
26
- const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
27
- const rlSigner2 = EcKeyPair.fromPrivateKey(Buffer.from('c3878546c453bca783fd91965218242eecc32d5443764d4a7f233ff018f002e0', 'hex'), network);
28
- const multiSignParams = {
29
- network: network,
30
- utxos: utxos,
31
- pubkeys: pubkeys,
32
- minimumSignatures: 2,
33
- feeRate: 100,
34
- refundVault: 'bcrt1pc6vdqqscqu4j8ktrc0558p4cmw8c3glqx4f80eflmtgwgu9r275svkax55',
35
- receiver: wallet.p2tr,
36
- requestedAmount: 600000n,
37
- };
38
- const multiSign = new MultiSignTransaction(multiSignParams);
39
- const signed = await multiSign.signPSBT();
40
- const signed3 = MultiSignTransaction.signPartial(signed, rlSigner2, 0, [2]);
41
- console.log(`Signed`, signed3, signed.toHex());
42
- const signed2 = MultiSignTransaction.signPartial(signed, realSigner.keypair, 0, [2]);
43
- console.log(`Signed`, signed2, signed.toHex());
44
- const cloned2 = Psbt.fromBase64(signed.toBase64(), { network: network });
45
- console.dir(cloned2, { depth: 10, colors: true });
46
- const finalized = MultiSignTransaction.attemptFinalizeInputs(cloned2, 0, [], true);
47
- console.log(`Signed`, cloned2.extractTransaction(false).toHex(), finalized);
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- import { networks } from 'bitcoinjs-lib';
2
- import { Testnet } from './Regtest.js';
3
- import { Wallet } from '../keypair/Wallet.js';
4
- import { EcKeyPair } from '../keypair/EcKeyPair.js';
5
- const base64 = 'cHNidP8BAFICAAAAASNIxwwrZsoFQXkT+/iZFGZfE3nASG6UKlzzp/GqP9aYAAAAAAD9////ARAnAAAAAAAAFgAU3A1GB3oiXLyahEdQ+brLnuXu1PkAAAAAAAEA9wIAAAAAAQEEp9c4x0mHzuAx2zITbeG/URike79ng12YAsPWhjeVMQEAAAAA/f///wJa9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUtMs2kwAAAAAiUSDL4fsq34Gxa6Svuzh0P0c4zLKBcNLvw1o8qTZs5k6kUQJIMEUCIQDDhiqYy+HKDXywY3kHHNYirdVCcuOnaOJsaHrHoFg1/QIgd1TXcUzslGOAdvTSpvuTCh1mWlUGQyXK4p1Pgs8qWZwBIQIDc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LAAAAAABASta9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUAQj9mwEGFNwNRgd6Ily8moRHUPm6y57l7tT5IANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUsQWnmKwWlC3PzllTD3UronjfKtL59X3OaJioXxozhodCWtPNSXzdT5dQcS3R4PssChqtXhsr87NaJjVlbePJlHS2DQecQkmGe3r7lcT5nGv6XIvtUpkc2ZdQ0RXiY2g5AYh42Aq8T1EJh4VB7j1z9c135oTxlkuXmAikGlrmhxEuysCCDnSADc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LK0gKezyFtE0GBZRLpSp/uGv1o4OVHTiXfBiHSd+K6+SnZytqRRr4RFHLP9N9MIFIGHGxZKfve2OvYipFFfTvUOjMKawg5fnZ94W/TVaiC75iHRRnGMDYnNpTx4fiwgAAAAAAAIKa52/5igDPsC+UAEALs4PKSQAAABnUWhBwANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUs5+TVk/y3KSbu2+DR4xH0Gs1vbvFh3LoIGnUWjsTc03kAAA==';
6
- const network = networks.testnet;
7
- const wallet = new Wallet(Testnet.wallet, network);
8
- const pubkeys = [
9
- 'AgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+',
10
- 'AtOOpbDsniLbs2QGuqPFu7AnCOK9lNSSl+pvPr0m0Yx3',
11
- 'A4JEwTBwTx5QaLCFORTow27UQvkLQWZguhz6N+d8FczI',
12
- 'A7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiO',
13
- ].map((key) => Buffer.from(key, 'base64'));
14
- const utxos = [
15
- {
16
- transactionId: '2d05a02d5e3650f993ca75fe5e8a170fd4fe32347998bf3ee5eda089c259ae16',
17
- outputIndex: 1,
18
- value: 100000000n,
19
- scriptPubKey: {
20
- address: 'bcrt1ptksjlcd4ch722978mzggv8a6ywqqn64a25u6fz6syl0c37mg6q3s9rgu0k',
21
- hex: Buffer.from('USBdoS/htcX8pRfH2JCGH7ojgAnqvVU5pItQJ9+I+2jQIw==', 'base64').toString('hex'),
22
- },
23
- },
24
- ];
25
- const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
26
- const idk = EcKeyPair.generateMultiSigAddress(pubkeys, 2, network);
27
- console.log(idk, wallet.p2tr);
@@ -1,6 +0,0 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- export interface TransferEvent {
3
- readonly from: Address;
4
- readonly to: Address;
5
- readonly value: bigint;
6
- }