@btc-vision/transaction 1.0.61 → 1.0.62

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 (274) hide show
  1. package/.gitattributes +2 -2
  2. package/browser/_version.d.ts +1 -1
  3. package/browser/index.js +1 -1
  4. package/browser/transaction/TransactionFactory.d.ts +1 -0
  5. package/browser/transaction/builders/TapUnwarpTransaction.d.ts +40 -40
  6. package/browser/transaction/builders/UnwarpTransaction.d.ts +34 -34
  7. package/browser/utxo/UTXOManager.d.ts +7 -7
  8. package/build/_version.d.ts +1 -1
  9. package/build/_version.js +1 -1
  10. package/build/transaction/TransactionFactory.d.ts +1 -0
  11. package/build/transaction/TransactionFactory.js +4 -0
  12. package/gulpfile.js +152 -152
  13. package/package.json +1 -1
  14. package/src/_version.ts +1 -1
  15. package/src/consensus/Consensus.ts +36 -36
  16. package/src/consensus/ConsensusConfig.ts +39 -39
  17. package/src/crypto/crypto-browser.js +75 -75
  18. package/src/generators/AddressGenerator.ts +24 -24
  19. package/src/generators/Features.ts +5 -5
  20. package/src/generators/Generator.ts +75 -75
  21. package/src/generators/builders/CalldataGenerator.ts +148 -148
  22. package/src/generators/builders/DeploymentGenerator.ts +66 -66
  23. package/src/index.ts +4 -4
  24. package/src/keypair/AddressVerificator.ts +40 -40
  25. package/src/keypair/EcKeyPair.ts +282 -282
  26. package/src/keypair/Wallet.ts +97 -97
  27. package/src/keypair/interfaces/IWallet.ts +19 -19
  28. package/src/metadata/ContractBaseMetadata.ts +23 -23
  29. package/src/network/NetworkInformation.ts +7 -7
  30. package/src/opnet.ts +84 -84
  31. package/src/transaction/TransactionFactory.ts +6 -0
  32. package/src/transaction/browser/BrowserSignerBase.ts +37 -37
  33. package/src/transaction/browser/Web3Provider.ts +46 -46
  34. package/src/transaction/browser/extensions/UnisatSigner.ts +218 -218
  35. package/src/transaction/browser/types/Unisat.ts +80 -80
  36. package/src/transaction/builders/FundingTransaction.ts +40 -40
  37. package/src/transaction/builders/InteractionTransaction.ts +38 -38
  38. package/src/transaction/builders/SharedInteractionTransaction.ts +368 -368
  39. package/src/transaction/builders/TransactionBuilder.ts +665 -665
  40. package/src/transaction/interfaces/Tap.ts +26 -26
  41. package/src/transaction/psbt/PSBTTypes.ts +3 -3
  42. package/src/transaction/shared/TweakedTransaction.ts +537 -537
  43. package/src/utxo/OPNetLimitedProvider.ts +244 -244
  44. package/src/utxo/interfaces/BroadcastResponse.ts +10 -10
  45. package/src/utxo/interfaces/IUTXO.ts +29 -29
  46. package/src/verification/TapscriptVerificator.ts +89 -89
  47. package/src/wbtc/Generate.ts +40 -40
  48. package/src/wbtc/UnwrapGeneration.ts +13 -13
  49. package/src/wbtc/WrappedGenerationParameters.ts +33 -33
  50. package/webpack.config.js +78 -78
  51. package/build/Utils.d.ts +0 -0
  52. package/build/Utils.js +0 -1
  53. package/build/consensus/metadata/RoswsellConsensus.d.ts +0 -2
  54. package/build/consensus/metadata/RoswsellConsensus.js +0 -4
  55. package/build/contracts/ContractMetadataManager.d.ts +0 -0
  56. package/build/contracts/ContractMetadataManager.js +0 -1
  57. package/build/generators/OPNetAddressGenerator.d.ts +0 -0
  58. package/build/generators/OPNetAddressGenerator.js +0 -1
  59. package/build/generators/builders/UnwrapGenerator.d.ts +0 -8
  60. package/build/generators/builders/UnwrapGenerator.js +0 -79
  61. package/build/keypair/interfaces/GeneratedWallet.d.ts +0 -5
  62. package/build/keypair/interfaces/GeneratedWallet.js +0 -1
  63. package/build/metadata/CommonContracts.d.ts +0 -6
  64. package/build/metadata/CommonContracts.js +0 -5
  65. package/build/metadata/ContractMetadataManager.d.ts +0 -1
  66. package/build/metadata/ContractMetadataManager.js +0 -9
  67. package/build/metadata/contracts/ContractBase.d.ts +0 -9
  68. package/build/metadata/contracts/ContractBase.js +0 -13
  69. package/build/metadata/contracts/ContractBaseMetadata.d.ts +0 -9
  70. package/build/metadata/contracts/ContractBaseMetadata.js +0 -13
  71. package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
  72. package/build/metadata/contracts/ContractMetadataManager.js +0 -1
  73. package/build/network/NetworkConverter.d.ts +0 -0
  74. package/build/network/NetworkConverter.js +0 -14
  75. package/build/scripts/Regtest.d.ts +0 -2
  76. package/build/scripts/Regtest.js +0 -15
  77. package/build/scripts/test.d.ts +0 -1
  78. package/build/scripts/test.js +0 -74
  79. package/build/signer/Regtest.d.ts +0 -2
  80. package/build/signer/Regtest.js +0 -15
  81. package/build/tests/Regtest.d.ts +0 -3
  82. package/build/tests/Regtest.js +0 -29
  83. package/build/tests/adaptPSBT.d.ts +0 -1
  84. package/build/tests/adaptPSBT.js +0 -44
  85. package/build/tests/btc/send.d.ts +0 -1
  86. package/build/tests/btc/send.js +0 -35
  87. package/build/tests/btc/transfer.d.ts +0 -1
  88. package/build/tests/btc/transfer.js +0 -35
  89. package/build/tests/createPairReg.d.ts +0 -1
  90. package/build/tests/createPairReg.js +0 -73
  91. package/build/tests/deploy/deployMoto.d.ts +0 -4
  92. package/build/tests/deploy/deployMoto.js +0 -89
  93. package/build/tests/deploy/deployPool.d.ts +0 -1
  94. package/build/tests/deploy/deployPool.js +0 -5
  95. package/build/tests/deploy/deployStep1.d.ts +0 -1
  96. package/build/tests/deploy/deployStep1.js +0 -5
  97. package/build/tests/deploy/deployStep2.d.ts +0 -1
  98. package/build/tests/deploy/deployStep2.js +0 -5
  99. package/build/tests/deploy/deployStep3.d.ts +0 -1
  100. package/build/tests/deploy/deployStep3.js +0 -5
  101. package/build/tests/deploy.d.ts +0 -1
  102. package/build/tests/deploy.js +0 -41
  103. package/build/tests/deployMotoRegStep1.d.ts +0 -1
  104. package/build/tests/deployMotoRegStep1.js +0 -85
  105. package/build/tests/deployReg.d.ts +0 -1
  106. package/build/tests/deployReg.js +0 -85
  107. package/build/tests/factory/createPairReg.d.ts +0 -1
  108. package/build/tests/factory/createPairReg.js +0 -13
  109. package/build/tests/gen.d.ts +0 -1
  110. package/build/tests/gen.js +0 -19
  111. package/build/tests/interaction.d.ts +0 -5
  112. package/build/tests/interaction.js +0 -62
  113. package/build/tests/massWrapReg.d.ts +0 -1
  114. package/build/tests/massWrapReg.js +0 -105
  115. package/build/tests/mineReg.d.ts +0 -1
  116. package/build/tests/mineReg.js +0 -19
  117. package/build/tests/moto/airdropToken.d.ts +0 -1
  118. package/build/tests/moto/airdropToken.js +0 -21
  119. package/build/tests/moto/airdropTokens.d.ts +0 -1
  120. package/build/tests/moto/airdropTokens.js +0 -60
  121. package/build/tests/moto/allowance.d.ts +0 -1
  122. package/build/tests/moto/allowance.js +0 -6
  123. package/build/tests/moto/approve.d.ts +0 -1
  124. package/build/tests/moto/approve.js +0 -10
  125. package/build/tests/moto/approveWBTC.d.ts +0 -1
  126. package/build/tests/moto/approveWBTC.js +0 -12
  127. package/build/tests/moto/balanceOf.d.ts +0 -1
  128. package/build/tests/moto/balanceOf.js +0 -12
  129. package/build/tests/moto/transfer.d.ts +0 -1
  130. package/build/tests/moto/transfer.js +0 -16
  131. package/build/tests/motoswap/airdropToken.d.ts +0 -11
  132. package/build/tests/motoswap/airdropToken.js +0 -36
  133. package/build/tests/motoswap/deployMoto.d.ts +0 -4
  134. package/build/tests/motoswap/deployMoto.js +0 -89
  135. package/build/tests/motoswap/deployMotoRegStep1.d.ts +0 -1
  136. package/build/tests/motoswap/deployMotoRegStep1.js +0 -91
  137. package/build/tests/motoswap/deployMotoRegStep2.d.ts +0 -1
  138. package/build/tests/motoswap/deployMotoRegStep2.js +0 -91
  139. package/build/tests/motoswap/deployPool.d.ts +0 -1
  140. package/build/tests/motoswap/deployPool.js +0 -5
  141. package/build/tests/motoswap/deployStep1.d.ts +0 -1
  142. package/build/tests/motoswap/deployStep1.js +0 -5
  143. package/build/tests/motoswap/deployStep2.d.ts +0 -1
  144. package/build/tests/motoswap/deployStep2.js +0 -5
  145. package/build/tests/motoswap/deployStep3.d.ts +0 -1
  146. package/build/tests/motoswap/deployStep3.js +0 -5
  147. package/build/tests/motoswap/interaction.d.ts +0 -3
  148. package/build/tests/motoswap/interaction.js +0 -63
  149. package/build/tests/motoswap/routerAddLiquidity.d.ts +0 -11
  150. package/build/tests/motoswap/routerAddLiquidity.js +0 -35
  151. package/build/tests/motoswap-router/addLiquidity.d.ts +0 -11
  152. package/build/tests/motoswap-router/addLiquidity.js +0 -36
  153. package/build/tests/motoswap-router/deployMoto.d.ts +0 -4
  154. package/build/tests/motoswap-router/deployMoto.js +0 -89
  155. package/build/tests/motoswap-router/deployPool.d.ts +0 -1
  156. package/build/tests/motoswap-router/deployPool.js +0 -5
  157. package/build/tests/motoswap-router/deployStep1.d.ts +0 -1
  158. package/build/tests/motoswap-router/deployStep1.js +0 -5
  159. package/build/tests/motoswap-router/deployStep2.d.ts +0 -1
  160. package/build/tests/motoswap-router/deployStep2.js +0 -5
  161. package/build/tests/motoswap-router/deployStep3.d.ts +0 -1
  162. package/build/tests/motoswap-router/deployStep3.js +0 -5
  163. package/build/tests/motoswap-router/getAmountsOut.d.ts +0 -5
  164. package/build/tests/motoswap-router/getAmountsOut.js +0 -34
  165. package/build/tests/motoswap-router/routerAddLiquidity.d.ts +0 -11
  166. package/build/tests/motoswap-router/routerAddLiquidity.js +0 -35
  167. package/build/tests/motoswap-router/swap.d.ts +0 -8
  168. package/build/tests/motoswap-router/swap.js +0 -24
  169. package/build/tests/multisign.d.ts +0 -1
  170. package/build/tests/multisign.js +0 -47
  171. package/build/tests/multisign2.d.ts +0 -1
  172. package/build/tests/multisign2.js +0 -27
  173. package/build/tests/pool/DecodePoolAddress.d.ts +0 -6
  174. package/build/tests/pool/DecodePoolAddress.js +0 -12
  175. package/build/tests/pool/decodeReserves.d.ts +0 -5
  176. package/build/tests/pool/decodeReserves.js +0 -13
  177. package/build/tests/pool/reserves.d.ts +0 -1
  178. package/build/tests/pool/reserves.js +0 -18
  179. package/build/tests/shared/Utils.d.ts +0 -2
  180. package/build/tests/shared/Utils.js +0 -14
  181. package/build/tests/shared/interaction.d.ts +0 -7
  182. package/build/tests/shared/interaction.js +0 -85
  183. package/build/tests/shared/tokens.d.ts +0 -6
  184. package/build/tests/shared/tokens.js +0 -5
  185. package/build/tests/stakeReg.d.ts +0 -1
  186. package/build/tests/stakeReg.js +0 -73
  187. package/build/tests/stakedReg.d.ts +0 -1
  188. package/build/tests/stakedReg.js +0 -28
  189. package/build/tests/test.d.ts +0 -1
  190. package/build/tests/test.js +0 -51
  191. package/build/tests/test2.d.ts +0 -1
  192. package/build/tests/test2.js +0 -73
  193. package/build/tests/testReg.d.ts +0 -1
  194. package/build/tests/testReg.js +0 -91
  195. package/build/tests/tokens.d.ts +0 -6
  196. package/build/tests/tokens.js +0 -5
  197. package/build/tests/totalRewardReg.d.ts +0 -1
  198. package/build/tests/totalRewardReg.js +0 -28
  199. package/build/tests/transfer.d.ts +0 -1
  200. package/build/tests/transfer.js +0 -74
  201. package/build/tests/transferReg.d.ts +0 -1
  202. package/build/tests/transferReg.js +0 -74
  203. package/build/tests/unStakeReg.d.ts +0 -1
  204. package/build/tests/unStakeReg.js +0 -72
  205. package/build/tests/unwrapReg.d.ts +0 -1
  206. package/build/tests/unwrapReg.js +0 -61
  207. package/build/tests/unwrapReg2.d.ts +0 -1
  208. package/build/tests/unwrapReg2.js +0 -56
  209. package/build/tests/unwrapRegSegwit.d.ts +0 -1
  210. package/build/tests/unwrapRegSegwit.js +0 -83
  211. package/build/tests/wbtc/approve.d.ts +0 -1
  212. package/build/tests/wbtc/approve.js +0 -6
  213. package/build/tests/wbtc/approveWBTC.d.ts +0 -1
  214. package/build/tests/wbtc/approveWBTC.js +0 -12
  215. package/build/tests/wbtc/massWrapReg.d.ts +0 -1
  216. package/build/tests/wbtc/massWrapReg.js +0 -105
  217. package/build/tests/wbtc/transfer.d.ts +0 -1
  218. package/build/tests/wbtc/transfer.js +0 -16
  219. package/build/tests/wbtc/transferReg.d.ts +0 -1
  220. package/build/tests/wbtc/transferReg.js +0 -16
  221. package/build/tests/wbtc/unStakeReg.d.ts +0 -1
  222. package/build/tests/wbtc/unStakeReg.js +0 -72
  223. package/build/tests/wbtc/unwrapReg.d.ts +0 -1
  224. package/build/tests/wbtc/unwrapReg.js +0 -60
  225. package/build/tests/wbtc/unwrapRegSegwit.d.ts +0 -1
  226. package/build/tests/wbtc/unwrapRegSegwit.js +0 -83
  227. package/build/tests/wbtc/withdrawalRequestReg.d.ts +0 -1
  228. package/build/tests/wbtc/withdrawalRequestReg.js +0 -71
  229. package/build/tests/wbtc/wrapReg.d.ts +0 -1
  230. package/build/tests/wbtc/wrapReg.js +0 -65
  231. package/build/tests/wbtc/wrapTest.d.ts +0 -1
  232. package/build/tests/wbtc/wrapTest.js +0 -66
  233. package/build/tests/withdrawalRequestReg.d.ts +0 -1
  234. package/build/tests/withdrawalRequestReg.js +0 -71
  235. package/build/tests/wrap.d.ts +0 -1
  236. package/build/tests/wrap.js +0 -65
  237. package/build/tests/wrapReg.d.ts +0 -1
  238. package/build/tests/wrapReg.js +0 -68
  239. package/build/tests/wrapTest.d.ts +0 -1
  240. package/build/tests/wrapTest.js +0 -66
  241. package/build/tests/wrapTestg.d.ts +0 -1
  242. package/build/tests/wrapTestg.js +0 -66
  243. package/build/tests/writers/allowance.d.ts +0 -3
  244. package/build/tests/writers/allowance.js +0 -10
  245. package/build/tests/writers/approve.d.ts +0 -4
  246. package/build/tests/writers/approve.js +0 -11
  247. package/build/transaction/TransactionBuilder.d.ts +0 -60
  248. package/build/transaction/TransactionBuilder.js +0 -244
  249. package/build/transaction/browser/BrowserSigner.d.ts +0 -11
  250. package/build/transaction/browser/BrowserSigner.js +0 -10
  251. package/build/transaction/browser/extensions/Unisat.d.ts +0 -54
  252. package/build/transaction/browser/extensions/Unisat.js +0 -11
  253. package/build/transaction/builders/GenericTransaction.d.ts +0 -11
  254. package/build/transaction/builders/GenericTransaction.js +0 -23
  255. package/build/transaction/builders/TapUnwarpTransaction.d.ts +0 -37
  256. package/build/transaction/builders/TapUnwarpTransaction.js +0 -201
  257. package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +0 -34
  258. package/build/transaction/builders/UnwarpSegwitTransaction.js +0 -184
  259. package/build/transaction/builders/UnwarpTransaction.d.ts +0 -35
  260. package/build/transaction/builders/UnwarpTransaction.js +0 -199
  261. package/build/transaction/interfaces/ITransactions.d.ts +0 -32
  262. package/build/transaction/interfaces/ITransactions.js +0 -1
  263. package/build/utxo/IUTXO.d.ts +0 -0
  264. package/build/utxo/IUTXO.js +0 -1
  265. package/build/utxo/OPNetUtils.d.ts +0 -7
  266. package/build/utxo/OPNetUtils.js +0 -47
  267. package/build/utxo/UTXOManager.d.ts +0 -7
  268. package/build/utxo/UTXOManager.js +0 -47
  269. package/build/wbtc/BroadcastResponse.d.ts +0 -0
  270. package/build/wbtc/BroadcastResponse.js +0 -1
  271. /package/build/generators/{features.d.ts → Features.d.ts} +0 -0
  272. /package/build/generators/{features.js → Features.js} +0 -0
  273. /package/build/generators/builders/{MultisignGenerator.d.ts → MultiSignGenerator.d.ts} +0 -0
  274. /package/build/generators/builders/{MultisignGenerator.js → MultiSignGenerator.js} +0 -0
@@ -1,97 +1,97 @@
1
- import { IWallet } from './interfaces/IWallet.js';
2
- import { ECPairInterface } from 'ecpair';
3
- import { EcKeyPair } from './EcKeyPair.js';
4
- import { Network, networks } from 'bitcoinjs-lib';
5
- import { Address } from '@btc-vision/bsi-binary';
6
- import { toXOnly } from 'bitcoinjs-lib/src/psbt/bip371.js';
7
-
8
- /**
9
- * Wallet class
10
- */
11
- export class Wallet {
12
- /**
13
- * Keypair for the wallet
14
- * @private
15
- */
16
- private readonly _keypair: ECPairInterface;
17
-
18
- /**
19
- * P2WPKH address for the wallet
20
- * @private
21
- */
22
- private readonly _p2wpkh: Address;
23
-
24
- /**
25
- * P2TR address for the wallet
26
- * @private
27
- */
28
- private readonly _p2tr: Address;
29
-
30
- constructor(
31
- wallet: IWallet,
32
- public readonly network: Network = networks.bitcoin,
33
- ) {
34
- this._keypair = EcKeyPair.fromWIF(wallet.privateKey, this.network);
35
-
36
- this._p2wpkh = EcKeyPair.getP2WPKHAddress(this._keypair, this.network);
37
- this._p2tr = EcKeyPair.getTaprootAddress(this._keypair, this.network);
38
- }
39
-
40
- /**
41
- * Get the keypair for the wallet
42
- * @returns {ECPairInterface}
43
- */
44
- public get keypair(): ECPairInterface {
45
- if (!this._keypair) throw new Error('Keypair not set');
46
-
47
- return this._keypair;
48
- }
49
-
50
- /**
51
- * Get the P2WPKH address for the wallet
52
- * @returns {Address}
53
- */
54
- public get p2wpkh(): Address {
55
- return this._p2wpkh;
56
- }
57
-
58
- /**
59
- * Get the P2TR address for the wallet
60
- * @returns {Address}
61
- */
62
- public get p2tr(): Address {
63
- return this._p2tr;
64
- }
65
-
66
- /**
67
- * Get the public key for the wallet
68
- * @protected
69
- * @returns {Buffer}
70
- */
71
- public get publicKey(): Buffer {
72
- if (!this.keypair) throw new Error('Keypair not set');
73
-
74
- return this.keypair.publicKey;
75
- }
76
-
77
- /**
78
- * Get the x-only public key for the wallet
79
- * @public
80
- * @returns {Buffer}
81
- */
82
- public get xOnly(): Buffer {
83
- if (!this.keypair) throw new Error('Keypair not set');
84
-
85
- return toXOnly(this.keypair.publicKey);
86
- }
87
-
88
- /**
89
- * Create a wallet from a WIF
90
- * @param {string} wif The WIF
91
- * @param {Network} network The network
92
- * @returns {Wallet} The wallet
93
- */
94
- public static fromWif(wif: string, network: Network = networks.bitcoin): Wallet {
95
- return new Wallet({ privateKey: wif, address: '', publicKey: '' }, network);
96
- }
97
- }
1
+ import { IWallet } from './interfaces/IWallet.js';
2
+ import { ECPairInterface } from 'ecpair';
3
+ import { EcKeyPair } from './EcKeyPair.js';
4
+ import { Network, networks } from 'bitcoinjs-lib';
5
+ import { Address } from '@btc-vision/bsi-binary';
6
+ import { toXOnly } from 'bitcoinjs-lib/src/psbt/bip371.js';
7
+
8
+ /**
9
+ * Wallet class
10
+ */
11
+ export class Wallet {
12
+ /**
13
+ * Keypair for the wallet
14
+ * @private
15
+ */
16
+ private readonly _keypair: ECPairInterface;
17
+
18
+ /**
19
+ * P2WPKH address for the wallet
20
+ * @private
21
+ */
22
+ private readonly _p2wpkh: Address;
23
+
24
+ /**
25
+ * P2TR address for the wallet
26
+ * @private
27
+ */
28
+ private readonly _p2tr: Address;
29
+
30
+ constructor(
31
+ wallet: IWallet,
32
+ public readonly network: Network = networks.bitcoin,
33
+ ) {
34
+ this._keypair = EcKeyPair.fromWIF(wallet.privateKey, this.network);
35
+
36
+ this._p2wpkh = EcKeyPair.getP2WPKHAddress(this._keypair, this.network);
37
+ this._p2tr = EcKeyPair.getTaprootAddress(this._keypair, this.network);
38
+ }
39
+
40
+ /**
41
+ * Get the keypair for the wallet
42
+ * @returns {ECPairInterface}
43
+ */
44
+ public get keypair(): ECPairInterface {
45
+ if (!this._keypair) throw new Error('Keypair not set');
46
+
47
+ return this._keypair;
48
+ }
49
+
50
+ /**
51
+ * Get the P2WPKH address for the wallet
52
+ * @returns {Address}
53
+ */
54
+ public get p2wpkh(): Address {
55
+ return this._p2wpkh;
56
+ }
57
+
58
+ /**
59
+ * Get the P2TR address for the wallet
60
+ * @returns {Address}
61
+ */
62
+ public get p2tr(): Address {
63
+ return this._p2tr;
64
+ }
65
+
66
+ /**
67
+ * Get the public key for the wallet
68
+ * @protected
69
+ * @returns {Buffer}
70
+ */
71
+ public get publicKey(): Buffer {
72
+ if (!this.keypair) throw new Error('Keypair not set');
73
+
74
+ return this.keypair.publicKey;
75
+ }
76
+
77
+ /**
78
+ * Get the x-only public key for the wallet
79
+ * @public
80
+ * @returns {Buffer}
81
+ */
82
+ public get xOnly(): Buffer {
83
+ if (!this.keypair) throw new Error('Keypair not set');
84
+
85
+ return toXOnly(this.keypair.publicKey);
86
+ }
87
+
88
+ /**
89
+ * Create a wallet from a WIF
90
+ * @param {string} wif The WIF
91
+ * @param {Network} network The network
92
+ * @returns {Wallet} The wallet
93
+ */
94
+ public static fromWif(wif: string, network: Network = networks.bitcoin): Wallet {
95
+ return new Wallet({ privateKey: wif, address: '', publicKey: '' }, network);
96
+ }
97
+ }
@@ -1,19 +1,19 @@
1
- /**
2
- * Interface for the generated wallet
3
- */
4
- export interface IWallet {
5
- /**
6
- * The address of the wallet
7
- */
8
- readonly address: string;
9
-
10
- /**
11
- * The private key of the wallet
12
- */
13
- readonly privateKey: string;
14
-
15
- /**
16
- * The public key of the wallet
17
- */
18
- readonly publicKey: string;
19
- }
1
+ /**
2
+ * Interface for the generated wallet
3
+ */
4
+ export interface IWallet {
5
+ /**
6
+ * The address of the wallet
7
+ */
8
+ readonly address: string;
9
+
10
+ /**
11
+ * The private key of the wallet
12
+ */
13
+ readonly privateKey: string;
14
+
15
+ /**
16
+ * The public key of the wallet
17
+ */
18
+ readonly publicKey: string;
19
+ }
@@ -1,23 +1,23 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- import { Network, networks } from 'bitcoinjs-lib';
3
-
4
- export abstract class ContractBaseMetadata {
5
- protected abstract readonly address: Address;
6
-
7
- protected constructor(protected network: Network = networks.bitcoin) {}
8
-
9
- /**
10
- * @description Get the contract address
11
- * @param {Network} network - The network to get the address for
12
- */
13
- public static getAddress(network: Network = networks.bitcoin): Address {
14
- throw new Error('Method not implemented.');
15
- }
16
-
17
- /**
18
- * @description Get the contract address
19
- */
20
- public getAddress(): Address {
21
- return this.address;
22
- }
23
- }
1
+ import { Address } from '@btc-vision/bsi-binary';
2
+ import { Network, networks } from 'bitcoinjs-lib';
3
+
4
+ export abstract class ContractBaseMetadata {
5
+ protected abstract readonly address: Address;
6
+
7
+ protected constructor(protected network: Network = networks.bitcoin) {}
8
+
9
+ /**
10
+ * @description Get the contract address
11
+ * @param {Network} network - The network to get the address for
12
+ */
13
+ public static getAddress(network: Network = networks.bitcoin): Address {
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ /**
18
+ * @description Get the contract address
19
+ */
20
+ public getAddress(): Address {
21
+ return this.address;
22
+ }
23
+ }
@@ -1,7 +1,7 @@
1
- import { IWallet } from '../keypair/interfaces/IWallet.js';
2
- import { BlockchainConfig } from '@btc-vision/bsi-common';
3
-
4
- export interface NetworkInformation {
5
- readonly wallet: IWallet;
6
- readonly config: BlockchainConfig;
7
- }
1
+ import { IWallet } from '../keypair/interfaces/IWallet.js';
2
+ import { BlockchainConfig } from '@btc-vision/bsi-common';
3
+
4
+ export interface NetworkInformation {
5
+ readonly wallet: IWallet;
6
+ readonly config: BlockchainConfig;
7
+ }
package/src/opnet.ts CHANGED
@@ -1,84 +1,84 @@
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
- /** Network */
27
- export * from './network/NetworkInformation.js';
28
-
29
- /** Signer */
30
- export * from './signer/TweakedSigner.js';
31
-
32
- /** Transaction */
33
- export * from './transaction/TransactionFactory.js';
34
- export * from './transaction/interfaces/ITransactionParameters.js';
35
- export * from './transaction/interfaces/Tap.js';
36
- export * from './transaction/enums/TransactionType.js';
37
-
38
- /** Builders */
39
- export * from './transaction/builders/InteractionTransaction.js';
40
- export * from './transaction/builders/FundingTransaction.js';
41
- export * from './transaction/builders/TransactionBuilder.js';
42
- export * from './transaction/builders/WrapTransaction.js';
43
- export * from './transaction/builders/SharedInteractionTransaction.js';
44
- export * from './transaction/builders/DeploymentTransaction.js';
45
-
46
- /** wBTC */
47
- export * from './wbtc/WrappedGenerationParameters.js';
48
- export * from './wbtc/Generate.js';
49
-
50
- /** Utils */
51
- export * from './utils/BitcoinUtils.js';
52
-
53
- /** UTXO */
54
- export * from './utxo/interfaces/IUTXO.js';
55
- export * from './utxo/OPNetLimitedProvider.js';
56
-
57
- /** Processor */
58
- export * from './transaction/processor/PsbtTransaction.js';
59
-
60
- /** Shared */
61
- export * from './transaction/shared/TweakedTransaction.js';
62
- export * from './utxo/interfaces/BroadcastResponse.js';
63
- export * from './transaction/psbt/PSBTTypes.js';
64
-
65
- export * from './transaction/builders/MultiSignTransaction.js';
66
- export * from './generators/builders/MultiSignGenerator.js';
67
-
68
- export * from './transaction/shared/P2TR_MS.js';
69
- export * from './transaction/builders/UnwrapTransaction.js';
70
-
71
- export * from './wbtc/UnwrapGeneration.js';
72
-
73
- /** Consensus */
74
- export * from './consensus/ConsensusConfig.js';
75
- export * from './consensus/Consensus.js';
76
- export * from './consensus/metadata/RoswellConsensus.js';
77
-
78
- /** Custom signers */
79
- export * from './transaction/browser/BrowserSignerBase.js';
80
- export * from './transaction/browser/extensions/UnisatSigner.js';
81
- export * from './transaction/browser/types/Unisat.js';
82
-
83
- export * from './transaction/browser/Web3Provider.js';
84
- 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/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
+ /** Network */
27
+ export * from './network/NetworkInformation.js';
28
+
29
+ /** Signer */
30
+ export * from './signer/TweakedSigner.js';
31
+
32
+ /** Transaction */
33
+ export * from './transaction/TransactionFactory.js';
34
+ export * from './transaction/interfaces/ITransactionParameters.js';
35
+ export * from './transaction/interfaces/Tap.js';
36
+ export * from './transaction/enums/TransactionType.js';
37
+
38
+ /** Builders */
39
+ export * from './transaction/builders/InteractionTransaction.js';
40
+ export * from './transaction/builders/FundingTransaction.js';
41
+ export * from './transaction/builders/TransactionBuilder.js';
42
+ export * from './transaction/builders/WrapTransaction.js';
43
+ export * from './transaction/builders/SharedInteractionTransaction.js';
44
+ export * from './transaction/builders/DeploymentTransaction.js';
45
+
46
+ /** wBTC */
47
+ export * from './wbtc/WrappedGenerationParameters.js';
48
+ export * from './wbtc/Generate.js';
49
+
50
+ /** Utils */
51
+ export * from './utils/BitcoinUtils.js';
52
+
53
+ /** UTXO */
54
+ export * from './utxo/interfaces/IUTXO.js';
55
+ export * from './utxo/OPNetLimitedProvider.js';
56
+
57
+ /** Processor */
58
+ export * from './transaction/processor/PsbtTransaction.js';
59
+
60
+ /** Shared */
61
+ export * from './transaction/shared/TweakedTransaction.js';
62
+ export * from './utxo/interfaces/BroadcastResponse.js';
63
+ export * from './transaction/psbt/PSBTTypes.js';
64
+
65
+ export * from './transaction/builders/MultiSignTransaction.js';
66
+ export * from './generators/builders/MultiSignGenerator.js';
67
+
68
+ export * from './transaction/shared/P2TR_MS.js';
69
+ export * from './transaction/builders/UnwrapTransaction.js';
70
+
71
+ export * from './wbtc/UnwrapGeneration.js';
72
+
73
+ /** Consensus */
74
+ export * from './consensus/ConsensusConfig.js';
75
+ export * from './consensus/Consensus.js';
76
+ export * from './consensus/metadata/RoswellConsensus.js';
77
+
78
+ /** Custom signers */
79
+ export * from './transaction/browser/BrowserSignerBase.js';
80
+ export * from './transaction/browser/extensions/UnisatSigner.js';
81
+ export * from './transaction/browser/types/Unisat.js';
82
+
83
+ export * from './transaction/browser/Web3Provider.js';
84
+ export * from './metadata/tokens.js';
@@ -406,12 +406,18 @@ export class TransactionFactory {
406
406
  public async createBTCTransfer(parameters: IFundingTransactionParameters): Promise<{
407
407
  estimatedFees: bigint;
408
408
  tx: string;
409
+ nextUTXOs: UTXO[];
409
410
  }> {
411
+ if(!parameters.from) {
412
+ throw new Error('Field "from" not provided.');
413
+ }
414
+
410
415
  const resp = await this.createFundTransaction(parameters);
411
416
 
412
417
  return {
413
418
  estimatedFees: resp.estimatedFees,
414
419
  tx: resp.tx.toHex(),
420
+ nextUTXOs: this.getUTXOAsTransaction(resp.tx, parameters.from, 1),
415
421
  };
416
422
  }
417
423
 
@@ -1,37 +1,37 @@
1
- import { Network, Psbt, Signer } from 'bitcoinjs-lib';
2
- import { Address } from '@btc-vision/bsi-binary';
3
-
4
- /**
5
- * Create a custom keypair.
6
- * @class CustomKeypair
7
- */
8
- export abstract class CustomKeypair implements Signer {
9
- public abstract network: Network;
10
-
11
- public abstract publicKey: Buffer;
12
-
13
- public abstract addresses: Address[];
14
-
15
- public abstract p2tr: Address;
16
- public abstract p2wpkh: Address;
17
-
18
- protected constructor() {}
19
-
20
- public abstract signTaprootInput(
21
- transaction: Psbt,
22
- i: number,
23
- sighashTypes: number[],
24
- ): Promise<void>;
25
-
26
- public abstract signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
27
-
28
- public abstract getPublicKey(): Buffer;
29
-
30
- public abstract sign(hash: Buffer, lowR?: boolean): Buffer;
31
-
32
- public abstract signSchnorr(hash: Buffer): Buffer;
33
-
34
- public abstract verify(hash: Buffer, signature: Buffer): boolean;
35
-
36
- public abstract init(): Promise<void>;
37
- }
1
+ import { Network, Psbt, Signer } from 'bitcoinjs-lib';
2
+ import { Address } from '@btc-vision/bsi-binary';
3
+
4
+ /**
5
+ * Create a custom keypair.
6
+ * @class CustomKeypair
7
+ */
8
+ export abstract class CustomKeypair implements Signer {
9
+ public abstract network: Network;
10
+
11
+ public abstract publicKey: Buffer;
12
+
13
+ public abstract addresses: Address[];
14
+
15
+ public abstract p2tr: Address;
16
+ public abstract p2wpkh: Address;
17
+
18
+ protected constructor() {}
19
+
20
+ public abstract signTaprootInput(
21
+ transaction: Psbt,
22
+ i: number,
23
+ sighashTypes: number[],
24
+ ): Promise<void>;
25
+
26
+ public abstract signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
27
+
28
+ public abstract getPublicKey(): Buffer;
29
+
30
+ public abstract sign(hash: Buffer, lowR?: boolean): Buffer;
31
+
32
+ public abstract signSchnorr(hash: Buffer): Buffer;
33
+
34
+ public abstract verify(hash: Buffer, signature: Buffer): boolean;
35
+
36
+ public abstract init(): Promise<void>;
37
+ }
@@ -1,46 +1,46 @@
1
- import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
2
- import { UTXO } from '../../utxo/interfaces/IUTXO.js';
3
-
4
- export type InteractionParametersWithoutSigner = Omit<IInteractionParameters, 'signer'>; //| 'utxos'
5
-
6
- export interface BroadcastTransactionOptions {
7
- raw: string;
8
- psbt: boolean;
9
- }
10
-
11
- export interface BroadcastedTransaction {
12
- /** Whether the transaction was successfully broadcasted. */
13
- readonly success: boolean;
14
-
15
- /**
16
- * The result of the broadcasted transaction.
17
- */
18
- readonly result?: string;
19
-
20
- /**
21
- * The error message if the transaction was not successfully broadcasted.
22
- */
23
- readonly error?: string;
24
-
25
- /**
26
- * The number of peers that the transaction was broadcasted to.
27
- */
28
- readonly peers?: number;
29
-
30
- /**
31
- * The identifier of the transaction.
32
- */
33
- readonly identifier: bigint | string;
34
- }
35
-
36
- export interface Web3Provider {
37
- signInteraction(
38
- interactionParameters: InteractionParametersWithoutSigner,
39
- ): Promise<[string, string, UTXO[]]>;
40
-
41
- signAndBroadcastInteraction(
42
- interactionParameters: InteractionParametersWithoutSigner,
43
- ): Promise<[BroadcastedTransaction, BroadcastedTransaction, UTXO[]]>;
44
-
45
- broadcast(transactions: BroadcastTransactionOptions[]): Promise<BroadcastedTransaction[]>;
46
- }
1
+ import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
2
+ import { UTXO } from '../../utxo/interfaces/IUTXO.js';
3
+
4
+ export type InteractionParametersWithoutSigner = Omit<IInteractionParameters, 'signer'>; //| 'utxos'
5
+
6
+ export interface BroadcastTransactionOptions {
7
+ raw: string;
8
+ psbt: boolean;
9
+ }
10
+
11
+ export interface BroadcastedTransaction {
12
+ /** Whether the transaction was successfully broadcasted. */
13
+ readonly success: boolean;
14
+
15
+ /**
16
+ * The result of the broadcasted transaction.
17
+ */
18
+ readonly result?: string;
19
+
20
+ /**
21
+ * The error message if the transaction was not successfully broadcasted.
22
+ */
23
+ readonly error?: string;
24
+
25
+ /**
26
+ * The number of peers that the transaction was broadcasted to.
27
+ */
28
+ readonly peers?: number;
29
+
30
+ /**
31
+ * The identifier of the transaction.
32
+ */
33
+ readonly identifier: bigint | string;
34
+ }
35
+
36
+ export interface Web3Provider {
37
+ signInteraction(
38
+ interactionParameters: InteractionParametersWithoutSigner,
39
+ ): Promise<[string, string, UTXO[]]>;
40
+
41
+ signAndBroadcastInteraction(
42
+ interactionParameters: InteractionParametersWithoutSigner,
43
+ ): Promise<[BroadcastedTransaction, BroadcastedTransaction, UTXO[]]>;
44
+
45
+ broadcast(transactions: BroadcastTransactionOptions[]): Promise<BroadcastedTransaction[]>;
46
+ }