@bitgo/sdk-coin-canton 1.19.2 → 1.21.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/dist/src/canton.d.ts.map +1 -1
- package/dist/src/canton.js +3 -1
- package/dist/src/lib/allocationAllocateBuilder.d.ts +126 -0
- package/dist/src/lib/allocationAllocateBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationAllocateBuilder.js +250 -0
- package/dist/src/lib/allocationRequestBuilder.d.ts +116 -0
- package/dist/src/lib/allocationRequestBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationRequestBuilder.js +246 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts +56 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts.map +1 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.js +112 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.d.ts +60 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.d.ts.map +1 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.js +111 -0
- package/dist/src/lib/iface.d.ts +45 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +4 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +10 -2
- package/dist/src/lib/transaction/transaction.d.ts +5 -1
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +63 -8
- package/dist/src/lib/transactionBuilderFactory.d.ts +8 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +29 -1
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +16 -1
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.js +309 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.js +386 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.js +75 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.js +74 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,74 @@
|
|
|
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 assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const should_1 = __importDefault(require("should"));
|
|
8
|
+
const statics_1 = require("@bitgo/statics");
|
|
9
|
+
const src_1 = require("../../../../src");
|
|
10
|
+
const contractId = '001b549bfa833bab661ab30e4d0a3ab0ec01fcc4a2bef5369795f4928147706353ca1112205a8d0e780cf3b3115cf8be0d6315f4aed6a1c25b67e8c5d64cf9848d0458fd17';
|
|
11
|
+
const operatorId = '12205::12205b4e3537a95126d90604592344d8ad3c3ddccda4f79901954280ee19c576714d';
|
|
12
|
+
const updateId = '1220d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1';
|
|
13
|
+
const packageName = 'splice-amulet';
|
|
14
|
+
describe('CosignDelegationProposal Builder', () => {
|
|
15
|
+
it('should get the cosign delegation proposal request object', function () {
|
|
16
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
17
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
18
|
+
txBuilder.initBuilder(tx);
|
|
19
|
+
txBuilder.contractId(contractId).operatorId(operatorId).updateId(updateId).packageName(packageName);
|
|
20
|
+
const requestObj = txBuilder.toRequestObject();
|
|
21
|
+
should_1.default.exist(requestObj);
|
|
22
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
23
|
+
assert_1.default.equal(requestObj.operatorId, operatorId);
|
|
24
|
+
assert_1.default.equal(requestObj.updateId, updateId);
|
|
25
|
+
assert_1.default.equal(requestObj.packageName, packageName);
|
|
26
|
+
});
|
|
27
|
+
it('should get the cosign delegation proposal request object without packageName', function () {
|
|
28
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
29
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
30
|
+
txBuilder.initBuilder(tx);
|
|
31
|
+
txBuilder.contractId(contractId).operatorId(operatorId).updateId(updateId);
|
|
32
|
+
const requestObj = txBuilder.toRequestObject();
|
|
33
|
+
should_1.default.exist(requestObj);
|
|
34
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
35
|
+
assert_1.default.equal(requestObj.operatorId, operatorId);
|
|
36
|
+
assert_1.default.equal(requestObj.updateId, updateId);
|
|
37
|
+
assert_1.default.equal(requestObj.packageName, undefined);
|
|
38
|
+
});
|
|
39
|
+
it('should throw if contractId is missing', function () {
|
|
40
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
41
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
42
|
+
txBuilder.initBuilder(tx);
|
|
43
|
+
txBuilder.operatorId(operatorId);
|
|
44
|
+
assert_1.default.throws(() => txBuilder.toRequestObject(), /contractId is missing/);
|
|
45
|
+
});
|
|
46
|
+
it('should throw if operatorId is missing', function () {
|
|
47
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
48
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
49
|
+
txBuilder.initBuilder(tx);
|
|
50
|
+
txBuilder.contractId(contractId);
|
|
51
|
+
assert_1.default.throws(() => txBuilder.toRequestObject(), /operatorId is missing/);
|
|
52
|
+
});
|
|
53
|
+
it('should throw if contractId is empty string', function () {
|
|
54
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
55
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
56
|
+
txBuilder.initBuilder(tx);
|
|
57
|
+
assert_1.default.throws(() => txBuilder.contractId(''), /contractId must be a non-empty string/);
|
|
58
|
+
});
|
|
59
|
+
it('should throw if operatorId is empty string', function () {
|
|
60
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
61
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
62
|
+
txBuilder.initBuilder(tx);
|
|
63
|
+
assert_1.default.throws(() => txBuilder.operatorId(''), /operatorId must be a non-empty string/);
|
|
64
|
+
});
|
|
65
|
+
it('should throw on setTransaction', function () {
|
|
66
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
67
|
+
assert_1.default.throws(() => txBuilder.setTransaction({}), /Not implemented/);
|
|
68
|
+
});
|
|
69
|
+
it('should throw on addSignature', function () {
|
|
70
|
+
const txBuilder = new src_1.CosignDelegationProposalBuilder(statics_1.coins.get('tcanton'));
|
|
71
|
+
assert_1.default.throws(() => txBuilder.addSignature({}, Buffer.from('')), /Not implemented/);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9idWlsZGVyL2Nvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbC9jb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQStFO0FBRy9FLE1BQU0sVUFBVSxHQUNkLDRJQUE0SSxDQUFDO0FBQy9JLE1BQU0sVUFBVSxHQUFHLDZFQUE2RSxDQUFDO0FBQ2pHLE1BQU0sUUFBUSxHQUFHLHNFQUFzRSxDQUFDO0FBQ3hGLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztBQUVwQyxRQUFRLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO0lBQ2hELEVBQUUsQ0FBQywwREFBMEQsRUFBRTtRQUM3RCxNQUFNLFNBQVMsR0FBRyxJQUFJLHFDQUErQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRyxNQUFNLFVBQVUsR0FBNkIsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEVBQThFLEVBQUU7UUFDakYsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBK0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBNkIsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUU7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBK0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUNBQXVDLEVBQUU7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBK0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNENBQTRDLEVBQUU7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBK0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztJQUN6RixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRTtRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLHFDQUErQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1FBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUkscUNBQStCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVFLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBUyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRTtRQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLHFDQUErQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RSxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM3RixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuaW1wb3J0IHsgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlciwgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5cbmNvbnN0IGNvbnRyYWN0SWQgPVxuICAnMDAxYjU0OWJmYTgzM2JhYjY2MWFiMzBlNGQwYTNhYjBlYzAxZmNjNGEyYmVmNTM2OTc5NWY0OTI4MTQ3NzA2MzUzY2ExMTEyMjA1YThkMGU3ODBjZjNiMzExNWNmOGJlMGQ2MzE1ZjRhZWQ2YTFjMjViNjdlOGM1ZDY0Y2Y5ODQ4ZDA0NThmZDE3JztcbmNvbnN0IG9wZXJhdG9ySWQgPSAnMTIyMDU6OjEyMjA1YjRlMzUzN2E5NTEyNmQ5MDYwNDU5MjM0NGQ4YWQzYzNkZGNjZGE0Zjc5OTAxOTU0MjgwZWUxOWM1NzY3MTRkJztcbmNvbnN0IHVwZGF0ZUlkID0gJzEyMjBkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxZDFkMWQxJztcbmNvbnN0IHBhY2thZ2VOYW1lID0gJ3NwbGljZS1hbXVsZXQnO1xuXG5kZXNjcmliZSgnQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZ2V0IHRoZSBjb3NpZ24gZGVsZWdhdGlvbiBwcm9wb3NhbCByZXF1ZXN0IG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0SWQoY29udHJhY3RJZCkub3BlcmF0b3JJZChvcGVyYXRvcklkKS51cGRhdGVJZCh1cGRhdGVJZCkucGFja2FnZU5hbWUocGFja2FnZU5hbWUpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29udHJhY3RJZCwgY29udHJhY3RJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmoub3BlcmF0b3JJZCwgb3BlcmF0b3JJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmoudXBkYXRlSWQsIHVwZGF0ZUlkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5wYWNrYWdlTmFtZSwgcGFja2FnZU5hbWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGdldCB0aGUgY29zaWduIGRlbGVnYXRpb24gcHJvcG9zYWwgcmVxdWVzdCBvYmplY3Qgd2l0aG91dCBwYWNrYWdlTmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0SWQoY29udHJhY3RJZCkub3BlcmF0b3JJZChvcGVyYXRvcklkKS51cGRhdGVJZCh1cGRhdGVJZCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsID0gdHhCdWlsZGVyLnRvUmVxdWVzdE9iamVjdCgpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb250cmFjdElkLCBjb250cmFjdElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5vcGVyYXRvcklkLCBvcGVyYXRvcklkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai51cGRhdGVJZCwgdXBkYXRlSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnBhY2thZ2VOYW1lLCB1bmRlZmluZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGlmIGNvbnRyYWN0SWQgaXMgbWlzc2luZycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLm9wZXJhdG9ySWQob3BlcmF0b3JJZCk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCksIC9jb250cmFjdElkIGlzIG1pc3NpbmcvKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBpZiBvcGVyYXRvcklkIGlzIG1pc3NpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IENvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHR4QnVpbGRlci5jb250cmFjdElkKGNvbnRyYWN0SWQpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLnRvUmVxdWVzdE9iamVjdCgpLCAvb3BlcmF0b3JJZCBpcyBtaXNzaW5nLyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgaWYgY29udHJhY3RJZCBpcyBlbXB0eSBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IENvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLmNvbnRyYWN0SWQoJycpLCAvY29udHJhY3RJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy8pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGlmIG9wZXJhdG9ySWQgaXMgZW1wdHkgc3RyaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5vcGVyYXRvcklkKCcnKSwgL29wZXJhdG9ySWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcvKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBzZXRUcmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oe30gYXMgYW55KSwgL05vdCBpbXBsZW1lbnRlZC8pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IG9uIGFkZFNpZ25hdHVyZScsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB0eEJ1aWxkZXIuYWRkU2lnbmF0dXJlKHt9IGFzIGFueSwgQnVmZmVyLmZyb20oJycpKSwgL05vdCBpbXBsZW1lbnRlZC8pO1xuICB9KTtcbn0pO1xuIl19
|