@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.
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +1 -1
- package/CHANGELOG.md +24 -0
- package/dist/Client.d.ts +1 -1
- package/dist/Dlc.d.ts +18 -2
- package/dist/Dlc.js +26 -2
- package/dist/Dlc.js.map +1 -1
- package/dist/Wallet.d.ts +18 -4
- package/dist/Wallet.js +8 -2
- package/dist/Wallet.js.map +1 -1
- package/lib/Client.ts +1 -1
- package/lib/Dlc.ts +62 -2
- package/lib/Wallet.ts +51 -4
- package/package.json +6 -5
package/.turbo/turbo-build.log
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@atomicfinance/client:build: cache hit, replaying output [
|
|
1
|
+
@atomicfinance/client:build: cache hit, replaying output [2m564746251f6dd7c2[0m
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@atomicfinance/client:test: cache hit, replaying output [
|
|
1
|
+
@atomicfinance/client:test: cache hit, replaying output [2m2ca5645508322113[0m
|
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(
|
|
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(
|
|
185
|
-
return this.client.getMethod('GetInputsForAmount')(
|
|
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":";;
|
|
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 {
|
|
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[]):
|
|
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<
|
|
68
|
-
|
|
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
|
package/dist/Wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet.js","sourceRoot":"","sources":["../lib/Wallet.ts"],"names":[],"mappings":";;
|
|
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
|
-
|
|
462
|
+
amounts: bigint[],
|
|
403
463
|
feeRatePerVb: bigint,
|
|
404
464
|
fixedInputs: Input[],
|
|
405
465
|
): Promise<Input[]> {
|
|
406
466
|
return this.client.getMethod('GetInputsForAmount')(
|
|
407
|
-
|
|
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(
|
|
125
|
-
|
|
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.
|
|
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/
|
|
19
|
-
"@atomicfinance/
|
|
20
|
-
"@atomicfinance/
|
|
21
|
-
"@
|
|
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"
|