@atomicfinance/client 3.3.1 → 3.4.1

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.
@@ -1 +1 @@
1
- @atomicfinance/client:build: cache hit, replaying output d26436f1c486e0f4
1
+ @atomicfinance/client:build: cache hit, replaying output 564746251f6dd7c2
@@ -1 +1 @@
1
- @atomicfinance/client:test: cache hit, replaying output cd665cd2a91a390e
1
+ @atomicfinance/client:test: cache hit, replaying output 2ca5645508322113
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atomicfinance/client
2
2
 
3
+ ## 3.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 9781efe: Add getInputsForDualFunding functionality and bump @node-dlc
8
+ - Updated dependencies [9781efe]
9
+ - @atomicfinance/bitcoin-utils@3.4.1
10
+ - @atomicfinance/types@3.4.1
11
+ - @atomicfinance/errors@3.4.1
12
+ - @atomicfinance/provider@3.4.1
13
+
14
+ ## 3.4.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 314d7d7: Add batch dlc funding transactions
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [314d7d7]
23
+ - @atomicfinance/types@3.4.0
24
+ - @atomicfinance/errors@3.4.0
25
+ - @atomicfinance/provider@3.4.0
26
+
3
27
  ## 3.3.1
4
28
 
5
29
  ### Patch Changes
package/dist/Client.d.ts CHANGED
@@ -47,7 +47,7 @@ export default class Client implements IClient {
47
47
  * above the requestor in the stack.
48
48
  * @return {function} Returns method from provider instance associated with the requested method
49
49
  */
50
- getMethod(method: string, requestor?: any): any;
50
+ getMethod(method: string, requestor?: any): (...args: any[]) => any;
51
51
  assertValidTransaction(transaction: Transaction): void;
52
52
  assertValidBlock(block: Block): void;
53
53
  get chain(): Chain;
package/dist/Dlc.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AddSignaturesToRefundTxRequest, AddSignaturesToRefundTxResponse, AddSignatureToFundTransactionRequest, AddSignatureToFundTransactionResponse, CreateCetAdaptorSignatureRequest, CreateCetAdaptorSignatureResponse, CreateCetAdaptorSignaturesRequest, CreateCetAdaptorSignaturesResponse, CreateCetRequest, CreateCetResponse, CreateDlcTransactionsRequest, CreateDlcTransactionsResponse, CreateDlcTxsResponse, CreateFundTransactionRequest, CreateFundTransactionResponse, CreateRefundTransactionRequest, CreateRefundTransactionResponse, DlcProvider, GetRawFundTxSignatureRequest, GetRawFundTxSignatureResponse, GetRawRefundTxSignatureRequest, GetRawRefundTxSignatureResponse, Input, SignCetRequest, SignCetResponse, SignFundTransactionRequest, SignFundTransactionResponse, VerifyCetAdaptorSignatureRequest, VerifyCetAdaptorSignatureResponse, VerifyCetAdaptorSignaturesRequest, VerifyCetAdaptorSignaturesResponse, VerifyFundTxSignatureRequest, VerifyFundTxSignatureResponse, VerifyRefundTxSignatureRequest, VerifyRefundTxSignatureResponse } from '@atomicfinance/types';
1
+ import { AddSignaturesToRefundTxRequest, AddSignaturesToRefundTxResponse, AddSignatureToFundTransactionRequest, AddSignatureToFundTransactionResponse, BatchAcceptDlcOfferResponse, BatchSignDlcAcceptResponse, CreateCetAdaptorSignatureRequest, CreateCetAdaptorSignatureResponse, CreateCetAdaptorSignaturesRequest, CreateCetAdaptorSignaturesResponse, CreateCetRequest, CreateCetResponse, CreateDlcTransactionsRequest, CreateDlcTransactionsResponse, CreateDlcTxsResponse, CreateFundTransactionRequest, CreateFundTransactionResponse, CreateRefundTransactionRequest, CreateRefundTransactionResponse, DlcProvider, GetRawFundTxSignatureRequest, GetRawFundTxSignatureResponse, GetRawRefundTxSignatureRequest, GetRawRefundTxSignatureResponse, Input, SignCetRequest, SignCetResponse, SignFundTransactionRequest, SignFundTransactionResponse, VerifyCetAdaptorSignatureRequest, VerifyCetAdaptorSignatureResponse, VerifyCetAdaptorSignaturesRequest, VerifyCetAdaptorSignaturesResponse, VerifyFundTxSignatureRequest, VerifyFundTxSignatureResponse, VerifyRefundTxSignatureRequest, VerifyRefundTxSignatureResponse } from '@atomicfinance/types';
2
2
  import { ContractInfo, DlcAccept, DlcClose, DlcCloseMetadata, DlcOffer, DlcSign, DlcTransactions, FundingInput, OracleAttestationV0 } from '@node-dlc/messaging';
3
3
  import { Tx } from '@node-lightning/bitcoin';
4
4
  export default class Dlc implements DlcProvider {
@@ -28,6 +28,7 @@ export default class Dlc implements DlcProvider {
28
28
  * @returns {Promise<DlcOffer>}
29
29
  */
30
30
  createDlcOffer(contractInfo: ContractInfo, offerCollateralSatoshis: bigint, feeRatePerVb: bigint, cetLocktime: number, refundLocktime: number, fixedInputs?: IInput[]): Promise<DlcOffer>;
31
+ batchCreateDlcOffer(contractInfos: ContractInfo[], offerCollaterals: bigint[], feeRatePerVb: bigint, cetLocktime: number, refundLocktimes: number[], fixedInputs?: IInput[]): Promise<DlcOffer[]>;
31
32
  /**
32
33
  * Accept DLC Offer
33
34
  * @param dlcOffer Dlc Offer Message
@@ -35,6 +36,13 @@ export default class Dlc implements DlcProvider {
35
36
  * @returns {Promise<AcceptDlcOfferResponse}
36
37
  */
37
38
  acceptDlcOffer(dlcOffer: DlcOffer, fixedInputs?: IInput[]): Promise<AcceptDlcOfferResponse>;
39
+ /**
40
+ * Accept DLC Offer
41
+ * @param dlcOffers Dlc Offer Messages
42
+ * @param fixedInputs Optional inputs to use for Funding Inputs
43
+ * @returns {Promise<BatchAcceptDlcOfferResponse}
44
+ */
45
+ batchAcceptDlcOffer(dlcOffers: DlcOffer[], fixedInputs?: IInput[]): Promise<BatchAcceptDlcOfferResponse>;
38
46
  /**
39
47
  * Sign Dlc Accept Message
40
48
  * @param dlcOffer Dlc Offer Message
@@ -42,6 +50,13 @@ export default class Dlc implements DlcProvider {
42
50
  * @returns {Promise<SignDlcAcceptResponse}
43
51
  */
44
52
  signDlcAccept(dlcOffer: DlcOffer, dlcAccept: DlcAccept): Promise<SignDlcAcceptResponse>;
53
+ /**
54
+ * Batch Sign Dlc Accept Messages
55
+ * @param dlcOffers Dlc Offer Messages
56
+ * @param dlcAccepts Dlc Accept Messages
57
+ * @returns {Promise<BatchSignDlcAcceptResponse}
58
+ */
59
+ batchSignDlcAccept(dlcOffers: DlcOffer[], dlcAccepts: DlcAccept[]): Promise<BatchSignDlcAcceptResponse>;
45
60
  /**
46
61
  * Finalize Dlc Sign
47
62
  * @param dlcOffer Dlc Offer Message
@@ -51,6 +66,7 @@ export default class Dlc implements DlcProvider {
51
66
  * @returns {Promise<Tx>}
52
67
  */
53
68
  finalizeDlcSign(dlcOffer: DlcOffer, dlcAccept: DlcAccept, dlcSign: DlcSign, dlcTxs: DlcTransactions): Promise<Tx>;
69
+ batchFinalizeDlcSign(dlcOffers: DlcOffer[], dlcAccepts: DlcAccept[], dlcSigns: DlcSign[], dlcTxsList: DlcTransactions[]): Promise<Tx>;
54
70
  /**
55
71
  * Execute DLC
56
72
  * @param dlcOffer Dlc Offer Message
@@ -127,7 +143,7 @@ export default class Dlc implements DlcProvider {
127
143
  SignFundTransaction(jsonObject: SignFundTransactionRequest): Promise<SignFundTransactionResponse>;
128
144
  VerifyCetAdaptorSignature(jsonObject: VerifyCetAdaptorSignatureRequest): Promise<VerifyCetAdaptorSignatureResponse>;
129
145
  VerifyCetAdaptorSignatures(jsonObject: VerifyCetAdaptorSignaturesRequest): Promise<VerifyCetAdaptorSignaturesResponse>;
130
- GetInputsForAmount(amount: bigint, feeRatePerVb: bigint, fixedInputs: Input[]): Promise<Input[]>;
146
+ GetInputsForAmount(amounts: bigint[], feeRatePerVb: bigint, fixedInputs: Input[]): Promise<Input[]>;
131
147
  SignCet(jsonObject: SignCetRequest): Promise<SignCetResponse>;
132
148
  VerifyCetAdaptorSignaturesRequest(jsonObject: VerifyCetAdaptorSignaturesRequest): Promise<VerifyCetAdaptorSignaturesResponse>;
133
149
  VerifyFundTxSignature(jsonObject: VerifyFundTxSignatureRequest): Promise<VerifyFundTxSignatureResponse>;
package/dist/Dlc.js CHANGED
@@ -34,6 +34,9 @@ class Dlc {
34
34
  async createDlcOffer(contractInfo, offerCollateralSatoshis, feeRatePerVb, cetLocktime, refundLocktime, fixedInputs) {
35
35
  return this.client.getMethod('createDlcOffer')(contractInfo, offerCollateralSatoshis, feeRatePerVb, cetLocktime, refundLocktime, fixedInputs);
36
36
  }
37
+ async batchCreateDlcOffer(contractInfos, offerCollaterals, feeRatePerVb, cetLocktime, refundLocktimes, fixedInputs) {
38
+ return this.client.getMethod('batchCreateDlcOffer')(contractInfos, offerCollaterals, feeRatePerVb, cetLocktime, refundLocktimes, fixedInputs);
39
+ }
37
40
  /**
38
41
  * Accept DLC Offer
39
42
  * @param dlcOffer Dlc Offer Message
@@ -43,6 +46,15 @@ class Dlc {
43
46
  async acceptDlcOffer(dlcOffer, fixedInputs) {
44
47
  return this.client.getMethod('acceptDlcOffer')(dlcOffer, fixedInputs);
45
48
  }
49
+ /**
50
+ * Accept DLC Offer
51
+ * @param dlcOffers Dlc Offer Messages
52
+ * @param fixedInputs Optional inputs to use for Funding Inputs
53
+ * @returns {Promise<BatchAcceptDlcOfferResponse}
54
+ */
55
+ async batchAcceptDlcOffer(dlcOffers, fixedInputs) {
56
+ return this.client.getMethod('batchAcceptDlcOffer')(dlcOffers, fixedInputs);
57
+ }
46
58
  /**
47
59
  * Sign Dlc Accept Message
48
60
  * @param dlcOffer Dlc Offer Message
@@ -52,6 +64,15 @@ class Dlc {
52
64
  async signDlcAccept(dlcOffer, dlcAccept) {
53
65
  return this.client.getMethod('signDlcAccept')(dlcOffer, dlcAccept);
54
66
  }
67
+ /**
68
+ * Batch Sign Dlc Accept Messages
69
+ * @param dlcOffers Dlc Offer Messages
70
+ * @param dlcAccepts Dlc Accept Messages
71
+ * @returns {Promise<BatchSignDlcAcceptResponse}
72
+ */
73
+ async batchSignDlcAccept(dlcOffers, dlcAccepts) {
74
+ return this.client.getMethod('batchSignDlcAccept')(dlcOffers, dlcAccepts);
75
+ }
55
76
  /**
56
77
  * Finalize Dlc Sign
57
78
  * @param dlcOffer Dlc Offer Message
@@ -63,6 +84,9 @@ class Dlc {
63
84
  async finalizeDlcSign(dlcOffer, dlcAccept, dlcSign, dlcTxs) {
64
85
  return this.client.getMethod('finalizeDlcSign')(dlcOffer, dlcAccept, dlcSign, dlcTxs);
65
86
  }
87
+ async batchFinalizeDlcSign(dlcOffers, dlcAccepts, dlcSigns, dlcTxsList) {
88
+ return this.client.getMethod('batchFinalizeDlcSign')(dlcOffers, dlcAccepts, dlcSigns, dlcTxsList);
89
+ }
66
90
  /**
67
91
  * Execute DLC
68
92
  * @param dlcOffer Dlc Offer Message
@@ -181,8 +205,8 @@ class Dlc {
181
205
  async VerifyCetAdaptorSignatures(jsonObject) {
182
206
  return this.client.getMethod('VerifyCetAdaptorSignatures')(jsonObject);
183
207
  }
184
- async GetInputsForAmount(amount, feeRatePerVb, fixedInputs) {
185
- return this.client.getMethod('GetInputsForAmount')(amount, feeRatePerVb, fixedInputs);
208
+ async GetInputsForAmount(amounts, feeRatePerVb, fixedInputs) {
209
+ return this.client.getMethod('GetInputsForAmount')(amounts, feeRatePerVb, fixedInputs);
186
210
  }
187
211
  async SignCet(jsonObject) {
188
212
  return this.client.getMethod('SignCet')(jsonObject);
package/dist/Dlc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Dlc.js","sourceRoot":"","sources":["../lib/Dlc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dlc.js","sourceRoot":"","sources":["../lib/Dlc.ts"],"names":[],"mappings":"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"}
package/dist/Wallet.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Address, CreateMultisigResponse, Input, Output, WalletProvider } from '@atomicfinance/types';
1
+ import { CoinSelectTarget } from '@atomicfinance/bitcoin-utils';
2
+ import { Address, bitcoin as bT, CreateMultisigResponse, Input, Output, Transaction as Tx, WalletProvider } from '@atomicfinance/types';
2
3
  import { Transaction } from 'bitcoinjs-lib';
3
4
  export default class Wallet implements WalletProvider {
4
5
  client: any;
@@ -57,13 +58,26 @@ export default class Wallet implements WalletProvider {
57
58
  * @return {Promise<string>} Resolves with the key as a string
58
59
  */
59
60
  exportPrivateKey(): Promise<string>;
60
- findAddress(addresses: string[]): any;
61
+ findAddress(addresses: string[], change?: boolean | null): Promise<Address>;
61
62
  setUnusedAddressesBlacklist(unusedAddressesBlacklist: any): any;
62
63
  getUnusedAddressesBlacklist(): any;
63
64
  createMultisig(m: number, pubkeys: string[]): CreateMultisigResponse;
64
65
  buildMultisigPSBT(m: number, pubkeys: string[], inputs: Input[], outputs: Output[]): string;
65
66
  walletProcessPSBT(psbtString: string): Promise<string>;
66
67
  finalizePSBT(psbtString: string): Transaction;
67
- buildSweepTransactionWithSetOutputs(externalChangeAddress: string, feePerByte: number, outputs: Output[], fixedInputs: Input[]): Promise<any>;
68
- sendSweepTransactionWithSetOutputs(externalChangeAddress: string, feePerByte: number, outputs: Output[], fixedInputs: Input[]): Promise<any>;
68
+ buildSweepTransactionWithSetOutputs(externalChangeAddress: string, feePerByte: number, outputs: Output[], fixedInputs: Input[]): Promise<{
69
+ hex: string;
70
+ fee: number;
71
+ }>;
72
+ sendSweepTransactionWithSetOutputs(externalChangeAddress: string, feePerByte: number, outputs: Output[], fixedInputs: Input[]): Promise<Tx<bT.Transaction>>;
73
+ getInputsForAmount(_targets: bT.OutputTarget[], feePerByte?: number, fixedInputs?: bT.Input[], numAddressPerCall?: number, sweep?: boolean): Promise<{
74
+ inputs: bT.UTXO[];
75
+ change: CoinSelectTarget;
76
+ outputs: CoinSelectTarget[];
77
+ fee: number;
78
+ }>;
79
+ getInputsForDualFunding(collaterals: number[], feePerByte?: number, fixedInputs?: bT.Input[], numAddressPerCall?: number): Promise<{
80
+ inputs: bT.UTXO[];
81
+ fee: bigint;
82
+ }>;
69
83
  }
package/dist/Wallet.js CHANGED
@@ -87,8 +87,8 @@ class Wallet {
87
87
  exportPrivateKey() {
88
88
  return this.client.getMethod('exportPrivateKey')();
89
89
  }
90
- findAddress(addresses) {
91
- return this.client.getMethod('findAddress')(addresses);
90
+ async findAddress(addresses, change = null) {
91
+ return this.client.getMethod('findAddress')(addresses, change);
92
92
  }
93
93
  setUnusedAddressesBlacklist(unusedAddressesBlacklist) {
94
94
  return this.client.getMethod('setUnusedAddressesBlacklist')(unusedAddressesBlacklist);
@@ -114,6 +114,12 @@ class Wallet {
114
114
  async sendSweepTransactionWithSetOutputs(externalChangeAddress, feePerByte, outputs, fixedInputs) {
115
115
  return this.client.getMethod('sendSweepTransactionWithSetOutputs')(externalChangeAddress, feePerByte, outputs, fixedInputs);
116
116
  }
117
+ async getInputsForAmount(_targets, feePerByte, fixedInputs = [], numAddressPerCall = 100, sweep = false) {
118
+ return this.client.getMethod('getInputsForAmount')(_targets, feePerByte, fixedInputs, numAddressPerCall, sweep);
119
+ }
120
+ async getInputsForDualFunding(collaterals, feePerByte, fixedInputs = [], numAddressPerCall = 100) {
121
+ return this.client.getMethod('getInputsForDualFunding')(collaterals, feePerByte, fixedInputs, numAddressPerCall);
122
+ }
117
123
  }
118
124
  exports.default = Wallet;
119
125
  //# sourceMappingURL=Wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wallet.js","sourceRoot":"","sources":["../lib/Wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wallet.js","sourceRoot":"","sources":["../lib/Wallet.ts"],"names":[],"mappings":"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"}
package/lib/Client.ts CHANGED
@@ -146,7 +146,7 @@ export default class Client implements IClient {
146
146
  * above the requestor in the stack.
147
147
  * @return {function} Returns method from provider instance associated with the requested method
148
148
  */
149
- getMethod(method: string, requestor?: any) {
149
+ getMethod(method: string, requestor?: any): (...args: any[]) => any {
150
150
  const provider = this.getProviderForMethod(method, requestor);
151
151
  return (<any>provider)[method].bind(provider);
152
152
  }
package/lib/Dlc.ts CHANGED
@@ -3,6 +3,8 @@ import {
3
3
  AddSignaturesToRefundTxResponse,
4
4
  AddSignatureToFundTransactionRequest,
5
5
  AddSignatureToFundTransactionResponse,
6
+ BatchAcceptDlcOfferResponse,
7
+ BatchSignDlcAcceptResponse,
6
8
  CreateCetAdaptorSignatureRequest,
7
9
  CreateCetAdaptorSignatureResponse,
8
10
  CreateCetAdaptorSignaturesRequest,
@@ -105,6 +107,24 @@ export default class Dlc implements DlcProvider {
105
107
  );
106
108
  }
107
109
 
110
+ async batchCreateDlcOffer(
111
+ contractInfos: ContractInfo[],
112
+ offerCollaterals: bigint[],
113
+ feeRatePerVb: bigint,
114
+ cetLocktime: number,
115
+ refundLocktimes: number[],
116
+ fixedInputs?: IInput[],
117
+ ): Promise<DlcOffer[]> {
118
+ return this.client.getMethod('batchCreateDlcOffer')(
119
+ contractInfos,
120
+ offerCollaterals,
121
+ feeRatePerVb,
122
+ cetLocktime,
123
+ refundLocktimes,
124
+ fixedInputs,
125
+ );
126
+ }
127
+
108
128
  /**
109
129
  * Accept DLC Offer
110
130
  * @param dlcOffer Dlc Offer Message
@@ -118,6 +138,19 @@ export default class Dlc implements DlcProvider {
118
138
  return this.client.getMethod('acceptDlcOffer')(dlcOffer, fixedInputs);
119
139
  }
120
140
 
141
+ /**
142
+ * Accept DLC Offer
143
+ * @param dlcOffers Dlc Offer Messages
144
+ * @param fixedInputs Optional inputs to use for Funding Inputs
145
+ * @returns {Promise<BatchAcceptDlcOfferResponse}
146
+ */
147
+ async batchAcceptDlcOffer(
148
+ dlcOffers: DlcOffer[],
149
+ fixedInputs?: IInput[],
150
+ ): Promise<BatchAcceptDlcOfferResponse> {
151
+ return this.client.getMethod('batchAcceptDlcOffer')(dlcOffers, fixedInputs);
152
+ }
153
+
121
154
  /**
122
155
  * Sign Dlc Accept Message
123
156
  * @param dlcOffer Dlc Offer Message
@@ -131,6 +164,19 @@ export default class Dlc implements DlcProvider {
131
164
  return this.client.getMethod('signDlcAccept')(dlcOffer, dlcAccept);
132
165
  }
133
166
 
167
+ /**
168
+ * Batch Sign Dlc Accept Messages
169
+ * @param dlcOffers Dlc Offer Messages
170
+ * @param dlcAccepts Dlc Accept Messages
171
+ * @returns {Promise<BatchSignDlcAcceptResponse}
172
+ */
173
+ async batchSignDlcAccept(
174
+ dlcOffers: DlcOffer[],
175
+ dlcAccepts: DlcAccept[],
176
+ ): Promise<BatchSignDlcAcceptResponse> {
177
+ return this.client.getMethod('batchSignDlcAccept')(dlcOffers, dlcAccepts);
178
+ }
179
+
134
180
  /**
135
181
  * Finalize Dlc Sign
136
182
  * @param dlcOffer Dlc Offer Message
@@ -153,6 +199,20 @@ export default class Dlc implements DlcProvider {
153
199
  );
154
200
  }
155
201
 
202
+ async batchFinalizeDlcSign(
203
+ dlcOffers: DlcOffer[],
204
+ dlcAccepts: DlcAccept[],
205
+ dlcSigns: DlcSign[],
206
+ dlcTxsList: DlcTransactions[],
207
+ ): Promise<Tx> {
208
+ return this.client.getMethod('batchFinalizeDlcSign')(
209
+ dlcOffers,
210
+ dlcAccepts,
211
+ dlcSigns,
212
+ dlcTxsList,
213
+ );
214
+ }
215
+
156
216
  /**
157
217
  * Execute DLC
158
218
  * @param dlcOffer Dlc Offer Message
@@ -399,12 +459,12 @@ export default class Dlc implements DlcProvider {
399
459
  }
400
460
 
401
461
  async GetInputsForAmount(
402
- amount: bigint,
462
+ amounts: bigint[],
403
463
  feeRatePerVb: bigint,
404
464
  fixedInputs: Input[],
405
465
  ): Promise<Input[]> {
406
466
  return this.client.getMethod('GetInputsForAmount')(
407
- amount,
467
+ amounts,
408
468
  feeRatePerVb,
409
469
  fixedInputs,
410
470
  );
package/lib/Wallet.ts CHANGED
@@ -1,12 +1,15 @@
1
+ import { CoinSelectTarget } from '@atomicfinance/bitcoin-utils';
1
2
  import {
2
3
  InvalidProviderResponseError,
3
4
  UnimplementedMethodError,
4
5
  } from '@atomicfinance/errors';
5
6
  import {
6
7
  Address,
8
+ bitcoin as bT,
7
9
  CreateMultisigResponse,
8
10
  Input,
9
11
  Output,
12
+ Transaction as Tx,
10
13
  WalletProvider,
11
14
  } from '@atomicfinance/types';
12
15
  import { Transaction } from 'bitcoinjs-lib';
@@ -121,8 +124,11 @@ export default class Wallet implements WalletProvider {
121
124
  return this.client.getMethod('exportPrivateKey')();
122
125
  }
123
126
 
124
- findAddress(addresses: string[]) {
125
- return this.client.getMethod('findAddress')(addresses);
127
+ async findAddress(
128
+ addresses: string[],
129
+ change: boolean | null = null,
130
+ ): Promise<Address> {
131
+ return this.client.getMethod('findAddress')(addresses, change);
126
132
  }
127
133
 
128
134
  setUnusedAddressesBlacklist(unusedAddressesBlacklist: any) {
@@ -166,7 +172,10 @@ export default class Wallet implements WalletProvider {
166
172
  feePerByte: number,
167
173
  outputs: Output[],
168
174
  fixedInputs: Input[],
169
- ) {
175
+ ): Promise<{
176
+ hex: string;
177
+ fee: number;
178
+ }> {
170
179
  return this.client.getMethod('buildSweepTransactionWithSetOutputs')(
171
180
  externalChangeAddress,
172
181
  feePerByte,
@@ -180,7 +189,7 @@ export default class Wallet implements WalletProvider {
180
189
  feePerByte: number,
181
190
  outputs: Output[],
182
191
  fixedInputs: Input[],
183
- ) {
192
+ ): Promise<Tx<bT.Transaction>> {
184
193
  return this.client.getMethod('sendSweepTransactionWithSetOutputs')(
185
194
  externalChangeAddress,
186
195
  feePerByte,
@@ -188,4 +197,42 @@ export default class Wallet implements WalletProvider {
188
197
  fixedInputs,
189
198
  );
190
199
  }
200
+
201
+ async getInputsForAmount(
202
+ _targets: bT.OutputTarget[],
203
+ feePerByte?: number,
204
+ fixedInputs: bT.Input[] = [],
205
+ numAddressPerCall = 100,
206
+ sweep = false,
207
+ ): Promise<{
208
+ inputs: bT.UTXO[];
209
+ change: CoinSelectTarget;
210
+ outputs: CoinSelectTarget[];
211
+ fee: number;
212
+ }> {
213
+ return this.client.getMethod('getInputsForAmount')(
214
+ _targets,
215
+ feePerByte,
216
+ fixedInputs,
217
+ numAddressPerCall,
218
+ sweep,
219
+ );
220
+ }
221
+
222
+ async getInputsForDualFunding(
223
+ collaterals: number[],
224
+ feePerByte?: number,
225
+ fixedInputs: bT.Input[] = [],
226
+ numAddressPerCall = 100,
227
+ ): Promise<{
228
+ inputs: bT.UTXO[];
229
+ fee: bigint;
230
+ }> {
231
+ return this.client.getMethod('getInputsForDualFunding')(
232
+ collaterals,
233
+ feePerByte,
234
+ fixedInputs,
235
+ numAddressPerCall,
236
+ );
237
+ }
191
238
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atomicfinance/client",
3
3
  "umdName": "Client",
4
- "version": "3.3.1",
4
+ "version": "3.4.1",
5
5
  "description": "Bitcoin Abstraction Layer Provider",
6
6
  "author": "Atomic Finance <info@atomic.finance>",
7
7
  "homepage": "",
@@ -15,10 +15,11 @@
15
15
  "lint:fix": "../../node_modules/.bin/eslint --fix --ignore-path ../../.eslintignore -c ../../.eslintrc.js ."
16
16
  },
17
17
  "dependencies": {
18
- "@atomicfinance/errors": "^3.3.1",
19
- "@atomicfinance/provider": "^3.3.1",
20
- "@atomicfinance/types": "^3.3.1",
21
- "@node-dlc/messaging": "0.22.4",
18
+ "@atomicfinance/bitcoin-utils": "^3.4.1",
19
+ "@atomicfinance/errors": "^3.4.1",
20
+ "@atomicfinance/provider": "^3.4.1",
21
+ "@atomicfinance/types": "^3.4.1",
22
+ "@node-dlc/messaging": "0.23.0",
22
23
  "@node-lightning/bitcoin": "0.26.1",
23
24
  "ajv": "^6.10.0",
24
25
  "lodash": "^4.17.20"