@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/package.json CHANGED
@@ -1,113 +1,112 @@
1
- {
2
- "type": "module",
3
- "version": "1.0.97",
4
- "author": "BlobMaster41",
5
- "description": "OPNet transaction library allows you to create and sign transactions for the OPNet network.",
6
- "engines": {
7
- "node": ">=16.0.0"
8
- },
9
- "exports": {
10
- "node": {
11
- "import": "./build/index.js",
12
- "require": "./cjs/index.js",
13
- "types": "./build/index.d.ts"
14
- },
15
- "browser": {
16
- "import": "./browser/index.js",
17
- "require": "./browser/index.js",
18
- "types": "./browser/index.d.ts"
19
- }
20
- },
21
- "browser": {
22
- "Buffer": "buffer",
23
- "crypto": "./src/crypto/crypto-browser.js",
24
- "stream": "stream-browserify",
25
- "zlib": "browserify-zlib"
26
- },
27
- "homepage": "https://opnet.org",
28
- "keywords": [
29
- "opnet",
30
- "bsi",
31
- "bsi-binary",
32
- "bsi-bitcoin-rpc",
33
- "bitcoin transaction",
34
- "transaction builder",
35
- "transaction signer",
36
- "bitcoin",
37
- "btc",
38
- "bitcoin smart contracts",
39
- "smart inscriptions",
40
- "ordinals"
41
- ],
42
- "license": "LICENSE.MD",
43
- "main": "build/index.js",
44
- "types": "build/index.d.ts",
45
- "typings": "build/index.d.ts",
46
- "module": "build/index.js",
47
- "name": "@btc-vision/transaction",
48
- "publishConfig": {
49
- "access": "public",
50
- "tag": "latest"
51
- },
52
- "repository": {
53
- "type": "git",
54
- "url": "git://github.com/btc-vision/transaction.git"
55
- },
56
- "scripts": {
57
- "watch": "gulp watch",
58
- "build": "gulp && gulp cjs",
59
- "setup": "npm npm i && npm run build",
60
- "browserBuild": "webpack --mode production",
61
- "cjs": "gulp cjs",
62
- "docs": "typedoc --out docs --exclude 'src/tests/*.ts' --tsconfig tsconfig.json --readme README.md --name OPNet --plugin typedoc-material-theme --themeColor '#cb9820' --exclude src/tests/test.ts --exclude src/index.ts src",
63
- "postinstall": "gulp && gulp cjs",
64
- "build:dev": "gulp cjs && gulp && npm run browserBuild"
65
- },
66
- "devDependencies": {
67
- "@babel/plugin-proposal-class-properties": "^7.18.6",
68
- "@babel/plugin-transform-runtime": "^7.24.3",
69
- "@babel/preset-env": "^7.24.5",
70
- "@babel/preset-flow": "^7.24.1",
71
- "@babel/preset-react": "^7.24.1",
72
- "@babel/preset-typescript": "^7.24.1",
73
- "@types/node": "^20.11.30",
74
- "eslint": "^8.57.0",
75
- "https-browserify": "^1.0.0",
76
- "os-browserify": "^0.3.0",
77
- "prettier": "^3.3.1",
78
- "stream-browserify": "^3.0.0",
79
- "stream-http": "^3.2.0",
80
- "typedoc": "^0.25.13",
81
- "typedoc-material-theme": "^1.0.2",
82
- "typescript": "^5.4.5",
83
- "typescript-eslint": "^7.4.0",
84
- "webpack": "^5.91.0",
85
- "webpack-cli": "^5.1.4"
86
- },
87
- "dependencies": {
88
- "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
89
- "@bitcoinerlab/secp256k1": "^1.1.1",
90
- "@btc-vision/bsi-binary": "^1.0.38",
91
- "@btc-vision/bsi-bitcoin-rpc": "^1.0.25",
92
- "@btc-vision/logger": "^1.0.3",
93
- "assert": "^2.1.0",
94
- "babel-loader": "^9.1.3",
95
- "babel-plugin-transform-import-meta": "^2.2.1",
96
- "babel-preset-react": "^6.24.1",
97
- "babelify": "^10.0.0",
98
- "bech32": "^2.0.0",
99
- "bignumber.js": "^9.1.2",
100
- "bip32": "^4.0.0",
101
- "bitcoinjs-lib": "github:btc-vision/bitcoinjs-lib",
102
- "browserify-zlib": "^0.2.0",
103
- "buffer": "^6.0.3",
104
- "ecpair": "^2.1.0",
105
- "gulp": "^4.0.2",
106
- "gulp-cached": "^1.1.1",
107
- "gulp-logger": "^0.0.2",
108
- "gulp-typescript": "^6.0.0-alpha.1",
109
- "gulplog": "^2.2.0",
110
- "ts-loader": "^9.5.1",
111
- "ts-node": "^10.9.2"
112
- }
113
- }
1
+ {
2
+ "name": "@btc-vision/transaction",
3
+ "type": "module",
4
+ "version": "1.0.100",
5
+ "author": "BlobMaster41",
6
+ "description": "OPNet transaction library allows you to create and sign transactions for the OPNet network.",
7
+ "engines": {
8
+ "node": ">=16.0.0"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "import": "./build/index.js",
13
+ "require": "./build/index.js",
14
+ "types": "./build/index.d.ts"
15
+ },
16
+ "./browser": {
17
+ "import": "./browser/index.js",
18
+ "require": "./browser/index.js",
19
+ "types": "./browser/index.d.ts"
20
+ }
21
+ },
22
+ "browser": {
23
+ "Buffer": "buffer",
24
+ "crypto": "./src/crypto/crypto-browser.js",
25
+ "stream": "stream-browserify",
26
+ "zlib": "browserify-zlib"
27
+ },
28
+ "homepage": "https://opnet.org",
29
+ "keywords": [
30
+ "opnet",
31
+ "bsi",
32
+ "bsi-binary",
33
+ "bsi-bitcoin-rpc",
34
+ "bitcoin transaction",
35
+ "transaction builder",
36
+ "transaction signer",
37
+ "bitcoin",
38
+ "btc",
39
+ "bitcoin smart contracts",
40
+ "smart inscriptions",
41
+ "ordinals"
42
+ ],
43
+ "license": "LICENSE.MD",
44
+ "main": "build/index.js",
45
+ "types": "build/index.d.ts",
46
+ "typings": "build/index.d.ts",
47
+ "module": "build/index.js",
48
+ "publishConfig": {
49
+ "access": "public",
50
+ "tag": "latest"
51
+ },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git://github.com/btc-vision/transaction.git"
55
+ },
56
+ "scripts": {
57
+ "watch": "gulp watch",
58
+ "build": "gulp build",
59
+ "setup": "npm i && npm run build",
60
+ "browserBuild": "webpack --mode production",
61
+ "docs": "typedoc --out docs --exclude 'src/tests/*.ts' --tsconfig tsconfig.json --readme README.md --name OPNet --plugin typedoc-material-theme --themeColor '#cb9820' --exclude src/tests/test.ts --exclude src/index.ts src"
62
+ },
63
+ "devDependencies": {
64
+ "@babel/core": "^7.25.2",
65
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
66
+ "@babel/plugin-transform-runtime": "^7.24.3",
67
+ "@babel/preset-env": "^7.24.4",
68
+ "@babel/preset-flow": "^7.24.1",
69
+ "@babel/preset-react": "^7.24.1",
70
+ "@babel/preset-typescript": "^7.24.1",
71
+ "@types/node": "^22.5.5",
72
+ "eslint": "^8.57.0",
73
+ "gulp": "^5.0.0",
74
+ "gulp-cached": "^1.1.1",
75
+ "gulp-logger": "^0.0.2",
76
+ "gulp-typescript": "^6.0.0-alpha.1",
77
+ "https-browserify": "^1.0.0",
78
+ "os-browserify": "^0.3.0",
79
+ "prettier": "^3.3.1",
80
+ "stream-browserify": "^3.0.0",
81
+ "stream-http": "^3.2.0",
82
+ "typedoc": "^0.25.13",
83
+ "typedoc-material-theme": "^1.0.2",
84
+ "typescript-eslint": "^7.4.0",
85
+ "webpack": "^5.91.0",
86
+ "webpack-cli": "^5.1.4"
87
+ },
88
+ "dependencies": {
89
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
90
+ "@bitcoinerlab/secp256k1": "^1.1.1",
91
+ "@btc-vision/bsi-binary": "^1.0.38",
92
+ "@btc-vision/bsi-bitcoin-rpc": "^1.0.26",
93
+ "@btc-vision/logger": "^1.0.4",
94
+ "assert": "^2.1.0",
95
+ "babel-loader": "^9.1.3",
96
+ "babel-plugin-transform-import-meta": "^2.2.1",
97
+ "babel-preset-react": "^6.24.1",
98
+ "babelify": "^10.0.0",
99
+ "bech32": "^2.0.0",
100
+ "bignumber.js": "^9.1.2",
101
+ "bip32": "^4.0.0",
102
+ "bitcoinjs-lib": "github:btc-vision/bitcoinjs-lib",
103
+ "browserify-zlib": "^0.2.0",
104
+ "buffer": "^6.0.3",
105
+ "ecpair": "^2.1.0",
106
+ "gulplog": "^2.2.0",
107
+ "process": "^0.11.10",
108
+ "ts-loader": "^9.5.1",
109
+ "ts-node": "^10.9.2",
110
+ "typescript": "^5.6.2"
111
+ }
112
+ }
package/src/_version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.0.96';
1
+ export const version = '1.0.100';
@@ -1,27 +1,27 @@
1
- import zlib, { ZlibOptions } from 'zlib';
2
-
3
- /** Compressor class for compressing and decompressing data. */
4
- export class Compressor {
5
- private static readonly zlibOptions: ZlibOptions = {
6
- level: 9,
7
- maxOutputLength: 1024 * 1024 * 16, // 16mb, limit it to 16mb.
8
- };
9
-
10
- /**
11
- * Compresses the data using gzip.
12
- * @param {Uint8Array | Buffer} data The data to compress.
13
- * @returns {Buffer} The compressed data.
14
- */
15
- public static compress(data: Uint8Array | Buffer): Buffer {
16
- return zlib.gzipSync(data, Compressor.zlibOptions);
17
- }
18
-
19
- /**
20
- * Decompresses the data using gunzip.
21
- * @param {Uint8Array | Buffer} data The data to decompress.
22
- * @returns {Buffer} The decompressed data.
23
- */
24
- public static decompress(data: Uint8Array | Buffer): Buffer {
25
- return zlib.gunzipSync(data, Compressor.zlibOptions);
26
- }
27
- }
1
+ import zlib, { ZlibOptions } from 'zlib';
2
+
3
+ /** Compressor class for compressing and decompressing data. */
4
+ export class Compressor {
5
+ private static readonly zlibOptions: ZlibOptions = {
6
+ level: 9,
7
+ maxOutputLength: 1024 * 1024 * 16, // 16mb, limit it to 16mb.
8
+ };
9
+
10
+ /**
11
+ * Compresses the data using gzip.
12
+ * @param {Uint8Array | Buffer} data The data to compress.
13
+ * @returns {Buffer} The compressed data.
14
+ */
15
+ public static compress(data: Uint8Array | Buffer): Buffer {
16
+ return zlib.gzipSync(data, Compressor.zlibOptions);
17
+ }
18
+
19
+ /**
20
+ * Decompresses the data using gunzip.
21
+ * @param {Uint8Array | Buffer} data The data to decompress.
22
+ * @returns {Buffer} The decompressed data.
23
+ */
24
+ public static decompress(data: Uint8Array | Buffer): Buffer {
25
+ return zlib.gunzipSync(data, Compressor.zlibOptions);
26
+ }
27
+ }
@@ -1,26 +1,26 @@
1
- import { ConsensusConfig } from '../ConsensusConfig.js';
2
- import { Consensus } from '../Consensus.js';
3
-
4
- export const RoswellConsensus: ConsensusConfig<Consensus.Roswell> = {
5
- CONSENSUS: Consensus.Roswell,
6
- CONSENSUS_NAME: 'Roswell',
7
-
8
- // The block height at which this consensus was enabled.
9
- ENABLED_AT_BLOCK: 0n,
10
-
11
- // Defines the minimum amount that can be consolidated in a single transaction.
12
- VAULT_MINIMUM_AMOUNT: 200000n,
13
-
14
- // Defines the requested minimum acceptance for joining UTXOs when an unwrap is being done.
15
- // If the consolidate output going back to the vault is lower than this amount, the transaction will be rejected.
16
- // User must pay for the consolidation, this help the network by having fewer UTXOs.
17
- VAULT_NETWORK_CONSOLIDATION_ACCEPTANCE: 200000n * 2n,
18
-
19
- // Everytime an user wrap bitcoin, he prepays the fees for the consolidation at a maximum fee rate of the following determined value.
20
- // If the fees are lower, the user will be refunded the difference.
21
- // If the fees are higher, the user must pay the difference.
22
- UNWRAP_CONSOLIDATION_PREPAID_FEES: 250n,
23
-
24
- // Equivalent to 56500 satoshis, calculated from UNWRAP_CONSOLIDATION_PREPAID_FEES.
25
- UNWRAP_CONSOLIDATION_PREPAID_FEES_SAT: 56500n,
26
- };
1
+ import { ConsensusConfig } from '../ConsensusConfig.js';
2
+ import { Consensus } from '../Consensus.js';
3
+
4
+ export const RoswellConsensus: ConsensusConfig<Consensus.Roswell> = {
5
+ CONSENSUS: Consensus.Roswell,
6
+ CONSENSUS_NAME: 'Roswell',
7
+
8
+ // The block height at which this consensus was enabled.
9
+ ENABLED_AT_BLOCK: 0n,
10
+
11
+ // Defines the minimum amount that can be consolidated in a single transaction.
12
+ VAULT_MINIMUM_AMOUNT: 200000n,
13
+
14
+ // Defines the requested minimum acceptance for joining UTXOs when an unwrap is being done.
15
+ // If the consolidate output going back to the vault is lower than this amount, the transaction will be rejected.
16
+ // User must pay for the consolidation, this help the network by having fewer UTXOs.
17
+ VAULT_NETWORK_CONSOLIDATION_ACCEPTANCE: 200000n * 2n,
18
+
19
+ // Everytime an user wrap bitcoin, he prepays the fees for the consolidation at a maximum fee rate of the following determined value.
20
+ // If the fees are lower, the user will be refunded the difference.
21
+ // If the fees are higher, the user must pay the difference.
22
+ UNWRAP_CONSOLIDATION_PREPAID_FEES: 250n,
23
+
24
+ // Equivalent to 56500 satoshis, calculated from UNWRAP_CONSOLIDATION_PREPAID_FEES.
25
+ UNWRAP_CONSOLIDATION_PREPAID_FEES_SAT: 56500n,
26
+ };
@@ -1 +1 @@
1
- export { createHash, createHmac, pbkdf2Sync, randomBytes } from 'crypto';
1
+ export { createHash, createHmac, pbkdf2Sync, randomBytes } from 'crypto';
@@ -1,75 +1,75 @@
1
- import { Network, networks } from 'bitcoinjs-lib';
2
-
3
- /** Bitcoin Script Generator */
4
- export abstract class Generator {
5
- /**
6
- * The maximum size of a data chunk
7
- */
8
- public static readonly DATA_CHUNK_SIZE: number = 512;
9
-
10
- /**
11
- * The magic number of OPNet
12
- */
13
- public static readonly MAGIC: Buffer = Buffer.from('bsi', 'utf-8');
14
-
15
- /**
16
- * The public key of the sender
17
- * @protected
18
- */
19
- protected readonly senderPubKey: Buffer;
20
-
21
- /**
22
- * The public key of the contract salt
23
- * @protected
24
- */
25
- protected readonly contractSaltPubKey: Buffer;
26
-
27
- /**
28
- * The network to use
29
- * @protected
30
- */
31
- protected readonly network: Network = networks.bitcoin;
32
-
33
- protected constructor(
34
- senderPubKey: Buffer,
35
- contractSaltPubKey: Buffer,
36
- network: Network = networks.bitcoin,
37
- ) {
38
- this.senderPubKey = senderPubKey;
39
- this.contractSaltPubKey = contractSaltPubKey;
40
- this.network = network;
41
- }
42
-
43
- /**
44
- * Compile the script
45
- * @param args - The arguments to use when compiling the script
46
- * @returns {Buffer} - The compiled script
47
- */
48
- public abstract compile(...args: unknown[]): Buffer;
49
-
50
- /**
51
- * Split a buffer into chunks
52
- * @param {Buffer} buffer - The buffer to split
53
- * @param {number} chunkSize - The size of each chunk
54
- * @protected
55
- * @returns {Array<Buffer[]>} - The chunks
56
- */
57
- protected splitBufferIntoChunks(
58
- buffer: Buffer,
59
- chunkSize: number = Generator.DATA_CHUNK_SIZE,
60
- ): Array<Buffer[]> {
61
- const chunks: Array<Buffer[]> = [];
62
- for (let i = 0; i < buffer.length; i += chunkSize) {
63
- const dataLength = Math.min(chunkSize, buffer.length - i);
64
-
65
- const buf2 = Buffer.alloc(dataLength);
66
- for (let j = 0; j < dataLength; j++) {
67
- buf2.writeUInt8(buffer[i + j], j);
68
- }
69
-
70
- chunks.push([buf2]);
71
- }
72
-
73
- return chunks;
74
- }
75
- }
1
+ import { Network, networks } from 'bitcoinjs-lib';
2
+
3
+ /** Bitcoin Script Generator */
4
+ export abstract class Generator {
5
+ /**
6
+ * The maximum size of a data chunk
7
+ */
8
+ public static readonly DATA_CHUNK_SIZE: number = 512;
9
+
10
+ /**
11
+ * The magic number of OPNet
12
+ */
13
+ public static readonly MAGIC: Buffer = Buffer.from('bsi', 'utf-8');
14
+
15
+ /**
16
+ * The public key of the sender
17
+ * @protected
18
+ */
19
+ protected readonly senderPubKey: Buffer;
20
+
21
+ /**
22
+ * The public key of the contract salt
23
+ * @protected
24
+ */
25
+ protected readonly contractSaltPubKey?: Buffer;
26
+
27
+ /**
28
+ * The network to use
29
+ * @protected
30
+ */
31
+ protected readonly network: Network = networks.bitcoin;
32
+
33
+ protected constructor(
34
+ senderPubKey: Buffer,
35
+ contractSaltPubKey?: Buffer,
36
+ network: Network = networks.bitcoin,
37
+ ) {
38
+ this.senderPubKey = senderPubKey;
39
+ this.contractSaltPubKey = contractSaltPubKey;
40
+ this.network = network;
41
+ }
42
+
43
+ /**
44
+ * Compile the script
45
+ * @param args - The arguments to use when compiling the script
46
+ * @returns {Buffer} - The compiled script
47
+ */
48
+ public abstract compile(...args: unknown[]): Buffer;
49
+
50
+ /**
51
+ * Split a buffer into chunks
52
+ * @param {Buffer} buffer - The buffer to split
53
+ * @param {number} chunkSize - The size of each chunk
54
+ * @protected
55
+ * @returns {Array<Buffer[]>} - The chunks
56
+ */
57
+ protected splitBufferIntoChunks(
58
+ buffer: Buffer,
59
+ chunkSize: number = Generator.DATA_CHUNK_SIZE,
60
+ ): Array<Buffer[]> {
61
+ const chunks: Array<Buffer[]> = [];
62
+ for (let i = 0; i < buffer.length; i += chunkSize) {
63
+ const dataLength = Math.min(chunkSize, buffer.length - i);
64
+
65
+ const buf2 = Buffer.alloc(dataLength);
66
+ for (let j = 0; j < dataLength; j++) {
67
+ buf2.writeUInt8(buffer[i + j], j);
68
+ }
69
+
70
+ chunks.push([buf2]);
71
+ }
72
+
73
+ return chunks;
74
+ }
75
+ }
@@ -69,6 +69,8 @@ export class CalldataGenerator extends Generator {
69
69
  vaultPublicKeys: Buffer[] = [],
70
70
  minimumSignatures: number = 0,
71
71
  ): Buffer {
72
+ if (!this.contractSaltPubKey) throw new Error('Contract salt public key not set');
73
+
72
74
  const dataChunks: Buffer[][] = this.splitBufferIntoChunks(calldata);
73
75
  if (!dataChunks.length) throw new Error('No data chunks found');
74
76
 
@@ -0,0 +1,30 @@
1
+ import { Network, networks, script, Stack } from 'bitcoinjs-lib';
2
+ import { Generator } from '../Generator.js';
3
+
4
+ /**
5
+ * Class to generate bitcoin script for interaction transactions
6
+ */
7
+ export class CustomGenerator extends Generator {
8
+ constructor(senderPubKey: Buffer, network: Network = networks.bitcoin) {
9
+ super(senderPubKey, undefined, network);
10
+ }
11
+
12
+ /**
13
+ * Compile an interaction bitcoin script
14
+ * @param compiledData - The compiled data
15
+ * @returns {Buffer} - The compiled script
16
+ * @throws {Error} - If something goes wrong
17
+ */
18
+ public compile(compiledData: (Buffer | Stack)[]): Buffer {
19
+ const asm = compiledData.flat();
20
+ const compiled = script.compile(asm);
21
+
22
+ /** Verify the validity of the script */
23
+ const decompiled = script.decompile(compiled);
24
+ if (!decompiled) {
25
+ throw new Error('Failed to decompile script??');
26
+ }
27
+
28
+ return compiled;
29
+ }
30
+ }
@@ -32,6 +32,8 @@ export class DeploymentGenerator extends Generator {
32
32
  }
33
33
 
34
34
  private getAsm(contractBytecode: Buffer, contractSalt: Buffer): (number | Buffer)[] {
35
+ if (!this.contractSaltPubKey) throw new Error('Contract salt public key not set');
36
+
35
37
  const dataChunks = this.splitBufferIntoChunks(contractBytecode);
36
38
 
37
39
  return [