@atomicfinance/client 4.2.7 → 4.3.0
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-lint.log +1 -1
- package/CHANGELOG.md +25 -0
- package/dist/Client.d.ts +6 -2
- package/dist/Client.js +18 -3
- package/dist/Client.js.map +1 -1
- package/dist/Dlc.d.ts +2 -2
- package/dist/Dlc.js +4 -4
- package/dist/Dlc.js.map +1 -1
- package/lib/Client.ts +26 -6
- package/lib/Dlc.ts +4 -0
- package/package.json +5 -5
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @atomicfinance/client@4.
|
|
3
|
+
> @atomicfinance/client@4.3.0 build /Users/matthewblack/code/github.com/AtomicFinance/bitcoin-abstraction-layer/packages/client
|
|
4
4
|
> ../../node_modules/.bin/tsc --project tsconfig.json
|
|
5
5
|
|
package/.turbo/turbo-lint.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @atomicfinance/client@4.
|
|
3
|
+
> @atomicfinance/client@4.2.7 lint /Users/matthewblack/code/github.com/AtomicFinance/bitcoin-abstraction-layer/packages/client
|
|
4
4
|
> ../../node_modules/.bin/eslint .
|
|
5
5
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @atomicfinance/client
|
|
2
2
|
|
|
3
|
+
## 4.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d041351: Add contractFlags parameter to DLC offer and transaction creation
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [d041351]
|
|
12
|
+
- @atomicfinance/types@4.3.0
|
|
13
|
+
- @atomicfinance/bitcoin-utils@4.3.0
|
|
14
|
+
- @atomicfinance/errors@4.3.0
|
|
15
|
+
- @atomicfinance/provider@4.3.0
|
|
16
|
+
|
|
17
|
+
## 4.2.8
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- 82c2f2b: Lazy load ECC
|
|
22
|
+
- Updated dependencies [82c2f2b]
|
|
23
|
+
- @atomicfinance/bitcoin-utils@4.2.8
|
|
24
|
+
- @atomicfinance/errors@4.2.8
|
|
25
|
+
- @atomicfinance/provider@4.2.8
|
|
26
|
+
- @atomicfinance/types@4.2.8
|
|
27
|
+
|
|
3
28
|
## 4.2.7
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/dist/Client.d.ts
CHANGED
|
@@ -8,8 +8,12 @@ import Wallet from './Wallet';
|
|
|
8
8
|
export default class Client implements IClient {
|
|
9
9
|
_providers: Provider[];
|
|
10
10
|
version: string;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
private _ajv?;
|
|
12
|
+
private _validateTransaction?;
|
|
13
|
+
private _validateBlock?;
|
|
14
|
+
private _getAjv;
|
|
15
|
+
get validateTransaction(): Ajv.ValidateFunction;
|
|
16
|
+
get validateBlock(): Ajv.ValidateFunction;
|
|
13
17
|
_dlc: Dlc;
|
|
14
18
|
_cfd: Cfd;
|
|
15
19
|
_wallet: Wallet;
|
package/dist/Client.js
CHANGED
|
@@ -12,6 +12,23 @@ const Dlc_1 = __importDefault(require("./Dlc"));
|
|
|
12
12
|
const schema_1 = require("./schema");
|
|
13
13
|
const Wallet_1 = __importDefault(require("./Wallet"));
|
|
14
14
|
class Client {
|
|
15
|
+
_getAjv() {
|
|
16
|
+
if (!this._ajv)
|
|
17
|
+
this._ajv = new ajv_1.default();
|
|
18
|
+
return this._ajv;
|
|
19
|
+
}
|
|
20
|
+
get validateTransaction() {
|
|
21
|
+
if (!this._validateTransaction) {
|
|
22
|
+
this._validateTransaction = this._getAjv().compile(schema_1.Transaction);
|
|
23
|
+
}
|
|
24
|
+
return this._validateTransaction;
|
|
25
|
+
}
|
|
26
|
+
get validateBlock() {
|
|
27
|
+
if (!this._validateBlock) {
|
|
28
|
+
this._validateBlock = this._getAjv().compile(schema_1.Block);
|
|
29
|
+
}
|
|
30
|
+
return this._validateBlock;
|
|
31
|
+
}
|
|
15
32
|
/**
|
|
16
33
|
* Client
|
|
17
34
|
*/
|
|
@@ -27,9 +44,7 @@ class Client {
|
|
|
27
44
|
if (provider) {
|
|
28
45
|
this.addProvider(provider);
|
|
29
46
|
}
|
|
30
|
-
|
|
31
|
-
this.validateTransaction = ajv.compile(schema_1.Transaction);
|
|
32
|
-
this.validateBlock = ajv.compile(schema_1.Block);
|
|
47
|
+
// Ajv setup is deferred to first validate*() call — see lazy getters above.
|
|
33
48
|
this._chain = new Chain_1.default(this);
|
|
34
49
|
this._dlc = new Dlc_1.default(this);
|
|
35
50
|
this._cfd = new Cfd_1.default(this);
|
package/dist/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../lib/Client.ts"],"names":[],"mappings":";;;;;AAAA,kDAO+B;AAG/B,8CAAsB;AACtB,mCAAmE;AAEnE,gDAAwB;AACxB,oDAA4B;AAC5B,gDAAwB;AACxB,qCAGkB;AAClB,sDAA8B;AAE9B,MAAqB,MAAM;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../lib/Client.ts"],"names":[],"mappings":"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"}
|
package/dist/Dlc.d.ts
CHANGED
|
@@ -27,8 +27,8 @@ export default class Dlc implements DlcProvider {
|
|
|
27
27
|
* @param refundLocktime The nLockTime to be put on the refund transaction
|
|
28
28
|
* @returns {Promise<DlcOffer>}
|
|
29
29
|
*/
|
|
30
|
-
createDlcOffer(contractInfo: ContractInfo, offerCollateralSatoshis: bigint, feeRatePerVb: bigint, cetLocktime: number, refundLocktime: number, fixedInputs?: IInput[], inputSupplementationMode?: InputSupplementationMode): Promise<DlcOffer>;
|
|
31
|
-
batchCreateDlcOffer(contractInfos: ContractInfo[], offerCollaterals: bigint[], feeRatePerVb: bigint, cetLocktime: number, refundLocktimes: number[], fixedInputs?: IInput[]): Promise<DlcOffer[]>;
|
|
30
|
+
createDlcOffer(contractInfo: ContractInfo, offerCollateralSatoshis: bigint, feeRatePerVb: bigint, cetLocktime: number, refundLocktime: number, fixedInputs?: IInput[], inputSupplementationMode?: InputSupplementationMode, contractFlags?: number): Promise<DlcOffer>;
|
|
31
|
+
batchCreateDlcOffer(contractInfos: ContractInfo[], offerCollaterals: bigint[], feeRatePerVb: bigint, cetLocktime: number, refundLocktimes: number[], fixedInputs?: IInput[], contractFlags?: number): Promise<DlcOffer[]>;
|
|
32
32
|
/**
|
|
33
33
|
* Accept DLC Offer
|
|
34
34
|
* @param dlcOffer Dlc Offer Message
|
package/dist/Dlc.js
CHANGED
|
@@ -32,11 +32,11 @@ class Dlc {
|
|
|
32
32
|
* @param refundLocktime The nLockTime to be put on the refund transaction
|
|
33
33
|
* @returns {Promise<DlcOffer>}
|
|
34
34
|
*/
|
|
35
|
-
async createDlcOffer(contractInfo, offerCollateralSatoshis, feeRatePerVb, cetLocktime, refundLocktime, fixedInputs, inputSupplementationMode) {
|
|
36
|
-
return this.client.getMethod('createDlcOffer')(contractInfo, offerCollateralSatoshis, feeRatePerVb, cetLocktime, refundLocktime, fixedInputs, inputSupplementationMode);
|
|
35
|
+
async createDlcOffer(contractInfo, offerCollateralSatoshis, feeRatePerVb, cetLocktime, refundLocktime, fixedInputs, inputSupplementationMode, contractFlags) {
|
|
36
|
+
return this.client.getMethod('createDlcOffer')(contractInfo, offerCollateralSatoshis, feeRatePerVb, cetLocktime, refundLocktime, fixedInputs, inputSupplementationMode, contractFlags);
|
|
37
37
|
}
|
|
38
|
-
async batchCreateDlcOffer(contractInfos, offerCollaterals, feeRatePerVb, cetLocktime, refundLocktimes, fixedInputs) {
|
|
39
|
-
return this.client.getMethod('batchCreateDlcOffer')(contractInfos, offerCollaterals, feeRatePerVb, cetLocktime, refundLocktimes, fixedInputs);
|
|
38
|
+
async batchCreateDlcOffer(contractInfos, offerCollaterals, feeRatePerVb, cetLocktime, refundLocktimes, fixedInputs, contractFlags) {
|
|
39
|
+
return this.client.getMethod('batchCreateDlcOffer')(contractInfos, offerCollaterals, feeRatePerVb, cetLocktime, refundLocktimes, fixedInputs, contractFlags);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Accept DLC Offer
|
package/dist/Dlc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dlc.js","sourceRoot":"","sources":["../lib/Dlc.ts"],"names":[],"mappings":";;AA8DA,MAAqB,GAAG;IAItB,8DAA8D;IAC9D,YAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAAkB,EAAE,SAAoB;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,QAAkB,EAClB,SAAoB;QAEpB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAClB,YAA0B,EAC1B,uBAA+B,EAC/B,YAAoB,EACpB,WAAmB,EACnB,cAAsB,EACtB,WAAsB,EACtB,wBAAmD;
|
|
1
|
+
{"version":3,"file":"Dlc.js","sourceRoot":"","sources":["../lib/Dlc.ts"],"names":[],"mappings":"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"}
|
package/lib/Client.ts
CHANGED
|
@@ -24,8 +24,31 @@ export default class Client implements IClient {
|
|
|
24
24
|
_providers: Provider[];
|
|
25
25
|
version: string;
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
// Ajv compilation is deferred until first use — it cost ~70 ms in the
|
|
28
|
+
// ctor and the validators are rarely (if ever) invoked. See
|
|
29
|
+
// bitcoin-abstraction-layer/docs/perf/buildchainclient-4s-investigation.md.
|
|
30
|
+
private _ajv?: Ajv.Ajv;
|
|
31
|
+
private _validateTransaction?: Ajv.ValidateFunction;
|
|
32
|
+
private _validateBlock?: Ajv.ValidateFunction;
|
|
33
|
+
|
|
34
|
+
private _getAjv(): Ajv.Ajv {
|
|
35
|
+
if (!this._ajv) this._ajv = new Ajv();
|
|
36
|
+
return this._ajv;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
get validateTransaction(): Ajv.ValidateFunction {
|
|
40
|
+
if (!this._validateTransaction) {
|
|
41
|
+
this._validateTransaction = this._getAjv().compile(TransactionSchema);
|
|
42
|
+
}
|
|
43
|
+
return this._validateTransaction;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
get validateBlock(): Ajv.ValidateFunction {
|
|
47
|
+
if (!this._validateBlock) {
|
|
48
|
+
this._validateBlock = this._getAjv().compile(BlockSchema);
|
|
49
|
+
}
|
|
50
|
+
return this._validateBlock;
|
|
51
|
+
}
|
|
29
52
|
|
|
30
53
|
_dlc: Dlc;
|
|
31
54
|
_cfd: Cfd;
|
|
@@ -51,10 +74,7 @@ export default class Client implements IClient {
|
|
|
51
74
|
this.addProvider(provider);
|
|
52
75
|
}
|
|
53
76
|
|
|
54
|
-
|
|
55
|
-
this.validateTransaction = ajv.compile(TransactionSchema);
|
|
56
|
-
this.validateBlock = ajv.compile(BlockSchema);
|
|
57
|
-
|
|
77
|
+
// Ajv setup is deferred to first validate*() call — see lazy getters above.
|
|
58
78
|
this._chain = new Chain(this);
|
|
59
79
|
this._dlc = new Dlc(this);
|
|
60
80
|
this._cfd = new Cfd(this);
|
package/lib/Dlc.ts
CHANGED
|
@@ -109,6 +109,7 @@ export default class Dlc implements DlcProvider {
|
|
|
109
109
|
refundLocktime: number,
|
|
110
110
|
fixedInputs?: IInput[],
|
|
111
111
|
inputSupplementationMode?: InputSupplementationMode,
|
|
112
|
+
contractFlags?: number,
|
|
112
113
|
): Promise<DlcOffer> {
|
|
113
114
|
return this.client.getMethod('createDlcOffer')(
|
|
114
115
|
contractInfo,
|
|
@@ -118,6 +119,7 @@ export default class Dlc implements DlcProvider {
|
|
|
118
119
|
refundLocktime,
|
|
119
120
|
fixedInputs,
|
|
120
121
|
inputSupplementationMode,
|
|
122
|
+
contractFlags,
|
|
121
123
|
);
|
|
122
124
|
}
|
|
123
125
|
|
|
@@ -128,6 +130,7 @@ export default class Dlc implements DlcProvider {
|
|
|
128
130
|
cetLocktime: number,
|
|
129
131
|
refundLocktimes: number[],
|
|
130
132
|
fixedInputs?: IInput[],
|
|
133
|
+
contractFlags?: number,
|
|
131
134
|
): Promise<DlcOffer[]> {
|
|
132
135
|
return this.client.getMethod('batchCreateDlcOffer')(
|
|
133
136
|
contractInfos,
|
|
@@ -136,6 +139,7 @@ export default class Dlc implements DlcProvider {
|
|
|
136
139
|
cetLocktime,
|
|
137
140
|
refundLocktimes,
|
|
138
141
|
fixedInputs,
|
|
142
|
+
contractFlags,
|
|
139
143
|
);
|
|
140
144
|
}
|
|
141
145
|
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atomicfinance/client",
|
|
3
3
|
"umdName": "Client",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.3.0",
|
|
5
5
|
"description": "Bitcoin Abstraction Layer Provider",
|
|
6
6
|
"author": "Atomic Finance <info@atomic.finance>",
|
|
7
7
|
"homepage": "",
|
|
8
8
|
"license": "ISC",
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@atomicfinance/bitcoin-utils": "^4.
|
|
12
|
-
"@atomicfinance/errors": "^4.
|
|
13
|
-
"@atomicfinance/provider": "^4.
|
|
14
|
-
"@atomicfinance/types": "^4.
|
|
11
|
+
"@atomicfinance/bitcoin-utils": "^4.3.0",
|
|
12
|
+
"@atomicfinance/errors": "^4.3.0",
|
|
13
|
+
"@atomicfinance/provider": "^4.3.0",
|
|
14
|
+
"@atomicfinance/types": "^4.3.0",
|
|
15
15
|
"@node-dlc/bitcoin": "1.1.7",
|
|
16
16
|
"@node-dlc/messaging": "1.1.7",
|
|
17
17
|
"ajv": "^6.10.0",
|