@btc-vision/transaction 1.0.97 → 1.0.100

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 (373) 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 +2 -3
  12. package/browser/generators/builders/CalldataGenerator.d.ts +0 -1
  13. package/browser/generators/builders/CustomGenerator.d.ts +6 -0
  14. package/browser/generators/builders/DeploymentGenerator.d.ts +0 -1
  15. package/browser/generators/builders/MultiSignGenerator.d.ts +0 -1
  16. package/browser/index.js +1 -1
  17. package/browser/keypair/EcKeyPair.d.ts +0 -1
  18. package/browser/keypair/Wallet.d.ts +0 -1
  19. package/browser/opnet.d.ts +5 -3
  20. package/browser/signer/TweakedSigner.d.ts +0 -1
  21. package/browser/transaction/TransactionFactory.d.ts +2 -0
  22. package/browser/transaction/browser/BrowserSignerBase.d.ts +0 -1
  23. package/browser/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
  24. package/{build/transaction/builders/DeploymentTransactionV2.d.ts → browser/transaction/builders/CustomScriptTransaction.d.ts} +16 -12
  25. package/browser/transaction/builders/DeploymentTransaction.d.ts +0 -1
  26. package/browser/transaction/builders/InteractionTransaction.d.ts +0 -1
  27. package/browser/transaction/builders/MultiSignTransaction.d.ts +0 -1
  28. package/browser/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
  29. package/browser/transaction/builders/TransactionBuilder.d.ts +0 -1
  30. package/browser/transaction/builders/UnwrapSegwitTransaction.d.ts +0 -1
  31. package/browser/transaction/builders/UnwrapTransaction.d.ts +0 -1
  32. package/browser/transaction/builders/WrapTransaction.d.ts +0 -1
  33. package/browser/transaction/enums/TransactionType.d.ts +2 -1
  34. package/browser/transaction/interfaces/ITransactionParameters.d.ts +0 -1
  35. package/browser/transaction/interfaces/Tap.d.ts +0 -1
  36. package/browser/transaction/shared/P2TR_MS.d.ts +0 -1
  37. package/browser/transaction/shared/TweakedTransaction.d.ts +0 -1
  38. package/browser/utils/BitcoinUtils.d.ts +0 -1
  39. package/browser/verification/TapscriptVerificator.d.ts +0 -1
  40. package/browser/wbtc/WrappedGenerationParameters.d.ts +0 -1
  41. package/build/_version.d.ts +1 -1
  42. package/build/_version.js +1 -1
  43. package/build/bytecode/Compressor.d.ts +0 -1
  44. package/build/bytecode/Compressor.js +4 -4
  45. package/build/crypto/crypto.d.ts +0 -1
  46. package/build/generators/AddressGenerator.d.ts +0 -1
  47. package/build/generators/Generator.d.ts +2 -3
  48. package/build/generators/Generator.js +3 -5
  49. package/build/generators/builders/CalldataGenerator.d.ts +0 -1
  50. package/build/generators/builders/CalldataGenerator.js +2 -0
  51. package/build/generators/builders/CustomGenerator.d.ts +6 -0
  52. package/build/generators/builders/CustomGenerator.js +16 -0
  53. package/build/generators/builders/DeploymentGenerator.d.ts +0 -1
  54. package/build/generators/builders/DeploymentGenerator.js +2 -0
  55. package/build/generators/builders/{MultisignGenerator.d.ts → MultiSignGenerator.d.ts} +0 -1
  56. package/build/generators/builders/{MultisignGenerator.js → MultiSignGenerator.js} +1 -1
  57. package/build/keypair/EcKeyPair.d.ts +0 -1
  58. package/build/keypair/EcKeyPair.js +2 -2
  59. package/build/keypair/Wallet.d.ts +0 -1
  60. package/build/keypair/Wallet.js +0 -5
  61. package/build/metadata/ContractBaseMetadata.js +0 -1
  62. package/build/metadata/contracts/wBTC.js +3 -5
  63. package/build/metadata/tokens.js +32 -30
  64. package/build/opnet.d.ts +5 -3
  65. package/build/opnet.js +5 -3
  66. package/build/signer/TweakedSigner.d.ts +0 -1
  67. package/build/transaction/TransactionFactory.d.ts +2 -0
  68. package/build/transaction/TransactionFactory.js +42 -3
  69. package/build/transaction/browser/BrowserSignerBase.d.ts +0 -1
  70. package/build/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
  71. package/build/transaction/browser/extensions/UnisatSigner.js +1 -6
  72. package/build/transaction/builders/CustomScriptTransaction.d.ts +40 -0
  73. package/build/transaction/builders/{DeploymentTransactionV2.js → CustomScriptTransaction.js} +40 -67
  74. package/build/transaction/builders/DeploymentTransaction.d.ts +0 -1
  75. package/build/transaction/builders/DeploymentTransaction.js +25 -33
  76. package/build/transaction/builders/FundingTransaction.js +1 -3
  77. package/build/transaction/builders/InteractionTransaction.d.ts +0 -1
  78. package/build/transaction/builders/InteractionTransaction.js +2 -5
  79. package/build/transaction/builders/MultiSignTransaction.d.ts +0 -1
  80. package/build/transaction/builders/MultiSignTransaction.js +66 -73
  81. package/build/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
  82. package/build/transaction/builders/SharedInteractionTransaction.js +20 -25
  83. package/build/transaction/builders/TransactionBuilder.d.ts +0 -1
  84. package/build/transaction/builders/TransactionBuilder.js +12 -21
  85. package/build/transaction/builders/UnwrapSegwitTransaction.d.ts +0 -1
  86. package/build/transaction/builders/UnwrapSegwitTransaction.js +4 -10
  87. package/build/transaction/builders/UnwrapTransaction.d.ts +0 -1
  88. package/build/transaction/builders/UnwrapTransaction.js +5 -11
  89. package/build/transaction/builders/WrapTransaction.d.ts +0 -1
  90. package/build/transaction/builders/WrapTransaction.js +5 -12
  91. package/build/transaction/enums/TransactionType.d.ts +2 -1
  92. package/build/transaction/enums/TransactionType.js +1 -0
  93. package/build/transaction/interfaces/ITransactionParameters.d.ts +0 -1
  94. package/build/transaction/interfaces/Tap.d.ts +0 -1
  95. package/build/transaction/processor/PsbtTransaction.js +3 -4
  96. package/build/transaction/shared/P2TR_MS.d.ts +0 -1
  97. package/build/transaction/shared/TweakedTransaction.d.ts +0 -1
  98. package/build/transaction/shared/TweakedTransaction.js +11 -16
  99. package/build/utils/BitcoinUtils.d.ts +0 -1
  100. package/build/utxo/OPNetLimitedProvider.js +2 -3
  101. package/build/verification/TapscriptVerificator.d.ts +0 -1
  102. package/build/verification/TapscriptVerificator.js +1 -1
  103. package/build/wbtc/UnwrapGeneration.js +0 -2
  104. package/build/wbtc/WrappedGenerationParameters.d.ts +0 -1
  105. package/build/wbtc/WrappedGenerationParameters.js +0 -6
  106. package/cjs/package.json +3 -0
  107. package/gulpfile.js +49 -133
  108. package/package.json +112 -113
  109. package/src/_version.ts +1 -1
  110. package/src/bytecode/Compressor.ts +27 -27
  111. package/src/consensus/metadata/RoswellConsensus.ts +26 -26
  112. package/src/crypto/crypto.ts +1 -1
  113. package/src/generators/Generator.ts +75 -75
  114. package/src/generators/builders/CalldataGenerator.ts +2 -0
  115. package/src/generators/builders/CustomGenerator.ts +30 -0
  116. package/src/generators/builders/DeploymentGenerator.ts +2 -0
  117. package/src/generators/builders/MultiSignGenerator.ts +73 -73
  118. package/src/metadata/contracts/wBTC.ts +60 -60
  119. package/src/metadata/tokens.ts +135 -135
  120. package/src/network/ChainId.ts +6 -6
  121. package/src/opnet.ts +82 -82
  122. package/src/signer/TweakedSigner.ts +56 -56
  123. package/src/transaction/TransactionFactory.ts +72 -14
  124. package/src/transaction/builders/CustomScriptTransaction.ts +337 -0
  125. package/src/transaction/builders/DeploymentTransaction.ts +356 -356
  126. package/src/transaction/builders/MultiSignTransaction.ts +659 -659
  127. package/src/transaction/builders/UnwrapSegwitTransaction.ts +365 -365
  128. package/src/transaction/builders/UnwrapTransaction.ts +507 -507
  129. package/src/transaction/enums/TransactionType.ts +10 -9
  130. package/src/transaction/processor/PsbtTransaction.ts +173 -173
  131. package/src/transaction/shared/P2TR_MS.ts +42 -42
  132. package/src/transaction/shared/TweakedTransaction.ts +539 -539
  133. package/src/utils/BitcoinUtils.ts +96 -96
  134. package/tsconfig.base.json +27 -43
  135. package/tsconfig.json +15 -8
  136. package/tsconfig.webpack.json +22 -22
  137. package/EPOCH.md +0 -250
  138. package/VAULT_TARGET_CONSOLIDATION.md +0 -111
  139. package/browser/network/NetworkInformation.d.ts +0 -6
  140. package/browser/transaction/browser/BrowserSigner.d.ts +0 -9
  141. package/browser/transaction/builders/TapUnwarpTransaction.d.ts +0 -40
  142. package/browser/transaction/builders/UnwarpTransaction.d.ts +0 -34
  143. package/browser/utxo/UTXOManager.d.ts +0 -7
  144. package/build/Utils.d.ts +0 -0
  145. package/build/Utils.js +0 -1
  146. package/build/consensus/metadata/RoswsellConsensus.d.ts +0 -2
  147. package/build/consensus/metadata/RoswsellConsensus.js +0 -4
  148. package/build/contracts/ContractMetadataManager.d.ts +0 -0
  149. package/build/contracts/ContractMetadataManager.js +0 -1
  150. package/build/generators/OPNetAddressGenerator.d.ts +0 -0
  151. package/build/generators/OPNetAddressGenerator.js +0 -1
  152. package/build/generators/builders/DeploymentGeneratorV2.d.ts +0 -13
  153. package/build/generators/builders/DeploymentGeneratorV2.js +0 -57
  154. package/build/generators/builders/UnwrapGenerator.d.ts +0 -8
  155. package/build/generators/builders/UnwrapGenerator.js +0 -79
  156. package/build/keypair/interfaces/GeneratedWallet.d.ts +0 -5
  157. package/build/keypair/interfaces/GeneratedWallet.js +0 -1
  158. package/build/metadata/CommonContracts.d.ts +0 -6
  159. package/build/metadata/CommonContracts.js +0 -5
  160. package/build/metadata/ContractMetadataManager.d.ts +0 -1
  161. package/build/metadata/ContractMetadataManager.js +0 -9
  162. package/build/metadata/contracts/ContractBase.d.ts +0 -9
  163. package/build/metadata/contracts/ContractBase.js +0 -13
  164. package/build/metadata/contracts/ContractBaseMetadata.d.ts +0 -9
  165. package/build/metadata/contracts/ContractBaseMetadata.js +0 -13
  166. package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
  167. package/build/metadata/contracts/ContractMetadataManager.js +0 -1
  168. package/build/network/NetworkConverter.d.ts +0 -0
  169. package/build/network/NetworkConverter.js +0 -14
  170. package/build/network/NetworkInformation.d.ts +0 -6
  171. package/build/network/NetworkInformation.js +0 -1
  172. package/build/scripts/Regtest.d.ts +0 -2
  173. package/build/scripts/Regtest.js +0 -15
  174. package/build/scripts/test.d.ts +0 -1
  175. package/build/scripts/test.js +0 -74
  176. package/build/signer/Regtest.d.ts +0 -2
  177. package/build/signer/Regtest.js +0 -15
  178. package/build/tests/Regtest.d.ts +0 -3
  179. package/build/tests/Regtest.js +0 -29
  180. package/build/tests/adaptPSBT.d.ts +0 -1
  181. package/build/tests/adaptPSBT.js +0 -44
  182. package/build/tests/btc/send.d.ts +0 -1
  183. package/build/tests/btc/send.js +0 -35
  184. package/build/tests/btc/transfer.d.ts +0 -1
  185. package/build/tests/btc/transfer.js +0 -35
  186. package/build/tests/createPairReg.d.ts +0 -1
  187. package/build/tests/createPairReg.js +0 -73
  188. package/build/tests/deploy/deployMoto.d.ts +0 -4
  189. package/build/tests/deploy/deployMoto.js +0 -89
  190. package/build/tests/deploy/deployPool.d.ts +0 -1
  191. package/build/tests/deploy/deployPool.js +0 -5
  192. package/build/tests/deploy/deployStep1.d.ts +0 -1
  193. package/build/tests/deploy/deployStep1.js +0 -5
  194. package/build/tests/deploy/deployStep2.d.ts +0 -1
  195. package/build/tests/deploy/deployStep2.js +0 -5
  196. package/build/tests/deploy/deployStep3.d.ts +0 -1
  197. package/build/tests/deploy/deployStep3.js +0 -5
  198. package/build/tests/deploy.d.ts +0 -1
  199. package/build/tests/deploy.js +0 -41
  200. package/build/tests/deployMotoRegStep1.d.ts +0 -1
  201. package/build/tests/deployMotoRegStep1.js +0 -85
  202. package/build/tests/deployReg.d.ts +0 -1
  203. package/build/tests/deployReg.js +0 -85
  204. package/build/tests/factory/createPairReg.d.ts +0 -1
  205. package/build/tests/factory/createPairReg.js +0 -13
  206. package/build/tests/gen.d.ts +0 -1
  207. package/build/tests/gen.js +0 -19
  208. package/build/tests/interaction.d.ts +0 -5
  209. package/build/tests/interaction.js +0 -62
  210. package/build/tests/massWrapReg.d.ts +0 -1
  211. package/build/tests/massWrapReg.js +0 -105
  212. package/build/tests/mineReg.d.ts +0 -1
  213. package/build/tests/mineReg.js +0 -19
  214. package/build/tests/moto/airdropToken.d.ts +0 -1
  215. package/build/tests/moto/airdropToken.js +0 -21
  216. package/build/tests/moto/airdropTokens.d.ts +0 -1
  217. package/build/tests/moto/airdropTokens.js +0 -60
  218. package/build/tests/moto/allowance.d.ts +0 -1
  219. package/build/tests/moto/allowance.js +0 -6
  220. package/build/tests/moto/approve.d.ts +0 -1
  221. package/build/tests/moto/approve.js +0 -10
  222. package/build/tests/moto/approveWBTC.d.ts +0 -1
  223. package/build/tests/moto/approveWBTC.js +0 -12
  224. package/build/tests/moto/balanceOf.d.ts +0 -1
  225. package/build/tests/moto/balanceOf.js +0 -12
  226. package/build/tests/moto/transfer.d.ts +0 -1
  227. package/build/tests/moto/transfer.js +0 -16
  228. package/build/tests/motoswap/airdropToken.d.ts +0 -11
  229. package/build/tests/motoswap/airdropToken.js +0 -36
  230. package/build/tests/motoswap/deployMoto.d.ts +0 -4
  231. package/build/tests/motoswap/deployMoto.js +0 -89
  232. package/build/tests/motoswap/deployMotoRegStep1.d.ts +0 -1
  233. package/build/tests/motoswap/deployMotoRegStep1.js +0 -91
  234. package/build/tests/motoswap/deployMotoRegStep2.d.ts +0 -1
  235. package/build/tests/motoswap/deployMotoRegStep2.js +0 -91
  236. package/build/tests/motoswap/deployPool.d.ts +0 -1
  237. package/build/tests/motoswap/deployPool.js +0 -5
  238. package/build/tests/motoswap/deployStep1.d.ts +0 -1
  239. package/build/tests/motoswap/deployStep1.js +0 -5
  240. package/build/tests/motoswap/deployStep2.d.ts +0 -1
  241. package/build/tests/motoswap/deployStep2.js +0 -5
  242. package/build/tests/motoswap/deployStep3.d.ts +0 -1
  243. package/build/tests/motoswap/deployStep3.js +0 -5
  244. package/build/tests/motoswap/interaction.d.ts +0 -3
  245. package/build/tests/motoswap/interaction.js +0 -63
  246. package/build/tests/motoswap/routerAddLiquidity.d.ts +0 -11
  247. package/build/tests/motoswap/routerAddLiquidity.js +0 -35
  248. package/build/tests/motoswap-router/addLiquidity.d.ts +0 -11
  249. package/build/tests/motoswap-router/addLiquidity.js +0 -36
  250. package/build/tests/motoswap-router/deployMoto.d.ts +0 -4
  251. package/build/tests/motoswap-router/deployMoto.js +0 -89
  252. package/build/tests/motoswap-router/deployPool.d.ts +0 -1
  253. package/build/tests/motoswap-router/deployPool.js +0 -5
  254. package/build/tests/motoswap-router/deployStep1.d.ts +0 -1
  255. package/build/tests/motoswap-router/deployStep1.js +0 -5
  256. package/build/tests/motoswap-router/deployStep2.d.ts +0 -1
  257. package/build/tests/motoswap-router/deployStep2.js +0 -5
  258. package/build/tests/motoswap-router/deployStep3.d.ts +0 -1
  259. package/build/tests/motoswap-router/deployStep3.js +0 -5
  260. package/build/tests/motoswap-router/getAmountsOut.d.ts +0 -5
  261. package/build/tests/motoswap-router/getAmountsOut.js +0 -34
  262. package/build/tests/motoswap-router/routerAddLiquidity.d.ts +0 -11
  263. package/build/tests/motoswap-router/routerAddLiquidity.js +0 -35
  264. package/build/tests/motoswap-router/swap.d.ts +0 -8
  265. package/build/tests/motoswap-router/swap.js +0 -24
  266. package/build/tests/multisign.d.ts +0 -1
  267. package/build/tests/multisign.js +0 -47
  268. package/build/tests/multisign2.d.ts +0 -1
  269. package/build/tests/multisign2.js +0 -27
  270. package/build/tests/pool/DecodePoolAddress.d.ts +0 -6
  271. package/build/tests/pool/DecodePoolAddress.js +0 -12
  272. package/build/tests/pool/decodeReserves.d.ts +0 -5
  273. package/build/tests/pool/decodeReserves.js +0 -13
  274. package/build/tests/pool/reserves.d.ts +0 -1
  275. package/build/tests/pool/reserves.js +0 -18
  276. package/build/tests/shared/Utils.d.ts +0 -2
  277. package/build/tests/shared/Utils.js +0 -14
  278. package/build/tests/shared/interaction.d.ts +0 -7
  279. package/build/tests/shared/interaction.js +0 -85
  280. package/build/tests/shared/tokens.d.ts +0 -6
  281. package/build/tests/shared/tokens.js +0 -5
  282. package/build/tests/stakeReg.d.ts +0 -1
  283. package/build/tests/stakeReg.js +0 -73
  284. package/build/tests/stakedReg.d.ts +0 -1
  285. package/build/tests/stakedReg.js +0 -28
  286. package/build/tests/test.d.ts +0 -1
  287. package/build/tests/test.js +0 -51
  288. package/build/tests/test2.d.ts +0 -1
  289. package/build/tests/test2.js +0 -73
  290. package/build/tests/testReg.d.ts +0 -1
  291. package/build/tests/testReg.js +0 -91
  292. package/build/tests/tokens.d.ts +0 -6
  293. package/build/tests/tokens.js +0 -5
  294. package/build/tests/totalRewardReg.d.ts +0 -1
  295. package/build/tests/totalRewardReg.js +0 -28
  296. package/build/tests/transfer.d.ts +0 -1
  297. package/build/tests/transfer.js +0 -74
  298. package/build/tests/transferReg.d.ts +0 -1
  299. package/build/tests/transferReg.js +0 -74
  300. package/build/tests/unStakeReg.d.ts +0 -1
  301. package/build/tests/unStakeReg.js +0 -72
  302. package/build/tests/unwrapReg.d.ts +0 -1
  303. package/build/tests/unwrapReg.js +0 -61
  304. package/build/tests/unwrapReg2.d.ts +0 -1
  305. package/build/tests/unwrapReg2.js +0 -56
  306. package/build/tests/unwrapRegSegwit.d.ts +0 -1
  307. package/build/tests/unwrapRegSegwit.js +0 -83
  308. package/build/tests/wbtc/approve.d.ts +0 -1
  309. package/build/tests/wbtc/approve.js +0 -6
  310. package/build/tests/wbtc/approveWBTC.d.ts +0 -1
  311. package/build/tests/wbtc/approveWBTC.js +0 -12
  312. package/build/tests/wbtc/massWrapReg.d.ts +0 -1
  313. package/build/tests/wbtc/massWrapReg.js +0 -105
  314. package/build/tests/wbtc/transfer.d.ts +0 -1
  315. package/build/tests/wbtc/transfer.js +0 -16
  316. package/build/tests/wbtc/transferReg.d.ts +0 -1
  317. package/build/tests/wbtc/transferReg.js +0 -16
  318. package/build/tests/wbtc/unStakeReg.d.ts +0 -1
  319. package/build/tests/wbtc/unStakeReg.js +0 -72
  320. package/build/tests/wbtc/unwrapReg.d.ts +0 -1
  321. package/build/tests/wbtc/unwrapReg.js +0 -60
  322. package/build/tests/wbtc/unwrapRegSegwit.d.ts +0 -1
  323. package/build/tests/wbtc/unwrapRegSegwit.js +0 -83
  324. package/build/tests/wbtc/withdrawalRequestReg.d.ts +0 -1
  325. package/build/tests/wbtc/withdrawalRequestReg.js +0 -71
  326. package/build/tests/wbtc/wrapReg.d.ts +0 -1
  327. package/build/tests/wbtc/wrapReg.js +0 -65
  328. package/build/tests/wbtc/wrapTest.d.ts +0 -1
  329. package/build/tests/wbtc/wrapTest.js +0 -66
  330. package/build/tests/withdrawalRequestReg.d.ts +0 -1
  331. package/build/tests/withdrawalRequestReg.js +0 -71
  332. package/build/tests/wrap.d.ts +0 -1
  333. package/build/tests/wrap.js +0 -65
  334. package/build/tests/wrapReg.d.ts +0 -1
  335. package/build/tests/wrapReg.js +0 -68
  336. package/build/tests/wrapTest.d.ts +0 -1
  337. package/build/tests/wrapTest.js +0 -66
  338. package/build/tests/wrapTestg.d.ts +0 -1
  339. package/build/tests/wrapTestg.js +0 -66
  340. package/build/tests/writers/allowance.d.ts +0 -3
  341. package/build/tests/writers/allowance.js +0 -10
  342. package/build/tests/writers/approve.d.ts +0 -4
  343. package/build/tests/writers/approve.js +0 -11
  344. package/build/transaction/TransactionBuilder.d.ts +0 -60
  345. package/build/transaction/TransactionBuilder.js +0 -244
  346. package/build/transaction/browser/BrowserSigner.d.ts +0 -11
  347. package/build/transaction/browser/BrowserSigner.js +0 -10
  348. package/build/transaction/browser/extensions/Unisat.d.ts +0 -54
  349. package/build/transaction/browser/extensions/Unisat.js +0 -11
  350. package/build/transaction/builders/GenericTransaction.d.ts +0 -11
  351. package/build/transaction/builders/GenericTransaction.js +0 -23
  352. package/build/transaction/builders/TapUnwarpTransaction.d.ts +0 -37
  353. package/build/transaction/builders/TapUnwarpTransaction.js +0 -201
  354. package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +0 -34
  355. package/build/transaction/builders/UnwarpSegwitTransaction.js +0 -184
  356. package/build/transaction/builders/UnwarpTransaction.d.ts +0 -35
  357. package/build/transaction/builders/UnwarpTransaction.js +0 -199
  358. package/build/transaction/interfaces/ITransactions.d.ts +0 -32
  359. package/build/transaction/interfaces/ITransactions.js +0 -1
  360. package/build/utxo/IUTXO.d.ts +0 -0
  361. package/build/utxo/IUTXO.js +0 -1
  362. package/build/utxo/OPNetUtils.d.ts +0 -7
  363. package/build/utxo/OPNetUtils.js +0 -47
  364. package/build/utxo/UTXOManager.d.ts +0 -7
  365. package/build/utxo/UTXOManager.js +0 -47
  366. package/build/wbtc/BroadcastResponse.d.ts +0 -0
  367. package/build/wbtc/BroadcastResponse.js +0 -1
  368. package/examples/Deploy.md +0 -188
  369. package/examples/Unwrap.md +0 -165
  370. package/examples/Wrap.md +0 -194
  371. package/tsconfig.cjs.json +0 -13
  372. /package/build/generators/{features.d.ts → Features.d.ts} +0 -0
  373. /package/build/generators/{features.js → Features.js} +0 -0
package/src/opnet.ts CHANGED
@@ -1,82 +1,82 @@
1
- export { version } from './_version.js';
2
-
3
- /** Bytecode */
4
- export * from './bytecode/Compressor.js';
5
-
6
- /** Generators */
7
- export * from './generators/Generator.js';
8
- export * from './generators/builders/CalldataGenerator.js';
9
- export * from './generators/builders/DeploymentGenerator.js';
10
- export * from './generators/Features.js';
11
-
12
- /** Address */
13
- export * from './generators/AddressGenerator.js';
14
- export * from './verification/TapscriptVerificator.js';
15
-
16
- /** Key Pair */
17
- export * from './keypair/EcKeyPair.js';
18
- export * from './keypair/Wallet.js';
19
- export * from './keypair/interfaces/IWallet.js';
20
- export * from './keypair/AddressVerificator.js';
21
-
22
- /** Metadata */
23
- export * from './metadata/contracts/wBTC.js';
24
- export * from './metadata/ContractBaseMetadata.js';
25
-
26
- /** Signer */
27
- export * from './signer/TweakedSigner.js';
28
-
29
- /** Transaction */
30
- export * from './transaction/TransactionFactory.js';
31
- export * from './transaction/interfaces/ITransactionParameters.js';
32
- export * from './transaction/interfaces/Tap.js';
33
- export * from './transaction/enums/TransactionType.js';
34
-
35
- /** Builders */
36
- export * from './transaction/builders/InteractionTransaction.js';
37
- export * from './transaction/builders/FundingTransaction.js';
38
- export * from './transaction/builders/TransactionBuilder.js';
39
- export * from './transaction/builders/WrapTransaction.js';
40
- export * from './transaction/builders/SharedInteractionTransaction.js';
41
- export * from './transaction/builders/DeploymentTransaction.js';
42
-
43
- /** wBTC */
44
- export * from './wbtc/WrappedGenerationParameters.js';
45
- export * from './wbtc/Generate.js';
46
- export * from './network/ChainId.js';
47
-
48
- /** Utils */
49
- export * from './utils/BitcoinUtils.js';
50
-
51
- /** UTXO */
52
- export * from './utxo/interfaces/IUTXO.js';
53
- export * from './utxo/OPNetLimitedProvider.js';
54
-
55
- /** Processor */
56
- export * from './transaction/processor/PsbtTransaction.js';
57
-
58
- /** Shared */
59
- export * from './transaction/shared/TweakedTransaction.js';
60
- export * from './utxo/interfaces/BroadcastResponse.js';
61
- export * from './transaction/psbt/PSBTTypes.js';
62
-
63
- export * from './transaction/builders/MultiSignTransaction.js';
64
- export * from './generators/builders/MultiSignGenerator.js';
65
-
66
- export * from './transaction/shared/P2TR_MS.js';
67
- export * from './transaction/builders/UnwrapTransaction.js';
68
-
69
- export * from './wbtc/UnwrapGeneration.js';
70
-
71
- /** Consensus */
72
- export * from './consensus/ConsensusConfig.js';
73
- export * from './consensus/Consensus.js';
74
- export * from './consensus/metadata/RoswellConsensus.js';
75
-
76
- /** Custom signers */
77
- export * from './transaction/browser/BrowserSignerBase.js';
78
- export * from './transaction/browser/extensions/UnisatSigner.js';
79
- export * from './transaction/browser/types/Unisat.js';
80
-
81
- export * from './transaction/browser/Web3Provider.js';
82
- export * from './metadata/tokens.js';
1
+ export { version } from './_version.js';
2
+
3
+ /** Bytecode */
4
+ export * from './bytecode/Compressor.js';
5
+
6
+ /** Generators */
7
+ export * from './generators/Generator.js';
8
+ export * from './generators/builders/CalldataGenerator.js';
9
+ export * from './generators/builders/DeploymentGenerator.js';
10
+ export * from './generators/builders/CustomGenerator.js';
11
+ export * from './generators/builders/MultiSignGenerator.js';
12
+ export * from './generators/Features.js';
13
+
14
+ /** Address */
15
+ export * from './generators/AddressGenerator.js';
16
+ export * from './verification/TapscriptVerificator.js';
17
+
18
+ /** Key Pair */
19
+ export * from './keypair/EcKeyPair.js';
20
+ export * from './keypair/Wallet.js';
21
+ export * from './keypair/interfaces/IWallet.js';
22
+ export * from './keypair/AddressVerificator.js';
23
+
24
+ /** Metadata */
25
+ export * from './metadata/contracts/wBTC.js';
26
+ export * from './metadata/ContractBaseMetadata.js';
27
+
28
+ /** Signer */
29
+ export * from './signer/TweakedSigner.js';
30
+
31
+ /** Transaction */
32
+ export * from './transaction/TransactionFactory.js';
33
+ export * from './transaction/interfaces/ITransactionParameters.js';
34
+ export * from './transaction/interfaces/Tap.js';
35
+ export * from './transaction/enums/TransactionType.js';
36
+
37
+ /** Builders */
38
+ export * from './transaction/builders/InteractionTransaction.js';
39
+ export * from './transaction/builders/FundingTransaction.js';
40
+ export * from './transaction/builders/TransactionBuilder.js';
41
+ export * from './transaction/builders/WrapTransaction.js';
42
+ export * from './transaction/builders/SharedInteractionTransaction.js';
43
+ export * from './transaction/builders/DeploymentTransaction.js';
44
+ export * from './transaction/builders/UnwrapTransaction.js';
45
+ export * from './transaction/builders/CustomScriptTransaction.js';
46
+ export * from './transaction/builders/MultiSignTransaction.js';
47
+
48
+ /** wBTC */
49
+ export * from './wbtc/WrappedGenerationParameters.js';
50
+ export * from './wbtc/Generate.js';
51
+ export * from './network/ChainId.js';
52
+
53
+ /** Utils */
54
+ export * from './utils/BitcoinUtils.js';
55
+
56
+ /** UTXO */
57
+ export * from './utxo/interfaces/IUTXO.js';
58
+ export * from './utxo/OPNetLimitedProvider.js';
59
+
60
+ /** Processor */
61
+ export * from './transaction/processor/PsbtTransaction.js';
62
+
63
+ /** Shared */
64
+ export * from './transaction/shared/TweakedTransaction.js';
65
+ export * from './utxo/interfaces/BroadcastResponse.js';
66
+ export * from './transaction/psbt/PSBTTypes.js';
67
+
68
+ export * from './transaction/shared/P2TR_MS.js';
69
+ export * from './wbtc/UnwrapGeneration.js';
70
+
71
+ /** Consensus */
72
+ export * from './consensus/ConsensusConfig.js';
73
+ export * from './consensus/Consensus.js';
74
+ export * from './consensus/metadata/RoswellConsensus.js';
75
+
76
+ /** Custom signers */
77
+ export * from './transaction/browser/BrowserSignerBase.js';
78
+ export * from './transaction/browser/extensions/UnisatSigner.js';
79
+ export * from './transaction/browser/types/Unisat.js';
80
+
81
+ export * from './transaction/browser/Web3Provider.js';
82
+ export * from './metadata/tokens.js';
@@ -1,56 +1,56 @@
1
- import { initEccLib, Network, Signer } from 'bitcoinjs-lib';
2
- import { tapTweakHash } from 'bitcoinjs-lib/src/payments/bip341.js';
3
- import { toXOnly } from 'bitcoinjs-lib/src/psbt/bip371.js';
4
- import * as ecc from '@bitcoinerlab/secp256k1';
5
- import { EcKeyPair } from '../keypair/EcKeyPair.js';
6
- import { ECPairInterface } from 'ecpair';
7
-
8
- initEccLib(ecc);
9
-
10
- /**
11
- * Tweak settings
12
- */
13
- export interface TweakSettings {
14
- /**
15
- * The network to use
16
- */
17
- readonly network?: Network;
18
-
19
- /**
20
- * The tweak hash to use
21
- */
22
- tweakHash?: Buffer;
23
- }
24
-
25
- /**
26
- * Class for tweaking signers
27
- * @class TweakedSigner
28
- */
29
- export class TweakedSigner {
30
- /**
31
- * Tweak a signer
32
- * @param {Signer} signer - The signer to tweak
33
- * @param {TweakSettings} opts - The tweak settings
34
- */
35
- public static tweakSigner(signer: ECPairInterface, opts: TweakSettings = {}): Signer {
36
- let privateKey: Uint8Array | undefined = signer.privateKey!;
37
- if (!privateKey) {
38
- throw new Error('Private key is required for tweaking signer!');
39
- }
40
-
41
- if (signer.publicKey[0] === 3) {
42
- privateKey = ecc.privateNegate(privateKey);
43
- }
44
-
45
- const tweakedPrivateKey = ecc.privateAdd(
46
- privateKey,
47
- tapTweakHash(toXOnly(signer.publicKey), opts.tweakHash),
48
- );
49
-
50
- if (!tweakedPrivateKey) {
51
- throw new Error('Invalid tweaked private key!');
52
- }
53
-
54
- return EcKeyPair.fromPrivateKey(Buffer.from(tweakedPrivateKey), opts.network);
55
- }
56
- }
1
+ import { initEccLib, Network, Signer } from 'bitcoinjs-lib';
2
+ import { tapTweakHash } from 'bitcoinjs-lib/src/payments/bip341.js';
3
+ import { toXOnly } from 'bitcoinjs-lib/src/psbt/bip371.js';
4
+ import * as ecc from '@bitcoinerlab/secp256k1';
5
+ import { EcKeyPair } from '../keypair/EcKeyPair.js';
6
+ import { ECPairInterface } from 'ecpair';
7
+
8
+ initEccLib(ecc);
9
+
10
+ /**
11
+ * Tweak settings
12
+ */
13
+ export interface TweakSettings {
14
+ /**
15
+ * The network to use
16
+ */
17
+ readonly network?: Network;
18
+
19
+ /**
20
+ * The tweak hash to use
21
+ */
22
+ tweakHash?: Buffer;
23
+ }
24
+
25
+ /**
26
+ * Class for tweaking signers
27
+ * @class TweakedSigner
28
+ */
29
+ export class TweakedSigner {
30
+ /**
31
+ * Tweak a signer
32
+ * @param {Signer} signer - The signer to tweak
33
+ * @param {TweakSettings} opts - The tweak settings
34
+ */
35
+ public static tweakSigner(signer: ECPairInterface, opts: TweakSettings = {}): Signer {
36
+ let privateKey: Uint8Array | undefined = signer.privateKey!;
37
+ if (!privateKey) {
38
+ throw new Error('Private key is required for tweaking signer!');
39
+ }
40
+
41
+ if (signer.publicKey[0] === 3) {
42
+ privateKey = ecc.privateNegate(privateKey);
43
+ }
44
+
45
+ const tweakedPrivateKey = ecc.privateAdd(
46
+ privateKey,
47
+ tapTweakHash(toXOnly(signer.publicKey), opts.tweakHash),
48
+ );
49
+
50
+ if (!tweakedPrivateKey) {
51
+ throw new Error('Invalid tweaked private key!');
52
+ }
53
+
54
+ return EcKeyPair.fromPrivateKey(Buffer.from(tweakedPrivateKey), opts.network);
55
+ }
56
+ }
@@ -21,6 +21,10 @@ import { UnwrapTransaction } from './builders/UnwrapTransaction.js';
21
21
  import { currentConsensus, currentConsensusConfig } from '../consensus/ConsensusConfig.js';
22
22
  import { TransactionBuilder } from './builders/TransactionBuilder.js';
23
23
  import { TransactionType } from './enums/TransactionType.js';
24
+ import {
25
+ CustomScriptTransaction,
26
+ ICustomTransactionParameters,
27
+ } from './builders/CustomScriptTransaction';
24
28
 
25
29
  export interface DeploymentResult {
26
30
  readonly transaction: [string, string];
@@ -71,6 +75,74 @@ export interface UnwrapResult {
71
75
  export class TransactionFactory {
72
76
  constructor() {}
73
77
 
78
+ /**
79
+ * @description Generate a transaction with a custom script.
80
+ * @returns {Promise<[string, string]>} - The signed transaction
81
+ */
82
+ public async createCustomScriptTransaction(
83
+ interactionParameters: ICustomTransactionParameters,
84
+ ): Promise<[string, string, UTXO[]]> {
85
+ if (!interactionParameters.to) {
86
+ throw new Error('Field "to" not provided.');
87
+ }
88
+
89
+ if (!interactionParameters.from) {
90
+ throw new Error('Field "from" not provided.');
91
+ }
92
+
93
+ const preTransaction: CustomScriptTransaction = new CustomScriptTransaction({
94
+ ...interactionParameters,
95
+ utxos: [interactionParameters.utxos[0]], // we simulate one input here.
96
+ });
97
+
98
+ // we don't sign that transaction, we just need the parameters.
99
+
100
+ await preTransaction.generateTransactionMinimalSignatures();
101
+
102
+ const parameters: IFundingTransactionParameters =
103
+ await preTransaction.getFundingTransactionParameters();
104
+
105
+ parameters.utxos = interactionParameters.utxos;
106
+ parameters.amount =
107
+ (await preTransaction.estimateTransactionFees()) + interactionParameters.priorityFee;
108
+
109
+ const feeEstimationFundingTransaction = await this.createFundTransaction({ ...parameters });
110
+ if (!feeEstimationFundingTransaction) {
111
+ throw new Error('Could not sign funding transaction.');
112
+ }
113
+
114
+ parameters.estimatedFees = feeEstimationFundingTransaction.estimatedFees;
115
+
116
+ const signedTransaction = await this.createFundTransaction(parameters);
117
+ if (!signedTransaction) {
118
+ throw new Error('Could not sign funding transaction.');
119
+ }
120
+
121
+ interactionParameters.utxos = this.getUTXOAsTransaction(
122
+ signedTransaction.tx,
123
+ interactionParameters.to,
124
+ 0,
125
+ );
126
+
127
+ const newParams: ICustomTransactionParameters = {
128
+ ...interactionParameters,
129
+ utxos: this.getUTXOAsTransaction(signedTransaction.tx, interactionParameters.to, 0), // always 0
130
+ randomBytes: preTransaction.getRndBytes(),
131
+ nonWitnessUtxo: signedTransaction.tx.toBuffer(),
132
+ estimatedFees: preTransaction.estimatedFees,
133
+ };
134
+
135
+ const finalTransaction: CustomScriptTransaction = new CustomScriptTransaction(newParams);
136
+
137
+ // We have to regenerate using the new utxo
138
+ const outTx: Transaction = await finalTransaction.signTransaction();
139
+ return [
140
+ signedTransaction.tx.toHex(),
141
+ outTx.toHex(),
142
+ this.getUTXOAsTransaction(signedTransaction.tx, interactionParameters.from, 1), // always 1
143
+ ];
144
+ }
145
+
74
146
  /**
75
147
  * @description Generates the required transactions.
76
148
  * @returns {Promise<[string, string]>} - The signed transaction
@@ -132,7 +204,6 @@ export class TransactionFactory {
132
204
 
133
205
  // We have to regenerate using the new utxo
134
206
  const outTx: Transaction = await finalTransaction.signTransaction();
135
-
136
207
  return [
137
208
  signedTransaction.tx.toHex(),
138
209
  outTx.toHex(),
@@ -243,8 +314,6 @@ export class TransactionFactory {
243
314
  const parameters: IFundingTransactionParameters =
244
315
  await preTransaction.getFundingTransactionParameters();
245
316
 
246
- console.log('wrap parameters', parameters);
247
-
248
317
  // We add the amount
249
318
  parameters.amount += childTransactionRequiredValue;
250
319
  parameters.utxos = fundingParameters.utxos;
@@ -300,15 +369,6 @@ export class TransactionFactory {
300
369
  this.maxPubKeySize(unwrapParameters.unwrapUTXOs),
301
370
  );
302
371
 
303
- console.log(
304
- 'estimatedFees',
305
- estimatedFees,
306
- 'estimatedGas',
307
- estimatedGas,
308
- 'priority',
309
- unwrapParameters.priorityFee,
310
- );
311
-
312
372
  const fundingParameters: IFundingTransactionParameters = {
313
373
  ...unwrapParameters,
314
374
  amount: estimatedGas + estimatedFees,
@@ -402,8 +462,6 @@ export class TransactionFactory {
402
462
  parameters.amount =
403
463
  (await preTransaction.estimateTransactionFees()) + unwrapParameters.priorityFee;
404
464
 
405
- console.log('parameters', parameters);
406
-
407
465
  const signedTransaction = await this.createFundTransaction(parameters);
408
466
  if (!signedTransaction) {
409
467
  throw new Error('Could not sign funding transaction.');