@atomicfinance/client 2.5.0 → 3.0.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 -0
- package/.turbo/turbo-test.log +1 -0
- package/CHANGELOG.md +31 -0
- package/dist/Cfd.d.ts +2 -2
- package/dist/Cfd.js +8 -11
- package/dist/Cfd.js.map +1 -1
- package/dist/Chain.d.ts +29 -0
- package/dist/Chain.js +110 -0
- package/dist/Chain.js.map +1 -0
- package/dist/Client.d.ts +44 -7
- package/dist/Client.js +120 -32
- package/dist/Client.js.map +1 -1
- package/dist/Dlc.d.ts +5 -2
- package/dist/Dlc.js +113 -95
- package/dist/Dlc.js.map +1 -1
- package/dist/Wallet.d.ts +59 -4
- package/dist/Wallet.js +100 -17
- package/dist/Wallet.js.map +1 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.js +11 -23
- package/dist/index.js.map +0 -0
- package/dist/schema/Block.json +45 -0
- package/dist/schema/Transaction.json +45 -0
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.js +11 -0
- package/dist/schema/index.js.map +1 -0
- package/lib/Cfd.ts +2 -1
- package/lib/Chain.ts +173 -0
- package/lib/Client.ts +153 -11
- package/lib/Dlc.ts +24 -1
- package/lib/Wallet.ts +129 -10
- package/lib/schema/Block.json +45 -0
- package/lib/schema/Transaction.json +45 -0
- package/lib/schema/index.ts +4 -0
- package/package.json +9 -11
- package/LICENSE +0 -674
- package/README.md +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@atomicfinance/client:build: cache hit, replaying output [2ma0f10f1e0fe57b7a[0m
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@atomicfinance/client:test: cache hit, replaying output [2m8d31451456395cd6[0m
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @atomicfinance/client
|
|
2
|
+
|
|
3
|
+
## 3.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @atomicfinance/errors@3.0.1
|
|
8
|
+
- @atomicfinance/provider@3.0.1
|
|
9
|
+
- @atomicfinance/types@3.0.1
|
|
10
|
+
|
|
11
|
+
## 3.0.0
|
|
12
|
+
|
|
13
|
+
### Major Changes
|
|
14
|
+
|
|
15
|
+
- a06082e: Create unified standalone `bitcoin-abstraction-layer` package
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [a06082e]
|
|
20
|
+
- @atomicfinance/provider@3.0.0
|
|
21
|
+
- @atomicfinance/types@3.0.0
|
|
22
|
+
- @atomicfinance/errors@3.0.0
|
|
23
|
+
|
|
24
|
+
## 2.5.1
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- Upgrade various package dependencies
|
|
29
|
+
- Updated dependencies
|
|
30
|
+
- @atomicfinance/provider@2.5.1
|
|
31
|
+
- @atomicfinance/types@2.5.1
|
package/dist/Cfd.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AddMultisigSignRequest, AddMultisigSignResponse, AddPubkeyHashSignRequest, AddPubkeyHashSignResponse, AddRawTransactionRequest, AddRawTransactionResponse, AddScriptHashSignRequest, AddScriptHashSignResponse, AddSignRequest, AddSignResponse, AppendDescriptorChecksumRequest, AppendDescriptorChecksumResponse, BlindRawTransactionRequest, BlindRawTransactionResponse, CalculateEcSignatureRequest, CalculateEcSignatureResponse, ConvertAesRequest, ConvertAesResponse, ConvertEntropyToMnemonicRequest, ConvertEntropyToMnemonicResponse, ConvertMnemonicToSeedRequest, ConvertMnemonicToSeedResponse, CreateAddressRequest, CreateAddressResponse, CreateDescriptorRequest, CreateDescriptorResponse, CreateDestroyAmountRequest, CreateDestroyAmountResponse, CreateElementsSignatureHashRequest, CreateElementsSignatureHashResponse, CreateExtkeyFromParentKeyRequest, CreateExtkeyFromParentKeyResponse, CreateExtkeyFromParentPathRequest, CreateExtkeyFromParentPathResponse, CreateExtkeyFromParentRequest, CreateExtkeyFromParentResponse, CreateExtkeyFromSeedRequest, CreateExtkeyFromSeedResponse, CreateExtkeyRequest, CreateExtkeyResponse, CreateExtPubkeyRequest, CreateExtPubkeyResponse, CreateKeyPairRequest, CreateKeyPairResponse, CreateMultisigRequest, CreateMultisigResponse, CreateMultisigScriptSigRequest, CreateMultisigScriptSigResponse, CreatePegInAddressRequest, CreatePegInAddressResponse, CreateRawPeginRequest, CreateRawPeginResponse, CreateRawPegoutRequest, CreateRawPegoutResponse, CreateRawTransactionRequest, CreateRawTransactionResponse, CreateScriptRequest, CreateScriptResponse, CreateSignatureHashRequest, CreateSignatureHashResponse, DecodeBase58Request, DecodeBase58Response, DecodeDerSignatureToRawRequest, DecodeDerSignatureToRawResponse, DecodeRawTransactionRequest, DecodeRawTransactionResponse, ElementsAddRawTransactionRequest, ElementsAddRawTransactionResponse, ElementsCreateRawTransactionRequest, ElementsCreateRawTransactionResponse, ElementsDecodeRawTransactionRequest, ElementsDecodeRawTransactionResponse, EncodeBase58Request, EncodeBase58Response, EncodeSignatureByDerRequest, EncodeSignatureByDerResponse, EstimateFeeRequest, EstimateFeeResponse, FundRawTransactionRequest, FundRawTransactionResponse, GetAddressesFromMultisigRequest, GetAddressesFromMultisigResponse, GetAddressInfoRequest, GetAddressInfoResponse, GetCommitmentRequest, GetCommitmentResponse, GetCompressedPubkeyRequest, GetCompressedPubkeyResponse, GetConfidentialAddressRequest, GetConfidentialAddressResponse, GetDefaultBlindingKeyRequest, GetDefaultBlindingKeyResponse, GetExtkeyInfoRequest, GetExtkeyInfoResponse, GetIssuanceBlindingKeyRequest, GetIssuanceBlindingKeyResponse, GetMnemonicWordlistRequest, GetMnemonicWordlistResponse, GetPrivkeyFromExtkeyRequest, GetPrivkeyFromExtkeyResponse, GetPrivkeyFromWifRequest, GetPrivkeyFromWifResponse, GetPrivkeyWifRequest, GetPrivkeyWifResponse, GetPubkeyFromExtkeyRequest, GetPubkeyFromExtkeyResponse, GetPubkeyFromPrivkeyRequest, GetPubkeyFromPrivkeyResponse, GetSupportedFunctionResponse, GetUnblindedAddressRequest, GetUnblindedAddressResponse, GetWitnessStackNumRequest, GetWitnessStackNumResponse, ParseDescriptorRequest, ParseDescriptorResponse, ParseScriptRequest, ParseScriptResponse, SelectUtxosRequest, SelectUtxosResponse, SerializeLedgerFormatRequest, SerializeLedgerFormatResponse, SetRawIssueAssetRequest, SetRawIssueAssetResponse, SetRawReissueAssetRequest, SetRawReissueAssetResponse, SignWithPrivkeyRequest, SignWithPrivkeyResponse, UnblindRawTransactionRequest, UnblindRawTransactionResponse, UpdateTxOutAmountRequest, UpdateTxOutAmountResponse, UpdateWitnessStackRequest, UpdateWitnessStackResponse, VerifySignatureRequest, VerifySignatureResponse, VerifySignRequest, VerifySignResponse } from '@atomicfinance/types';
|
|
2
|
-
export default class Cfd {
|
|
1
|
+
import { AddMultisigSignRequest, AddMultisigSignResponse, AddPubkeyHashSignRequest, AddPubkeyHashSignResponse, AddRawTransactionRequest, AddRawTransactionResponse, AddScriptHashSignRequest, AddScriptHashSignResponse, AddSignRequest, AddSignResponse, AppendDescriptorChecksumRequest, AppendDescriptorChecksumResponse, BlindRawTransactionRequest, BlindRawTransactionResponse, CalculateEcSignatureRequest, CalculateEcSignatureResponse, CfdProvider, ConvertAesRequest, ConvertAesResponse, ConvertEntropyToMnemonicRequest, ConvertEntropyToMnemonicResponse, ConvertMnemonicToSeedRequest, ConvertMnemonicToSeedResponse, CreateAddressRequest, CreateAddressResponse, CreateDescriptorRequest, CreateDescriptorResponse, CreateDestroyAmountRequest, CreateDestroyAmountResponse, CreateElementsSignatureHashRequest, CreateElementsSignatureHashResponse, CreateExtkeyFromParentKeyRequest, CreateExtkeyFromParentKeyResponse, CreateExtkeyFromParentPathRequest, CreateExtkeyFromParentPathResponse, CreateExtkeyFromParentRequest, CreateExtkeyFromParentResponse, CreateExtkeyFromSeedRequest, CreateExtkeyFromSeedResponse, CreateExtkeyRequest, CreateExtkeyResponse, CreateExtPubkeyRequest, CreateExtPubkeyResponse, CreateKeyPairRequest, CreateKeyPairResponse, CreateMultisigRequest, CreateMultisigResponse, CreateMultisigScriptSigRequest, CreateMultisigScriptSigResponse, CreatePegInAddressRequest, CreatePegInAddressResponse, CreateRawPeginRequest, CreateRawPeginResponse, CreateRawPegoutRequest, CreateRawPegoutResponse, CreateRawTransactionRequest, CreateRawTransactionResponse, CreateScriptRequest, CreateScriptResponse, CreateSignatureHashRequest, CreateSignatureHashResponse, DecodeBase58Request, DecodeBase58Response, DecodeDerSignatureToRawRequest, DecodeDerSignatureToRawResponse, DecodeRawTransactionRequest, DecodeRawTransactionResponse, ElementsAddRawTransactionRequest, ElementsAddRawTransactionResponse, ElementsCreateRawTransactionRequest, ElementsCreateRawTransactionResponse, ElementsDecodeRawTransactionRequest, ElementsDecodeRawTransactionResponse, EncodeBase58Request, EncodeBase58Response, EncodeSignatureByDerRequest, EncodeSignatureByDerResponse, EstimateFeeRequest, EstimateFeeResponse, FundRawTransactionRequest, FundRawTransactionResponse, GetAddressesFromMultisigRequest, GetAddressesFromMultisigResponse, GetAddressInfoRequest, GetAddressInfoResponse, GetCommitmentRequest, GetCommitmentResponse, GetCompressedPubkeyRequest, GetCompressedPubkeyResponse, GetConfidentialAddressRequest, GetConfidentialAddressResponse, GetDefaultBlindingKeyRequest, GetDefaultBlindingKeyResponse, GetExtkeyInfoRequest, GetExtkeyInfoResponse, GetIssuanceBlindingKeyRequest, GetIssuanceBlindingKeyResponse, GetMnemonicWordlistRequest, GetMnemonicWordlistResponse, GetPrivkeyFromExtkeyRequest, GetPrivkeyFromExtkeyResponse, GetPrivkeyFromWifRequest, GetPrivkeyFromWifResponse, GetPrivkeyWifRequest, GetPrivkeyWifResponse, GetPubkeyFromExtkeyRequest, GetPubkeyFromExtkeyResponse, GetPubkeyFromPrivkeyRequest, GetPubkeyFromPrivkeyResponse, GetSupportedFunctionResponse, GetUnblindedAddressRequest, GetUnblindedAddressResponse, GetWitnessStackNumRequest, GetWitnessStackNumResponse, ParseDescriptorRequest, ParseDescriptorResponse, ParseScriptRequest, ParseScriptResponse, SelectUtxosRequest, SelectUtxosResponse, SerializeLedgerFormatRequest, SerializeLedgerFormatResponse, SetRawIssueAssetRequest, SetRawIssueAssetResponse, SetRawReissueAssetRequest, SetRawReissueAssetResponse, SignWithPrivkeyRequest, SignWithPrivkeyResponse, UnblindRawTransactionRequest, UnblindRawTransactionResponse, UpdateTxOutAmountRequest, UpdateTxOutAmountResponse, UpdateWitnessStackRequest, UpdateWitnessStackResponse, VerifySignatureRequest, VerifySignatureResponse, VerifySignRequest, VerifySignResponse } from '@atomicfinance/types';
|
|
2
|
+
export default class Cfd implements CfdProvider {
|
|
3
3
|
client: any;
|
|
4
4
|
constructor(client: any);
|
|
5
5
|
AddMultisigSign(jsonObject: AddMultisigSignRequest): Promise<AddMultisigSignResponse>;
|
package/dist/Cfd.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Cfd {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
6
7
|
async AddMultisigSign(jsonObject) {
|
|
7
8
|
return this.client.getMethod('AddMultisigSign')(jsonObject);
|
|
8
9
|
}
|
|
@@ -210,10 +211,6 @@ let Cfd = class Cfd {
|
|
|
210
211
|
async VerifySignature(jsonObject) {
|
|
211
212
|
return this.client.getMethod('VerifySignature')(jsonObject);
|
|
212
213
|
}
|
|
213
|
-
|
|
214
|
-
this.client = client;
|
|
215
|
-
}
|
|
216
|
-
};
|
|
214
|
+
}
|
|
217
215
|
exports.default = Cfd;
|
|
218
|
-
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9DZmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRkTXVsdGlzaWdTaWduUmVxdWVzdCxcbiAgQWRkTXVsdGlzaWdTaWduUmVzcG9uc2UsXG4gIEFkZFB1YmtleUhhc2hTaWduUmVxdWVzdCxcbiAgQWRkUHVia2V5SGFzaFNpZ25SZXNwb25zZSxcbiAgQWRkUmF3VHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBBZGRSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBBZGRTY3JpcHRIYXNoU2lnblJlcXVlc3QsXG4gIEFkZFNjcmlwdEhhc2hTaWduUmVzcG9uc2UsXG4gIEFkZFNpZ25SZXF1ZXN0LFxuICBBZGRTaWduUmVzcG9uc2UsXG4gIEFwcGVuZERlc2NyaXB0b3JDaGVja3N1bVJlcXVlc3QsXG4gIEFwcGVuZERlc2NyaXB0b3JDaGVja3N1bVJlc3BvbnNlLFxuICBCbGluZFJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgQmxpbmRSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBDYWxjdWxhdGVFY1NpZ25hdHVyZVJlcXVlc3QsXG4gIENhbGN1bGF0ZUVjU2lnbmF0dXJlUmVzcG9uc2UsXG4gIENvbnZlcnRBZXNSZXF1ZXN0LFxuICBDb252ZXJ0QWVzUmVzcG9uc2UsXG4gIENvbnZlcnRFbnRyb3B5VG9NbmVtb25pY1JlcXVlc3QsXG4gIENvbnZlcnRFbnRyb3B5VG9NbmVtb25pY1Jlc3BvbnNlLFxuICBDb252ZXJ0TW5lbW9uaWNUb1NlZWRSZXF1ZXN0LFxuICBDb252ZXJ0TW5lbW9uaWNUb1NlZWRSZXNwb25zZSxcbiAgQ3JlYXRlQWRkcmVzc1JlcXVlc3QsXG4gIENyZWF0ZUFkZHJlc3NSZXNwb25zZSxcbiAgQ3JlYXRlRGVzY3JpcHRvclJlcXVlc3QsXG4gIENyZWF0ZURlc2NyaXB0b3JSZXNwb25zZSxcbiAgQ3JlYXRlRGVzdHJveUFtb3VudFJlcXVlc3QsXG4gIENyZWF0ZURlc3Ryb3lBbW91bnRSZXNwb25zZSxcbiAgQ3JlYXRlRWxlbWVudHNTaWduYXR1cmVIYXNoUmVxdWVzdCxcbiAgQ3JlYXRlRWxlbWVudHNTaWduYXR1cmVIYXNoUmVzcG9uc2UsXG4gIENyZWF0ZUV4dGtleUZyb21QYXJlbnRLZXlSZXF1ZXN0LFxuICBDcmVhdGVFeHRrZXlGcm9tUGFyZW50S2V5UmVzcG9uc2UsXG4gIENyZWF0ZUV4dGtleUZyb21QYXJlbnRQYXRoUmVxdWVzdCxcbiAgQ3JlYXRlRXh0a2V5RnJvbVBhcmVudFBhdGhSZXNwb25zZSxcbiAgQ3JlYXRlRXh0a2V5RnJvbVBhcmVudFJlcXVlc3QsXG4gIENyZWF0ZUV4dGtleUZyb21QYXJlbnRSZXNwb25zZSxcbiAgQ3JlYXRlRXh0a2V5RnJvbVNlZWRSZXF1ZXN0LFxuICBDcmVhdGVFeHRrZXlGcm9tU2VlZFJlc3BvbnNlLFxuICBDcmVhdGVFeHRrZXlSZXF1ZXN0LFxuICBDcmVhdGVFeHRrZXlSZXNwb25zZSxcbiAgQ3JlYXRlRXh0UHVia2V5UmVxdWVzdCxcbiAgQ3JlYXRlRXh0UHVia2V5UmVzcG9uc2UsXG4gIENyZWF0ZUtleVBhaXJSZXF1ZXN0LFxuICBDcmVhdGVLZXlQYWlyUmVzcG9uc2UsXG4gIENyZWF0ZU11bHRpc2lnUmVxdWVzdCxcbiAgQ3JlYXRlTXVsdGlzaWdSZXNwb25zZSxcbiAgQ3JlYXRlTXVsdGlzaWdTY3JpcHRTaWdSZXF1ZXN0LFxuICBDcmVhdGVNdWx0aXNpZ1NjcmlwdFNpZ1Jlc3BvbnNlLFxuICBDcmVhdGVQZWdJbkFkZHJlc3NSZXF1ZXN0LFxuICBDcmVhdGVQZWdJbkFkZHJlc3NSZXNwb25zZSxcbiAgQ3JlYXRlUmF3UGVnaW5SZXF1ZXN0LFxuICBDcmVhdGVSYXdQZWdpblJlc3BvbnNlLFxuICBDcmVhdGVSYXdQZWdvdXRSZXF1ZXN0LFxuICBDcmVhdGVSYXdQZWdvdXRSZXNwb25zZSxcbiAgQ3JlYXRlUmF3VHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBDcmVhdGVSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBDcmVhdGVTY3JpcHRSZXF1ZXN0LFxuICBDcmVhdGVTY3JpcHRSZXNwb25zZSxcbiAgQ3JlYXRlU2lnbmF0dXJlSGFzaFJlcXVlc3QsXG4gIENyZWF0ZVNpZ25hdHVyZUhhc2hSZXNwb25zZSxcbiAgRGVjb2RlQmFzZTU4UmVxdWVzdCxcbiAgRGVjb2RlQmFzZTU4UmVzcG9uc2UsXG4gIERlY29kZURlclNpZ25hdHVyZVRvUmF3UmVxdWVzdCxcbiAgRGVjb2RlRGVyU2lnbmF0dXJlVG9SYXdSZXNwb25zZSxcbiAgRGVjb2RlUmF3VHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBEZWNvZGVSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBFbGVtZW50c0FkZFJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgRWxlbWVudHNBZGRSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBFbGVtZW50c0NyZWF0ZVJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgRWxlbWVudHNDcmVhdGVSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBFbGVtZW50c0RlY29kZVJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgRWxlbWVudHNEZWNvZGVSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBFbmNvZGVCYXNlNThSZXF1ZXN0LFxuICBFbmNvZGVCYXNlNThSZXNwb25zZSxcbiAgRW5jb2RlU2lnbmF0dXJlQnlEZXJSZXF1ZXN0LFxuICBFbmNvZGVTaWduYXR1cmVCeURlclJlc3BvbnNlLFxuICBFc3RpbWF0ZUZlZVJlcXVlc3QsXG4gIEVzdGltYXRlRmVlUmVzcG9uc2UsXG4gIEZ1bmRSYXdUcmFuc2FjdGlvblJlcXVlc3QsXG4gIEZ1bmRSYXdUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBHZXRBZGRyZXNzZXNGcm9tTXVsdGlzaWdSZXF1ZXN0LFxuICBHZXRBZGRyZXNzZXNGcm9tTXVsdGlzaWdSZXNwb25zZSxcbiAgR2V0QWRkcmVzc0luZm9SZXF1ZXN0LFxuICBHZXRBZGRyZXNzSW5mb1Jlc3BvbnNlLFxuICBHZXRDb21taXRtZW50UmVxdWVzdCxcbiAgR2V0Q29tbWl0bWVudFJlc3BvbnNlLFxuICBHZXRDb21wcmVzc2VkUHVia2V5UmVxdWVzdCxcbiAgR2V0Q29tcHJlc3NlZFB1YmtleVJlc3BvbnNlLFxuICBHZXRDb25maWRlbnRpYWxBZGRyZXNzUmVxdWVzdCxcbiAgR2V0Q29uZmlkZW50aWFsQWRkcmVzc1Jlc3BvbnNlLFxuICBHZXREZWZhdWx0QmxpbmRpbmdLZXlSZXF1ZXN0LFxuICBHZXREZWZhdWx0QmxpbmRpbmdLZXlSZXNwb25zZSxcbiAgR2V0RXh0a2V5SW5mb1JlcXVlc3QsXG4gIEdldEV4dGtleUluZm9SZXNwb25zZSxcbiAgR2V0SXNzdWFuY2VCbGluZGluZ0tleVJlcXVlc3QsXG4gIEdldElzc3VhbmNlQmxpbmRpbmdLZXlSZXNwb25zZSxcbiAgR2V0TW5lbW9uaWNXb3JkbGlzdFJlcXVlc3QsXG4gIEdldE1uZW1vbmljV29yZGxpc3RSZXNwb25zZSxcbiAgR2V0UHJpdmtleUZyb21FeHRrZXlSZXF1ZXN0LFxuICBHZXRQcml2a2V5RnJvbUV4dGtleVJlc3BvbnNlLFxuICBHZXRQcml2a2V5RnJvbVdpZlJlcXVlc3QsXG4gIEdldFByaXZrZXlGcm9tV2lmUmVzcG9uc2UsXG4gIEdldFByaXZrZXlXaWZSZXF1ZXN0LFxuICBHZXRQcml2a2V5V2lmUmVzcG9uc2UsXG4gIEdldFB1YmtleUZyb21FeHRrZXlSZXF1ZXN0LFxuICBHZXRQdWJrZXlGcm9tRXh0a2V5UmVzcG9uc2UsXG4gIEdldFB1YmtleUZyb21Qcml2a2V5UmVxdWVzdCxcbiAgR2V0UHVia2V5RnJvbVByaXZrZXlSZXNwb25zZSxcbiAgR2V0U3VwcG9ydGVkRnVuY3Rpb25SZXNwb25zZSxcbiAgR2V0VW5ibGluZGVkQWRkcmVzc1JlcXVlc3QsXG4gIEdldFVuYmxpbmRlZEFkZHJlc3NSZXNwb25zZSxcbiAgR2V0V2l0bmVzc1N0YWNrTnVtUmVxdWVzdCxcbiAgR2V0V2l0bmVzc1N0YWNrTnVtUmVzcG9uc2UsXG4gIFBhcnNlRGVzY3JpcHRvclJlcXVlc3QsXG4gIFBhcnNlRGVzY3JpcHRvclJlc3BvbnNlLFxuICBQYXJzZVNjcmlwdFJlcXVlc3QsXG4gIFBhcnNlU2NyaXB0UmVzcG9uc2UsXG4gIFNlbGVjdFV0eG9zUmVxdWVzdCxcbiAgU2VsZWN0VXR4b3NSZXNwb25zZSxcbiAgU2VyaWFsaXplTGVkZ2VyRm9ybWF0UmVxdWVzdCxcbiAgU2VyaWFsaXplTGVkZ2VyRm9ybWF0UmVzcG9uc2UsXG4gIFNldFJhd0lzc3VlQXNzZXRSZXF1ZXN0LFxuICBTZXRSYXdJc3N1ZUFzc2V0UmVzcG9uc2UsXG4gIFNldFJhd1JlaXNzdWVBc3NldFJlcXVlc3QsXG4gIFNldFJhd1JlaXNzdWVBc3NldFJlc3BvbnNlLFxuICBTaWduV2l0aFByaXZrZXlSZXF1ZXN0LFxuICBTaWduV2l0aFByaXZrZXlSZXNwb25zZSxcbiAgVW5ibGluZFJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgVW5ibGluZFJhd1RyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIFVwZGF0ZVR4T3V0QW1vdW50UmVxdWVzdCxcbiAgVXBkYXRlVHhPdXRBbW91bnRSZXNwb25zZSxcbiAgVXBkYXRlV2l0bmVzc1N0YWNrUmVxdWVzdCxcbiAgVXBkYXRlV2l0bmVzc1N0YWNrUmVzcG9uc2UsXG4gIFZlcmlmeVNpZ25hdHVyZVJlcXVlc3QsXG4gIFZlcmlmeVNpZ25hdHVyZVJlc3BvbnNlLFxuICBWZXJpZnlTaWduUmVxdWVzdCxcbiAgVmVyaWZ5U2lnblJlc3BvbnNlLFxufSBmcm9tICdAYXRvbWljZmluYW5jZS90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENmZCB7XG4gIGNsaWVudDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogYW55KSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gIH1cblxuICBhc3luYyBBZGRNdWx0aXNpZ1NpZ24oXG4gICAganNvbk9iamVjdDogQWRkTXVsdGlzaWdTaWduUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxBZGRNdWx0aXNpZ1NpZ25SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0FkZE11bHRpc2lnU2lnbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQWRkUHVia2V5SGFzaFNpZ24oXG4gICAganNvbk9iamVjdDogQWRkUHVia2V5SGFzaFNpZ25SZXF1ZXN0LFxuICApOiBQcm9taXNlPEFkZFB1YmtleUhhc2hTaWduUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdBZGRQdWJrZXlIYXNoU2lnbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQWRkUmF3VHJhbnNhY3Rpb24oXG4gICAganNvbk9iamVjdDogQWRkUmF3VHJhbnNhY3Rpb25SZXF1ZXN0LFxuICApOiBQcm9taXNlPEFkZFJhd1RyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdBZGRSYXdUcmFuc2FjdGlvbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQWRkU2NyaXB0SGFzaFNpZ24oXG4gICAganNvbk9iamVjdDogQWRkU2NyaXB0SGFzaFNpZ25SZXF1ZXN0LFxuICApOiBQcm9taXNlPEFkZFNjcmlwdEhhc2hTaWduUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdBZGRTY3JpcHRIYXNoU2lnbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQWRkU2lnbihqc29uT2JqZWN0OiBBZGRTaWduUmVxdWVzdCk6IFByb21pc2U8QWRkU2lnblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQWRkU2lnbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQXBwZW5kRGVzY3JpcHRvckNoZWNrc3VtKFxuICAgIGpzb25PYmplY3Q6IEFwcGVuZERlc2NyaXB0b3JDaGVja3N1bVJlcXVlc3QsXG4gICk6IFByb21pc2U8QXBwZW5kRGVzY3JpcHRvckNoZWNrc3VtUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdBcHBlbmREZXNjcmlwdG9yQ2hlY2tzdW0nKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEJsaW5kUmF3VHJhbnNhY3Rpb24oXG4gICAganNvbk9iamVjdDogQmxpbmRSYXdUcmFuc2FjdGlvblJlcXVlc3QsXG4gICk6IFByb21pc2U8QmxpbmRSYXdUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQmxpbmRSYXdUcmFuc2FjdGlvbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ2FsY3VsYXRlRWNTaWduYXR1cmUoXG4gICAganNvbk9iamVjdDogQ2FsY3VsYXRlRWNTaWduYXR1cmVSZXF1ZXN0LFxuICApOiBQcm9taXNlPENhbGN1bGF0ZUVjU2lnbmF0dXJlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDYWxjdWxhdGVFY1NpZ25hdHVyZScpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ29udmVydEFlcyhqc29uT2JqZWN0OiBDb252ZXJ0QWVzUmVxdWVzdCk6IFByb21pc2U8Q29udmVydEFlc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQ29udmVydEFlcycpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ29udmVydEVudHJvcHlUb01uZW1vbmljKFxuICAgIGpzb25PYmplY3Q6IENvbnZlcnRFbnRyb3B5VG9NbmVtb25pY1JlcXVlc3QsXG4gICk6IFByb21pc2U8Q29udmVydEVudHJvcHlUb01uZW1vbmljUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDb252ZXJ0RW50cm9weVRvTW5lbW9uaWMnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIENvbnZlcnRNbmVtb25pY1RvU2VlZChcbiAgICBqc29uT2JqZWN0OiBDb252ZXJ0TW5lbW9uaWNUb1NlZWRSZXF1ZXN0LFxuICApOiBQcm9taXNlPENvbnZlcnRNbmVtb25pY1RvU2VlZFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQ29udmVydE1uZW1vbmljVG9TZWVkJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVBZGRyZXNzKFxuICAgIGpzb25PYmplY3Q6IENyZWF0ZUFkZHJlc3NSZXF1ZXN0LFxuICApOiBQcm9taXNlPENyZWF0ZUFkZHJlc3NSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZUFkZHJlc3MnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIENyZWF0ZURlc2NyaXB0b3IoXG4gICAganNvbk9iamVjdDogQ3JlYXRlRGVzY3JpcHRvclJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlRGVzY3JpcHRvclJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQ3JlYXRlRGVzY3JpcHRvcicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlRXh0a2V5KFxuICAgIGpzb25PYmplY3Q6IENyZWF0ZUV4dGtleVJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlRXh0a2V5UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVFeHRrZXknKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIENyZWF0ZUV4dGtleUZyb21QYXJlbnQoXG4gICAganNvbk9iamVjdDogQ3JlYXRlRXh0a2V5RnJvbVBhcmVudFJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlRXh0a2V5RnJvbVBhcmVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQ3JlYXRlRXh0a2V5RnJvbVBhcmVudCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlRXh0a2V5RnJvbVBhcmVudEtleShcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVFeHRrZXlGcm9tUGFyZW50S2V5UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxDcmVhdGVFeHRrZXlGcm9tUGFyZW50S2V5UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVFeHRrZXlGcm9tUGFyZW50S2V5JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVFeHRrZXlGcm9tUGFyZW50UGF0aChcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVFeHRrZXlGcm9tUGFyZW50UGF0aFJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlRXh0a2V5RnJvbVBhcmVudFBhdGhSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZUV4dGtleUZyb21QYXJlbnRQYXRoJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVFeHRrZXlGcm9tU2VlZChcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVFeHRrZXlGcm9tU2VlZFJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlRXh0a2V5RnJvbVNlZWRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZUV4dGtleUZyb21TZWVkJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVFeHRQdWJrZXkoXG4gICAganNvbk9iamVjdDogQ3JlYXRlRXh0UHVia2V5UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxDcmVhdGVFeHRQdWJrZXlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZUV4dFB1YmtleScpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlS2V5UGFpcihcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVLZXlQYWlyUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxDcmVhdGVLZXlQYWlyUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVLZXlQYWlyJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVNdWx0aXNpZ1NjcmlwdFNpZyhcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVNdWx0aXNpZ1NjcmlwdFNpZ1JlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlTXVsdGlzaWdTY3JpcHRTaWdSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZU11bHRpc2lnU2NyaXB0U2lnJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVTY3JpcHQoXG4gICAganNvbk9iamVjdDogQ3JlYXRlU2NyaXB0UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxDcmVhdGVTY3JpcHRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZVNjcmlwdCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgRGVjb2RlQmFzZTU4KFxuICAgIGpzb25PYmplY3Q6IERlY29kZUJhc2U1OFJlcXVlc3QsXG4gICk6IFByb21pc2U8RGVjb2RlQmFzZTU4UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdEZWNvZGVCYXNlNTgnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIERlY29kZURlclNpZ25hdHVyZVRvUmF3KFxuICAgIGpzb25PYmplY3Q6IERlY29kZURlclNpZ25hdHVyZVRvUmF3UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxEZWNvZGVEZXJTaWduYXR1cmVUb1Jhd1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnRGVjb2RlRGVyU2lnbmF0dXJlVG9SYXcnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIERlY29kZVJhd1RyYW5zYWN0aW9uKFxuICAgIGpzb25PYmplY3Q6IERlY29kZVJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxEZWNvZGVSYXdUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnRGVjb2RlUmF3VHJhbnNhY3Rpb24nKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEVsZW1lbnRzQWRkUmF3VHJhbnNhY3Rpb24oXG4gICAganNvbk9iamVjdDogRWxlbWVudHNBZGRSYXdUcmFuc2FjdGlvblJlcXVlc3QsXG4gICk6IFByb21pc2U8RWxlbWVudHNBZGRSYXdUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnRWxlbWVudHNBZGRSYXdUcmFuc2FjdGlvbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlRGVzdHJveUFtb3VudChcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVEZXN0cm95QW1vdW50UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxDcmVhdGVEZXN0cm95QW1vdW50UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVEZXN0cm95QW1vdW50JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVQZWdJbkFkZHJlc3MoXG4gICAganNvbk9iamVjdDogQ3JlYXRlUGVnSW5BZGRyZXNzUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxDcmVhdGVQZWdJbkFkZHJlc3NSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZVBlZ0luQWRkcmVzcycpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlUmF3UGVnaW4oXG4gICAganNvbk9iamVjdDogQ3JlYXRlUmF3UGVnaW5SZXF1ZXN0LFxuICApOiBQcm9taXNlPENyZWF0ZVJhd1BlZ2luUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVSYXdQZWdpbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlUmF3UGVnb3V0KFxuICAgIGpzb25PYmplY3Q6IENyZWF0ZVJhd1BlZ291dFJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlUmF3UGVnb3V0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVSYXdQZWdvdXQnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEVsZW1lbnRzQ3JlYXRlUmF3VHJhbnNhY3Rpb24oXG4gICAganNvbk9iamVjdDogRWxlbWVudHNDcmVhdGVSYXdUcmFuc2FjdGlvblJlcXVlc3QsXG4gICk6IFByb21pc2U8RWxlbWVudHNDcmVhdGVSYXdUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnRWxlbWVudHNDcmVhdGVSYXdUcmFuc2FjdGlvbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgRWxlbWVudHNEZWNvZGVSYXdUcmFuc2FjdGlvbihcbiAgICBqc29uT2JqZWN0OiBFbGVtZW50c0RlY29kZVJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxFbGVtZW50c0RlY29kZVJhd1RyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdFbGVtZW50c0RlY29kZVJhd1RyYW5zYWN0aW9uJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBHZXRDb25maWRlbnRpYWxBZGRyZXNzKFxuICAgIGpzb25PYmplY3Q6IEdldENvbmZpZGVudGlhbEFkZHJlc3NSZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldENvbmZpZGVudGlhbEFkZHJlc3NSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0dldENvbmZpZGVudGlhbEFkZHJlc3MnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEdldFVuYmxpbmRlZEFkZHJlc3MoXG4gICAganNvbk9iamVjdDogR2V0VW5ibGluZGVkQWRkcmVzc1JlcXVlc3QsXG4gICk6IFByb21pc2U8R2V0VW5ibGluZGVkQWRkcmVzc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnR2V0VW5ibGluZGVkQWRkcmVzcycpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgU2V0UmF3SXNzdWVBc3NldChcbiAgICBqc29uT2JqZWN0OiBTZXRSYXdJc3N1ZUFzc2V0UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxTZXRSYXdJc3N1ZUFzc2V0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdTZXRSYXdJc3N1ZUFzc2V0JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBTZXRSYXdSZWlzc3VlQXNzZXQoXG4gICAganNvbk9iamVjdDogU2V0UmF3UmVpc3N1ZUFzc2V0UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxTZXRSYXdSZWlzc3VlQXNzZXRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ1NldFJhd1JlaXNzdWVBc3NldCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgVW5ibGluZFJhd1RyYW5zYWN0aW9uKFxuICAgIGpzb25PYmplY3Q6IFVuYmxpbmRSYXdUcmFuc2FjdGlvblJlcXVlc3QsXG4gICk6IFByb21pc2U8VW5ibGluZFJhd1RyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdVbmJsaW5kUmF3VHJhbnNhY3Rpb24nKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEVuY29kZUJhc2U1OChcbiAgICBqc29uT2JqZWN0OiBFbmNvZGVCYXNlNThSZXF1ZXN0LFxuICApOiBQcm9taXNlPEVuY29kZUJhc2U1OFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnRW5jb2RlQmFzZTU4JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBFbmNvZGVTaWduYXR1cmVCeURlcihcbiAgICBqc29uT2JqZWN0OiBFbmNvZGVTaWduYXR1cmVCeURlclJlcXVlc3QsXG4gICk6IFByb21pc2U8RW5jb2RlU2lnbmF0dXJlQnlEZXJSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0VuY29kZVNpZ25hdHVyZUJ5RGVyJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBFc3RpbWF0ZUZlZShcbiAgICBqc29uT2JqZWN0OiBFc3RpbWF0ZUZlZVJlcXVlc3QsXG4gICk6IFByb21pc2U8RXN0aW1hdGVGZWVSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0VzdGltYXRlRmVlJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBGdW5kUmF3VHJhbnNhY3Rpb24oXG4gICAganNvbk9iamVjdDogRnVuZFJhd1RyYW5zYWN0aW9uUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxGdW5kUmF3VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0Z1bmRSYXdUcmFuc2FjdGlvbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0QWRkcmVzc0luZm8oXG4gICAganNvbk9iamVjdDogR2V0QWRkcmVzc0luZm9SZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldEFkZHJlc3NJbmZvUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRBZGRyZXNzSW5mbycpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0QWRkcmVzc2VzRnJvbU11bHRpc2lnKFxuICAgIGpzb25PYmplY3Q6IEdldEFkZHJlc3Nlc0Zyb21NdWx0aXNpZ1JlcXVlc3QsXG4gICk6IFByb21pc2U8R2V0QWRkcmVzc2VzRnJvbU11bHRpc2lnUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRBZGRyZXNzZXNGcm9tTXVsdGlzaWcnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEdldENvbW1pdG1lbnQoXG4gICAganNvbk9iamVjdDogR2V0Q29tbWl0bWVudFJlcXVlc3QsXG4gICk6IFByb21pc2U8R2V0Q29tbWl0bWVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnR2V0Q29tbWl0bWVudCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0Q29tcHJlc3NlZFB1YmtleShcbiAgICBqc29uT2JqZWN0OiBHZXRDb21wcmVzc2VkUHVia2V5UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxHZXRDb21wcmVzc2VkUHVia2V5UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRDb21wcmVzc2VkUHVia2V5JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBHZXREZWZhdWx0QmxpbmRpbmdLZXkoXG4gICAganNvbk9iamVjdDogR2V0RGVmYXVsdEJsaW5kaW5nS2V5UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxHZXREZWZhdWx0QmxpbmRpbmdLZXlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0dldERlZmF1bHRCbGluZGluZ0tleScpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0RXh0a2V5SW5mbyhcbiAgICBqc29uT2JqZWN0OiBHZXRFeHRrZXlJbmZvUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxHZXRFeHRrZXlJbmZvUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRFeHRrZXlJbmZvJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBHZXRJc3N1YW5jZUJsaW5kaW5nS2V5KFxuICAgIGpzb25PYmplY3Q6IEdldElzc3VhbmNlQmxpbmRpbmdLZXlSZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldElzc3VhbmNlQmxpbmRpbmdLZXlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0dldElzc3VhbmNlQmxpbmRpbmdLZXknKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEdldE1uZW1vbmljV29yZGxpc3QoXG4gICAganNvbk9iamVjdDogR2V0TW5lbW9uaWNXb3JkbGlzdFJlcXVlc3QsXG4gICk6IFByb21pc2U8R2V0TW5lbW9uaWNXb3JkbGlzdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnR2V0TW5lbW9uaWNXb3JkbGlzdCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0UHJpdmtleUZyb21FeHRrZXkoXG4gICAganNvbk9iamVjdDogR2V0UHJpdmtleUZyb21FeHRrZXlSZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldFByaXZrZXlGcm9tRXh0a2V5UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRQcml2a2V5RnJvbUV4dGtleScpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0UHJpdmtleUZyb21XaWYoXG4gICAganNvbk9iamVjdDogR2V0UHJpdmtleUZyb21XaWZSZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldFByaXZrZXlGcm9tV2lmUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRQcml2a2V5RnJvbVdpZicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgR2V0UHJpdmtleVdpZihcbiAgICBqc29uT2JqZWN0OiBHZXRQcml2a2V5V2lmUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxHZXRQcml2a2V5V2lmUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRQcml2a2V5V2lmJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBHZXRQdWJrZXlGcm9tRXh0a2V5KFxuICAgIGpzb25PYmplY3Q6IEdldFB1YmtleUZyb21FeHRrZXlSZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldFB1YmtleUZyb21FeHRrZXlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0dldFB1YmtleUZyb21FeHRrZXknKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEdldFB1YmtleUZyb21Qcml2a2V5KFxuICAgIGpzb25PYmplY3Q6IEdldFB1YmtleUZyb21Qcml2a2V5UmVxdWVzdCxcbiAgKTogUHJvbWlzZTxHZXRQdWJrZXlGcm9tUHJpdmtleVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnR2V0UHVia2V5RnJvbVByaXZrZXknKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIEdldFdpdG5lc3NTdGFja051bShcbiAgICBqc29uT2JqZWN0OiBHZXRXaXRuZXNzU3RhY2tOdW1SZXF1ZXN0LFxuICApOiBQcm9taXNlPEdldFdpdG5lc3NTdGFja051bVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnR2V0V2l0bmVzc1N0YWNrTnVtJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVNdWx0aXNpZyhcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVNdWx0aXNpZ1JlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlTXVsdGlzaWdSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZU11bHRpc2lnJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBQYXJzZURlc2NyaXB0b3IoXG4gICAganNvbk9iamVjdDogUGFyc2VEZXNjcmlwdG9yUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxQYXJzZURlc2NyaXB0b3JSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ1BhcnNlRGVzY3JpcHRvcicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgUGFyc2VTY3JpcHQoXG4gICAganNvbk9iamVjdDogUGFyc2VTY3JpcHRSZXF1ZXN0LFxuICApOiBQcm9taXNlPFBhcnNlU2NyaXB0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdQYXJzZVNjcmlwdCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgU2VsZWN0VXR4b3MoXG4gICAganNvbk9iamVjdDogU2VsZWN0VXR4b3NSZXF1ZXN0LFxuICApOiBQcm9taXNlPFNlbGVjdFV0eG9zUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdTZWxlY3RVdHhvcycpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgU2VyaWFsaXplTGVkZ2VyRm9ybWF0KFxuICAgIGpzb25PYmplY3Q6IFNlcmlhbGl6ZUxlZGdlckZvcm1hdFJlcXVlc3QsXG4gICk6IFByb21pc2U8U2VyaWFsaXplTGVkZ2VyRm9ybWF0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdTZXJpYWxpemVMZWRnZXJGb3JtYXQnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIENyZWF0ZVNpZ25hdHVyZUhhc2goXG4gICAganNvbk9iamVjdDogQ3JlYXRlU2lnbmF0dXJlSGFzaFJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlU2lnbmF0dXJlSGFzaFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnQ3JlYXRlU2lnbmF0dXJlSGFzaCcpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgQ3JlYXRlRWxlbWVudHNTaWduYXR1cmVIYXNoKFxuICAgIGpzb25PYmplY3Q6IENyZWF0ZUVsZW1lbnRzU2lnbmF0dXJlSGFzaFJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlRWxlbWVudHNTaWduYXR1cmVIYXNoUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdDcmVhdGVFbGVtZW50c1NpZ25hdHVyZUhhc2gnKShqc29uT2JqZWN0KTtcbiAgfVxuXG4gIGFzeW5jIFNpZ25XaXRoUHJpdmtleShcbiAgICBqc29uT2JqZWN0OiBTaWduV2l0aFByaXZrZXlSZXF1ZXN0LFxuICApOiBQcm9taXNlPFNpZ25XaXRoUHJpdmtleVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnU2lnbldpdGhQcml2a2V5JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBHZXRTdXBwb3J0ZWRGdW5jdGlvbigpOiBQcm9taXNlPEdldFN1cHBvcnRlZEZ1bmN0aW9uUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdHZXRTdXBwb3J0ZWRGdW5jdGlvbicpKCk7XG4gIH1cblxuICBhc3luYyBDcmVhdGVSYXdUcmFuc2FjdGlvbihcbiAgICBqc29uT2JqZWN0OiBDcmVhdGVSYXdUcmFuc2FjdGlvblJlcXVlc3QsXG4gICk6IFByb21pc2U8Q3JlYXRlUmF3VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ0NyZWF0ZVJhd1RyYW5zYWN0aW9uJykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBVcGRhdGVUeE91dEFtb3VudChcbiAgICBqc29uT2JqZWN0OiBVcGRhdGVUeE91dEFtb3VudFJlcXVlc3QsXG4gICk6IFByb21pc2U8VXBkYXRlVHhPdXRBbW91bnRSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ1VwZGF0ZVR4T3V0QW1vdW50JykoanNvbk9iamVjdCk7XG4gIH1cblxuICBhc3luYyBVcGRhdGVXaXRuZXNzU3RhY2soXG4gICAganNvbk9iamVjdDogVXBkYXRlV2l0bmVzc1N0YWNrUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxVcGRhdGVXaXRuZXNzU3RhY2tSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudC5nZXRNZXRob2QoJ1VwZGF0ZVdpdG5lc3NTdGFjaycpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgVmVyaWZ5U2lnbihqc29uT2JqZWN0OiBWZXJpZnlTaWduUmVxdWVzdCk6IFByb21pc2U8VmVyaWZ5U2lnblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmdldE1ldGhvZCgnVmVyaWZ5U2lnbicpKGpzb25PYmplY3QpO1xuICB9XG5cbiAgYXN5bmMgVmVyaWZ5U2lnbmF0dXJlKFxuICAgIGpzb25PYmplY3Q6IFZlcmlmeVNpZ25hdHVyZVJlcXVlc3QsXG4gICk6IFByb21pc2U8VmVyaWZ5U2lnbmF0dXJlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZ2V0TWV0aG9kKCdWZXJpZnlTaWduYXR1cmUnKShqc29uT2JqZWN0KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNmZCIsIkFkZE11bHRpc2lnU2lnbiIsImpzb25PYmplY3QiLCJjbGllbnQiLCJnZXRNZXRob2QiLCJBZGRQdWJrZXlIYXNoU2lnbiIsIkFkZFJhd1RyYW5zYWN0aW9uIiwiQWRkU2NyaXB0SGFzaFNpZ24iLCJBZGRTaWduIiwiQXBwZW5kRGVzY3JpcHRvckNoZWNrc3VtIiwiQmxpbmRSYXdUcmFuc2FjdGlvbiIsIkNhbGN1bGF0ZUVjU2lnbmF0dXJlIiwiQ29udmVydEFlcyIsIkNvbnZlcnRFbnRyb3B5VG9NbmVtb25pYyIsIkNvbnZlcnRNbmVtb25pY1RvU2VlZCIsIkNyZWF0ZUFkZHJlc3MiLCJDcmVhdGVEZXNjcmlwdG9yIiwiQ3JlYXRlRXh0a2V5IiwiQ3JlYXRlRXh0a2V5RnJvbVBhcmVudCIsIkNyZWF0ZUV4dGtleUZyb21QYXJlbnRLZXkiLCJDcmVhdGVFeHRrZXlGcm9tUGFyZW50UGF0aCIsIkNyZWF0ZUV4dGtleUZyb21TZWVkIiwiQ3JlYXRlRXh0UHVia2V5IiwiQ3JlYXRlS2V5UGFpciIsIkNyZWF0ZU11bHRpc2lnU2NyaXB0U2lnIiwiQ3JlYXRlU2NyaXB0IiwiRGVjb2RlQmFzZTU4IiwiRGVjb2RlRGVyU2lnbmF0dXJlVG9SYXciLCJEZWNvZGVSYXdUcmFuc2FjdGlvbiIsIkVsZW1lbnRzQWRkUmF3VHJhbnNhY3Rpb24iLCJDcmVhdGVEZXN0cm95QW1vdW50IiwiQ3JlYXRlUGVnSW5BZGRyZXNzIiwiQ3JlYXRlUmF3UGVnaW4iLCJDcmVhdGVSYXdQZWdvdXQiLCJFbGVtZW50c0NyZWF0ZVJhd1RyYW5zYWN0aW9uIiwiRWxlbWVudHNEZWNvZGVSYXdUcmFuc2FjdGlvbiIsIkdldENvbmZpZGVudGlhbEFkZHJlc3MiLCJHZXRVbmJsaW5kZWRBZGRyZXNzIiwiU2V0UmF3SXNzdWVBc3NldCIsIlNldFJhd1JlaXNzdWVBc3NldCIsIlVuYmxpbmRSYXdUcmFuc2FjdGlvbiIsIkVuY29kZUJhc2U1OCIsIkVuY29kZVNpZ25hdHVyZUJ5RGVyIiwiRXN0aW1hdGVGZWUiLCJGdW5kUmF3VHJhbnNhY3Rpb24iLCJHZXRBZGRyZXNzSW5mbyIsIkdldEFkZHJlc3Nlc0Zyb21NdWx0aXNpZyIsIkdldENvbW1pdG1lbnQiLCJHZXRDb21wcmVzc2VkUHVia2V5IiwiR2V0RGVmYXVsdEJsaW5kaW5nS2V5IiwiR2V0RXh0a2V5SW5mbyIsIkdldElzc3VhbmNlQmxpbmRpbmdLZXkiLCJHZXRNbmVtb25pY1dvcmRsaXN0IiwiR2V0UHJpdmtleUZyb21FeHRrZXkiLCJHZXRQcml2a2V5RnJvbVdpZiIsIkdldFByaXZrZXlXaWYiLCJHZXRQdWJrZXlGcm9tRXh0a2V5IiwiR2V0UHVia2V5RnJvbVByaXZrZXkiLCJHZXRXaXRuZXNzU3RhY2tOdW0iLCJDcmVhdGVNdWx0aXNpZyIsIlBhcnNlRGVzY3JpcHRvciIsIlBhcnNlU2NyaXB0IiwiU2VsZWN0VXR4b3MiLCJTZXJpYWxpemVMZWRnZXJGb3JtYXQiLCJDcmVhdGVTaWduYXR1cmVIYXNoIiwiQ3JlYXRlRWxlbWVudHNTaWduYXR1cmVIYXNoIiwiU2lnbldpdGhQcml2a2V5IiwiR2V0U3VwcG9ydGVkRnVuY3Rpb24iLCJDcmVhdGVSYXdUcmFuc2FjdGlvbiIsIlVwZGF0ZVR4T3V0QW1vdW50IiwiVXBkYXRlV2l0bmVzc1N0YWNrIiwiVmVyaWZ5U2lnbiIsIlZlcmlmeVNpZ25hdHVyZSIsImNvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQTRJZSxJQUFBLEFBQU1BLEdBQUcsR0FBVCxNQUFNQSxHQUFHO0lBT3RCLE1BQU1DLGVBQWUsQ0FDbkJDLFVBQWtDLEVBQ0E7UUFDbEMsT0FBTyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUNGLFVBQVUsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsTUFBTUcsaUJBQWlCLENBQ3JCSCxVQUFvQyxFQUNBO1FBQ3BDLE9BQU8sSUFBSSxDQUFDQyxNQUFNLENBQUNDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDRixVQUFVLENBQUMsQ0FBQztLQUMvRDtJQUVELE1BQU1JLGlCQUFpQixDQUNyQkosVUFBb0MsRUFDQTtRQUNwQyxPQUFPLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQ0YsVUFBVSxDQUFDLENBQUM7S0FDL0Q7SUFFRCxNQUFNSyxpQkFBaUIsQ0FDckJMLFVBQW9DLEVBQ0E7UUFDcEMsT0FBTyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUNGLFVBQVUsQ0FBQyxDQUFDO0tBQy9EO0lBRUQsTUFBTU0sT0FBTyxDQUFDTixVQUEwQixFQUE0QjtRQUNsRSxPQUFPLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUNGLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQsTUFBTU8sd0JBQXdCLENBQzVCUCxVQUEyQyxFQUNBO1FBQzNDLE9BQU8sSUFBSSxDQUFDQyxNQUFNLENBQUNDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFD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
|
|
216
|
+
//# sourceMappingURL=Cfd.js.map
|
package/dist/Cfd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cfd.js","sourceRoot":"","sources":["../lib/Cfd.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Cfd.js","sourceRoot":"","sources":["../lib/Cfd.ts"],"names":[],"mappings":";;AA6IA,MAAqB,GAAG;IAGtB,YAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkC;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAoC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAoC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAoC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA0B;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAA2C;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAA2C;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAwC;QAExC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAgC;QAEhC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAmC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAAyC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAA4C;QAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,UAA6C;QAE7C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkC;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAgC;QAEhC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,UAA0C;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,UAA0C;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAA4C;QAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAiC;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkC;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,UAA+C;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,UAA+C;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAAyC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAmC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAwC;QAExC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAA8B;QAE9B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAiC;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAA2C;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAgC;QAEhC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAwC;QAExC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAgC;QAEhC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAAyC;QAEzC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAoC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAgC;QAEhC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAiC;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkC;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAA8B;QAE9B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAA8B;QAE9B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAwC;QAExC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAAsC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,UAA8C;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkC;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAoC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkC;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AA5ZD,sBA4ZC"}
|
package/dist/Chain.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Address, BigNumber, Block, ChainProvider, FeeDetails, FeeProvider, SendOptions, Transaction } from '@atomicfinance/types';
|
|
2
|
+
export default class Chain implements ChainProvider, FeeProvider {
|
|
3
|
+
client: any;
|
|
4
|
+
constructor(client: any);
|
|
5
|
+
/** @inheritdoc */
|
|
6
|
+
generateBlock(numberOfBlocks: number): Promise<void>;
|
|
7
|
+
/** @inheritdoc */
|
|
8
|
+
getBlockByHash(blockHash: string, includeTx?: boolean): Promise<Block>;
|
|
9
|
+
/** @inheritdoc */
|
|
10
|
+
getBlockByNumber(blockNumber: number, includeTx?: boolean): Promise<Block>;
|
|
11
|
+
/** @inheritdoc */
|
|
12
|
+
getBlockHeight(): Promise<number>;
|
|
13
|
+
/** @inheritdoc */
|
|
14
|
+
getTransactionByHash(txHash: string): Promise<Transaction>;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
getBalance(addresses: (string | Address)[]): Promise<BigNumber>;
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
sendTransaction(options: SendOptions): Promise<Transaction>;
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
sendSweepTransaction(address: Address | string, fee?: number): Promise<Transaction>;
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
updateTransactionFee(tx: string | Transaction, newFee: number): Promise<Transaction>;
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
sendBatchTransaction(transactions: SendOptions[]): Promise<Transaction>;
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
sendRawTransaction(rawTransaction: string): Promise<string>;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
getFees(): Promise<FeeDetails>;
|
|
29
|
+
}
|
package/dist/Chain.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const errors_1 = require("@atomicfinance/errors");
|
|
4
|
+
const types_1 = require("@atomicfinance/types");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
class Chain {
|
|
7
|
+
constructor(client) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
async generateBlock(numberOfBlocks) {
|
|
12
|
+
if (!lodash_1.isNumber(numberOfBlocks)) {
|
|
13
|
+
throw new TypeError('First argument should be a number');
|
|
14
|
+
}
|
|
15
|
+
return this.client.getMethod('generateBlock')(numberOfBlocks);
|
|
16
|
+
}
|
|
17
|
+
/** @inheritdoc */
|
|
18
|
+
async getBlockByHash(blockHash, includeTx = false) {
|
|
19
|
+
if (!lodash_1.isString(blockHash)) {
|
|
20
|
+
throw new TypeError('Block hash should be a string');
|
|
21
|
+
}
|
|
22
|
+
if (!lodash_1.isBoolean(includeTx)) {
|
|
23
|
+
throw new TypeError('Second parameter should be boolean');
|
|
24
|
+
}
|
|
25
|
+
const block = await this.client.getMethod('getBlockByHash')(blockHash, includeTx);
|
|
26
|
+
this.client.assertValidBlock(block);
|
|
27
|
+
return block;
|
|
28
|
+
}
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
async getBlockByNumber(blockNumber, includeTx = false) {
|
|
31
|
+
if (!lodash_1.isNumber(blockNumber)) {
|
|
32
|
+
throw new TypeError('Invalid Block number');
|
|
33
|
+
}
|
|
34
|
+
if (!lodash_1.isBoolean(includeTx)) {
|
|
35
|
+
throw new TypeError('Second parameter should be boolean');
|
|
36
|
+
}
|
|
37
|
+
const block = await this.client.getMethod('getBlockByNumber')(blockNumber, includeTx);
|
|
38
|
+
this.client.assertValidBlock(block);
|
|
39
|
+
return block;
|
|
40
|
+
}
|
|
41
|
+
/** @inheritdoc */
|
|
42
|
+
async getBlockHeight() {
|
|
43
|
+
const blockHeight = await this.client.getMethod('getBlockHeight')();
|
|
44
|
+
if (!lodash_1.isNumber(blockHeight)) {
|
|
45
|
+
throw new errors_1.InvalidProviderResponseError('Provider returned an invalid block height');
|
|
46
|
+
}
|
|
47
|
+
return blockHeight;
|
|
48
|
+
}
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
async getTransactionByHash(txHash) {
|
|
51
|
+
if (!lodash_1.isString(txHash)) {
|
|
52
|
+
throw new TypeError('Transaction hash should be a string');
|
|
53
|
+
}
|
|
54
|
+
const transaction = await this.client.getMethod('getTransactionByHash')(txHash);
|
|
55
|
+
if (transaction) {
|
|
56
|
+
this.client.assertValidTransaction(transaction);
|
|
57
|
+
}
|
|
58
|
+
return transaction;
|
|
59
|
+
}
|
|
60
|
+
/** @inheritdoc */
|
|
61
|
+
async getBalance(addresses) {
|
|
62
|
+
const balance = await this.client.getMethod('getBalance')(addresses);
|
|
63
|
+
if (!types_1.BigNumber.isBigNumber(balance)) {
|
|
64
|
+
throw new errors_1.InvalidProviderResponseError('Provider returned an invalid response');
|
|
65
|
+
}
|
|
66
|
+
return balance;
|
|
67
|
+
}
|
|
68
|
+
/** @inheritdoc */
|
|
69
|
+
async sendTransaction(options) {
|
|
70
|
+
const transaction = await this.client.getMethod('sendTransaction')(options);
|
|
71
|
+
this.client.assertValidTransaction(transaction);
|
|
72
|
+
return transaction;
|
|
73
|
+
}
|
|
74
|
+
/** @inheritdoc */
|
|
75
|
+
async sendSweepTransaction(address, fee) {
|
|
76
|
+
return this.client.getMethod('sendSweepTransaction')(address, fee);
|
|
77
|
+
}
|
|
78
|
+
/** @inheritdoc */
|
|
79
|
+
async updateTransactionFee(tx, newFee) {
|
|
80
|
+
if (lodash_1.isObject(tx)) {
|
|
81
|
+
this.client.assertValidTransaction(tx);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
if (!lodash_1.isString(tx)) {
|
|
85
|
+
throw new TypeError('Transaction should be a string or object');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const transaction = await this.client.getMethod('updateTransactionFee')(tx, newFee);
|
|
89
|
+
this.client.assertValidTransaction(transaction);
|
|
90
|
+
return transaction;
|
|
91
|
+
}
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
async sendBatchTransaction(transactions) {
|
|
94
|
+
return this.client.getMethod('sendBatchTransaction')(transactions);
|
|
95
|
+
}
|
|
96
|
+
/** @inheritdoc */
|
|
97
|
+
async sendRawTransaction(rawTransaction) {
|
|
98
|
+
const txHash = await this.client.getMethod('sendRawTransaction')(rawTransaction);
|
|
99
|
+
if (!lodash_1.isString(txHash)) {
|
|
100
|
+
throw new errors_1.InvalidProviderResponseError('sendRawTransaction method should return a transaction id string');
|
|
101
|
+
}
|
|
102
|
+
return txHash;
|
|
103
|
+
}
|
|
104
|
+
/** @inheritdoc */
|
|
105
|
+
async getFees() {
|
|
106
|
+
return this.client.getMethod('getFees')();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.default = Chain;
|
|
110
|
+
//# sourceMappingURL=Chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chain.js","sourceRoot":"","sources":["../lib/Chain.ts"],"names":[],"mappings":"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"}
|
package/dist/Client.d.ts
CHANGED
|
@@ -1,20 +1,57 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import Provider from '@atomicfinance/provider';
|
|
2
|
+
import { Block, IClient, Transaction } from '@atomicfinance/types';
|
|
3
|
+
import Ajv from 'ajv';
|
|
4
4
|
import Cfd from './Cfd';
|
|
5
|
+
import Chain from './Chain';
|
|
5
6
|
import Dlc from './Dlc';
|
|
6
7
|
import Wallet from './Wallet';
|
|
7
|
-
export default class
|
|
8
|
+
export default class Client implements IClient {
|
|
9
|
+
_providers: Provider[];
|
|
8
10
|
version: string;
|
|
11
|
+
validateTransaction: Ajv.ValidateFunction;
|
|
12
|
+
validateBlock: Ajv.ValidateFunction;
|
|
9
13
|
_dlc: Dlc;
|
|
10
14
|
_cfd: Cfd;
|
|
11
|
-
|
|
15
|
+
_wallet: Wallet;
|
|
16
|
+
_chain: Chain;
|
|
12
17
|
identifier: string;
|
|
13
18
|
/**
|
|
14
19
|
* Client
|
|
15
20
|
*/
|
|
16
|
-
constructor(provider?: Provider
|
|
21
|
+
constructor(provider?: Provider, version?: string);
|
|
22
|
+
/**
|
|
23
|
+
* Add a provider
|
|
24
|
+
* @param {!Provider} provider - The provider instance or RPC connection string
|
|
25
|
+
* @return {Client} Returns instance of Client
|
|
26
|
+
* @throws {InvalidProviderError} When invalid provider is provider
|
|
27
|
+
* @throws {DuplicateProviderError} When same provider is added again
|
|
28
|
+
*/
|
|
29
|
+
addProvider(provider: Provider): this;
|
|
30
|
+
/**
|
|
31
|
+
* Check the availability of a method.
|
|
32
|
+
* @param {!string} method - Name of the method to look for in the provider stack
|
|
33
|
+
* @param {boolean|object} [requestor=false] - If provided, it returns providers only
|
|
34
|
+
* above the requestor in the stack.
|
|
35
|
+
* @return {Provider} Returns a provider instance associated with the requested method
|
|
36
|
+
* @throws {NoProviderError} When no provider is available in the stack.
|
|
37
|
+
* @throws {UnimplementedMethodError} When the requested method is not provided
|
|
38
|
+
* by any provider above requestor in the provider stack
|
|
39
|
+
* @throws {UnsupportedMethodError} When requested method is not supported by
|
|
40
|
+
* version specified
|
|
41
|
+
*/
|
|
42
|
+
getProviderForMethod(method: string, requestor?: boolean): Provider;
|
|
43
|
+
/**
|
|
44
|
+
* Helper method that returns method from a provider.
|
|
45
|
+
* @param {!string} method - Name of the method to look for in the provider stack
|
|
46
|
+
* @param {object} [requestor] - If provided, it returns method from providers only
|
|
47
|
+
* above the requestor in the stack.
|
|
48
|
+
* @return {function} Returns method from provider instance associated with the requested method
|
|
49
|
+
*/
|
|
50
|
+
getMethod(method: string, requestor?: any): any;
|
|
51
|
+
assertValidTransaction(transaction: Transaction): void;
|
|
52
|
+
assertValidBlock(block: Block): void;
|
|
53
|
+
get chain(): Chain;
|
|
17
54
|
get dlc(): Dlc;
|
|
18
55
|
get cfd(): Cfd;
|
|
19
|
-
get
|
|
56
|
+
get wallet(): Wallet;
|
|
20
57
|
}
|
package/dist/Client.js
CHANGED
|
@@ -1,39 +1,127 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const errors_1 = require("@atomicfinance/errors");
|
|
7
|
+
const ajv_1 = __importDefault(require("ajv"));
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
|
+
const Cfd_1 = __importDefault(require("./Cfd"));
|
|
10
|
+
const Chain_1 = __importDefault(require("./Chain"));
|
|
11
|
+
const Dlc_1 = __importDefault(require("./Dlc"));
|
|
12
|
+
const schema_1 = require("./schema");
|
|
13
|
+
const Wallet_1 = __importDefault(require("./Wallet"));
|
|
14
|
+
class Client {
|
|
15
|
+
/**
|
|
16
|
+
* Client
|
|
17
|
+
*/
|
|
18
|
+
constructor(provider, version) {
|
|
19
|
+
/**
|
|
20
|
+
* @type {Array}
|
|
21
|
+
*/
|
|
22
|
+
this._providers = [];
|
|
23
|
+
/**
|
|
24
|
+
* @type {string}
|
|
25
|
+
*/
|
|
26
|
+
this.version = version;
|
|
27
|
+
if (provider) {
|
|
28
|
+
this.addProvider(provider);
|
|
29
|
+
}
|
|
30
|
+
const ajv = new ajv_1.default();
|
|
31
|
+
this.validateTransaction = ajv.compile(schema_1.Transaction);
|
|
32
|
+
this.validateBlock = ajv.compile(schema_1.Block);
|
|
33
|
+
this._chain = new Chain_1.default(this);
|
|
34
|
+
this._dlc = new Dlc_1.default(this);
|
|
35
|
+
this._cfd = new Cfd_1.default(this);
|
|
36
|
+
this._wallet = new Wallet_1.default(this);
|
|
37
|
+
this.identifier = 'Client';
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Add a provider
|
|
41
|
+
* @param {!Provider} provider - The provider instance or RPC connection string
|
|
42
|
+
* @return {Client} Returns instance of Client
|
|
43
|
+
* @throws {InvalidProviderError} When invalid provider is provider
|
|
44
|
+
* @throws {DuplicateProviderError} When same provider is added again
|
|
45
|
+
*/
|
|
46
|
+
addProvider(provider) {
|
|
47
|
+
if (!lodash_1.isFunction(provider.setClient)) {
|
|
48
|
+
throw new errors_1.InvalidProviderError('Provider should have "setClient" method');
|
|
49
|
+
}
|
|
50
|
+
const duplicate = lodash_1.find(this._providers, (_provider) => provider.constructor === _provider.constructor);
|
|
51
|
+
if (duplicate) {
|
|
52
|
+
throw new errors_1.DuplicateProviderError('Duplicate provider');
|
|
53
|
+
}
|
|
54
|
+
provider.setClient(this);
|
|
55
|
+
this._providers.push(provider);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check the availability of a method.
|
|
60
|
+
* @param {!string} method - Name of the method to look for in the provider stack
|
|
61
|
+
* @param {boolean|object} [requestor=false] - If provided, it returns providers only
|
|
62
|
+
* above the requestor in the stack.
|
|
63
|
+
* @return {Provider} Returns a provider instance associated with the requested method
|
|
64
|
+
* @throws {NoProviderError} When no provider is available in the stack.
|
|
65
|
+
* @throws {UnimplementedMethodError} When the requested method is not provided
|
|
66
|
+
* by any provider above requestor in the provider stack
|
|
67
|
+
* @throws {UnsupportedMethodError} When requested method is not supported by
|
|
68
|
+
* version specified
|
|
69
|
+
*/
|
|
70
|
+
getProviderForMethod(method, requestor = false) {
|
|
71
|
+
if (this._providers.length === 0) {
|
|
72
|
+
throw new errors_1.NoProviderError('No provider provided. Add a provider to the client');
|
|
73
|
+
}
|
|
74
|
+
let indexOfRequestor = requestor
|
|
75
|
+
? lodash_1.findLastIndex(this._providers, (provider) => requestor.constructor === provider.constructor)
|
|
76
|
+
: this._providers.length;
|
|
77
|
+
if (indexOfRequestor === -1)
|
|
78
|
+
indexOfRequestor = 0;
|
|
79
|
+
const provider = lodash_1.findLast(this._providers, (provider) => lodash_1.isFunction(provider[method]), indexOfRequestor - 1);
|
|
80
|
+
if (provider == null) {
|
|
81
|
+
throw new errors_1.UnimplementedMethodError(`Unimplemented method "${method}"`);
|
|
82
|
+
}
|
|
83
|
+
if (lodash_1.isFunction(provider._checkMethodVersionSupport)) {
|
|
84
|
+
if (!provider._checkMethodVersionSupport(method, this.version)) {
|
|
85
|
+
throw new errors_1.UnsupportedMethodError(`Method "${method}" is not supported by version "${this.version}"`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return provider;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Helper method that returns method from a provider.
|
|
92
|
+
* @param {!string} method - Name of the method to look for in the provider stack
|
|
93
|
+
* @param {object} [requestor] - If provided, it returns method from providers only
|
|
94
|
+
* above the requestor in the stack.
|
|
95
|
+
* @return {function} Returns method from provider instance associated with the requested method
|
|
96
|
+
*/
|
|
97
|
+
getMethod(method, requestor) {
|
|
98
|
+
const provider = this.getProviderForMethod(method, requestor);
|
|
99
|
+
return provider[method].bind(provider);
|
|
100
|
+
}
|
|
101
|
+
assertValidTransaction(transaction) {
|
|
102
|
+
if (!this.validateTransaction(transaction)) {
|
|
103
|
+
const { errors } = this.validateTransaction;
|
|
104
|
+
throw new errors_1.InvalidProviderResponseError(`Provider returned an invalid transaction, "${errors[0].dataPath}" ${errors[0].message}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
assertValidBlock(block) {
|
|
108
|
+
if (!this.validateBlock(block)) {
|
|
109
|
+
const { errors } = this.validateBlock;
|
|
110
|
+
throw new errors_1.InvalidProviderResponseError(`Provider returned an invalid block, "${errors[0].dataPath}" ${errors[0].message}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
get chain() {
|
|
114
|
+
return this._chain;
|
|
115
|
+
}
|
|
15
116
|
get dlc() {
|
|
16
117
|
return this._dlc;
|
|
17
118
|
}
|
|
18
119
|
get cfd() {
|
|
19
120
|
return this._cfd;
|
|
20
121
|
}
|
|
21
|
-
get
|
|
22
|
-
return this.
|
|
122
|
+
get wallet() {
|
|
123
|
+
return this._wallet;
|
|
23
124
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
super(provider, version);
|
|
28
|
-
/**
|
|
29
|
-
* @type {Array}
|
|
30
|
-
*/ this._providers = [];
|
|
31
|
-
this._dlc = new _dlc.default(this);
|
|
32
|
-
this._cfd = new _cfd.default(this);
|
|
33
|
-
this._financewallet = new _wallet.default(this);
|
|
34
|
-
this.identifier = 'Client';
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
exports.default = FinanceClient;
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9DbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZpbmFuY2VQcm92aWRlciBmcm9tICdAYXRvbWljZmluYW5jZS9wcm92aWRlcic7XG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tICdAbGlxdWFsaXR5L2NsaWVudCc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0BsaXF1YWxpdHkvcHJvdmlkZXInO1xuXG5pbXBvcnQgQ2ZkIGZyb20gJy4vQ2ZkJztcbmltcG9ydCBEbGMgZnJvbSAnLi9EbGMnO1xuaW1wb3J0IFdhbGxldCBmcm9tICcuL1dhbGxldCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbmFuY2VDbGllbnQgZXh0ZW5kcyBDbGllbnQge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIF9kbGM6IERsYztcbiAgX2NmZDogQ2ZkO1xuICBfZmluYW5jZXdhbGxldDogV2FsbGV0O1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENsaWVudFxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvdmlkZXI/OiBQcm92aWRlciB8IEZpbmFuY2VQcm92aWRlciwgdmVyc2lvbj86IHN0cmluZykge1xuICAgIHN1cGVyKHByb3ZpZGVyLCB2ZXJzaW9uKTtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIHtBcnJheX1cbiAgICAgKi9cbiAgICB0aGlzLl9wcm92aWRlcnMgPSBbXTtcblxuICAgIHRoaXMuX2RsYyA9IG5ldyBEbGModGhpcyk7XG4gICAgdGhpcy5fY2ZkID0gbmV3IENmZCh0aGlzKTtcbiAgICB0aGlzLl9maW5hbmNld2FsbGV0ID0gbmV3IFdhbGxldCh0aGlzKTtcblxuICAgIHRoaXMuaWRlbnRpZmllciA9ICdDbGllbnQnO1xuICB9XG5cbiAgZ2V0IGRsYygpIHtcbiAgICByZXR1cm4gdGhpcy5fZGxjO1xuICB9XG5cbiAgZ2V0IGNmZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2ZkO1xuICB9XG5cbiAgZ2V0IGZpbmFuY2V3YWxsZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbmFuY2V3YWxsZXQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGaW5hbmNlQ2xpZW50IiwiQ2xpZW50IiwiZGxjIiwiX2RsYyIsImNmZCIsIl9jZmQiLCJmaW5hbmNld2FsbGV0IiwiX2ZpbmFuY2V3YWxsZXQiLCJjb25zdHJ1Y3RvciIsInByb3ZpZGVyIiwidmVyc2lvbiIsIl9wcm92aWRlcnMiLCJEbGMiLCJDZmQiLCJXYWxsZXQiLCJpZGVudGlmaWVyIl0sIm1hcHBpbmdzIjoiOzs7O0FBQ3VCLElBQUEsT0FBbUIsV0FBbkIsbUJBQW1CLENBQUE7QUFHMUIsSUFBQSxJQUFPLGtDQUFQLE9BQU8sRUFBQTtBQUNQLElBQUEsSUFBTyxrQ0FBUCxPQUFPLEVBQUE7QUFDSixJQUFBLE9BQVUsa0NBQVYsVUFBVSxFQUFBOzs7Ozs7QUFFZCxJQUFBLEFBQU1BLGFBQWEsR0FBbkIsTUFBTUEsYUFBYSxTQUFTQyxPQUFNLE9BQUE7SUF5Qi9DLElBQUlDLEdBQUcsR0FBRztRQUNSLE9BQU8sSUFBSSxDQUFDQyxJQUFJLENBQUM7S0FDbEI7SUFFRCxJQUFJQyxHQUFHLEdBQUc7UUFDUixPQUFPLElBQUksQ0FBQ0MsSUFBSSxDQUFDO0tBQ2xCO0lBRUQsSUFBSUMsYUFBYSxHQUFHO1FBQ2xCLE9BQU8sSUFBSSxDQUFDQyxjQUFjLENBQUM7S0FDNUI7SUE1QkQ7O0tBRUcsQ0FDSEMsWUFBWUMsUUFBcUMsRUFBRUMsT0FBZ0IsQ0FBRTtRQUNuRSxLQUFLLENBQUNELFFBQVEsRUFBRUMsT0FBTyxDQUFDLENBQUM7UUFFekI7O09BRUcsQ0FDSCxJQUFJLENBQUNDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDUixJQUFJLEdBQUcsSUFBSVMsSUFBRyxRQUFBLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDUCxJQUFJLEdBQUcsSUFBSVEsSUFBRyxRQUFBLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDTixjQUFjLEdBQUcsSUFBSU8sT0FBTSxRQUFBLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0tBQzVCO0NBYUY7a0JBcENvQmYsYUFBYSJ9
|
|
125
|
+
}
|
|
126
|
+
exports.default = Client;
|
|
127
|
+
//# sourceMappingURL=Client.js.map
|
package/dist/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../lib/Client.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../lib/Client.ts"],"names":[],"mappings":"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"}
|
package/dist/Dlc.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AddSignaturesToRefundTxRequest, AddSignaturesToRefundTxResponse, AddSignatureToFundTransactionRequest, AddSignatureToFundTransactionResponse, CreateCetAdaptorSignatureRequest, CreateCetAdaptorSignatureResponse, CreateCetAdaptorSignaturesRequest, CreateCetAdaptorSignaturesResponse, CreateCetRequest, CreateCetResponse, CreateDlcTransactionsRequest, CreateDlcTransactionsResponse, CreateDlcTxsResponse, CreateFundTransactionRequest, CreateFundTransactionResponse, CreateRefundTransactionRequest, CreateRefundTransactionResponse, 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, 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
|
-
export default class Dlc {
|
|
4
|
+
export default class Dlc implements DlcProvider {
|
|
5
5
|
client: any;
|
|
6
6
|
constructor(client: any);
|
|
7
7
|
/**
|
|
@@ -126,6 +126,9 @@ export default class Dlc {
|
|
|
126
126
|
SignCetRequest(jsonObject: SignCetRequest): Promise<SignCetResponse>;
|
|
127
127
|
SignFundTransaction(jsonObject: SignFundTransactionRequest): Promise<SignFundTransactionResponse>;
|
|
128
128
|
VerifyCetAdaptorSignature(jsonObject: VerifyCetAdaptorSignatureRequest): Promise<VerifyCetAdaptorSignatureResponse>;
|
|
129
|
+
VerifyCetAdaptorSignatures(jsonObject: VerifyCetAdaptorSignaturesRequest): Promise<VerifyCetAdaptorSignaturesResponse>;
|
|
130
|
+
GetInputsForAmount(amount: bigint, feeRatePerVb: bigint, fixedInputs: Input[]): Promise<Input[]>;
|
|
131
|
+
SignCet(jsonObject: SignCetRequest): Promise<SignCetResponse>;
|
|
129
132
|
VerifyCetAdaptorSignaturesRequest(jsonObject: VerifyCetAdaptorSignaturesRequest): Promise<VerifyCetAdaptorSignaturesResponse>;
|
|
130
133
|
VerifyFundTxSignature(jsonObject: VerifyFundTxSignatureRequest): Promise<VerifyFundTxSignatureResponse>;
|
|
131
134
|
VerifyRefundTxSignature(jsonObject: VerifyRefundTxSignatureRequest): Promise<VerifyRefundTxSignatureResponse>;
|