@bitgo-beta/sdk-coin-canton 1.0.1-beta.24 → 1.0.1-beta.241
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/resources/hash/hash.js +3 -2
- package/dist/resources/proto/damlTransaction.js +4 -4
- package/dist/resources/proto/damlTransactionNode.js +3 -3
- package/dist/resources/proto/damlTransactionNodeSeed.js +2 -2
- package/dist/resources/proto/metadata/metadataGlobalKeyMappingEntry.js +4 -4
- package/dist/resources/proto/metadata/metadataInputContract.js +3 -3
- package/dist/resources/proto/metadata/metadataSubmitterInfo.js +2 -2
- package/dist/resources/proto/metadata.js +5 -5
- package/dist/resources/proto/node/empty.js +2 -2
- package/dist/resources/proto/node/globalKey.js +4 -4
- package/dist/resources/proto/node/identifier.js +2 -2
- package/dist/resources/proto/node/node.js +16 -8
- package/dist/resources/proto/node/timestamp.js +3 -3
- package/dist/resources/proto/node/value.js +28 -14
- package/dist/resources/proto/preparedTransaction.js +4 -4
- package/dist/src/canton.d.ts +18 -2
- package/dist/src/canton.d.ts.map +1 -1
- package/dist/src/canton.js +107 -6
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/constant.d.ts +4 -0
- package/dist/src/lib/constant.d.ts.map +1 -1
- package/dist/src/lib/constant.js +6 -2
- package/dist/src/lib/iface.d.ts +77 -20
- 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 +7 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +16 -2
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +7 -41
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -1
- package/dist/src/lib/oneStepPreApprovalBuilder.js +18 -82
- package/dist/src/lib/transaction/transaction.d.ts +13 -2
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +178 -9
- package/dist/src/lib/transactionBuilder.d.ts +4 -4
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +1 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts +17 -3
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +63 -6
- package/dist/src/lib/transferAcceptanceBuilder.d.ts +59 -0
- package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcceptanceBuilder.js +116 -0
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts +72 -0
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcknowledgeBuilder.js +133 -0
- package/dist/src/lib/transferBuilder.d.ts +79 -3
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +153 -1
- package/dist/src/lib/transferRejectionBuilder.d.ts +59 -0
- package/dist/src/lib/transferRejectionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferRejectionBuilder.js +116 -0
- package/dist/src/lib/utils.d.ts +22 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +148 -28
- package/dist/src/lib/walletInitBuilder.d.ts +5 -10
- package/dist/src/lib/walletInitBuilder.d.ts.map +1 -1
- package/dist/src/lib/walletInitBuilder.js +13 -18
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +2 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.js +46 -5
- package/dist/test/helper.d.ts +3 -0
- package/dist/test/helper.d.ts.map +1 -0
- package/dist/test/helper.js +9 -0
- package/dist/test/integration/canton.integration.d.ts +2 -0
- package/dist/test/integration/canton.integration.d.ts.map +1 -0
- package/dist/test/integration/canton.integration.js +157 -0
- package/dist/test/resources.d.ts +78 -7
- package/dist/test/resources.d.ts.map +1 -1
- package/dist/test/resources.js +83 -10
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +14 -29
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transfer/transferBuilder.js +63 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +57 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +32 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +57 -0
- package/dist/test/unit/builder/walletInit/walletInitBuilder.js +10 -13
- package/dist/test/unit/utils.js +101 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +24 -7
|
@@ -7,47 +7,32 @@ const assert_1 = __importDefault(require("assert"));
|
|
|
7
7
|
const should_1 = __importDefault(require("should"));
|
|
8
8
|
const statics_1 = require("@bitgo-beta/statics");
|
|
9
9
|
const src_1 = require("../../../../src");
|
|
10
|
-
const oneStepPreApprovalBuilder_1 = require("../../../../src/lib/oneStepPreApprovalBuilder");
|
|
11
10
|
const resources_1 = require("../../../resources");
|
|
12
11
|
describe('Wallet Pre-approval Enablement Builder', () => {
|
|
13
|
-
it('should get the
|
|
14
|
-
const txBuilder = new
|
|
12
|
+
it('should get the one step enablement request object', function () {
|
|
13
|
+
const txBuilder = new src_1.OneStepPreApprovalBuilder(statics_1.coins.get('tcanton'));
|
|
15
14
|
const oneStepEnablementTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
16
15
|
txBuilder.initBuilder(oneStepEnablementTx);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.templateId(templateId)
|
|
21
|
-
.expectedDso(expectedDsoId)
|
|
22
|
-
.templateId(templateId)
|
|
23
|
-
.providerPartyId(validatorPartyId)
|
|
24
|
-
.receiverPartyId(partyId)
|
|
25
|
-
.synchronizerId(synchronizerId);
|
|
16
|
+
txBuilder.setTransaction(resources_1.OneStepPreApprovalPrepareResponse);
|
|
17
|
+
const { commandId, partyId } = resources_1.OneStepEnablement;
|
|
18
|
+
txBuilder.commandId(commandId).receiverPartyId(partyId);
|
|
26
19
|
const requestObj = txBuilder.toRequestObject();
|
|
27
20
|
should_1.default.exist(requestObj);
|
|
28
|
-
assert_1.default.equal(requestObj.synchronizerId, synchronizer);
|
|
29
21
|
assert_1.default.equal(requestObj.commandId, commandId);
|
|
30
|
-
assert_1.default.equal(requestObj.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
should_1.default.exist(createCommand);
|
|
35
|
-
assert_1.default.equal(createCommand.templateId, templateId);
|
|
36
|
-
const createArguments = createCommand.createArguments;
|
|
37
|
-
should_1.default.exist(createArguments);
|
|
38
|
-
assert_1.default.equal(createArguments.expectedDso, expectedDsoId);
|
|
39
|
-
assert_1.default.equal(createArguments.provider, validatorPartyId);
|
|
40
|
-
assert_1.default.equal(createArguments.receiver, partyId);
|
|
22
|
+
assert_1.default.equal(requestObj.receiverId, partyId);
|
|
23
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
24
|
+
const actAs = requestObj.actAs[0];
|
|
25
|
+
assert_1.default.equal(actAs, partyId);
|
|
41
26
|
});
|
|
42
27
|
it('should validate raw transaction', function () {
|
|
43
|
-
const txBuilder = new
|
|
28
|
+
const txBuilder = new src_1.OneStepPreApprovalBuilder(statics_1.coins.get('tcanton'));
|
|
44
29
|
const oneStepEnablementTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
45
30
|
txBuilder.initBuilder(oneStepEnablementTx);
|
|
46
31
|
txBuilder.setTransaction(resources_1.OneStepPreApprovalPrepareResponse);
|
|
47
32
|
txBuilder.validateRawTransaction(resources_1.OneStepPreApprovalPrepareResponse.preparedTransaction);
|
|
48
33
|
});
|
|
49
34
|
it('should validate the transaction', function () {
|
|
50
|
-
const txBuilder = new
|
|
35
|
+
const txBuilder = new src_1.OneStepPreApprovalBuilder(statics_1.coins.get('tcanton'));
|
|
51
36
|
const oneStepEnablementTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
52
37
|
oneStepEnablementTx.prepareCommand = resources_1.OneStepPreApprovalPrepareResponse;
|
|
53
38
|
txBuilder.initBuilder(oneStepEnablementTx);
|
|
@@ -55,7 +40,7 @@ describe('Wallet Pre-approval Enablement Builder', () => {
|
|
|
55
40
|
txBuilder.validateTransaction(oneStepEnablementTx);
|
|
56
41
|
});
|
|
57
42
|
it('should throw error in validating raw transaction', function () {
|
|
58
|
-
const txBuilder = new
|
|
43
|
+
const txBuilder = new src_1.OneStepPreApprovalBuilder(statics_1.coins.get('tcanton'));
|
|
59
44
|
const oneStepEnablementTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
60
45
|
txBuilder.initBuilder(oneStepEnablementTx);
|
|
61
46
|
txBuilder.setTransaction(resources_1.InvalidOneStepPreApprovalPrepareResponse);
|
|
@@ -67,7 +52,7 @@ describe('Wallet Pre-approval Enablement Builder', () => {
|
|
|
67
52
|
}
|
|
68
53
|
});
|
|
69
54
|
it('should throw error in validating raw transaction', function () {
|
|
70
|
-
const txBuilder = new
|
|
55
|
+
const txBuilder = new src_1.OneStepPreApprovalBuilder(statics_1.coins.get('tcanton'));
|
|
71
56
|
const oneStepEnablementTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
72
57
|
txBuilder.initBuilder(oneStepEnablementTx);
|
|
73
58
|
oneStepEnablementTx.prepareCommand = resources_1.InvalidOneStepPreApprovalPrepareResponse;
|
|
@@ -79,4 +64,4 @@ describe('Wallet Pre-approval Enablement Builder', () => {
|
|
|
79
64
|
}
|
|
80
65
|
});
|
|
81
66
|
});
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lU3RlcEVuYWJsZW1lbnRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvb25lU3RlcEVuYWJsZW1lbnQvb25lU3RlcEVuYWJsZW1lbnRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQXlFO0FBR3pFLGtEQUk0QjtBQUU1QixRQUFRLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO0lBQ3RELEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLG1CQUFtQixHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLFNBQVMsQ0FBQyxjQUFjLENBQUMsNkNBQWlDLENBQUMsQ0FBQztRQUM1RCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLDZCQUFpQixDQUFDO1FBQ2pELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFtQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDL0UsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsRSxTQUFTLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsU0FBUyxDQUFDLGNBQWMsQ0FBQyw2Q0FBaUMsQ0FBQyxDQUFDO1FBQzVELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyw2Q0FBaUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsRSxtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsNkNBQWlDLENBQUM7UUFDdkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLFNBQVMsQ0FBQyxjQUFjLENBQUMsNkNBQWlDLENBQUMsQ0FBQztRQUM1RCxTQUFTLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLG1CQUFtQixHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLFNBQVMsQ0FBQyxjQUFjLENBQUMsb0RBQXdDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUM7WUFDSCxTQUFTLENBQUMsc0JBQXNCLENBQUMsb0RBQXdDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqRyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLGdCQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsNENBQTRDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLFNBQVMsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQyxtQkFBbUIsQ0FBQyxjQUFjLEdBQUcsb0RBQXdDLENBQUM7UUFDOUUsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IENhbnRvbk9uZVN0ZXBFbmFibGVtZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQge1xuICBJbnZhbGlkT25lU3RlcFByZUFwcHJvdmFsUHJlcGFyZVJlc3BvbnNlLFxuICBPbmVTdGVwRW5hYmxlbWVudCxcbiAgT25lU3RlcFByZUFwcHJvdmFsUHJlcGFyZVJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgnV2FsbGV0IFByZS1hcHByb3ZhbCBFbmFibGVtZW50IEJ1aWxkZXInLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZ2V0IHRoZSBvbmUgc3RlcCBlbmFibGVtZW50IHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBPbmVTdGVwUHJlQXBwcm92YWxCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCBvbmVTdGVwRW5hYmxlbWVudFR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIob25lU3RlcEVuYWJsZW1lbnRUeCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKE9uZVN0ZXBQcmVBcHByb3ZhbFByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgeyBjb21tYW5kSWQsIHBhcnR5SWQgfSA9IE9uZVN0ZXBFbmFibGVtZW50O1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5yZWNlaXZlclBhcnR5SWQocGFydHlJZCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogQ2FudG9uT25lU3RlcEVuYWJsZW1lbnRSZXF1ZXN0ID0gdHhCdWlsZGVyLnRvUmVxdWVzdE9iamVjdCgpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb21tYW5kSWQsIGNvbW1hbmRJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmoucmVjZWl2ZXJJZCwgcGFydHlJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYWN0QXMubGVuZ3RoLCAxKTtcbiAgICBjb25zdCBhY3RBcyA9IHJlcXVlc3RPYmouYWN0QXNbMF07XG4gICAgYXNzZXJ0LmVxdWFsKGFjdEFzLCBwYXJ0eUlkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IG9uZVN0ZXBFbmFibGVtZW50VHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcihvbmVTdGVwRW5hYmxlbWVudFR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oT25lU3RlcFByZUFwcHJvdmFsUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihPbmVTdGVwUHJlQXBwcm92YWxQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBPbmVTdGVwUHJlQXBwcm92YWxCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCBvbmVTdGVwRW5hYmxlbWVudFR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBvbmVTdGVwRW5hYmxlbWVudFR4LnByZXBhcmVDb21tYW5kID0gT25lU3RlcFByZUFwcHJvdmFsUHJlcGFyZVJlc3BvbnNlO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcihvbmVTdGVwRW5hYmxlbWVudFR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oT25lU3RlcFByZUFwcHJvdmFsUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbihvbmVTdGVwRW5hYmxlbWVudFR4KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpbiB2YWxpZGF0aW5nIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgT25lU3RlcFByZUFwcHJvdmFsQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3Qgb25lU3RlcEVuYWJsZW1lbnRUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKG9uZVN0ZXBFbmFibGVtZW50VHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihJbnZhbGlkT25lU3RlcFByZUFwcHJvdmFsUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0cnkge1xuICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oSW52YWxpZE9uZVN0ZXBQcmVBcHByb3ZhbFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGluIHZhbGlkYXRpbmcgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBPbmVTdGVwUHJlQXBwcm92YWxCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCBvbmVTdGVwRW5hYmxlbWVudFR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIob25lU3RlcEVuYWJsZW1lbnRUeCk7XG4gICAgb25lU3RlcEVuYWJsZW1lbnRUeC5wcmVwYXJlQ29tbWFuZCA9IEludmFsaWRPbmVTdGVwUHJlQXBwcm92YWxQcmVwYXJlUmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKG9uZVN0ZXBFbmFibGVtZW50VHgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/builder/transfer/transferBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
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-beta/statics");
|
|
9
|
+
const src_1 = require("../../../../src");
|
|
10
|
+
const resources_1 = require("../../../resources");
|
|
11
|
+
describe('Transfer Builder', () => {
|
|
12
|
+
it('should get the transfer request object', function () {
|
|
13
|
+
const txBuilder = new src_1.TransferBuilder(statics_1.coins.get('tcanton'));
|
|
14
|
+
const transferTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
15
|
+
txBuilder.initBuilder(transferTx);
|
|
16
|
+
txBuilder.setTransaction(resources_1.TrasferPrepareResponse);
|
|
17
|
+
const { commandId, senderPartyId, receiverPartyId, amount, sendOneStep, expiryEpoch } = resources_1.TransferObj;
|
|
18
|
+
txBuilder
|
|
19
|
+
.commandId(commandId)
|
|
20
|
+
.senderId(senderPartyId)
|
|
21
|
+
.receiverId(receiverPartyId)
|
|
22
|
+
.amount(amount)
|
|
23
|
+
.sendOneStep(sendOneStep)
|
|
24
|
+
.expiryEpoch(expiryEpoch);
|
|
25
|
+
const requestObj = txBuilder.toRequestObject();
|
|
26
|
+
should_1.default.exist(requestObj);
|
|
27
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
28
|
+
assert_1.default.equal(requestObj.senderPartyId, senderPartyId);
|
|
29
|
+
assert_1.default.equal(requestObj.receiverPartyId, receiverPartyId);
|
|
30
|
+
assert_1.default.equal(requestObj.amount, amount);
|
|
31
|
+
assert_1.default.equal(requestObj.expiryEpoch, expiryEpoch);
|
|
32
|
+
});
|
|
33
|
+
it('should validate raw transaction', function () {
|
|
34
|
+
const txBuilder = new src_1.TransferBuilder(statics_1.coins.get('tcanton'));
|
|
35
|
+
const transferTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
36
|
+
txBuilder.initBuilder(transferTx);
|
|
37
|
+
txBuilder.setTransaction(resources_1.TrasferPrepareResponse);
|
|
38
|
+
txBuilder.validateRawTransaction(resources_1.TrasferPrepareResponse.preparedTransaction);
|
|
39
|
+
});
|
|
40
|
+
it('should validate the transaction', function () {
|
|
41
|
+
const txBuilder = new src_1.TransferBuilder(statics_1.coins.get('tcanton'));
|
|
42
|
+
const transferTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
43
|
+
transferTx.prepareCommand = resources_1.TrasferPrepareResponse;
|
|
44
|
+
txBuilder.initBuilder(transferTx);
|
|
45
|
+
txBuilder.setTransaction(resources_1.TrasferPrepareResponse);
|
|
46
|
+
txBuilder.validateTransaction(transferTx);
|
|
47
|
+
});
|
|
48
|
+
it('should throw error in validating raw transaction', function () {
|
|
49
|
+
const txBuilder = new src_1.TransferBuilder(statics_1.coins.get('tcanton'));
|
|
50
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
51
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
52
|
+
const invalidPrepareResponse = resources_1.TrasferPrepareResponse;
|
|
53
|
+
invalidPrepareResponse.preparedTransactionHash = 'y12u05viQ8euhNh9c21KK8lbn/7wM4aeG5U4ouanTWZ=';
|
|
54
|
+
txBuilder.setTransaction(invalidPrepareResponse);
|
|
55
|
+
try {
|
|
56
|
+
txBuilder.validateRawTransaction(invalidPrepareResponse.preparedTransaction);
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
assert_1.default.equal(e.message, 'invalid raw transaction, hash not matching');
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXIvdHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQStEO0FBRy9ELGtEQUF5RTtBQUV6RSxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRTtRQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFlLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDekQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxTQUFTLENBQUMsY0FBYyxDQUFDLGtDQUFzQixDQUFDLENBQUM7UUFDakQsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsdUJBQVcsQ0FBQztRQUNwRyxTQUFTO2FBQ04sU0FBUyxDQUFDLFNBQVMsQ0FBQzthQUNwQixRQUFRLENBQUMsYUFBYSxDQUFDO2FBQ3ZCLFVBQVUsQ0FBQyxlQUFlLENBQUM7YUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLFdBQVcsQ0FBQyxXQUFXLENBQUM7YUFDeEIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUEwQixTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDMUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQWUsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxjQUFjLENBQUMsa0NBQXNCLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsc0JBQXNCLENBQUMsa0NBQXNCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFlLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDekQsVUFBVSxDQUFDLGNBQWMsR0FBRyxrQ0FBc0IsQ0FBQztRQUNuRCxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxjQUFjLENBQUMsa0NBQXNCLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBZSxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLG9CQUFvQixHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sc0JBQXNCLEdBQUcsa0NBQXNCLENBQUM7UUFDdEQsc0JBQXNCLENBQUMsdUJBQXVCLEdBQUcsOENBQThDLENBQUM7UUFDaEcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQztZQUNILFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IENhbnRvblRyYW5zZmVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBUcmFuc2Zlck9iaiwgVHJhc2ZlclByZXBhcmVSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdUcmFuc2ZlciBCdWlsZGVyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGdldCB0aGUgdHJhbnNmZXIgcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFzZmVyUHJlcGFyZVJlc3BvbnNlKTtcbiAgICBjb25zdCB7IGNvbW1hbmRJZCwgc2VuZGVyUGFydHlJZCwgcmVjZWl2ZXJQYXJ0eUlkLCBhbW91bnQsIHNlbmRPbmVTdGVwLCBleHBpcnlFcG9jaCB9ID0gVHJhbnNmZXJPYmo7XG4gICAgdHhCdWlsZGVyXG4gICAgICAuY29tbWFuZElkKGNvbW1hbmRJZClcbiAgICAgIC5zZW5kZXJJZChzZW5kZXJQYXJ0eUlkKVxuICAgICAgLnJlY2VpdmVySWQocmVjZWl2ZXJQYXJ0eUlkKVxuICAgICAgLmFtb3VudChhbW91bnQpXG4gICAgICAuc2VuZE9uZVN0ZXAoc2VuZE9uZVN0ZXApXG4gICAgICAuZXhwaXJ5RXBvY2goZXhwaXJ5RXBvY2gpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyUmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29tbWFuZElkLCBjb21tYW5kSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnNlbmRlclBhcnR5SWQsIHNlbmRlclBhcnR5SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnJlY2VpdmVyUGFydHlJZCwgcmVjZWl2ZXJQYXJ0eUlkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5hbW91bnQsIGFtb3VudCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouZXhwaXJ5RXBvY2gsIGV4cGlyeUVwb2NoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFzZmVyUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihUcmFzZmVyUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlclR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0cmFuc2ZlclR4LnByZXBhcmVDb21tYW5kID0gVHJhc2ZlclByZXBhcmVSZXNwb25zZTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHJhbnNmZXJUeCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYXNmZXJQcmVwYXJlUmVzcG9uc2UpO1xuICAgIHR4QnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zZmVyVHgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGluIHZhbGlkYXRpbmcgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyQWNjZXB0YW5jZVR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHJhbnNmZXJBY2NlcHRhbmNlVHgpO1xuICAgIGNvbnN0IGludmFsaWRQcmVwYXJlUmVzcG9uc2UgPSBUcmFzZmVyUHJlcGFyZVJlc3BvbnNlO1xuICAgIGludmFsaWRQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2ggPSAneTEydTA1dmlROGV1aE5oOWMyMUtLOGxibi83d000YWVHNVU0b3VhblRXWj0nO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0cnkge1xuICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferAcceptBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/builder/transferAccept/transferAcceptBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
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-beta/statics");
|
|
9
|
+
const src_1 = require("../../../../src");
|
|
10
|
+
const resources_1 = require("../../../resources");
|
|
11
|
+
describe('Transfer Acceptance Builder', () => {
|
|
12
|
+
it('should get the transfer acceptance request object', function () {
|
|
13
|
+
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
14
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
15
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
16
|
+
txBuilder.setTransaction(resources_1.TransferAcceptancePrepareResponse);
|
|
17
|
+
const { commandId, contractId, partyId } = resources_1.TransferAcceptance;
|
|
18
|
+
txBuilder.commandId(commandId).contractId(contractId).actAs(partyId);
|
|
19
|
+
const requestObj = txBuilder.toRequestObject();
|
|
20
|
+
should_1.default.exist(requestObj);
|
|
21
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
22
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
23
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
24
|
+
const actAs = requestObj.actAs[0];
|
|
25
|
+
assert_1.default.equal(actAs, partyId);
|
|
26
|
+
});
|
|
27
|
+
it('should validate raw transaction', function () {
|
|
28
|
+
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
29
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
30
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
31
|
+
txBuilder.setTransaction(resources_1.TransferAcceptancePrepareResponse);
|
|
32
|
+
txBuilder.validateRawTransaction(resources_1.TransferAcceptancePrepareResponse.preparedTransaction);
|
|
33
|
+
});
|
|
34
|
+
it('should validate the transaction', function () {
|
|
35
|
+
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
36
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
37
|
+
transferAcceptanceTx.prepareCommand = resources_1.TransferAcceptancePrepareResponse;
|
|
38
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
39
|
+
txBuilder.setTransaction(resources_1.TransferAcceptancePrepareResponse);
|
|
40
|
+
txBuilder.validateTransaction(transferAcceptanceTx);
|
|
41
|
+
});
|
|
42
|
+
it('should throw error in validating raw transaction', function () {
|
|
43
|
+
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
44
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
45
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
46
|
+
const invalidPrepareResponse = resources_1.TransferAcceptancePrepareResponse;
|
|
47
|
+
invalidPrepareResponse.preparedTransactionHash = '+vlIXv6Vgd2ypPXD0mrdn7RlcSH4c2hCRj2/tXqqUVs=';
|
|
48
|
+
txBuilder.setTransaction(invalidPrepareResponse);
|
|
49
|
+
try {
|
|
50
|
+
txBuilder.validateRawTransaction(invalidPrepareResponse.preparedTransaction);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
assert_1.default.equal(e.message, 'invalid raw transaction, hash not matching');
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXJBY2NlcHQvdHJhbnNmZXJBY2NlcHRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQXlFO0FBR3pFLGtEQUEyRjtBQUUzRixRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO0lBQzNDLEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLG9CQUFvQixHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxjQUFjLENBQUMsNkNBQWlDLENBQUMsQ0FBQztRQUM1RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyw4QkFBa0IsQ0FBQztRQUM5RCxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQXNDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25FLFNBQVMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1QyxTQUFTLENBQUMsY0FBYyxDQUFDLDZDQUFpQyxDQUFDLENBQUM7UUFDNUQsU0FBUyxDQUFDLHNCQUFzQixDQUFDLDZDQUFpQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25FLG9CQUFvQixDQUFDLGNBQWMsR0FBRyw2Q0FBaUMsQ0FBQztRQUN4RSxTQUFTLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyw2Q0FBaUMsQ0FBQyxDQUFDO1FBQzVELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1FBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuRSxTQUFTLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUMsTUFBTSxzQkFBc0IsR0FBRyw2Q0FBaUMsQ0FBQztRQUNqRSxzQkFBc0IsQ0FBQyx1QkFBdUIsR0FBRyw4Q0FBOEMsQ0FBQztRQUNoRyxTQUFTLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLDRDQUE0QyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmltcG9ydCB7IFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlckFjY2VwdGFuY2UsIFRyYW5zZmVyQWNjZXB0YW5jZVByZXBhcmVSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdUcmFuc2ZlciBBY2NlcHRhbmNlIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZ2V0IHRoZSB0cmFuc2ZlciBhY2NlcHRhbmNlIHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlKTtcbiAgICBjb25zdCB7IGNvbW1hbmRJZCwgY29udHJhY3RJZCwgcGFydHlJZCB9ID0gVHJhbnNmZXJBY2NlcHRhbmNlO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5jb250cmFjdElkKGNvbnRyYWN0SWQpLmFjdEFzKHBhcnR5SWQpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29tbWFuZElkLCBjb21tYW5kSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbnRyYWN0SWQsIGNvbnRyYWN0SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmFjdEFzLmxlbmd0aCwgMSk7XG4gICAgY29uc3QgYWN0QXMgPSByZXF1ZXN0T2JqLmFjdEFzWzBdO1xuICAgIGFzc2VydC5lcXVhbChhY3RBcywgcGFydHlJZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHJhbnNmZXJBY2NlcHRhbmNlVHgucHJlcGFyZUNvbW1hbmQgPSBUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2ZlckFjY2VwdGFuY2VUeCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaW4gdmFsaWRhdGluZyByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyQWNjZXB0YW5jZVR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHJhbnNmZXJBY2NlcHRhbmNlVHgpO1xuICAgIGNvbnN0IGludmFsaWRQcmVwYXJlUmVzcG9uc2UgPSBUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2U7XG4gICAgaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uSGFzaCA9ICcrdmxJWHY2VmdkMnlwUFhEMG1yZG43UmxjU0g0YzJoQ1JqMi90WHFxVVZzPSc7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKGludmFsaWRQcmVwYXJlUmVzcG9uc2UpO1xuICAgIHRyeSB7XG4gICAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferAcknowledgeBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
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-beta/statics");
|
|
9
|
+
const src_1 = require("../../../../src");
|
|
10
|
+
const resources_1 = require("../../../resources");
|
|
11
|
+
describe('Transfer Acknowledge Builder', () => {
|
|
12
|
+
it('should get the transfer acknowledge request object', function () {
|
|
13
|
+
const txBuilder = new src_1.TransferAcknowledgeBuilder(statics_1.coins.get('tcanton'));
|
|
14
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
15
|
+
txBuilder.initBuilder(tx);
|
|
16
|
+
const { contractId, updateId, senderPartyId, amount, expiryEpoch } = resources_1.TransferAcknowledgeRequest;
|
|
17
|
+
txBuilder
|
|
18
|
+
.contractId(contractId)
|
|
19
|
+
.senderPartyId(senderPartyId)
|
|
20
|
+
.updateId(updateId)
|
|
21
|
+
.amount(amount)
|
|
22
|
+
.expiryEpoch(expiryEpoch);
|
|
23
|
+
const requestObj = txBuilder.toRequestObject();
|
|
24
|
+
should_1.default.exist(requestObj);
|
|
25
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
26
|
+
assert_1.default.equal(requestObj.senderPartyId, senderPartyId);
|
|
27
|
+
assert_1.default.equal(requestObj.updateId, updateId);
|
|
28
|
+
assert_1.default.equal(requestObj.amount, amount);
|
|
29
|
+
assert_1.default.equal(requestObj.expiryEpoch, expiryEpoch);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYnVpbGRlci90cmFuc2ZlckFja25vd2xlZGdlL3RyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQTBFO0FBRzFFLGtEQUFnRTtBQUVoRSxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQzVDLEVBQUUsQ0FBQyxvREFBb0QsRUFBRTtRQUN2RCxNQUFNLFNBQVMsR0FBRyxJQUFJLGdDQUEwQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxzQ0FBMEIsQ0FBQztRQUNoRyxTQUFTO2FBQ04sVUFBVSxDQUFDLFVBQVUsQ0FBQzthQUN0QixhQUFhLENBQUMsYUFBYSxDQUFDO2FBQzVCLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBd0IsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN0RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlciwgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgVHJhbnNmZXJBY2tub3dsZWRnZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlckFja25vd2xlZGdlUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdUcmFuc2ZlciBBY2tub3dsZWRnZSBCdWlsZGVyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGdldCB0aGUgdHJhbnNmZXIgYWNrbm93bGVkZ2UgcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCB7IGNvbnRyYWN0SWQsIHVwZGF0ZUlkLCBzZW5kZXJQYXJ0eUlkLCBhbW91bnQsIGV4cGlyeUVwb2NoIH0gPSBUcmFuc2ZlckFja25vd2xlZGdlUmVxdWVzdDtcbiAgICB0eEJ1aWxkZXJcbiAgICAgIC5jb250cmFjdElkKGNvbnRyYWN0SWQpXG4gICAgICAuc2VuZGVyUGFydHlJZChzZW5kZXJQYXJ0eUlkKVxuICAgICAgLnVwZGF0ZUlkKHVwZGF0ZUlkKVxuICAgICAgLmFtb3VudChhbW91bnQpXG4gICAgICAuZXhwaXJ5RXBvY2goZXhwaXJ5RXBvY2gpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IFRyYW5zZmVyQWNrbm93bGVkZ2UgPSB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbnRyYWN0SWQsIGNvbnRyYWN0SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnNlbmRlclBhcnR5SWQsIHNlbmRlclBhcnR5SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnVwZGF0ZUlkLCB1cGRhdGVJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYW1vdW50LCBhbW91bnQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmV4cGlyeUVwb2NoLCBleHBpcnlFcG9jaCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferRejectBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/builder/transferReject/transferRejectBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
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-beta/statics");
|
|
9
|
+
const src_1 = require("../../../../src");
|
|
10
|
+
const resources_1 = require("../../../resources");
|
|
11
|
+
describe('Transfer Rejection Builder', () => {
|
|
12
|
+
it('should get the transfer rejection request object', function () {
|
|
13
|
+
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
14
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
15
|
+
txBuilder.initBuilder(tx);
|
|
16
|
+
txBuilder.setTransaction(resources_1.TransferRejectionPrepareResponse);
|
|
17
|
+
const { commandId, contractId, partyId } = resources_1.TransferRejection;
|
|
18
|
+
txBuilder.commandId(commandId).contractId(contractId).actAs(partyId);
|
|
19
|
+
const requestObj = txBuilder.toRequestObject();
|
|
20
|
+
should_1.default.exist(requestObj);
|
|
21
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
22
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
23
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
24
|
+
const actAs = requestObj.actAs[0];
|
|
25
|
+
assert_1.default.equal(actAs, partyId);
|
|
26
|
+
});
|
|
27
|
+
it('should validate raw transaction', function () {
|
|
28
|
+
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
29
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
30
|
+
txBuilder.initBuilder(tx);
|
|
31
|
+
txBuilder.setTransaction(resources_1.TransferRejectionPrepareResponse);
|
|
32
|
+
txBuilder.validateRawTransaction(resources_1.TransferRejectionPrepareResponse.preparedTransaction);
|
|
33
|
+
});
|
|
34
|
+
it('should validate the transaction', function () {
|
|
35
|
+
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
36
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
37
|
+
tx.prepareCommand = resources_1.TransferRejectionPrepareResponse;
|
|
38
|
+
txBuilder.initBuilder(tx);
|
|
39
|
+
txBuilder.setTransaction(resources_1.TransferRejectionPrepareResponse);
|
|
40
|
+
txBuilder.validateTransaction(tx);
|
|
41
|
+
});
|
|
42
|
+
it('should throw error in validating raw transaction', function () {
|
|
43
|
+
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
44
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
45
|
+
txBuilder.initBuilder(tx);
|
|
46
|
+
const invalidPrepareResponse = resources_1.TransferRejectionPrepareResponse;
|
|
47
|
+
invalidPrepareResponse.preparedTransactionHash = 'QFxX1WBdq7lZbSc45iKA3J/oOF9mrVLc3DeKphAjb15=';
|
|
48
|
+
txBuilder.setTransaction(invalidPrepareResponse);
|
|
49
|
+
try {
|
|
50
|
+
txBuilder.validateRawTransaction(invalidPrepareResponse.preparedTransaction);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
assert_1.default.equal(e.message, 'invalid raw transaction, hash not matching');
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJSZWplY3RCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXJSZWplY3QvdHJhbnNmZXJSZWplY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQXdFO0FBR3hFLGtEQUF5RjtBQUV6RixRQUFRLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQzFDLEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUF3QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyw0Q0FBZ0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLDZCQUFpQixDQUFDO1FBQzdELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBc0MsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2xGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLGdCQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUF3QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyw0Q0FBZ0MsQ0FBQyxDQUFDO1FBQzNELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBZ0MsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksOEJBQXdCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDakQsRUFBRSxDQUFDLGNBQWMsR0FBRyw0Q0FBZ0MsQ0FBQztRQUNyRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxjQUFjLENBQUMsNENBQWdDLENBQUMsQ0FBQztRQUMzRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSw4QkFBd0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sc0JBQXNCLEdBQUcsNENBQWdDLENBQUM7UUFDaEUsc0JBQXNCLENBQUMsdUJBQXVCLEdBQUcsOENBQThDLENBQUM7UUFDaEcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQztZQUNILFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNmZXJSZWplY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlclJlamVjdGlvbiwgVHJhbnNmZXJSZWplY3Rpb25QcmVwYXJlUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgnVHJhbnNmZXIgUmVqZWN0aW9uIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZ2V0IHRoZSB0cmFuc2ZlciByZWplY3Rpb24gcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlKTtcbiAgICBjb25zdCB7IGNvbW1hbmRJZCwgY29udHJhY3RJZCwgcGFydHlJZCB9ID0gVHJhbnNmZXJSZWplY3Rpb247XG4gICAgdHhCdWlsZGVyLmNvbW1hbmRJZChjb21tYW5kSWQpLmNvbnRyYWN0SWQoY29udHJhY3RJZCkuYWN0QXMocGFydHlJZCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogQ2FudG9uVHJhbnNmZXJBY2NlcHRSZWplY3RSZXF1ZXN0ID0gdHhCdWlsZGVyLnRvUmVxdWVzdE9iamVjdCgpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb21tYW5kSWQsIGNvbW1hbmRJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29udHJhY3RJZCwgY29udHJhY3RJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYWN0QXMubGVuZ3RoLCAxKTtcbiAgICBjb25zdCBhY3RBcyA9IHJlcXVlc3RPYmouYWN0QXNbMF07XG4gICAgYXNzZXJ0LmVxdWFsKGFjdEFzLCBwYXJ0eUlkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihUcmFuc2ZlclJlamVjdGlvblByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4LnByZXBhcmVDb21tYW5kID0gVHJhbnNmZXJSZWplY3Rpb25QcmVwYXJlUmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhbnNmZXJSZWplY3Rpb25QcmVwYXJlUmVzcG9uc2UpO1xuICAgIHR4QnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHR4KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpbiB2YWxpZGF0aW5nIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJSZWplY3Rpb25CdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCBpbnZhbGlkUHJlcGFyZVJlc3BvbnNlID0gVHJhbnNmZXJSZWplY3Rpb25QcmVwYXJlUmVzcG9uc2U7XG4gICAgaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uSGFzaCA9ICdRRnhYMVdCZHE3bFpiU2M0NWlLQTNKL29PRjltclZMYzNEZUtwaEFqYjE1PSc7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKGludmFsaWRQcmVwYXJlUmVzcG9uc2UpO1xuICAgIHRyeSB7XG4gICAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -6,19 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const assert_1 = __importDefault(require("assert"));
|
|
7
7
|
const should_1 = __importDefault(require("should"));
|
|
8
8
|
const statics_1 = require("@bitgo-beta/statics");
|
|
9
|
-
const
|
|
10
|
-
const walletInitTransaction_1 = require("../../../../src/lib/walletInitialization/walletInitTransaction");
|
|
9
|
+
const src_1 = require("../../../../src");
|
|
11
10
|
const resources_1 = require("../../../resources");
|
|
12
11
|
describe('Wallet Initialization Builder', () => {
|
|
13
12
|
it('should get the wallet init request object', function () {
|
|
14
|
-
const txBuilder = new
|
|
15
|
-
const { publicKey,
|
|
13
|
+
const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
|
|
14
|
+
const { publicKey, partyHint } = resources_1.WalletInitRequestData;
|
|
16
15
|
txBuilder.publicKey(publicKey);
|
|
17
|
-
txBuilder.synchronizer(synchronizer);
|
|
18
16
|
txBuilder.partyHint(partyHint);
|
|
19
17
|
const requestObj = txBuilder.toRequestObject();
|
|
20
18
|
should_1.default.exist(requestObj);
|
|
21
|
-
assert_1.default.equal(requestObj.synchronizer, synchronizer);
|
|
22
19
|
assert_1.default.equal(requestObj.partyHint, partyHint);
|
|
23
20
|
assert_1.default.equal(requestObj.localParticipantObservationOnly, false);
|
|
24
21
|
assert_1.default.equal(requestObj.confirmationThreshold, 1);
|
|
@@ -31,19 +28,19 @@ describe('Wallet Initialization Builder', () => {
|
|
|
31
28
|
should_1.default.exist(requestObj.publicKey.keySpec);
|
|
32
29
|
});
|
|
33
30
|
it('should validate raw transaction', function () {
|
|
34
|
-
const txBuilder = new
|
|
31
|
+
const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
|
|
35
32
|
txBuilder.transaction = resources_1.GenerateTopologyResponse;
|
|
36
33
|
txBuilder.validateRawTransaction(resources_1.GenerateTopologyResponse.topologyTransactions);
|
|
37
34
|
});
|
|
38
35
|
it('should validate the transaction', function () {
|
|
39
|
-
const txBuilder = new
|
|
36
|
+
const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
|
|
40
37
|
txBuilder.transaction = resources_1.GenerateTopologyResponse;
|
|
41
|
-
const walletInitTxn = new
|
|
38
|
+
const walletInitTxn = new src_1.WalletInitTransaction(statics_1.coins.get('tcanton'));
|
|
42
39
|
walletInitTxn.preparedParty = resources_1.GenerateTopologyResponse;
|
|
43
40
|
txBuilder.validateTransaction(walletInitTxn);
|
|
44
41
|
});
|
|
45
42
|
it('should throw error in validating raw transaction', function () {
|
|
46
|
-
const txBuilder = new
|
|
43
|
+
const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
|
|
47
44
|
txBuilder.transaction = resources_1.InvalidGenerateTopologyResponse;
|
|
48
45
|
try {
|
|
49
46
|
txBuilder.validateRawTransaction(resources_1.InvalidGenerateTopologyResponse.topologyTransactions);
|
|
@@ -53,9 +50,9 @@ describe('Wallet Initialization Builder', () => {
|
|
|
53
50
|
}
|
|
54
51
|
});
|
|
55
52
|
it('should throw error in validating raw transaction', function () {
|
|
56
|
-
const txBuilder = new
|
|
53
|
+
const txBuilder = new src_1.WalletInitBuilder(statics_1.coins.get('tcanton'));
|
|
57
54
|
txBuilder.transaction = resources_1.InvalidGenerateTopologyResponse;
|
|
58
|
-
const walletInitTxn = new
|
|
55
|
+
const walletInitTxn = new src_1.WalletInitTransaction(statics_1.coins.get('tcanton'));
|
|
59
56
|
walletInitTxn.preparedParty = resources_1.InvalidGenerateTopologyResponse;
|
|
60
57
|
try {
|
|
61
58
|
txBuilder.validateTransaction(walletInitTxn);
|
|
@@ -65,4 +62,4 @@ describe('Wallet Initialization Builder', () => {
|
|
|
65
62
|
}
|
|
66
63
|
});
|
|
67
64
|
});
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYnVpbGRlci93YWxsZXRJbml0L3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQTJFO0FBRzNFLGtEQUFzSDtBQUV0SCxRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO0lBQzdDLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRTtRQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUFpQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGlDQUFxQixDQUFDO1FBQ3ZELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixNQUFNLFVBQVUsR0FBc0IsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2xFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksdUJBQWlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlELFNBQVMsQ0FBQyxXQUFXLEdBQUcsb0NBQXdCLENBQUM7UUFDakQsU0FBUyxDQUFDLHNCQUFzQixDQUFDLG9DQUF3QixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSx1QkFBaUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsU0FBUyxDQUFDLFdBQVcsR0FBRyxvQ0FBd0IsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxJQUFJLDJCQUFxQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxhQUFhLENBQUMsYUFBYSxHQUFHLG9DQUF3QixDQUFDO1FBQ3ZELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUFpQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsV0FBVyxHQUFHLDJDQUErQixDQUFDO1FBQ3hELElBQUksQ0FBQztZQUNILFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQywyQ0FBK0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUFpQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsV0FBVyxHQUFHLDJDQUErQixDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQXFCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLGFBQWEsQ0FBQyxhQUFhLEdBQUcsMkNBQStCLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBXYWxsZXRJbml0QnVpbGRlciwgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IFdhbGxldEluaXRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5cbmltcG9ydCB7IEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZSwgSW52YWxpZEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZSwgV2FsbGV0SW5pdFJlcXVlc3REYXRhIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ1dhbGxldCBJbml0aWFsaXphdGlvbiBCdWlsZGVyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGdldCB0aGUgd2FsbGV0IGluaXQgcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFdhbGxldEluaXRCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB7IHB1YmxpY0tleSwgcGFydHlIaW50IH0gPSBXYWxsZXRJbml0UmVxdWVzdERhdGE7XG4gICAgdHhCdWlsZGVyLnB1YmxpY0tleShwdWJsaWNLZXkpO1xuICAgIHR4QnVpbGRlci5wYXJ0eUhpbnQocGFydHlIaW50KTtcbiAgICBjb25zdCByZXF1ZXN0T2JqOiBXYWxsZXRJbml0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmoucGFydHlIaW50LCBwYXJ0eUhpbnQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmxvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHksIGZhbHNlKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb25maXJtYXRpb25UaHJlc2hvbGQsIDEpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLm9ic2VydmluZ1BhcnRpY2lwYW50VWlkcy5sZW5ndGgsIDApO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLm90aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcy5sZW5ndGgsIDApO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqLnB1YmxpY0tleSk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmoucHVibGljS2V5LmtleURhdGEsIHB1YmxpY0tleSk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmoucHVibGljS2V5LmZvcm1hdCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmoucHVibGljS2V5LmZvcm1hdCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmoucHVibGljS2V5LmtleVNwZWMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci50cmFuc2FjdGlvbiA9IEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UudG9wb2xvZ3lUcmFuc2FjdGlvbnMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci50cmFuc2FjdGlvbiA9IEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZTtcbiAgICBjb25zdCB3YWxsZXRJbml0VHhuID0gbmV3IFdhbGxldEluaXRUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgd2FsbGV0SW5pdFR4bi5wcmVwYXJlZFBhcnR5ID0gR2VuZXJhdGVUb3BvbG9neVJlc3BvbnNlO1xuICAgIHR4QnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHdhbGxldEluaXRUeG4pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGluIHZhbGlkYXRpbmcgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBXYWxsZXRJbml0QnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLnRyYW5zYWN0aW9uID0gSW52YWxpZEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oSW52YWxpZEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZS50b3BvbG9neVRyYW5zYWN0aW9ucyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXNzZXJ0LmVxdWFsKGUubWVzc2FnZSwgJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uLCBoYXNoIG5vdCBtYXRjaGluZycpO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpbiB2YWxpZGF0aW5nIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci50cmFuc2FjdGlvbiA9IEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgY29uc3Qgd2FsbGV0SW5pdFR4biA9IG5ldyBXYWxsZXRJbml0VHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHdhbGxldEluaXRUeG4ucHJlcGFyZWRQYXJ0eSA9IEludmFsaWRHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHdhbGxldEluaXRUeG4pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|