@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
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAG7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB;IAyBzD,4BAA4B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB;IAIzE,6BAA6B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,0BAA0B;IAI3E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,iBAAiB;IAI7E,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAG7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB;IA0DzD,4BAA4B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB;IAIzE,qCAAqC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,kCAAkC;IAI3F,0BAA0B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,uBAAuB;IAIrE,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAI/D,oCAAoC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,iCAAiC;IAIzF,4BAA4B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB;IAIzE,4BAA4B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,yBAAyB;IAIzE,6BAA6B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,0BAA0B;IAI3E,kCAAkC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,+BAA+B;IAIrF,gCAAgC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,6BAA6B;IAIjF,gCAAgC,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,6BAA6B;IAIjF,wBAAwB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIpE,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,iBAAiB;IAI7E,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
@@ -2,9 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TransactionBuilderFactory = void 0;
4
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const allocationAllocateBuilder_1 = require("./allocationAllocateBuilder");
6
+ const allocationAllocateWithdrawnBuilder_1 = require("./allocationAllocateWithdrawnBuilder");
7
+ const allocationRejectBuilder_1 = require("./allocationRejectBuilder");
8
+ const allocationRequestBuilder_1 = require("./allocationRequestBuilder");
9
+ const cantonCommandBuilder_1 = require("./cantonCommandBuilder");
10
+ const endInvestorOnboardingOfferBuilder_1 = require("./endInvestorOnboardingOfferBuilder");
11
+ const cosignDelegationAcceptBuilder_1 = require("./cosignDelegationAcceptBuilder");
12
+ const cosignDelegationProposalBuilder_1 = require("./cosignDelegationProposalBuilder");
13
+ const oneStepPreApprovalBuilder_1 = require("./oneStepPreApprovalBuilder");
5
14
  const transferAcceptanceBuilder_1 = require("./transferAcceptanceBuilder");
6
15
  const transferAcknowledgeBuilder_1 = require("./transferAcknowledgeBuilder");
7
16
  const transferBuilder_1 = require("./transferBuilder");
17
+ const transferOfferWithdrawnBuilder_1 = require("./transferOfferWithdrawnBuilder");
18
+ const transferRejectionBuilder_1 = require("./transferRejectionBuilder");
8
19
  const transaction_1 = require("./transaction/transaction");
9
20
  const walletInitBuilder_1 = require("./walletInitBuilder");
10
21
  const walletInitTransaction_1 = require("./walletInitialization/walletInitTransaction");
@@ -23,6 +34,9 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
23
34
  const tx = new transaction_1.Transaction(this._coinConfig);
24
35
  tx.fromRawTransaction(raw);
25
36
  switch (tx.type) {
37
+ case sdk_core_1.TransactionType.OneStepPreApproval: {
38
+ return this.getOneStepPreapprovalBuilder(tx);
39
+ }
26
40
  case sdk_core_1.TransactionType.Send: {
27
41
  return this.getTransferBuilder(tx);
28
42
  }
@@ -32,18 +46,81 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
32
46
  case sdk_core_1.TransactionType.TransferAcknowledge: {
33
47
  return this.getTransferAcknowledgeBuilder(tx);
34
48
  }
49
+ case sdk_core_1.TransactionType.CosignDelegationProposal: {
50
+ return this.getCosignDelegationProposalBuilder(tx);
51
+ }
52
+ case sdk_core_1.TransactionType.CosignDelegationAccept: {
53
+ return this.getCosignDelegationAcceptBuilder(tx);
54
+ }
55
+ case sdk_core_1.TransactionType.TransferOfferWithdrawn: {
56
+ return this.getTransferOfferWithdrawnBuilder(tx);
57
+ }
58
+ case sdk_core_1.TransactionType.TransferReject: {
59
+ return this.getTransferRejectBuilder(tx);
60
+ }
61
+ case sdk_core_1.TransactionType.AllocationAllocate: {
62
+ return this.getAllocationAllocateBuilder(tx);
63
+ }
64
+ case sdk_core_1.TransactionType.AllocationAllocateWithdrawn: {
65
+ return this.getAllocationAllocateWithdrawnBuilder(tx);
66
+ }
67
+ case sdk_core_1.TransactionType.AllocationRequest: {
68
+ return this.getAllocationRequestBuilder(tx);
69
+ }
70
+ case sdk_core_1.TransactionType.AllocationReject: {
71
+ return this.getAllocationRejectBuilder(tx);
72
+ }
73
+ case sdk_core_1.TransactionType.CantonCommand: {
74
+ return this.getCantonCommandBuilder(tx);
75
+ }
76
+ case sdk_core_1.TransactionType.EndInvestorOnboardingOffer: {
77
+ return this.getEndInvestorOnboardingOfferBuilder(tx);
78
+ }
35
79
  default: {
36
80
  throw new sdk_core_1.InvalidTransactionError('unsupported transaction');
37
81
  }
38
82
  }
39
83
  }
40
84
  }
85
+ getAllocationAllocateBuilder(tx) {
86
+ return TransactionBuilderFactory.initializeBuilder(tx, new allocationAllocateBuilder_1.AllocationAllocateBuilder(this._coinConfig));
87
+ }
88
+ getAllocationAllocateWithdrawnBuilder(tx) {
89
+ return TransactionBuilderFactory.initializeBuilder(tx, new allocationAllocateWithdrawnBuilder_1.AllocationAllocateWithdrawnBuilder(this._coinConfig));
90
+ }
91
+ getAllocationRejectBuilder(tx) {
92
+ return TransactionBuilderFactory.initializeBuilder(tx, new allocationRejectBuilder_1.AllocationRejectBuilder(this._coinConfig));
93
+ }
94
+ getAllocationRequestBuilder(tx) {
95
+ return TransactionBuilderFactory.initializeBuilder(tx, new allocationRequestBuilder_1.AllocationRequestBuilder(this._coinConfig));
96
+ }
97
+ getCantonCommandBuilder(tx) {
98
+ return TransactionBuilderFactory.initializeBuilder(tx, new cantonCommandBuilder_1.CantonCommandBuilder(this._coinConfig));
99
+ }
100
+ getEndInvestorOnboardingOfferBuilder(tx) {
101
+ return TransactionBuilderFactory.initializeBuilder(tx, new endInvestorOnboardingOfferBuilder_1.EndInvestorOnboardingOfferBuilder(this._coinConfig));
102
+ }
103
+ getOneStepPreapprovalBuilder(tx) {
104
+ return TransactionBuilderFactory.initializeBuilder(tx, new oneStepPreApprovalBuilder_1.OneStepPreApprovalBuilder(this._coinConfig));
105
+ }
41
106
  getTransferAcceptanceBuilder(tx) {
42
107
  return TransactionBuilderFactory.initializeBuilder(tx, new transferAcceptanceBuilder_1.TransferAcceptanceBuilder(this._coinConfig));
43
108
  }
44
109
  getTransferAcknowledgeBuilder(tx) {
45
110
  return TransactionBuilderFactory.initializeBuilder(tx, new transferAcknowledgeBuilder_1.TransferAcknowledgeBuilder(this._coinConfig));
46
111
  }
112
+ getCosignDelegationProposalBuilder(tx) {
113
+ return TransactionBuilderFactory.initializeBuilder(tx, new cosignDelegationProposalBuilder_1.CosignDelegationProposalBuilder(this._coinConfig));
114
+ }
115
+ getCosignDelegationAcceptBuilder(tx) {
116
+ return TransactionBuilderFactory.initializeBuilder(tx, new cosignDelegationAcceptBuilder_1.CosignDelegationAcceptBuilder(this._coinConfig));
117
+ }
118
+ getTransferOfferWithdrawnBuilder(tx) {
119
+ return TransactionBuilderFactory.initializeBuilder(tx, new transferOfferWithdrawnBuilder_1.TransferOfferWithdrawnBuilder(this._coinConfig));
120
+ }
121
+ getTransferRejectBuilder(tx) {
122
+ return TransactionBuilderFactory.initializeBuilder(tx, new transferRejectionBuilder_1.TransferRejectionBuilder(this._coinConfig));
123
+ }
47
124
  /** @inheritdoc */
48
125
  getTransferBuilder(tx) {
49
126
  return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
@@ -60,4 +137,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
60
137
  }
61
138
  }
62
139
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFLOEI7QUFFOUIsMkVBQXdFO0FBQ3hFLDZFQUEwRTtBQUUxRSx1REFBb0Q7QUFDcEQsMkRBQXdEO0FBQ3hELDJEQUF3RDtBQUN4RCx3RkFBcUY7QUFFckYsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBVztRQUNkLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZELEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxFQUFFLEdBQUcsSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckMsQ0FBQztnQkFDRCxLQUFLLDBCQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQy9DLENBQUM7Z0JBQ0QsS0FBSywwQkFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztvQkFDekMsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDUixNQUFNLElBQUksa0NBQXVCLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDL0QsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELDRCQUE0QixDQUFDLEVBQWdCO1FBQzNDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELDZCQUE2QixDQUFDLEVBQWdCO1FBQzVDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksdURBQTBCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUEwQjtRQUN2RCxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQzlCLEVBQW1CLEVBQ25CLE9BQWlCO1FBRWpCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUF6REQsOERBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFdhbGxldEluaXRCdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0QnVpbGRlcic7XG5pbXBvcnQgeyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uL3dhbGxldEluaXRUcmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGZyb20ocmF3OiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIgfCBXYWxsZXRJbml0QnVpbGRlciB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4ID0gbmV3IFdhbGxldEluaXRUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDoge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlOiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0VHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFdhbGxldEluaXRUcmFuc2FjdGlvbik6IFdhbGxldEluaXRCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbGxldEluaXRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVCdWlsZGVyPFRUeCBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiwgVEJ1aWxkZXIgZXh0ZW5kcyB7IGluaXRCdWlsZGVyKHR4OiBUVHgpOiB2b2lkIH0+KFxuICAgIHR4OiBUVHggfCB1bmRlZmluZWQsXG4gICAgYnVpbGRlcjogVEJ1aWxkZXJcbiAgKTogVEJ1aWxkZXIge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG59XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFLOEI7QUFFOUIsMkVBQXdFO0FBQ3hFLDZGQUEwRjtBQUMxRix1RUFBb0U7QUFDcEUseUVBQXNFO0FBQ3RFLGlFQUE4RDtBQUM5RCwyRkFBd0Y7QUFDeEYsbUZBQWdGO0FBQ2hGLHVGQUFvRjtBQUNwRiwyRUFBd0U7QUFDeEUsMkVBQXdFO0FBQ3hFLDZFQUEwRTtBQUUxRSx1REFBb0Q7QUFDcEQsbUZBQWdGO0FBQ2hGLHlFQUFzRTtBQUN0RSwyREFBd0Q7QUFDeEQsMkRBQXdEO0FBQ3hELHdGQUFxRjtBQUVyRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSywwQkFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxJ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QXNJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEFsbG9jYXRpb25BbGxvY2F0ZUJ1aWxkZXIgfSBmcm9tICcuL2FsbG9jYXRpb25BbGxvY2F0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgQWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduQnVpbGRlciB9IGZyb20gJy4vYWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduQnVpbGRlcic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUmVqZWN0QnVpbGRlciB9IGZyb20gJy4vYWxsb2NhdGlvblJlamVjdEJ1aWxkZXInO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJlcXVlc3RCdWlsZGVyIH0gZnJvbSAnLi9hbGxvY2F0aW9uUmVxdWVzdEJ1aWxkZXInO1xuaW1wb3J0IHsgQ2FudG9uQ29tbWFuZEJ1aWxkZXIgfSBmcm9tICcuL2NhbnRvbkNvbW1hbmRCdWlsZGVyJztcbmltcG9ydCB7IEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyQnVpbGRlciB9IGZyb20gJy4vZW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJCdWlsZGVyJztcbmltcG9ydCB7IENvc2lnbkRlbGVnYXRpb25BY2NlcHRCdWlsZGVyIH0gZnJvbSAnLi9jb3NpZ25EZWxlZ2F0aW9uQWNjZXB0QnVpbGRlcic7XG5pbXBvcnQgeyBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyIH0gZnJvbSAnLi9jb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyJztcbmltcG9ydCB7IE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIgfSBmcm9tICcuL29uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNmZXJPZmZlcldpdGhkcmF3bkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyT2ZmZXJXaXRoZHJhd25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJSZWplY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBXYWxsZXRJbml0QnVpbGRlciB9IGZyb20gJy4vd2FsbGV0SW5pdEJ1aWxkZXInO1xuaW1wb3J0IHsgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhdzogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHwgV2FsbGV0SW5pdEJ1aWxkZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eCA9IG5ldyBXYWxsZXRJbml0VHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgIHJldHVybiB0aGlzLmdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgc3dpdGNoICh0eC50eXBlKSB7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLk9uZVN0ZXBQcmVBcHByb3ZhbDoge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldE9uZVN0ZXBQcmVhcHByb3ZhbEJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNjZXB0OiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcih0eCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZToge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Db3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWw6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Db3NpZ25EZWxlZ2F0aW9uQWNjZXB0OiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29zaWduRGVsZWdhdGlvbkFjY2VwdEJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyT2ZmZXJXaXRoZHJhd246IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2Zlck9mZmVyV2l0aGRyYXduQnVpbGRlcih0eCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJSZWplY3Q6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlclJlamVjdEJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25BbGxvY2F0ZToge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbG9jYXRpb25BbGxvY2F0ZUJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25BbGxvY2F0ZVdpdGhkcmF3bjoge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbG9jYXRpb25BbGxvY2F0ZVdpdGhkcmF3bkJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25SZXF1ZXN0OiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsb2NhdGlvblJlcXVlc3RCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BbGxvY2F0aW9uUmVqZWN0OiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsb2NhdGlvblJlamVjdEJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNhbnRvbkNvbW1hbmQ6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDYW50b25Db21tYW5kQnVpbGRlcih0eCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXI6IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRBbGxvY2F0aW9uQWxsb2NhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBBbGxvY2F0aW9uQWxsb2NhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEFsbG9jYXRpb25BbGxvY2F0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0QWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogQWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBBbGxvY2F0aW9uQWxsb2NhdGVXaXRoZHJhd25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRpb25SZWplY3RCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBBbGxvY2F0aW9uUmVqZWN0QnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBBbGxvY2F0aW9uUmVqZWN0QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9uUmVxdWVzdEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IEFsbG9jYXRpb25SZXF1ZXN0QnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBBbGxvY2F0aW9uUmVxdWVzdEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0Q2FudG9uQ29tbWFuZEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IENhbnRvbkNvbW1hbmRCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENhbnRvbkNvbW1hbmRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRPbmVTdGVwUHJlYXBwcm92YWxCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBPbmVTdGVwUHJlQXBwcm92YWxCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0VHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckFja25vd2xlZGdlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0Q29zaWduRGVsZWdhdGlvbkFjY2VwdEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IENvc2lnbkRlbGVnYXRpb25BY2NlcHRCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IENvc2lnbkRlbGVnYXRpb25BY2NlcHRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyT2ZmZXJXaXRoZHJhd25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUcmFuc2Zlck9mZmVyV2l0aGRyYXduQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2Zlck9mZmVyV2l0aGRyYXduQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRUcmFuc2ZlclJlamVjdEJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogV2FsbGV0SW5pdEJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZUJ1aWxkZXI8VFR4IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uLCBUQnVpbGRlciBleHRlbmRzIHsgaW5pdEJ1aWxkZXIodHg6IFRUeCk6IHZvaWQgfT4oXG4gICAgdHg6IFRUeCB8IHVuZGVmaW5lZCxcbiAgICBidWlsZGVyOiBUQnVpbGRlclxuICApOiBUQnVpbGRlciB7XG4gICAgaWYgKHR4KSB7XG4gICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
- import { CantonPrepareCommandResponse, CantonTransferAcceptRequest } from './iface';
3
+ import { CantonPrepareCommandResponse, CantonTransferAcceptRejectRequest } from './iface';
4
4
  import { TransactionBuilder } from './transactionBuilder';
5
5
  import { Transaction } from './transaction/transaction';
6
6
  export declare class TransferAcceptanceBuilder extends TransactionBuilder {
@@ -39,15 +39,15 @@ export declare class TransferAcceptanceBuilder extends TransactionBuilder {
39
39
  */
40
40
  actAs(id: string): this;
41
41
  /**
42
- * Builds and returns the CantonTransferAcceptRequest object from the builder's internal state.
42
+ * Builds and returns the CantonTransferAcceptRejectRequest object from the builder's internal state.
43
43
  *
44
44
  * This method performs validation before constructing the object. If required fields are
45
45
  * missing or invalid, it throws an error.
46
46
  *
47
- * @returns {CantonTransferAcceptRequest} - A fully constructed and validated request object for transfer acceptance.
47
+ * @returns {CantonTransferAcceptRejectRequest} - A fully constructed and validated request object for transfer acceptance.
48
48
  * @throws {Error} If any required field is missing or fails validation.
49
49
  */
50
- toRequestObject(): CantonTransferAcceptRequest;
50
+ toRequestObject(): CantonTransferAcceptRejectRequest;
51
51
  /**
52
52
  * Validates the internal state of the builder before building the request object.
53
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transferAcceptanceBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcceptanceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAClB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;;;;;OAQG;IACH,eAAe,IAAI,2BAA2B;IAY9C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAKjB"}
1
+ {"version":3,"file":"transferAcceptanceBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcceptanceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAClB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;;;;;OAQG;IACH,eAAe,IAAI,iCAAiC;IAYpD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAKjB"}
@@ -43,7 +43,7 @@ class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder
43
43
  * @throws Error if id is empty.
44
44
  */
45
45
  commandId(id) {
46
- if (!id.trim()) {
46
+ if (!id || !id.trim()) {
47
47
  throw new Error('commandId must be a non-empty string');
48
48
  }
49
49
  this._commandId = id.trim();
@@ -58,7 +58,7 @@ class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder
58
58
  * @throws Error if id is empty.
59
59
  */
60
60
  contractId(id) {
61
- if (!id.trim()) {
61
+ if (!id || !id.trim()) {
62
62
  throw new Error('contractId must be a non-empty string');
63
63
  }
64
64
  this._contractId = id.trim();
@@ -72,19 +72,19 @@ class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder
72
72
  * @throws Error if id is empty.
73
73
  */
74
74
  actAs(id) {
75
- if (!id.trim()) {
75
+ if (!id || !id.trim()) {
76
76
  throw new Error('actAsPartyId must be a non-empty string');
77
77
  }
78
78
  this._actAsPartyId = id.trim();
79
79
  return this;
80
80
  }
81
81
  /**
82
- * Builds and returns the CantonTransferAcceptRequest object from the builder's internal state.
82
+ * Builds and returns the CantonTransferAcceptRejectRequest object from the builder's internal state.
83
83
  *
84
84
  * This method performs validation before constructing the object. If required fields are
85
85
  * missing or invalid, it throws an error.
86
86
  *
87
- * @returns {CantonTransferAcceptRequest} - A fully constructed and validated request object for transfer acceptance.
87
+ * @returns {CantonTransferAcceptRejectRequest} - A fully constructed and validated request object for transfer acceptance.
88
88
  * @throws {Error} If any required field is missing or fails validation.
89
89
  */
90
90
  toRequestObject() {
@@ -113,4 +113,4 @@ class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder
113
113
  }
114
114
  }
115
115
  exports.TransferAcceptanceBuilder = TransferAcceptanceBuilder;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMkY7QUFHM0YsNkRBQTBEO0FBRTFELG9EQUE0QjtBQUU1QixNQUFhLHlCQUEwQixTQUFRLHVDQUFrQjtJQUkvRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sMEJBQWUsQ0FBQyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRywwQkFBZSxDQUFDLGNBQWMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsZUFBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsRUFBVTtRQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0IsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQW5IRCw4REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbnRyYWN0SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0QXNQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvblR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGVtcHR5IScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgICBjb25zdCBwdWJLZXlCYXNlNjQgPSB1dGlscy5nZXRCYXNlNjRGcm9tSGV4KHB1YmxpY0tleS5wdWIpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmVyRmluZ2VycHJpbnQgPSB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJLZXlCYXNlNjQpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlcyA9IHNpZ25hdHVyZS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdW5pcXVlIGlkIGZvciB0aGUgdHJhbnNmZXIgYWNjZXB0YW5jZVxuICAgKiBBbHNvIHNldHMgdGhlIF9pZCBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gQSB1dWlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29tbWFuZElkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkLnRyaW0oKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21tYW5kSWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fY29tbWFuZElkID0gaWQudHJpbSgpO1xuICAgIC8vIGFsc28gc2V0IHRoZSB0cmFuc2FjdGlvbiBfaWRcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmlkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjY2VwdGFuY2UgY29udHJhY3QgaWQgdGhlIHJlY2VpdmVyIG5lZWRzIHRvIGFjY2VwdFxuICAgKiBAcGFyYW0gaWQgLSBjYW50b24gYWNjZXB0YW5jZSBjb250cmFjdCBpZFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIGNvbnRyYWN0SWQoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbnRyYWN0SWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fY29udHJhY3RJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByZWNlaXZlciBvZiB0aGUgYWNjZXB0YW5jZVxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSB0aGUgcmVjZWl2ZXIgcGFydHkgaWQgKGFkZHJlc3MpXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgYWN0QXMoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FjdEFzUGFydHlJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9hY3RBc1BhcnR5SWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuZCByZXR1cm5zIHRoZSBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3Qgb2JqZWN0IGZyb20gdGhlIGJ1aWxkZXIncyBpbnRlcm5hbCBzdGF0ZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcGVyZm9ybXMgdmFsaWRhdGlvbiBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBvYmplY3QuIElmIHJlcXVpcmVkIGZpZWxkcyBhcmVcbiAgICogbWlzc2luZyBvciBpbnZhbGlkLCBpdCB0aHJvd3MgYW4gZXJyb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIHtDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3R9IC0gQSBmdWxseSBjb25zdHJ1Y3RlZCBhbmQgdmFsaWRhdGVkIHJlcXVlc3Qgb2JqZWN0IGZvciB0cmFuc2ZlciBhY2NlcHRhbmNlLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3Qge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kSWQ6IHRoaXMuX2NvbW1hbmRJZCxcbiAgICAgIGNvbnRyYWN0SWQ6IHRoaXMuX2NvbnRyYWN0SWQsXG4gICAgICB2ZXJib3NlSGFzaGluZzogZmFsc2UsXG4gICAgICBhY3RBczogW3RoaXMuX2FjdEFzUGFydHlJZF0sXG4gICAgICByZWFkQXM6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb21tYW5kSWQpIHRocm93IG5ldyBFcnJvcignY29tbWFuZElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2NvbnRyYWN0SWQpIHRocm93IG5ldyBFcnJvcignY29udHJhY3RJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9hY3RBc1BhcnR5SWQpIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXIgcGFydHlJZCBpcyBtaXNzaW5nJyk7XG4gIH1cbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMkY7QUFHM0YsNkRBQTBEO0FBRTFELG9EQUE0QjtBQUU1QixNQUFhLHlCQUEwQixTQUFRLHVDQUFrQjtJQUkvRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sMEJBQWUsQ0FBQyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRywwQkFBZSxDQUFDLGNBQWMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsZUFBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxFQUFVO1FBQ25CLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxFQUFVO1FBQ2QsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0IsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQW5IRCw4REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbnRyYWN0SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0QXNQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvblR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGVtcHR5IScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgICBjb25zdCBwdWJLZXlCYXNlNjQgPSB1dGlscy5nZXRCYXNlNjRGcm9tSGV4KHB1YmxpY0tleS5wdWIpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmVyRmluZ2VycHJpbnQgPSB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJLZXlCYXNlNjQpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlcyA9IHNpZ25hdHVyZS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdW5pcXVlIGlkIGZvciB0aGUgdHJhbnNmZXIgYWNjZXB0YW5jZVxuICAgKiBBbHNvIHNldHMgdGhlIF9pZCBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gQSB1dWlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29tbWFuZElkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkIHx8ICFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29tbWFuZElkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbW1hbmRJZCA9IGlkLnRyaW0oKTtcbiAgICAvLyBhbHNvIHNldCB0aGUgdHJhbnNhY3Rpb24gX2lkXG4gICAgdGhpcy50cmFuc2FjdGlvbi5pZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhY2NlcHRhbmNlIGNvbnRyYWN0IGlkIHRoZSByZWNlaXZlciBuZWVkcyB0byBhY2NlcHRcbiAgICogQHBhcmFtIGlkIC0gY2FudG9uIGFjY2VwdGFuY2UgY29udHJhY3QgaWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBjb250cmFjdElkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkIHx8ICFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29udHJhY3RJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdElkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIG9mIHRoZSBhY2NlcHRhbmNlXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIHRoZSByZWNlaXZlciBwYXJ0eSBpZCAoYWRkcmVzcylcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBhY3RBcyhpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZCB8fCAhaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FjdEFzUGFydHlJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9hY3RBc1BhcnR5SWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuZCByZXR1cm5zIHRoZSBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3Qgb2JqZWN0IGZyb20gdGhlIGJ1aWxkZXIncyBpbnRlcm5hbCBzdGF0ZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcGVyZm9ybXMgdmFsaWRhdGlvbiBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBvYmplY3QuIElmIHJlcXVpcmVkIGZpZWxkcyBhcmVcbiAgICogbWlzc2luZyBvciBpbnZhbGlkLCBpdCB0aHJvd3MgYW4gZXJyb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIHtDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3R9IC0gQSBmdWxseSBjb25zdHJ1Y3RlZCBhbmQgdmFsaWRhdGVkIHJlcXVlc3Qgb2JqZWN0IGZvciB0cmFuc2ZlciBhY2NlcHRhbmNlLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3Qge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kSWQ6IHRoaXMuX2NvbW1hbmRJZCxcbiAgICAgIGNvbnRyYWN0SWQ6IHRoaXMuX2NvbnRyYWN0SWQsXG4gICAgICB2ZXJib3NlSGFzaGluZzogZmFsc2UsXG4gICAgICBhY3RBczogW3RoaXMuX2FjdEFzUGFydHlJZF0sXG4gICAgICByZWFkQXM6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb21tYW5kSWQpIHRocm93IG5ldyBFcnJvcignY29tbWFuZElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2NvbnRyYWN0SWQpIHRocm93IG5ldyBFcnJvcignY29udHJhY3RJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9hY3RBc1BhcnR5SWQpIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXIgcGFydHlJZCBpcyBtaXNzaW5nJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,94 @@
1
1
  import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { TransactionBuilder } from './transactionBuilder';
4
- import { CantonPrepareCommandResponse } from './iface';
4
+ import { Transaction } from './transaction/transaction';
5
+ import { CantonPrepareCommandResponse, CantonTransferRequest } from './iface';
5
6
  export declare class TransferBuilder extends TransactionBuilder {
7
+ private _commandId;
8
+ private _senderId;
9
+ private _receiverId;
10
+ private _amount;
11
+ private _sendOneStep;
12
+ private _expiryEpoch;
13
+ private _memoId;
14
+ private _tokenName;
6
15
  constructor(_coinConfig: Readonly<CoinConfig>);
7
- protected get transactionType(): TransactionType;
16
+ initBuilder(tx: Transaction): void;
17
+ get transactionType(): TransactionType;
18
+ setTransactionType(): void;
8
19
  setTransaction(transaction: CantonPrepareCommandResponse): void;
9
20
  /** @inheritDoc */
10
21
  addSignature(publicKey: PublicKey, signature: Buffer): void;
22
+ /**
23
+ * Sets the unique id for the transfer
24
+ * Also sets the _id of the transaction
25
+ *
26
+ * @param id - A uuid
27
+ * @returns The current builder instance for chaining.
28
+ * @throws Error if id is empty.
29
+ */
30
+ commandId(id: string): this;
31
+ /**
32
+ * Sets the sender party id for the transfer
33
+ * @param id - sender address (party id)
34
+ * @returns The current builder instance for chaining.
35
+ * @throws Error if id is empty.
36
+ */
37
+ senderId(id: string): this;
38
+ /**
39
+ * Sets the receiver party id for the transfer
40
+ * @param id - receiver address (party id)
41
+ * @returns The current builder instance for chaining.
42
+ * @throws Error if id is empty.
43
+ */
44
+ receiverId(id: string): this;
45
+ /**
46
+ * Sets the transfer amount
47
+ * @param amount - transfer amount
48
+ * @returns The current builder instance for chaining.
49
+ * @throws Error if amount not present or negative
50
+ */
51
+ amount(amount: number): this;
52
+ /**
53
+ * Sets the 1-step enablement flag to send via 1-step, works only if recipient
54
+ * enabled the 1-step, defaults to `false`
55
+ * @param flag boolean value
56
+ * @returns The current builder for chaining
57
+ */
58
+ sendOneStep(flag: boolean): this;
59
+ /**
60
+ * Sets the transfer expiry
61
+ * @param epoch - the expiry for 2-step transfer, defaults to 90 days and
62
+ * not applicable if sending via 1-step
63
+ * @returns The current builder for chaining
64
+ * @throws Error if the expiry value is invalid
65
+ */
66
+ expiryEpoch(epoch: number): this;
67
+ /**
68
+ * Sets the optional memoId if present
69
+ * @param id - memoId of the recipient
70
+ * @returns The current builder for chaining
71
+ * @throws Error if the memoId value is invalid
72
+ */
73
+ memoId(id: string): this;
74
+ /**
75
+ * Sets the optional token field if present, used for canton token transaction
76
+ * @param name - the bitgo name of the token
77
+ * @returns The current builder for chaining
78
+ * @throws Error if name is invalid
79
+ */
80
+ tokenName(name: string): this;
81
+ /**
82
+ * Get the canton transfer request object
83
+ * @returns CantonTransferRequest
84
+ * @throws Error if any required params are missing
85
+ */
86
+ toRequestObject(): CantonTransferRequest;
87
+ /**
88
+ * Method to validate the required fields
89
+ * @throws Error if required fields are not set
90
+ * @private
91
+ */
92
+ private validate;
11
93
  }
12
94
  //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAG5D"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG9E,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;gBACf,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAKhC;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQxB;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ7B;;;;OAIG;IACH,eAAe,IAAI,qBAAqB;IAmBxC;;;;OAIG;IACH,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1,22 +1,186 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TransferBuilder = void 0;
4
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
8
  const transactionBuilder_1 = require("./transactionBuilder");
9
+ const utils_1 = __importDefault(require("./utils"));
6
10
  class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
7
11
  constructor(_coinConfig) {
8
12
  super(_coinConfig);
13
+ this._sendOneStep = false;
14
+ }
15
+ initBuilder(tx) {
16
+ super.initBuilder(tx);
17
+ this.setTransactionType();
9
18
  }
10
19
  get transactionType() {
11
20
  return sdk_core_1.TransactionType.Send;
12
21
  }
22
+ setTransactionType() {
23
+ this.transaction.transactionType = sdk_core_1.TransactionType.Send;
24
+ }
13
25
  setTransaction(transaction) {
14
26
  this.transaction.prepareCommand = transaction;
15
27
  }
16
28
  /** @inheritDoc */
17
29
  addSignature(publicKey, signature) {
18
- throw new Error('Not implemented');
30
+ if (!this.transaction) {
31
+ throw new sdk_core_1.InvalidTransactionError('transaction is empty!');
32
+ }
33
+ this._signatures.push({ publicKey, signature });
34
+ const pubKeyBase64 = utils_1.default.getBase64FromHex(publicKey.pub);
35
+ this.transaction.signerFingerprint = utils_1.default.getAddressFromPublicKey(pubKeyBase64);
36
+ this.transaction.signatures = signature.toString('base64');
37
+ }
38
+ /**
39
+ * Sets the unique id for the transfer
40
+ * Also sets the _id of the transaction
41
+ *
42
+ * @param id - A uuid
43
+ * @returns The current builder instance for chaining.
44
+ * @throws Error if id is empty.
45
+ */
46
+ commandId(id) {
47
+ if (!id || !id.trim()) {
48
+ throw new Error('commandId must be a non-empty string');
49
+ }
50
+ this._commandId = id.trim();
51
+ // also set the transaction _id
52
+ this.transaction.id = id.trim();
53
+ return this;
54
+ }
55
+ /**
56
+ * Sets the sender party id for the transfer
57
+ * @param id - sender address (party id)
58
+ * @returns The current builder instance for chaining.
59
+ * @throws Error if id is empty.
60
+ */
61
+ senderId(id) {
62
+ if (!id || !id.trim()) {
63
+ throw new Error('senderId must be a non-empty string');
64
+ }
65
+ this._senderId = id.trim();
66
+ return this;
67
+ }
68
+ /**
69
+ * Sets the receiver party id for the transfer
70
+ * @param id - receiver address (party id)
71
+ * @returns The current builder instance for chaining.
72
+ * @throws Error if id is empty.
73
+ */
74
+ receiverId(id) {
75
+ if (!id || !id.trim()) {
76
+ throw new Error('receiverId must be a non-empty string');
77
+ }
78
+ this._receiverId = id.trim();
79
+ return this;
80
+ }
81
+ /**
82
+ * Sets the transfer amount
83
+ * @param amount - transfer amount
84
+ * @returns The current builder instance for chaining.
85
+ * @throws Error if amount not present or negative
86
+ */
87
+ amount(amount) {
88
+ if (!amount || amount < 0) {
89
+ throw new Error('amount must be a positive number');
90
+ }
91
+ this._amount = amount;
92
+ return this;
93
+ }
94
+ /**
95
+ * Sets the 1-step enablement flag to send via 1-step, works only if recipient
96
+ * enabled the 1-step, defaults to `false`
97
+ * @param flag boolean value
98
+ * @returns The current builder for chaining
99
+ */
100
+ sendOneStep(flag) {
101
+ this._sendOneStep = flag;
102
+ return this;
103
+ }
104
+ /**
105
+ * Sets the transfer expiry
106
+ * @param epoch - the expiry for 2-step transfer, defaults to 90 days and
107
+ * not applicable if sending via 1-step
108
+ * @returns The current builder for chaining
109
+ * @throws Error if the expiry value is invalid
110
+ */
111
+ expiryEpoch(epoch) {
112
+ if (!epoch || epoch < 0) {
113
+ throw new Error('epoch must be a positive number');
114
+ }
115
+ this._expiryEpoch = epoch;
116
+ return this;
117
+ }
118
+ /**
119
+ * Sets the optional memoId if present
120
+ * @param id - memoId of the recipient
121
+ * @returns The current builder for chaining
122
+ * @throws Error if the memoId value is invalid
123
+ */
124
+ memoId(id) {
125
+ if (!id || !id.trim()) {
126
+ throw new Error('memoId must be a non-empty string');
127
+ }
128
+ this._memoId = id.trim();
129
+ return this;
130
+ }
131
+ /**
132
+ * Sets the optional token field if present, used for canton token transaction
133
+ * @param name - the bitgo name of the token
134
+ * @returns The current builder for chaining
135
+ * @throws Error if name is invalid
136
+ */
137
+ tokenName(name) {
138
+ if (!name || !name.trim()) {
139
+ throw new Error('token name must be a non-empty string');
140
+ }
141
+ this._tokenName = name.trim();
142
+ return this;
143
+ }
144
+ /**
145
+ * Get the canton transfer request object
146
+ * @returns CantonTransferRequest
147
+ * @throws Error if any required params are missing
148
+ */
149
+ toRequestObject() {
150
+ this.validate();
151
+ const data = {
152
+ commandId: this._commandId,
153
+ senderPartyId: this._senderId,
154
+ receiverPartyId: this._receiverId,
155
+ amount: this._amount,
156
+ expiryEpoch: this._expiryEpoch,
157
+ sendViaOneStep: this._sendOneStep,
158
+ };
159
+ if (this._memoId) {
160
+ data.memoId = this._memoId;
161
+ }
162
+ if (this._tokenName) {
163
+ data.tokenName = this._tokenName;
164
+ }
165
+ return data;
166
+ }
167
+ /**
168
+ * Method to validate the required fields
169
+ * @throws Error if required fields are not set
170
+ * @private
171
+ */
172
+ validate() {
173
+ if (!this._commandId)
174
+ throw new Error('commandId is missing');
175
+ if (!this._senderId)
176
+ throw new Error('senderId is missing');
177
+ if (!this._receiverId)
178
+ throw new Error('receiverId is missing');
179
+ if (!this._amount)
180
+ throw new Error('amount is missing');
181
+ if (!this._expiryEpoch)
182
+ throw new Error('expiryEpoch is missing');
19
183
  }
20
184
  }
21
185
  exports.TransferBuilder = TransferBuilder;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWtFO0FBRWxFLDZEQUEwRDtBQUcxRCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFqQkQsMENBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5wcmVwYXJlQ29tbWFuZCA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTJGO0FBRTNGLDZEQUEwRDtBQUcxRCxvREFBNEI7QUFFNUIsTUFBYSxlQUFnQixTQUFRLHVDQUFrQjtJQVNyRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUxiLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBTTdCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzFELENBQUM7SUFFRCxjQUFjLENBQUMsV0FBeUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWSxDQUFDLFNBQW9CLEVBQUUsU0FBaUI7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksa0NBQXVCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUks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QUFJLENBQUMsWUFBWTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUEvTEQsMENBK0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFB1YmxpY0tleSwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UsIENhbnRvblRyYW5zZmVyUmVxdWVzdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX3NlbmRlcklkOiBzdHJpbmc7XG4gIHByaXZhdGUgX3JlY2VpdmVySWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYW1vdW50OiBudW1iZXI7XG4gIHByaXZhdGUgX3NlbmRPbmVTdGVwID0gZmFsc2U7XG4gIHByaXZhdGUgX2V4cGlyeUVwb2NoOiBudW1iZXI7XG4gIHByaXZhdGUgX21lbW9JZDogc3RyaW5nO1xuICBwcml2YXRlIF90b2tlbk5hbWU6IHN0cmluZztcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMuc2V0VHJhbnNhY3Rpb25UeXBlKCk7XG4gIH1cblxuICBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlID0gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGVtcHR5IScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgICBjb25zdCBwdWJLZXlCYXNlNjQgPSB1dGlscy5nZXRCYXNlNjRGcm9tSGV4KHB1YmxpY0tleS5wdWIpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmVyRmluZ2VycHJpbnQgPSB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJLZXlCYXNlNjQpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlcyA9IHNpZ25hdHVyZS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdW5pcXVlIGlkIGZvciB0aGUgdHJhbnNmZXJcbiAgICogQWxzbyBzZXRzIHRoZSBfaWQgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIEEgdXVpZFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIGNvbW1hbmRJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZCB8fCAhaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbW1hbmRJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb21tYW5kSWQgPSBpZC50cmltKCk7XG4gICAgLy8gYWxzbyBzZXQgdGhlIHRyYW5zYWN0aW9uIF9pZFxuICAgIHRoaXMudHJhbnNhY3Rpb24uaWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIHBhcnR5IGlkIGZvciB0aGUgdHJhbnNmZXJcbiAgICogQHBhcmFtIGlkIC0gc2VuZGVyIGFkZHJlc3MgKHBhcnR5IGlkKVxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIHNlbmRlcklkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkIHx8ICFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2VuZGVySWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fc2VuZGVySWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcmVjZWl2ZXIgcGFydHkgaWQgZm9yIHRoZSB0cmFuc2ZlclxuICAgKiBAcGFyYW0gaWQgLSByZWNlaXZlciBhZGRyZXNzIChwYXJ0eSBpZClcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICByZWNlaXZlcklkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkIHx8ICFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXJJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9yZWNlaXZlcklkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRyYW5zZmVyIGFtb3VudFxuICAgKiBAcGFyYW0gYW1vdW50IC0gdHJhbnNmZXIgYW1vdW50XG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGFtb3VudCBub3QgcHJlc2VudCBvciBuZWdhdGl2ZVxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogbnVtYmVyKTogdGhpcyB7XG4gICAgaWYgKCFhbW91bnQgfHwgYW1vdW50IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICAgIH1cbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgMS1zdGVwIGVuYWJsZW1lbnQgZmxhZyB0byBzZW5kIHZpYSAxLXN0ZXAsIHdvcmtzIG9ubHkgaWYgcmVjaXBpZW50XG4gICAqIGVuYWJsZWQgdGhlIDEtc3RlcCwgZGVmYXVsdHMgdG8gYGZhbHNlYFxuICAgKiBAcGFyYW0gZmxhZyBib29sZWFuIHZhbHVlXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgZm9yIGNoYWluaW5nXG4gICAqL1xuICBzZW5kT25lU3RlcChmbGFnOiBib29sZWFuKTogdGhpcyB7XG4gICAgdGhpcy5fc2VuZE9uZVN0ZXAgPSBmbGFnO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRyYW5zZmVyIGV4cGlyeVxuICAgKiBAcGFyYW0gZXBvY2ggLSB0aGUgZXhwaXJ5IGZvciAyLXN0ZXAgdHJhbnNmZXIsIGRlZmF1bHRzIHRvIDkwIGRheXMgYW5kXG4gICAqIG5vdCBhcHBsaWNhYmxlIGlmIHNlbmRpbmcgdmlhIDEtc3RlcFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBleHBpcnkgdmFsdWUgaXMgaW52YWxpZFxuICAgKi9cbiAgZXhwaXJ5RXBvY2goZXBvY2g6IG51bWJlcik6IHRoaXMge1xuICAgIGlmICghZXBvY2ggfHwgZXBvY2ggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Vwb2NoIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtcbiAgICB9XG4gICAgdGhpcy5fZXhwaXJ5RXBvY2ggPSBlcG9jaDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvcHRpb25hbCBtZW1vSWQgaWYgcHJlc2VudFxuICAgKiBAcGFyYW0gaWQgLSBtZW1vSWQgb2YgdGhlIHJlY2lwaWVudFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGZvciBjaGFpbmluZ1xuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBtZW1vSWQgdmFsdWUgaXMgaW52YWxpZFxuICAgKi9cbiAgbWVtb0lkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkIHx8ICFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWVtb0lkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX21lbW9JZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvcHRpb25hbCB0b2tlbiBmaWVsZCBpZiBwcmVzZW50LCB1c2VkIGZvciBjYW50b24gdG9rZW4gdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG5hbWUgLSB0aGUgYml0Z28gbmFtZSBvZiB0aGUgdG9rZW5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBmb3IgY2hhaW5pbmdcbiAgICogQHRocm93cyBFcnJvciBpZiBuYW1lIGlzIGludmFsaWRcbiAgICovXG4gIHRva2VuTmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIW5hbWUgfHwgIW5hbWUudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Rva2VuIG5hbWUgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fdG9rZW5OYW1lID0gbmFtZS50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjYW50b24gdHJhbnNmZXIgcmVxdWVzdCBvYmplY3RcbiAgICogQHJldHVybnMgQ2FudG9uVHJhbnNmZXJSZXF1ZXN0XG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgYW55IHJlcXVpcmVkIHBhcmFtcyBhcmUgbWlzc2luZ1xuICAgKi9cbiAgdG9SZXF1ZXN0T2JqZWN0KCk6IENhbnRvblRyYW5zZmVyUmVxdWVzdCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgIGNvbnN0IGRhdGE6IENhbnRvblRyYW5zZmVyUmVxdWVzdCA9IHtcbiAgICAgIGNvbW1hbmRJZDogdGhpcy5fY29tbWFuZElkLFxuICAgICAgc2VuZGVyUGFydHlJZDogdGhpcy5fc2VuZGVySWQsXG4gICAgICByZWNlaXZlclBhcnR5SWQ6IHRoaXMuX3JlY2VpdmVySWQsXG4gICAgICBhbW91bnQ6IHRoaXMuX2Ftb3VudCxcbiAgICAgIGV4cGlyeUVwb2NoOiB0aGlzLl9leHBpcnlFcG9jaCxcbiAgICAgIHNlbmRWaWFPbmVTdGVwOiB0aGlzLl9zZW5kT25lU3RlcCxcbiAgICB9O1xuICAgIGlmICh0aGlzLl9tZW1vSWQpIHtcbiAgICAgIGRhdGEubWVtb0lkID0gdGhpcy5fbWVtb0lkO1xuICAgIH1cbiAgICBpZiAodGhpcy5fdG9rZW5OYW1lKSB7XG4gICAgICBkYXRhLnRva2VuTmFtZSA9IHRoaXMuX3Rva2VuTmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIHZhbGlkYXRlIHRoZSByZXF1aXJlZCBmaWVsZHNcbiAgICogQHRocm93cyBFcnJvciBpZiByZXF1aXJlZCBmaWVsZHMgYXJlIG5vdCBzZXRcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb21tYW5kSWQpIHRocm93IG5ldyBFcnJvcignY29tbWFuZElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX3NlbmRlcklkKSB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRlcklkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX3JlY2VpdmVySWQpIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXJJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9hbW91bnQpIHRocm93IG5ldyBFcnJvcignYW1vdW50IGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2V4cGlyeUVwb2NoKSB0aHJvdyBuZXcgRXJyb3IoJ2V4cGlyeUVwb2NoIGlzIG1pc3NpbmcnKTtcbiAgfVxufVxuIl19