@bitgo-beta/sdk-coin-canton 1.0.1-beta.72 → 1.0.1-beta.721

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.
Files changed (172) hide show
  1. package/dist/src/canton.d.ts +22 -1
  2. package/dist/src/canton.d.ts.map +1 -1
  3. package/dist/src/canton.js +269 -10
  4. package/dist/src/cantonToken.d.ts +19 -0
  5. package/dist/src/cantonToken.d.ts.map +1 -0
  6. package/dist/src/cantonToken.js +52 -0
  7. package/dist/src/index.d.ts +1 -0
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +2 -1
  10. package/dist/src/lib/allocationAllocateBuilder.d.ts +126 -0
  11. package/dist/src/lib/allocationAllocateBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/allocationAllocateBuilder.js +250 -0
  13. package/dist/src/lib/allocationAllocateWithdrawnBuilder.d.ts +67 -0
  14. package/dist/src/lib/allocationAllocateWithdrawnBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/allocationAllocateWithdrawnBuilder.js +130 -0
  16. package/dist/src/lib/allocationRejectBuilder.d.ts +51 -0
  17. package/dist/src/lib/allocationRejectBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/allocationRejectBuilder.js +107 -0
  19. package/dist/src/lib/allocationRequestBuilder.d.ts +116 -0
  20. package/dist/src/lib/allocationRequestBuilder.d.ts.map +1 -0
  21. package/dist/src/lib/allocationRequestBuilder.js +248 -0
  22. package/dist/src/lib/cantonCommandBuilder.d.ts +72 -0
  23. package/dist/src/lib/cantonCommandBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/cantonCommandBuilder.js +173 -0
  25. package/dist/src/lib/clearSigning.d.ts +58 -0
  26. package/dist/src/lib/clearSigning.d.ts.map +1 -0
  27. package/dist/src/lib/clearSigning.js +66 -0
  28. package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts +56 -0
  29. package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts.map +1 -0
  30. package/dist/src/lib/cosignDelegationAcceptBuilder.js +112 -0
  31. package/dist/src/lib/cosignDelegationProposalBuilder.d.ts +60 -0
  32. package/dist/src/lib/cosignDelegationProposalBuilder.d.ts.map +1 -0
  33. package/dist/src/lib/cosignDelegationProposalBuilder.js +111 -0
  34. package/dist/src/lib/endInvestorOnboardingOfferBuilder.d.ts +58 -0
  35. package/dist/src/lib/endInvestorOnboardingOfferBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/endInvestorOnboardingOfferBuilder.js +112 -0
  37. package/dist/src/lib/iface.d.ts +130 -2
  38. package/dist/src/lib/iface.d.ts.map +1 -1
  39. package/dist/src/lib/iface.js +3 -1
  40. package/dist/src/lib/index.d.ts +13 -0
  41. package/dist/src/lib/index.d.ts.map +1 -1
  42. package/dist/src/lib/index.js +29 -2
  43. package/dist/src/lib/messages/cantonBaseMessage.d.ts +16 -0
  44. package/dist/src/lib/messages/cantonBaseMessage.d.ts.map +1 -0
  45. package/dist/src/lib/messages/cantonBaseMessage.js +28 -0
  46. package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessage.d.ts +14 -0
  47. package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessage.d.ts.map +1 -0
  48. package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessage.js +23 -0
  49. package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessageBuilder.d.ts +17 -0
  50. package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessageBuilder.d.ts.map +1 -0
  51. package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessageBuilder.js +25 -0
  52. package/dist/src/lib/messages/cantonSignTopology/index.d.ts +3 -0
  53. package/dist/src/lib/messages/cantonSignTopology/index.d.ts.map +1 -0
  54. package/dist/src/lib/messages/cantonSignTopology/index.js +19 -0
  55. package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessage.d.ts +13 -0
  56. package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessage.d.ts.map +1 -0
  57. package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessage.js +22 -0
  58. package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessageBuilder.d.ts +14 -0
  59. package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessageBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessageBuilder.js +22 -0
  61. package/dist/src/lib/messages/cantonSignTransaction/index.d.ts +3 -0
  62. package/dist/src/lib/messages/cantonSignTransaction/index.d.ts.map +1 -0
  63. package/dist/src/lib/messages/cantonSignTransaction/index.js +19 -0
  64. package/dist/src/lib/messages/index.d.ts +5 -0
  65. package/dist/src/lib/messages/index.d.ts.map +1 -0
  66. package/dist/src/lib/messages/index.js +21 -0
  67. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  68. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  69. package/dist/src/lib/messages/messageBuilderFactory.js +23 -0
  70. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +8 -0
  71. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -1
  72. package/dist/src/lib/oneStepPreApprovalBuilder.js +15 -1
  73. package/dist/src/lib/resourcesInterface.d.ts +1 -1
  74. package/dist/src/lib/resourcesInterface.d.ts.map +1 -1
  75. package/dist/src/lib/resourcesInterface.js +1 -1
  76. package/dist/src/lib/transaction/transaction.d.ts +17 -1
  77. package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
  78. package/dist/src/lib/transaction/transaction.js +291 -16
  79. package/dist/src/lib/transactionBuilderFactory.d.ts +22 -0
  80. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  81. package/dist/src/lib/transactionBuilderFactory.js +78 -1
  82. package/dist/src/lib/transferAcceptanceBuilder.d.ts +4 -4
  83. package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -1
  84. package/dist/src/lib/transferAcceptanceBuilder.js +6 -6
  85. package/dist/src/lib/transferBuilder.d.ts +84 -2
  86. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  87. package/dist/src/lib/transferBuilder.js +166 -2
  88. package/dist/src/lib/transferOfferWithdrawnBuilder.d.ts +67 -0
  89. package/dist/src/lib/transferOfferWithdrawnBuilder.d.ts.map +1 -0
  90. package/dist/src/lib/transferOfferWithdrawnBuilder.js +130 -0
  91. package/dist/src/lib/transferRejectionBuilder.d.ts +59 -0
  92. package/dist/src/lib/transferRejectionBuilder.d.ts.map +1 -0
  93. package/dist/src/lib/transferRejectionBuilder.js +116 -0
  94. package/dist/src/lib/utils.d.ts +45 -3
  95. package/dist/src/lib/utils.d.ts.map +1 -1
  96. package/dist/src/lib/utils.js +742 -66
  97. package/dist/src/lib/walletInitBuilder.d.ts +2 -1
  98. package/dist/src/lib/walletInitBuilder.d.ts.map +1 -1
  99. package/dist/src/lib/walletInitBuilder.js +4 -1
  100. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +2 -1
  101. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
  102. package/dist/src/lib/walletInitialization/walletInitTransaction.js +14 -1
  103. package/dist/src/register.d.ts.map +1 -1
  104. package/dist/src/register.js +5 -1
  105. package/dist/test/helper.d.ts +3 -0
  106. package/dist/test/helper.d.ts.map +1 -0
  107. package/dist/test/helper.js +9 -0
  108. package/dist/test/integration/canton.integration.d.ts +2 -0
  109. package/dist/test/integration/canton.integration.d.ts.map +1 -0
  110. package/dist/test/integration/canton.integration.js +157 -0
  111. package/dist/test/integration/canton.token.integration.d.ts +2 -0
  112. package/dist/test/integration/canton.token.integration.d.ts.map +1 -0
  113. package/dist/test/integration/canton.token.integration.js +51 -0
  114. package/dist/test/resources.d.ts +226 -2
  115. package/dist/test/resources.d.ts.map +1 -1
  116. package/dist/test/resources.js +231 -7
  117. package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts +2 -0
  118. package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts.map +1 -0
  119. package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.js +360 -0
  120. package/dist/test/unit/builder/allocationAllocateWithdrawn/allocationAllocateWithdrawnBuilder.d.ts +2 -0
  121. package/dist/test/unit/builder/allocationAllocateWithdrawn/allocationAllocateWithdrawnBuilder.d.ts.map +1 -0
  122. package/dist/test/unit/builder/allocationAllocateWithdrawn/allocationAllocateWithdrawnBuilder.js +133 -0
  123. package/dist/test/unit/builder/allocationReject/allocationRejectBuilder.d.ts +2 -0
  124. package/dist/test/unit/builder/allocationReject/allocationRejectBuilder.d.ts.map +1 -0
  125. package/dist/test/unit/builder/allocationReject/allocationRejectBuilder.js +121 -0
  126. package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts +2 -0
  127. package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts.map +1 -0
  128. package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.js +407 -0
  129. package/dist/test/unit/builder/cantonCommand/cantonCommandBuilder.d.ts +2 -0
  130. package/dist/test/unit/builder/cantonCommand/cantonCommandBuilder.d.ts.map +1 -0
  131. package/dist/test/unit/builder/cantonCommand/cantonCommandBuilder.js +340 -0
  132. package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts +2 -0
  133. package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts.map +1 -0
  134. package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.js +104 -0
  135. package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts +2 -0
  136. package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts.map +1 -0
  137. package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.js +74 -0
  138. package/dist/test/unit/builder/endInvestorOnboardingOffer/endInvestorOnboardingOfferBuilder.d.ts +2 -0
  139. package/dist/test/unit/builder/endInvestorOnboardingOffer/endInvestorOnboardingOfferBuilder.d.ts.map +1 -0
  140. package/dist/test/unit/builder/endInvestorOnboardingOffer/endInvestorOnboardingOfferBuilder.js +116 -0
  141. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +20 -1
  142. package/dist/test/unit/builder/transfer/transferBuilder.d.ts +2 -0
  143. package/dist/test/unit/builder/transfer/transferBuilder.d.ts.map +1 -0
  144. package/dist/test/unit/builder/transfer/transferBuilder.js +84 -0
  145. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +65 -15
  146. package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.d.ts +2 -0
  147. package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.d.ts.map +1 -0
  148. package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.js +64 -0
  149. package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts +2 -0
  150. package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts.map +1 -0
  151. package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +96 -0
  152. package/dist/test/unit/canton.d.ts +2 -0
  153. package/dist/test/unit/canton.d.ts.map +1 -0
  154. package/dist/test/unit/canton.js +705 -0
  155. package/dist/test/unit/index.d.ts +5 -0
  156. package/dist/test/unit/index.d.ts.map +1 -1
  157. package/dist/test/unit/index.js +6 -1
  158. package/dist/test/unit/messages/cantonSignTopologyMessage.d.ts +2 -0
  159. package/dist/test/unit/messages/cantonSignTopologyMessage.d.ts.map +1 -0
  160. package/dist/test/unit/messages/cantonSignTopologyMessage.js +46 -0
  161. package/dist/test/unit/messages/cantonSignTransactionMessage.d.ts +2 -0
  162. package/dist/test/unit/messages/cantonSignTransactionMessage.d.ts.map +1 -0
  163. package/dist/test/unit/messages/cantonSignTransactionMessage.js +48 -0
  164. package/dist/test/unit/messages/clearSigning.d.ts +2 -0
  165. package/dist/test/unit/messages/clearSigning.d.ts.map +1 -0
  166. package/dist/test/unit/messages/clearSigning.js +72 -0
  167. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  168. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  169. package/dist/test/unit/messages/messageBuilderFactory.js +52 -0
  170. package/dist/test/unit/utils.js +366 -9
  171. package/dist/tsconfig.tsbuildinfo +1 -1
  172. package/package.json +8 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocationRejectBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/builder/allocationReject/allocationRejectBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
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('AllocationReject Builder', () => {
12
+ it('should get the allocation reject request object', function () {
13
+ const txBuilder = new src_1.AllocationRejectBuilder(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.CantonAllocationRejectPrepareResponse);
17
+ const { commandId, contractId, partyId } = resources_1.AllocationRejection;
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
+ assert_1.default.equal(requestObj.actAs[0], partyId);
25
+ assert_1.default.equal(requestObj.verboseHashing, false);
26
+ assert_1.default.deepEqual(requestObj.readAs, []);
27
+ });
28
+ it('should set the transaction id to the commandId', function () {
29
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
30
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
31
+ txBuilder.initBuilder(tx);
32
+ const { commandId } = resources_1.AllocationRejection;
33
+ txBuilder.commandId(commandId);
34
+ assert_1.default.equal(tx.id, commandId);
35
+ });
36
+ it('should validate raw canton allocation reject transaction', function () {
37
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
38
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
39
+ txBuilder.initBuilder(tx);
40
+ txBuilder.setTransaction(resources_1.CantonAllocationRejectPrepareResponse);
41
+ txBuilder.validateRawTransaction(resources_1.CantonAllocationRejectPrepareResponse.preparedTransaction);
42
+ });
43
+ it('should validate the transaction', function () {
44
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
45
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
46
+ tx.prepareCommand = resources_1.CantonAllocationRejectPrepareResponse;
47
+ txBuilder.initBuilder(tx);
48
+ txBuilder.setTransaction(resources_1.CantonAllocationRejectPrepareResponse);
49
+ txBuilder.validateTransaction(tx);
50
+ });
51
+ it('should throw error on invalid raw transaction hash mismatch', function () {
52
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
53
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
54
+ txBuilder.initBuilder(tx);
55
+ const invalidPrepareResponse = {
56
+ ...resources_1.CantonAllocationRejectPrepareResponse,
57
+ preparedTransactionHash: 'L1KfrA5exnpsOqtXODGj2gNF+y/dv/onPtVvGJ5km7d=',
58
+ };
59
+ txBuilder.setTransaction(invalidPrepareResponse);
60
+ try {
61
+ txBuilder.validateRawTransaction(invalidPrepareResponse.preparedTransaction);
62
+ }
63
+ catch (e) {
64
+ assert_1.default.equal(e.message, 'invalid raw transaction, hash not matching');
65
+ }
66
+ });
67
+ it('should throw if commandId is missing', function () {
68
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
69
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
70
+ txBuilder.initBuilder(tx);
71
+ const { contractId, partyId } = resources_1.AllocationRejection;
72
+ txBuilder.contractId(contractId).actAs(partyId);
73
+ assert_1.default.throws(() => txBuilder.toRequestObject(), /commandId is missing/);
74
+ });
75
+ it('should throw if contractId is missing', function () {
76
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
77
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
78
+ txBuilder.initBuilder(tx);
79
+ const { commandId, partyId } = resources_1.AllocationRejection;
80
+ txBuilder.commandId(commandId).actAs(partyId);
81
+ assert_1.default.throws(() => txBuilder.toRequestObject(), /contractId is missing/);
82
+ });
83
+ it('should throw if actAs is missing', function () {
84
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
85
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
86
+ txBuilder.initBuilder(tx);
87
+ const { commandId, contractId } = resources_1.AllocationRejection;
88
+ txBuilder.commandId(commandId).contractId(contractId);
89
+ assert_1.default.throws(() => txBuilder.toRequestObject(), /actAs partyId is missing/);
90
+ });
91
+ it('should throw if commandId is an empty string', function () {
92
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
93
+ assert_1.default.throws(() => txBuilder.commandId(''), /commandId must be a non-empty string/);
94
+ });
95
+ it('should throw if contractId is an empty string', function () {
96
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
97
+ assert_1.default.throws(() => txBuilder.contractId(''), /contractId must be a non-empty string/);
98
+ });
99
+ it('should throw if actAs is an empty string', function () {
100
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
101
+ assert_1.default.throws(() => txBuilder.actAs(''), /actAsPartyId must be a non-empty string/);
102
+ });
103
+ describe('Prepared transaction parsing', () => {
104
+ it('should parse the allocation reject prepared transaction', function () {
105
+ const txBuilder = new src_1.AllocationRejectBuilder(statics_1.coins.get('tcanton'));
106
+ const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
107
+ txBuilder.initBuilder(tx);
108
+ txBuilder.commandId(resources_1.AllocationRejection.commandId);
109
+ txBuilder.setTransaction(resources_1.CantonAllocationRejectPrepareResponse);
110
+ const txData = txBuilder.transaction.toJson();
111
+ should_1.default.exist(txData);
112
+ // seller = rejecting party (sender)
113
+ assert_1.default.equal(txData.sender, 'ravi-2-step-party::122092e7d33ac10c0f3d55976342f37555df05da5b742956d56a62ae2367769079d2');
114
+ // buyer = counterparty (receiver)
115
+ assert_1.default.equal(txData.receiver, '12208::122083082e9af156feaeb7afd363a0ee5ffa1fd160947b647a139a7e0c2ed78f5dc7');
116
+ // amount from dvp.terms.deliveries[0] (converted to lowest unit: 2.0 * 10^10 = 20000000000)
117
+ assert_1.default.equal(txData.amount, '20000000000');
118
+ });
119
+ });
120
+ });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvblJlamVjdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYnVpbGRlci9hbGxvY2F0aW9uUmVqZWN0L2FsbG9jYXRpb25SZWplY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixpREFBNEM7QUFFNUMseUNBQXVFO0FBR3ZFLGtEQUFnRztBQUVoRyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLEVBQUUsQ0FBQyxpREFBaUQsRUFBRTtRQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLDZCQUF1QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxpREFBcUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLCtCQUFtQixDQUFDO1FBQy9ELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBc0MsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2xGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUs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Q0FBa0M7WUFDbEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSw2RUFBNkUsQ0FBQyxDQUFDO1lBQzdHLDRGQUE0RjtZQUM1RixnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBBbGxvY2F0aW9uUmVqZWN0aW9uLCBDYW50b25BbGxvY2F0aW9uUmVqZWN0UHJlcGFyZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ0FsbG9jYXRpb25SZWplY3QgQnVpbGRlcicsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIGFsbG9jYXRpb24gcmVqZWN0IHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBBbGxvY2F0aW9uUmVqZWN0QnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKENhbnRvbkFsbG9jYXRpb25SZWplY3RQcmVwYXJlUmVzcG9uc2UpO1xuICAgIGNvbnN0IHsgY29tbWFuZElkLCBjb250cmFjdElkLCBwYXJ0eUlkIH0gPSBBbGxvY2F0aW9uUmVqZWN0aW9uO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5jb250cmFjdElkKGNvbnRyYWN0SWQpLmFjdEFzKHBhcnR5SWQpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29tbWFuZElkLCBjb21tYW5kSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbnRyYWN0SWQsIGNvbnRyYWN0SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmFjdEFzLmxlbmd0aCwgMSk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYWN0QXNbMF0sIHBhcnR5SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnZlcmJvc2VIYXNoaW5nLCBmYWxzZSk7XG4gICAgYXNzZXJ0LmRlZXBFcXVhbChyZXF1ZXN0T2JqLnJlYWRBcywgW10pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHNldCB0aGUgdHJhbnNhY3Rpb24gaWQgdG8gdGhlIGNvbW1hbmRJZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IHsgY29tbWFuZElkIH0gPSBBbGxvY2F0aW9uUmVqZWN0aW9uO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKTtcbiAgICBhc3NlcnQuZXF1YWwodHguaWQsIGNvbW1hbmRJZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcmF3IGNhbnRvbiBhbGxvY2F0aW9uIHJlamVjdCB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihDYW50b25BbGxvY2F0aW9uUmVqZWN0UHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihDYW50b25BbGxvY2F0aW9uUmVqZWN0UHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eC5wcmVwYXJlQ29tbWFuZCA9IENhbnRvbkFsbG9jYXRpb25SZWplY3RQcmVwYXJlUmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oQ2FudG9uQWxsb2NhdGlvblJlamVjdFByZXBhcmVSZXNwb25zZSk7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIGludmFsaWQgcmF3IHRyYW5zYWN0aW9uIGhhc2ggbWlzbWF0Y2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCBpbnZhbGlkUHJlcGFyZVJlc3BvbnNlID0ge1xuICAgICAgLi4uQ2FudG9uQWxsb2NhdGlvblJlamVjdFByZXBhcmVSZXNwb25zZSxcbiAgICAgIHByZXBhcmVkVHJhbnNhY3Rpb25IYXNoOiAnTDFLZnJBNWV4bnBzT3F0WE9ER2oyZ05GK3kvZHYvb25QdFZ2R0o1a203ZD0nLFxuICAgIH07XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKGludmFsaWRQcmVwYXJlUmVzcG9uc2UpO1xuICAgIHRyeSB7XG4gICAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgaWYgY29tbWFuZElkIGlzIG1pc3NpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCB7IGNvbnRyYWN0SWQsIHBhcnR5SWQgfSA9IEFsbG9jYXRpb25SZWplY3Rpb247XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0SWQoY29udHJhY3RJZCkuYWN0QXMocGFydHlJZCk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCksIC9jb21tYW5kSWQgaXMgbWlzc2luZy8pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGlmIGNvbnRyYWN0SWQgaXMgbWlzc2luZycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IHsgY29tbWFuZElkLCBwYXJ0eUlkIH0gPSBBbGxvY2F0aW9uUmVqZWN0aW9uO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5hY3RBcyhwYXJ0eUlkKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKSwgL2NvbnRyYWN0SWQgaXMgbWlzc2luZy8pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGlmIGFjdEFzIGlzIG1pc3NpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCB7IGNvbW1hbmRJZCwgY29udHJhY3RJZCB9ID0gQWxsb2NhdGlvblJlamVjdGlvbjtcbiAgICB0eEJ1aWxkZXIuY29tbWFuZElkKGNvbW1hbmRJZCkuY29udHJhY3RJZChjb250cmFjdElkKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKSwgL2FjdEFzIHBhcnR5SWQgaXMgbWlzc2luZy8pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGlmIGNvbW1hbmRJZCBpcyBhbiBlbXB0eSBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5jb21tYW5kSWQoJycpLCAvY29tbWFuZElkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgaWYgY29udHJhY3RJZCBpcyBhbiBlbXB0eSBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5jb250cmFjdElkKCcnKSwgL2NvbnRyYWN0SWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcvKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBpZiBhY3RBcyBpcyBhbiBlbXB0eSBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5hY3RBcygnJyksIC9hY3RBc1BhcnR5SWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcvKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1ByZXBhcmVkIHRyYW5zYWN0aW9uIHBhcnNpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBwYXJzZSB0aGUgYWxsb2NhdGlvbiByZWplY3QgcHJlcGFyZWQgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgQWxsb2NhdGlvblJlamVjdEJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICAgIHR4QnVpbGRlci5jb21tYW5kSWQoQWxsb2NhdGlvblJlamVjdGlvbi5jb21tYW5kSWQpO1xuICAgICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKENhbnRvbkFsbG9jYXRpb25SZWplY3RQcmVwYXJlUmVzcG9uc2UpO1xuICAgICAgY29uc3QgdHhEYXRhID0gdHhCdWlsZGVyLnRyYW5zYWN0aW9uLnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmV4aXN0KHR4RGF0YSk7XG4gICAgICAvLyBzZWxsZXIgPSByZWplY3RpbmcgcGFydHkgKHNlbmRlcilcbiAgICAgIGFzc2VydC5lcXVhbChcbiAgICAgICAgdHhEYXRhLnNlbmRlcixcbiAgICAgICAgJ3JhdmktMi1zdGVwLXBhcnR5OjoxMjIwOTJlN2QzM2FjMTBjMGYzZDU1OTc2MzQyZjM3NTU1ZGYwNWRhNWI3NDI5NTZkNTZhNjJhZTIzNjc3NjkwNzlkMidcbiAgICAgICk7XG4gICAgICAvLyBidXllciA9IGNvdW50ZXJwYXJ0eSAocmVjZWl2ZXIpXG4gICAgICBhc3NlcnQuZXF1YWwodHhEYXRhLnJlY2VpdmVyLCAnMTIyMDg6OjEyMjA4MzA4MmU5YWYxNTZmZWFlYjdhZmQzNjNhMGVlNWZmYTFmZDE2MDk0N2I2NDdhMTM5YTdlMGMyZWQ3OGY1ZGM3Jyk7XG4gICAgICAvLyBhbW91bnQgZnJvbSBkdnAudGVybXMuZGVsaXZlcmllc1swXSAoY29udmVydGVkIHRvIGxvd2VzdCB1bml0OiAyLjAgKiAxMF4xMCA9IDIwMDAwMDAwMDAwKVxuICAgICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS5hbW91bnQsICcyMDAwMDAwMDAwMCcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=allocationRequestBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocationRequestBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/builder/allocationRequest/allocationRequestBuilder.ts"],"names":[],"mappings":""}