@btc-vision/transaction 1.0.53 → 1.0.55

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 (250) 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/browser/Web3Provider.d.ts +1 -1
  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/browser/Web3Provider.d.ts +1 -1
  11. package/build/transaction/builders/UnwrapTransaction.js +2 -2
  12. package/gulpfile.js +152 -152
  13. package/package.json +3 -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/metadata/contracts/wBTC.ts +45 -45
  30. package/src/metadata/tokens.ts +7 -7
  31. package/src/network/NetworkInformation.ts +7 -7
  32. package/src/opnet.ts +84 -84
  33. package/src/transaction/TransactionFactory.ts +466 -466
  34. package/src/transaction/browser/BrowserSignerBase.ts +37 -37
  35. package/src/transaction/browser/Web3Provider.ts +46 -46
  36. package/src/transaction/browser/extensions/UnisatSigner.ts +218 -218
  37. package/src/transaction/browser/types/Unisat.ts +80 -80
  38. package/src/transaction/builders/FundingTransaction.ts +40 -40
  39. package/src/transaction/builders/InteractionTransaction.ts +38 -38
  40. package/src/transaction/builders/SharedInteractionTransaction.ts +368 -368
  41. package/src/transaction/builders/TransactionBuilder.ts +665 -665
  42. package/src/transaction/builders/UnwrapTransaction.ts +2 -2
  43. package/src/transaction/interfaces/ITransactionParameters.ts +55 -55
  44. package/src/transaction/interfaces/Tap.ts +26 -26
  45. package/src/transaction/psbt/PSBTTypes.ts +3 -3
  46. package/src/transaction/shared/TweakedTransaction.ts +537 -537
  47. package/src/utxo/OPNetLimitedProvider.ts +244 -244
  48. package/src/utxo/interfaces/BroadcastResponse.ts +10 -10
  49. package/src/utxo/interfaces/IUTXO.ts +29 -29
  50. package/src/verification/TapscriptVerificator.ts +89 -89
  51. package/src/wbtc/Generate.ts +40 -40
  52. package/src/wbtc/UnwrapGeneration.ts +13 -13
  53. package/src/wbtc/WrappedGenerationParameters.ts +33 -33
  54. package/webpack.config.js +78 -78
  55. package/build/Utils.d.ts +0 -0
  56. package/build/Utils.js +0 -1
  57. package/build/consensus/metadata/RoswsellConsensus.d.ts +0 -2
  58. package/build/consensus/metadata/RoswsellConsensus.js +0 -4
  59. package/build/contracts/ContractMetadataManager.d.ts +0 -0
  60. package/build/contracts/ContractMetadataManager.js +0 -1
  61. package/build/generators/OPNetAddressGenerator.d.ts +0 -0
  62. package/build/generators/OPNetAddressGenerator.js +0 -1
  63. package/build/generators/builders/UnwrapGenerator.d.ts +0 -8
  64. package/build/generators/builders/UnwrapGenerator.js +0 -79
  65. package/build/keypair/interfaces/GeneratedWallet.d.ts +0 -5
  66. package/build/keypair/interfaces/GeneratedWallet.js +0 -1
  67. package/build/metadata/CommonContracts.d.ts +0 -6
  68. package/build/metadata/CommonContracts.js +0 -5
  69. package/build/metadata/ContractMetadataManager.d.ts +0 -1
  70. package/build/metadata/ContractMetadataManager.js +0 -9
  71. package/build/metadata/contracts/ContractBase.d.ts +0 -9
  72. package/build/metadata/contracts/ContractBase.js +0 -13
  73. package/build/metadata/contracts/ContractBaseMetadata.d.ts +0 -9
  74. package/build/metadata/contracts/ContractBaseMetadata.js +0 -13
  75. package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
  76. package/build/metadata/contracts/ContractMetadataManager.js +0 -1
  77. package/build/network/NetworkConverter.d.ts +0 -0
  78. package/build/network/NetworkConverter.js +0 -14
  79. package/build/scripts/Regtest.d.ts +0 -2
  80. package/build/scripts/Regtest.js +0 -15
  81. package/build/scripts/test.d.ts +0 -1
  82. package/build/scripts/test.js +0 -74
  83. package/build/signer/Regtest.d.ts +0 -2
  84. package/build/signer/Regtest.js +0 -15
  85. package/build/tests/Regtest.d.ts +0 -3
  86. package/build/tests/Regtest.js +0 -29
  87. package/build/tests/adaptPSBT.d.ts +0 -1
  88. package/build/tests/adaptPSBT.js +0 -44
  89. package/build/tests/btc/send.d.ts +0 -1
  90. package/build/tests/btc/send.js +0 -35
  91. package/build/tests/btc/transfer.d.ts +0 -1
  92. package/build/tests/btc/transfer.js +0 -35
  93. package/build/tests/createPairReg.d.ts +0 -1
  94. package/build/tests/createPairReg.js +0 -73
  95. package/build/tests/deploy.d.ts +0 -1
  96. package/build/tests/deploy.js +0 -41
  97. package/build/tests/deployMotoRegStep1.d.ts +0 -1
  98. package/build/tests/deployMotoRegStep1.js +0 -85
  99. package/build/tests/deployReg.d.ts +0 -1
  100. package/build/tests/deployReg.js +0 -85
  101. package/build/tests/factory/createPairReg.d.ts +0 -1
  102. package/build/tests/factory/createPairReg.js +0 -13
  103. package/build/tests/gen.d.ts +0 -1
  104. package/build/tests/gen.js +0 -19
  105. package/build/tests/interaction.d.ts +0 -5
  106. package/build/tests/interaction.js +0 -62
  107. package/build/tests/massWrapReg.d.ts +0 -1
  108. package/build/tests/massWrapReg.js +0 -105
  109. package/build/tests/mineReg.d.ts +0 -1
  110. package/build/tests/mineReg.js +0 -19
  111. package/build/tests/moto/airdropToken.d.ts +0 -1
  112. package/build/tests/moto/airdropToken.js +0 -21
  113. package/build/tests/moto/airdropTokens.d.ts +0 -1
  114. package/build/tests/moto/airdropTokens.js +0 -60
  115. package/build/tests/moto/allowance.d.ts +0 -1
  116. package/build/tests/moto/allowance.js +0 -4
  117. package/build/tests/moto/approve.d.ts +0 -1
  118. package/build/tests/moto/approve.js +0 -10
  119. package/build/tests/moto/approveWBTC.d.ts +0 -1
  120. package/build/tests/moto/approveWBTC.js +0 -12
  121. package/build/tests/moto/balanceOf.d.ts +0 -1
  122. package/build/tests/moto/balanceOf.js +0 -12
  123. package/build/tests/moto/transfer.d.ts +0 -1
  124. package/build/tests/moto/transfer.js +0 -16
  125. package/build/tests/motoswap/airdropToken.d.ts +0 -11
  126. package/build/tests/motoswap/airdropToken.js +0 -36
  127. package/build/tests/motoswap/deployMoto.d.ts +0 -4
  128. package/build/tests/motoswap/deployMoto.js +0 -89
  129. package/build/tests/motoswap/deployMotoRegStep1.d.ts +0 -1
  130. package/build/tests/motoswap/deployMotoRegStep1.js +0 -91
  131. package/build/tests/motoswap/deployMotoRegStep2.d.ts +0 -1
  132. package/build/tests/motoswap/deployMotoRegStep2.js +0 -91
  133. package/build/tests/motoswap/deployPool.d.ts +0 -1
  134. package/build/tests/motoswap/deployPool.js +0 -5
  135. package/build/tests/motoswap/deployStep1.d.ts +0 -1
  136. package/build/tests/motoswap/deployStep1.js +0 -5
  137. package/build/tests/motoswap/deployStep2.d.ts +0 -1
  138. package/build/tests/motoswap/deployStep2.js +0 -5
  139. package/build/tests/motoswap/deployStep3.d.ts +0 -1
  140. package/build/tests/motoswap/deployStep3.js +0 -5
  141. package/build/tests/motoswap/interaction.d.ts +0 -3
  142. package/build/tests/motoswap/interaction.js +0 -63
  143. package/build/tests/motoswap/routerAddLiquidity.d.ts +0 -11
  144. package/build/tests/motoswap/routerAddLiquidity.js +0 -35
  145. package/build/tests/multisign.d.ts +0 -1
  146. package/build/tests/multisign.js +0 -47
  147. package/build/tests/multisign2.d.ts +0 -1
  148. package/build/tests/multisign2.js +0 -27
  149. package/build/tests/pool/DecodePoolAddress.d.ts +0 -6
  150. package/build/tests/pool/DecodePoolAddress.js +0 -12
  151. package/build/tests/pool/decodeReserves.d.ts +0 -5
  152. package/build/tests/pool/decodeReserves.js +0 -13
  153. package/build/tests/pool/reserves.d.ts +0 -1
  154. package/build/tests/pool/reserves.js +0 -10
  155. package/build/tests/shared/Utils.d.ts +0 -2
  156. package/build/tests/shared/Utils.js +0 -9
  157. package/build/tests/shared/interaction.d.ts +0 -7
  158. package/build/tests/shared/interaction.js +0 -85
  159. package/build/tests/shared/tokens.d.ts +0 -6
  160. package/build/tests/shared/tokens.js +0 -5
  161. package/build/tests/stakeReg.d.ts +0 -1
  162. package/build/tests/stakeReg.js +0 -73
  163. package/build/tests/stakedReg.d.ts +0 -1
  164. package/build/tests/stakedReg.js +0 -28
  165. package/build/tests/test.d.ts +0 -1
  166. package/build/tests/test.js +0 -51
  167. package/build/tests/test2.d.ts +0 -1
  168. package/build/tests/test2.js +0 -73
  169. package/build/tests/testReg.d.ts +0 -1
  170. package/build/tests/testReg.js +0 -91
  171. package/build/tests/tokens.d.ts +0 -6
  172. package/build/tests/tokens.js +0 -5
  173. package/build/tests/totalRewardReg.d.ts +0 -1
  174. package/build/tests/totalRewardReg.js +0 -28
  175. package/build/tests/transfer.d.ts +0 -1
  176. package/build/tests/transfer.js +0 -74
  177. package/build/tests/transferReg.d.ts +0 -1
  178. package/build/tests/transferReg.js +0 -74
  179. package/build/tests/unStakeReg.d.ts +0 -1
  180. package/build/tests/unStakeReg.js +0 -72
  181. package/build/tests/unwrapReg.d.ts +0 -1
  182. package/build/tests/unwrapReg.js +0 -61
  183. package/build/tests/unwrapReg2.d.ts +0 -1
  184. package/build/tests/unwrapReg2.js +0 -56
  185. package/build/tests/unwrapRegSegwit.d.ts +0 -1
  186. package/build/tests/unwrapRegSegwit.js +0 -83
  187. package/build/tests/wbtc/approve.d.ts +0 -1
  188. package/build/tests/wbtc/approve.js +0 -6
  189. package/build/tests/wbtc/approveWBTC.d.ts +0 -1
  190. package/build/tests/wbtc/approveWBTC.js +0 -12
  191. package/build/tests/wbtc/massWrapReg.d.ts +0 -1
  192. package/build/tests/wbtc/massWrapReg.js +0 -105
  193. package/build/tests/wbtc/transfer.d.ts +0 -1
  194. package/build/tests/wbtc/transfer.js +0 -16
  195. package/build/tests/wbtc/transferReg.d.ts +0 -1
  196. package/build/tests/wbtc/transferReg.js +0 -16
  197. package/build/tests/wbtc/unStakeReg.d.ts +0 -1
  198. package/build/tests/wbtc/unStakeReg.js +0 -72
  199. package/build/tests/wbtc/unwrapReg.d.ts +0 -1
  200. package/build/tests/wbtc/unwrapReg.js +0 -60
  201. package/build/tests/wbtc/unwrapRegSegwit.d.ts +0 -1
  202. package/build/tests/wbtc/unwrapRegSegwit.js +0 -83
  203. package/build/tests/wbtc/withdrawalRequestReg.d.ts +0 -1
  204. package/build/tests/wbtc/withdrawalRequestReg.js +0 -71
  205. package/build/tests/wbtc/wrapReg.d.ts +0 -1
  206. package/build/tests/wbtc/wrapReg.js +0 -65
  207. package/build/tests/wbtc/wrapTest.d.ts +0 -1
  208. package/build/tests/wbtc/wrapTest.js +0 -66
  209. package/build/tests/withdrawalRequestReg.d.ts +0 -1
  210. package/build/tests/withdrawalRequestReg.js +0 -71
  211. package/build/tests/wrap.d.ts +0 -1
  212. package/build/tests/wrap.js +0 -65
  213. package/build/tests/wrapReg.d.ts +0 -1
  214. package/build/tests/wrapReg.js +0 -68
  215. package/build/tests/wrapTest.d.ts +0 -1
  216. package/build/tests/wrapTest.js +0 -66
  217. package/build/tests/wrapTestg.d.ts +0 -1
  218. package/build/tests/wrapTestg.js +0 -66
  219. package/build/tests/writers/allowance.d.ts +0 -3
  220. package/build/tests/writers/allowance.js +0 -10
  221. package/build/tests/writers/approve.d.ts +0 -4
  222. package/build/tests/writers/approve.js +0 -11
  223. package/build/transaction/TransactionBuilder.d.ts +0 -60
  224. package/build/transaction/TransactionBuilder.js +0 -244
  225. package/build/transaction/browser/BrowserSigner.d.ts +0 -11
  226. package/build/transaction/browser/BrowserSigner.js +0 -10
  227. package/build/transaction/browser/extensions/Unisat.d.ts +0 -54
  228. package/build/transaction/browser/extensions/Unisat.js +0 -11
  229. package/build/transaction/builders/GenericTransaction.d.ts +0 -11
  230. package/build/transaction/builders/GenericTransaction.js +0 -23
  231. package/build/transaction/builders/TapUnwarpTransaction.d.ts +0 -37
  232. package/build/transaction/builders/TapUnwarpTransaction.js +0 -201
  233. package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +0 -34
  234. package/build/transaction/builders/UnwarpSegwitTransaction.js +0 -184
  235. package/build/transaction/builders/UnwarpTransaction.d.ts +0 -35
  236. package/build/transaction/builders/UnwarpTransaction.js +0 -199
  237. package/build/transaction/interfaces/ITransactions.d.ts +0 -32
  238. package/build/transaction/interfaces/ITransactions.js +0 -1
  239. package/build/utxo/IUTXO.d.ts +0 -0
  240. package/build/utxo/IUTXO.js +0 -1
  241. package/build/utxo/OPNetUtils.d.ts +0 -7
  242. package/build/utxo/OPNetUtils.js +0 -47
  243. package/build/utxo/UTXOManager.d.ts +0 -7
  244. package/build/utxo/UTXOManager.js +0 -47
  245. package/build/wbtc/BroadcastResponse.d.ts +0 -0
  246. package/build/wbtc/BroadcastResponse.js +0 -1
  247. /package/build/generators/{features.d.ts → Features.d.ts} +0 -0
  248. /package/build/generators/{features.js → Features.js} +0 -0
  249. /package/build/generators/builders/{MultisignGenerator.d.ts → MultiSignGenerator.d.ts} +0 -0
  250. /package/build/generators/builders/{MultisignGenerator.js → MultiSignGenerator.js} +0 -0
@@ -1,80 +1,80 @@
1
- import { Address } from '@btc-vision/bsi-binary';
2
- import { Web3Provider } from '../Web3Provider.js';
3
-
4
- export enum UnisatNetwork {
5
- testnet = 'testnet',
6
- mainnet = 'livenet',
7
- regtest = 'regtest',
8
- }
9
-
10
- export interface Balance {
11
- readonly confirmed: number;
12
- readonly unconfirmed: number;
13
- readonly total: number;
14
- }
15
-
16
- export enum MessageType {
17
- ecdsa = 'ecdsa',
18
- bip322 = 'bip322-simple',
19
- }
20
-
21
- interface ToSignInputBase {
22
- readonly index: number;
23
- readonly sighashTypes?: number[];
24
- readonly disableTweakSigner?: boolean;
25
- }
26
-
27
- export interface ToSignInputPublicKey extends ToSignInputBase {
28
- readonly publicKey: string;
29
- }
30
-
31
- export interface ToSignInputAddress extends ToSignInputBase {
32
- readonly address: Address;
33
- }
34
-
35
- export type ToSignInput = ToSignInputPublicKey | ToSignInputAddress;
36
-
37
- export interface PsbtSignatureOptions {
38
- readonly autoFinalized?: boolean;
39
- readonly toSignInputs?: ToSignInput[];
40
- }
41
-
42
- export interface Unisat {
43
- web3?: Web3Provider;
44
-
45
- sendBitcoin(
46
- toAddress: Address,
47
- satoshis: number,
48
- options: { feeRate: number; memo?: string; memos?: string[] },
49
- ): Promise<string>;
50
-
51
- requestAccounts(): Promise<string[]>;
52
-
53
- getNetwork(): Promise<UnisatNetwork>;
54
-
55
- getAccounts(): Promise<string[]>;
56
-
57
- switchNetwork(network: UnisatNetwork): Promise<void>;
58
-
59
- getPublicKey(): Promise<string>;
60
-
61
- getBalance(): Promise<Balance>;
62
-
63
- signMessage(message: string, type?: MessageType): Promise<string>;
64
-
65
- pushTx(options: { rawtx: string }): Promise<string>;
66
-
67
- signPsbt(psbtHex: string, psbtOptions: PsbtSignatureOptions): Promise<string>;
68
-
69
- signPsbts(psbtHex: string[], psbtOptions: PsbtSignatureOptions): Promise<string[]>;
70
-
71
- pushPsbt(psbtHex: string): Promise<string>;
72
-
73
- on(event: 'accountsChanged', listener: (accounts: string[]) => void): void;
74
-
75
- on(event: 'networkChanged', listener: (network: UnisatNetwork) => void): void;
76
-
77
- removeListener(event: 'accountsChanged', listener: (accounts: string[]) => void): void;
78
-
79
- removeListener(event: 'networkChanged', listener: (network: UnisatNetwork) => void): void;
80
- }
1
+ import { Address } from '@btc-vision/bsi-binary';
2
+ import { Web3Provider } from '../Web3Provider.js';
3
+
4
+ export enum UnisatNetwork {
5
+ testnet = 'testnet',
6
+ mainnet = 'livenet',
7
+ regtest = 'regtest',
8
+ }
9
+
10
+ export interface Balance {
11
+ readonly confirmed: number;
12
+ readonly unconfirmed: number;
13
+ readonly total: number;
14
+ }
15
+
16
+ export enum MessageType {
17
+ ecdsa = 'ecdsa',
18
+ bip322 = 'bip322-simple',
19
+ }
20
+
21
+ interface ToSignInputBase {
22
+ readonly index: number;
23
+ readonly sighashTypes?: number[];
24
+ readonly disableTweakSigner?: boolean;
25
+ }
26
+
27
+ export interface ToSignInputPublicKey extends ToSignInputBase {
28
+ readonly publicKey: string;
29
+ }
30
+
31
+ export interface ToSignInputAddress extends ToSignInputBase {
32
+ readonly address: Address;
33
+ }
34
+
35
+ export type ToSignInput = ToSignInputPublicKey | ToSignInputAddress;
36
+
37
+ export interface PsbtSignatureOptions {
38
+ readonly autoFinalized?: boolean;
39
+ readonly toSignInputs?: ToSignInput[];
40
+ }
41
+
42
+ export interface Unisat {
43
+ web3?: Web3Provider;
44
+
45
+ sendBitcoin(
46
+ toAddress: Address,
47
+ satoshis: number,
48
+ options: { feeRate: number; memo?: string; memos?: string[] },
49
+ ): Promise<string>;
50
+
51
+ requestAccounts(): Promise<string[]>;
52
+
53
+ getNetwork(): Promise<UnisatNetwork>;
54
+
55
+ getAccounts(): Promise<string[]>;
56
+
57
+ switchNetwork(network: UnisatNetwork): Promise<void>;
58
+
59
+ getPublicKey(): Promise<string>;
60
+
61
+ getBalance(): Promise<Balance>;
62
+
63
+ signMessage(message: string, type?: MessageType): Promise<string>;
64
+
65
+ pushTx(options: { rawtx: string }): Promise<string>;
66
+
67
+ signPsbt(psbtHex: string, psbtOptions: PsbtSignatureOptions): Promise<string>;
68
+
69
+ signPsbts(psbtHex: string[], psbtOptions: PsbtSignatureOptions): Promise<string[]>;
70
+
71
+ pushPsbt(psbtHex: string): Promise<string>;
72
+
73
+ on(event: 'accountsChanged', listener: (accounts: string[]) => void): void;
74
+
75
+ on(event: 'networkChanged', listener: (network: UnisatNetwork) => void): void;
76
+
77
+ removeListener(event: 'accountsChanged', listener: (accounts: string[]) => void): void;
78
+
79
+ removeListener(event: 'networkChanged', listener: (network: UnisatNetwork) => void): void;
80
+ }
@@ -1,40 +1,40 @@
1
- import { TransactionType } from '../enums/TransactionType.js';
2
- import { IFundingTransactionParameters } from '../interfaces/ITransactionParameters.js';
3
- import { Signer } from 'bitcoinjs-lib';
4
- import { TransactionBuilder } from './TransactionBuilder.js';
5
-
6
- export class FundingTransaction extends TransactionBuilder<TransactionType.FUNDING> {
7
- public readonly type: TransactionType.FUNDING = TransactionType.FUNDING;
8
-
9
- protected childTransactionRequiredFees: bigint;
10
-
11
- constructor(parameters: IFundingTransactionParameters) {
12
- super(parameters);
13
-
14
- this.childTransactionRequiredFees = parameters.amount;
15
-
16
- this.internalInit();
17
- }
18
-
19
- protected override async buildTransaction(): Promise<void> {
20
- if (!this.to) {
21
- throw new Error('Recipient address is required');
22
- }
23
-
24
- this.addInputsFromUTXO();
25
-
26
- const amountSpent: bigint =
27
- this.getTransactionOPNetFee() + this.childTransactionRequiredFees;
28
-
29
- this.addOutput({
30
- value: Number(amountSpent),
31
- address: this.to,
32
- });
33
-
34
- await this.addRefundOutput(amountSpent);
35
- }
36
-
37
- protected override getSignerKey(): Signer {
38
- return this.signer;
39
- }
40
- }
1
+ import { TransactionType } from '../enums/TransactionType.js';
2
+ import { IFundingTransactionParameters } from '../interfaces/ITransactionParameters.js';
3
+ import { Signer } from 'bitcoinjs-lib';
4
+ import { TransactionBuilder } from './TransactionBuilder.js';
5
+
6
+ export class FundingTransaction extends TransactionBuilder<TransactionType.FUNDING> {
7
+ public readonly type: TransactionType.FUNDING = TransactionType.FUNDING;
8
+
9
+ protected childTransactionRequiredFees: bigint;
10
+
11
+ constructor(parameters: IFundingTransactionParameters) {
12
+ super(parameters);
13
+
14
+ this.childTransactionRequiredFees = parameters.amount;
15
+
16
+ this.internalInit();
17
+ }
18
+
19
+ protected override async buildTransaction(): Promise<void> {
20
+ if (!this.to) {
21
+ throw new Error('Recipient address is required');
22
+ }
23
+
24
+ this.addInputsFromUTXO();
25
+
26
+ const amountSpent: bigint =
27
+ this.getTransactionOPNetFee() + this.childTransactionRequiredFees;
28
+
29
+ this.addOutput({
30
+ value: Number(amountSpent),
31
+ address: this.to,
32
+ });
33
+
34
+ await this.addRefundOutput(amountSpent);
35
+ }
36
+
37
+ protected override getSignerKey(): Signer {
38
+ return this.signer;
39
+ }
40
+ }
@@ -1,38 +1,38 @@
1
- import { Taptree } from 'bitcoinjs-lib/src/types.js';
2
- import { TransactionType } from '../enums/TransactionType.js';
3
- import { TapLeafScript } from '../interfaces/Tap.js';
4
- import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
5
- import { SharedInteractionTransaction } from './SharedInteractionTransaction.js';
6
-
7
- /**
8
- * Class for interaction transactions
9
- * @class InteractionTransaction
10
- */
11
- export class InteractionTransaction extends SharedInteractionTransaction<TransactionType.INTERACTION> {
12
- public type: TransactionType.INTERACTION = TransactionType.INTERACTION;
13
-
14
- protected readonly compiledTargetScript: Buffer;
15
- protected readonly scriptTree: Taptree;
16
-
17
- protected tapLeafScript: TapLeafScript | null = null;
18
-
19
- /**
20
- * Contract secret for the interaction
21
- * @protected
22
- */
23
- protected readonly contractSecret: Buffer;
24
-
25
- public constructor(parameters: IInteractionParameters) {
26
- super(parameters);
27
-
28
- this.contractSecret = this.generateSecret();
29
-
30
- this.compiledTargetScript = this.calldataGenerator.compile(
31
- this.calldata,
32
- this.contractSecret,
33
- );
34
-
35
- this.scriptTree = this.getScriptTree();
36
- this.internalInit();
37
- }
38
- }
1
+ import { Taptree } from 'bitcoinjs-lib/src/types.js';
2
+ import { TransactionType } from '../enums/TransactionType.js';
3
+ import { TapLeafScript } from '../interfaces/Tap.js';
4
+ import { IInteractionParameters } from '../interfaces/ITransactionParameters.js';
5
+ import { SharedInteractionTransaction } from './SharedInteractionTransaction.js';
6
+
7
+ /**
8
+ * Class for interaction transactions
9
+ * @class InteractionTransaction
10
+ */
11
+ export class InteractionTransaction extends SharedInteractionTransaction<TransactionType.INTERACTION> {
12
+ public type: TransactionType.INTERACTION = TransactionType.INTERACTION;
13
+
14
+ protected readonly compiledTargetScript: Buffer;
15
+ protected readonly scriptTree: Taptree;
16
+
17
+ protected tapLeafScript: TapLeafScript | null = null;
18
+
19
+ /**
20
+ * Contract secret for the interaction
21
+ * @protected
22
+ */
23
+ protected readonly contractSecret: Buffer;
24
+
25
+ public constructor(parameters: IInteractionParameters) {
26
+ super(parameters);
27
+
28
+ this.contractSecret = this.generateSecret();
29
+
30
+ this.compiledTargetScript = this.calldataGenerator.compile(
31
+ this.calldata,
32
+ this.contractSecret,
33
+ );
34
+
35
+ this.scriptTree = this.getScriptTree();
36
+ this.internalInit();
37
+ }
38
+ }