@coinbase-sample/prime-sdk-ts 0.7.1 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/activities/index.js +14 -0
  2. package/dist/addressBooks/index.js +10 -0
  3. package/dist/allocations/index.js +12 -0
  4. package/dist/assets/index.js +4 -0
  5. package/dist/balances/index.js +15 -0
  6. package/dist/commission/index.js +4 -0
  7. package/dist/constants.js +1 -1
  8. package/dist/financing/index.js +70 -0
  9. package/dist/futures/index.js +53 -0
  10. package/dist/index.js +7 -1
  11. package/dist/invoices/index.js +4 -0
  12. package/dist/model/DateOfBirth.js +21 -0
  13. package/dist/model/DetailedAddress.js +21 -0
  14. package/dist/model/GetFcmSettingsResponse.js +21 -0
  15. package/dist/model/GetUnstakingStatusResponse.js +21 -0
  16. package/dist/model/ListFinancingEligibleAssetsResponse.js +21 -0
  17. package/dist/model/ListTFObligationsResponse.js +21 -0
  18. package/dist/model/NaturalPersonName.js +21 -0
  19. package/dist/model/PreviewUnstakeRequest.js +21 -0
  20. package/dist/model/PreviewUnstakeResponse.js +21 -0
  21. package/dist/model/ProcessRequirements.js +21 -0
  22. package/dist/model/RewardMetadata.js +21 -0
  23. package/dist/model/SetFcmSettingsRequest.js +21 -0
  24. package/dist/model/SetFcmSettingsResponse.js +21 -0
  25. package/dist/model/TFAsset.js +21 -0
  26. package/dist/model/TFObligation.js +21 -0
  27. package/dist/model/TravelRuleEntry.js +21 -0
  28. package/dist/model/TravelRuleParty.js +21 -0
  29. package/dist/model/TravelRuleWalletDetails.js +21 -0
  30. package/dist/model/UnstakingStatus.js +21 -0
  31. package/dist/model/VASP.js +21 -0
  32. package/dist/model/ValidatorUnstakingInfo.js +21 -0
  33. package/dist/model/enums/CandlesGranularity.js +3 -3
  34. package/dist/model/enums/EstimateType.js +28 -0
  35. package/dist/model/enums/OrderType.js +2 -1
  36. package/dist/model/enums/PegOffsetType.js +31 -0
  37. package/dist/model/enums/RewardSubtype.js +34 -0
  38. package/dist/model/enums/TransactionType.js +3 -1
  39. package/dist/model/enums/TravelRuleStatus.js +28 -0
  40. package/dist/model/enums/TravelRuleWalletType.js +31 -0
  41. package/dist/model/enums/UnstakeType.js +28 -0
  42. package/dist/model/enums/UserRole.js +2 -1
  43. package/dist/model/enums/XMCallType.js +2 -1
  44. package/dist/model/enums/XMEntityCallStatus.js +2 -1
  45. package/dist/model/enums/index.js +14 -2
  46. package/dist/onchainAddressBook/index.js +14 -0
  47. package/dist/orders/index.js +59 -0
  48. package/dist/paymentMethods/index.js +8 -0
  49. package/dist/portfolios/index.js +10 -0
  50. package/dist/positions/index.js +7 -0
  51. package/dist/products/index.js +11 -0
  52. package/dist/shared/__tests__/validation.test.js +270 -0
  53. package/dist/shared/validation.js +210 -0
  54. package/dist/staking/index.js +63 -0
  55. package/dist/transactions/index.js +42 -0
  56. package/dist/types/activities/types.d.ts +1 -0
  57. package/dist/types/constants.d.ts +1 -1
  58. package/dist/types/financing/index.d.ts +5 -1
  59. package/dist/types/financing/types.d.ts +7 -1
  60. package/dist/types/futures/index.d.ts +6 -2
  61. package/dist/types/futures/types.d.ts +10 -1
  62. package/dist/types/index.d.ts +3 -0
  63. package/dist/types/model/CreateOrderRequest.d.ts +8 -1
  64. package/dist/types/model/CreatePortfolioAddressBookEntryRequest.d.ts +6 -0
  65. package/dist/types/model/DateOfBirth.d.ts +24 -0
  66. package/dist/types/model/DetailedAddress.d.ts +28 -0
  67. package/dist/types/model/GetFcmSettingsResponse.d.ts +25 -0
  68. package/dist/types/model/GetUnstakingStatusResponse.d.ts +42 -0
  69. package/dist/types/model/ListFinancingEligibleAssetsResponse.d.ts +26 -0
  70. package/dist/types/model/ListTFObligationsResponse.d.ts +26 -0
  71. package/dist/types/model/NaturalPersonName.d.ts +24 -0
  72. package/dist/types/model/NetworkDetails.d.ts +4 -0
  73. package/dist/types/model/Order.d.ts +12 -0
  74. package/dist/types/model/OrderPreviewRequest.d.ts +7 -0
  75. package/dist/types/model/PreviewUnstakeRequest.d.ts +28 -0
  76. package/dist/types/model/PreviewUnstakeResponse.d.ts +28 -0
  77. package/dist/types/model/ProcessRequirements.d.ts +23 -0
  78. package/dist/types/model/RewardMetadata.d.ts +23 -0
  79. package/dist/types/model/SetFcmSettingsRequest.d.ts +25 -0
  80. package/dist/types/model/SetFcmSettingsResponse.d.ts +25 -0
  81. package/dist/types/model/TFAsset.d.ts +33 -0
  82. package/dist/types/model/TFObligation.d.ts +41 -0
  83. package/dist/types/model/Transaction.d.ts +2 -0
  84. package/dist/types/model/TransactionMetadata.d.ts +2 -0
  85. package/dist/types/model/TravelRuleEntry.d.ts +38 -0
  86. package/dist/types/model/TravelRuleParty.d.ts +32 -0
  87. package/dist/types/model/TravelRuleWalletDetails.d.ts +28 -0
  88. package/dist/types/model/UnstakingStatus.d.ts +45 -0
  89. package/dist/types/model/VASP.d.ts +27 -0
  90. package/dist/types/model/ValidatorUnstakingInfo.d.ts +30 -0
  91. package/dist/types/model/enums/CandlesGranularity.d.ts +3 -3
  92. package/dist/types/model/enums/EstimateType.d.ts +24 -0
  93. package/dist/types/model/enums/OrderType.d.ts +3 -2
  94. package/dist/types/model/enums/PegOffsetType.d.ts +27 -0
  95. package/dist/types/model/enums/RewardSubtype.d.ts +30 -0
  96. package/dist/types/model/enums/TransactionType.d.ts +4 -2
  97. package/dist/types/model/enums/TravelRuleStatus.d.ts +24 -0
  98. package/dist/types/model/enums/TravelRuleWalletType.d.ts +27 -0
  99. package/dist/types/model/enums/UnstakeType.d.ts +24 -0
  100. package/dist/types/model/enums/UserRole.d.ts +3 -2
  101. package/dist/types/model/enums/XMCallType.d.ts +3 -2
  102. package/dist/types/model/enums/XMEntityCallStatus.d.ts +3 -2
  103. package/dist/types/model/enums/index.d.ts +6 -0
  104. package/dist/types/model/index.d.ts +21 -0
  105. package/dist/types/orders/types.d.ts +1 -1
  106. package/dist/types/shared/__tests__/validation.test.d.ts +1 -0
  107. package/dist/types/shared/validation.d.ts +88 -0
  108. package/dist/types/staking/index.d.ts +5 -1
  109. package/dist/types/staking/types.d.ts +12 -1
  110. package/dist/types/transactions/types.d.ts +3 -1
  111. package/dist/types/wallets/types.d.ts +2 -1
  112. package/dist/users/index.js +7 -0
  113. package/dist/wallets/index.js +27 -0
  114. package/package.json +13 -9
@@ -21,11 +21,12 @@
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.XMCallType = void 0;
23
23
  /**
24
- * - CALL_TYPE_STANDARD: Evaluated at standard margin call evaluation time - CALL_TYPE_URGENT: Evaluated in realtime
24
+ * - CALL_TYPE_STANDARD: Evaluated at standard margin call evaluation time - CALL_TYPE_URGENT: Evaluated in realtime - CALL_TYPE_DEBIT: Evaluated at debit call evaluation time
25
25
  */
26
26
  var XMCallType;
27
27
  (function (XMCallType) {
28
28
  XMCallType["XmCallTypeUnspecified"] = "XM_CALL_TYPE_UNSPECIFIED";
29
29
  XMCallType["CallTypeStandard"] = "CALL_TYPE_STANDARD";
30
30
  XMCallType["CallTypeUrgent"] = "CALL_TYPE_URGENT";
31
+ XMCallType["CallTypeDebit"] = "CALL_TYPE_DEBIT";
31
32
  })(XMCallType || (exports.XMCallType = XMCallType = {}));
@@ -21,7 +21,7 @@
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.XMEntityCallStatus = void 0;
23
23
  /**
24
- * - ENTITY_NO_CALL: There are no margin calls - ENTITY_OPEN_STANDARD_CALL: There is a standard margin call. There are no urgent margin calls, and no expired margin calls. - ENTITY_OPEN_URGENT_CALL: There is an urgent margin call. It is possible that there could also be a standard margin call, but there are no expired margin calls. - ENTITY_AGED_CALL: At least one open margin call is aged (standard or urgent). This may trigger the SESSION_LOCKED control status.
24
+ * XMEntityCallStatus summarizes the state of open margin calls or debit calls. When multiple calls exist, the status reflects the highest priority call type. Priority order (highest to lowest): aged > urgent > standard > debit. - ENTITY_NO_CALL: There are no margin calls or debit calls. - ENTITY_OPEN_STANDARD_CALL: There is a standard margin call. There may also be debit calls, but there are no urgent margin calls or expired calls.. - ENTITY_OPEN_URGENT_CALL: There is an urgent margin call. There may also be standard margin calls or debit calls, but there are no expired calls. - ENTITY_AGED_CALL: At least one open margin call (standard or urgent) or debit call is aged. This will trigger the SESSION_LOCKED control status. - ENTITY_OPEN_DEBIT_CALL: There is a debit call. There are no standard margin calls, urgent margin calls, or expired calls.
25
25
  */
26
26
  var XMEntityCallStatus;
27
27
  (function (XMEntityCallStatus) {
@@ -30,4 +30,5 @@ var XMEntityCallStatus;
30
30
  XMEntityCallStatus["EntityOpenStandardCall"] = "ENTITY_OPEN_STANDARD_CALL";
31
31
  XMEntityCallStatus["EntityOpenUrgentCall"] = "ENTITY_OPEN_URGENT_CALL";
32
32
  XMEntityCallStatus["EntityAgedCall"] = "ENTITY_AGED_CALL";
33
+ XMEntityCallStatus["EntityOpenDebitCall"] = "ENTITY_OPEN_DEBIT_CALL";
33
34
  })(XMEntityCallStatus || (exports.XMEntityCallStatus = XMEntityCallStatus = {}));
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XMMarginLevel = exports.XMEntityCallStatus = exports.XMControlStatus = exports.XMCallType = exports.XMCallStatus = exports.WalletVisibility = exports.WalletType = exports.WalletDepositInstructionType = exports.VisibilityStatus = exports.ValidatorStatus = exports.UserRole = exports.TransferLocationType = exports.TransactionType = exports.TransactionStatus = exports.TimeInForceType = exports.SortDirection = exports.SigningStatus = exports.RateType = exports.ProductPermissions = exports.PositionReferenceType = exports.PortfolioBalanceType = exports.PaymentMethodType = exports.OrderType = exports.OrderStatus = exports.OrderSide = exports.NetworkType = exports.NetworkFamily = exports.MarginAddOnType = exports.LoanType = exports.InvoiceType = exports.InvoiceState = exports.HierarchyType = exports.FcmPositionSide = exports.FcmMarginCallType = exports.FcmMarginCallState = exports.FcmFuturesSweepStatus = exports.DestinationType = exports.CandlesGranularity = exports.Benchmark = exports.AssetChangeType = exports.AllocationStatus = exports.AllocationSizeType = exports.PrimeActivityType = exports.ActivityStatus = exports.ActivitySecondaryType = exports.ActivityLevel = exports.ActivityCategory = exports.Action = exports.AddressBookType = exports.CustodyActivityType = void 0;
4
- exports.XMParty = void 0;
3
+ exports.WalletType = exports.WalletDepositInstructionType = exports.VisibilityStatus = exports.ValidatorStatus = exports.UserRole = exports.UnstakeType = exports.TravelRuleWalletType = exports.TravelRuleStatus = exports.TransferLocationType = exports.TransactionType = exports.TransactionStatus = exports.TimeInForceType = exports.SortDirection = exports.SigningStatus = exports.RewardSubtype = exports.RateType = exports.ProductPermissions = exports.PositionReferenceType = exports.PortfolioBalanceType = exports.PegOffsetType = exports.PaymentMethodType = exports.OrderType = exports.OrderStatus = exports.OrderSide = exports.NetworkType = exports.NetworkFamily = exports.MarginAddOnType = exports.LoanType = exports.InvoiceType = exports.InvoiceState = exports.HierarchyType = exports.FcmPositionSide = exports.FcmMarginCallType = exports.FcmMarginCallState = exports.FcmFuturesSweepStatus = exports.EstimateType = exports.DestinationType = exports.CandlesGranularity = exports.Benchmark = exports.AssetChangeType = exports.AllocationStatus = exports.AllocationSizeType = exports.PrimeActivityType = exports.ActivityStatus = exports.ActivitySecondaryType = exports.ActivityLevel = exports.ActivityCategory = exports.Action = exports.AddressBookType = exports.CustodyActivityType = void 0;
4
+ exports.XMParty = exports.XMMarginLevel = exports.XMEntityCallStatus = exports.XMControlStatus = exports.XMCallType = exports.XMCallStatus = exports.WalletVisibility = void 0;
5
5
  var CustodyActivityType_1 = require("./CustodyActivityType");
6
6
  Object.defineProperty(exports, "CustodyActivityType", { enumerable: true, get: function () { return CustodyActivityType_1.ActivityType; } });
7
7
  var AddressBookType_1 = require("./AddressBookType");
@@ -30,6 +30,8 @@ var CandlesGranularity_1 = require("./CandlesGranularity");
30
30
  Object.defineProperty(exports, "CandlesGranularity", { enumerable: true, get: function () { return CandlesGranularity_1.CandlesGranularity; } });
31
31
  var DestinationType_1 = require("./DestinationType");
32
32
  Object.defineProperty(exports, "DestinationType", { enumerable: true, get: function () { return DestinationType_1.DestinationType; } });
33
+ var EstimateType_1 = require("./EstimateType");
34
+ Object.defineProperty(exports, "EstimateType", { enumerable: true, get: function () { return EstimateType_1.EstimateType; } });
33
35
  var FcmFuturesSweepStatus_1 = require("./FcmFuturesSweepStatus");
34
36
  Object.defineProperty(exports, "FcmFuturesSweepStatus", { enumerable: true, get: function () { return FcmFuturesSweepStatus_1.FcmFuturesSweepStatus; } });
35
37
  var FcmMarginCallState_1 = require("./FcmMarginCallState");
@@ -60,6 +62,8 @@ var OrderType_1 = require("./OrderType");
60
62
  Object.defineProperty(exports, "OrderType", { enumerable: true, get: function () { return OrderType_1.OrderType; } });
61
63
  var PaymentMethodType_1 = require("./PaymentMethodType");
62
64
  Object.defineProperty(exports, "PaymentMethodType", { enumerable: true, get: function () { return PaymentMethodType_1.PaymentMethodType; } });
65
+ var PegOffsetType_1 = require("./PegOffsetType");
66
+ Object.defineProperty(exports, "PegOffsetType", { enumerable: true, get: function () { return PegOffsetType_1.PegOffsetType; } });
63
67
  var PortfolioBalanceType_1 = require("./PortfolioBalanceType");
64
68
  Object.defineProperty(exports, "PortfolioBalanceType", { enumerable: true, get: function () { return PortfolioBalanceType_1.PortfolioBalanceType; } });
65
69
  var PositionReferenceType_1 = require("./PositionReferenceType");
@@ -68,6 +72,8 @@ var ProductPermissions_1 = require("./ProductPermissions");
68
72
  Object.defineProperty(exports, "ProductPermissions", { enumerable: true, get: function () { return ProductPermissions_1.ProductPermissions; } });
69
73
  var RateType_1 = require("./RateType");
70
74
  Object.defineProperty(exports, "RateType", { enumerable: true, get: function () { return RateType_1.RateType; } });
75
+ var RewardSubtype_1 = require("./RewardSubtype");
76
+ Object.defineProperty(exports, "RewardSubtype", { enumerable: true, get: function () { return RewardSubtype_1.RewardSubtype; } });
71
77
  var SigningStatus_1 = require("./SigningStatus");
72
78
  Object.defineProperty(exports, "SigningStatus", { enumerable: true, get: function () { return SigningStatus_1.SigningStatus; } });
73
79
  var SortDirection_1 = require("./SortDirection");
@@ -80,6 +86,12 @@ var TransactionType_1 = require("./TransactionType");
80
86
  Object.defineProperty(exports, "TransactionType", { enumerable: true, get: function () { return TransactionType_1.TransactionType; } });
81
87
  var TransferLocationType_1 = require("./TransferLocationType");
82
88
  Object.defineProperty(exports, "TransferLocationType", { enumerable: true, get: function () { return TransferLocationType_1.TransferLocationType; } });
89
+ var TravelRuleStatus_1 = require("./TravelRuleStatus");
90
+ Object.defineProperty(exports, "TravelRuleStatus", { enumerable: true, get: function () { return TravelRuleStatus_1.TravelRuleStatus; } });
91
+ var TravelRuleWalletType_1 = require("./TravelRuleWalletType");
92
+ Object.defineProperty(exports, "TravelRuleWalletType", { enumerable: true, get: function () { return TravelRuleWalletType_1.TravelRuleWalletType; } });
93
+ var UnstakeType_1 = require("./UnstakeType");
94
+ Object.defineProperty(exports, "UnstakeType", { enumerable: true, get: function () { return UnstakeType_1.UnstakeType; } });
83
95
  var UserRole_1 = require("./UserRole");
84
96
  Object.defineProperty(exports, "UserRole", { enumerable: true, get: function () { return UserRole_1.UserRole; } });
85
97
  var ValidatorStatus_1 = require("./ValidatorStatus");
@@ -26,12 +26,16 @@ exports.OnchainAddressBookService = void 0;
26
26
  * limitations under the License.
27
27
  */
28
28
  const clients_1 = require("../clients");
29
+ const validation_1 = require("../shared/validation");
29
30
  class OnchainAddressBookService {
30
31
  constructor(client) {
31
32
  this.client = client;
32
33
  }
33
34
  listOnchainAddressBook(request, options) {
34
35
  return __awaiter(this, void 0, void 0, function* () {
36
+ (0, validation_1.validate)(request)
37
+ .requiredUUID((r) => r.portfolioId)
38
+ .check();
35
39
  const response = yield this.client.request({
36
40
  url: `portfolios/${request.portfolioId}/onchain_address_groups`,
37
41
  callOptions: options,
@@ -41,6 +45,9 @@ class OnchainAddressBookService {
41
45
  }
42
46
  createOnchainAddressBookEntry(request, options) {
43
47
  return __awaiter(this, void 0, void 0, function* () {
48
+ (0, validation_1.validate)(request)
49
+ .requiredUUID((r) => r.portfolioId)
50
+ .check();
44
51
  const response = yield this.client.request({
45
52
  url: `portfolios/${request.portfolioId}/onchain_address_group`,
46
53
  bodyParams: Object.assign(Object.assign({}, request), { portfolioId: undefined }),
@@ -52,6 +59,9 @@ class OnchainAddressBookService {
52
59
  }
53
60
  updateOnchainAddressBookEntry(request, options) {
54
61
  return __awaiter(this, void 0, void 0, function* () {
62
+ (0, validation_1.validate)(request)
63
+ .requiredUUID((r) => r.portfolioId)
64
+ .check();
55
65
  const response = yield this.client.request({
56
66
  url: `portfolios/${request.portfolioId}/onchain_address_group`,
57
67
  bodyParams: Object.assign(Object.assign({}, request), { portfolioId: undefined }),
@@ -63,6 +73,10 @@ class OnchainAddressBookService {
63
73
  }
64
74
  deleteOnchainAddressBook(request, options) {
65
75
  return __awaiter(this, void 0, void 0, function* () {
76
+ (0, validation_1.validate)(request)
77
+ .requiredUUID((r) => r.portfolioId)
78
+ .requiredUUID((r) => r.addressGroupId)
79
+ .check();
66
80
  const response = yield this.client.request({
67
81
  url: `portfolios/${request.portfolioId}/onchain_address_group/${request.addressGroupId}`,
68
82
  method: clients_1.Method.DELETE,
@@ -37,6 +37,7 @@ exports.OrdersService = void 0;
37
37
  * limitations under the License.
38
38
  */
39
39
  const clients_1 = require("../clients");
40
+ const validation_1 = require("../shared/validation");
40
41
  const paginatedResponse_1 = require("../shared/paginatedResponse");
41
42
  class OrdersService {
42
43
  constructor(client) {
@@ -44,6 +45,10 @@ class OrdersService {
44
45
  }
45
46
  getOrder(request, options) {
46
47
  return __awaiter(this, void 0, void 0, function* () {
48
+ (0, validation_1.validate)(request)
49
+ .requiredUUID((r) => r.portfolioId)
50
+ .requiredUUID((r) => r.orderId)
51
+ .check();
47
52
  const response = yield this.client.request({
48
53
  url: `portfolios/${request.portfolioId}/orders/${request.orderId}`,
49
54
  callOptions: options,
@@ -53,6 +58,10 @@ class OrdersService {
53
58
  }
54
59
  getOrderEditHistory(request, options) {
55
60
  return __awaiter(this, void 0, void 0, function* () {
61
+ (0, validation_1.validate)(request)
62
+ .requiredUUID((r) => r.portfolioId)
63
+ .requiredUUID((r) => r.orderId)
64
+ .check();
56
65
  const response = yield this.client.request({
57
66
  url: `portfolios/${request.portfolioId}/orders/${request.orderId}/edit_history`,
58
67
  callOptions: options,
@@ -64,6 +73,9 @@ class OrdersService {
64
73
  }
65
74
  listPortfolioFills(request, options) {
66
75
  return __awaiter(this, void 0, void 0, function* () {
76
+ (0, validation_1.validate)(request)
77
+ .requiredUUID((r) => r.portfolioId)
78
+ .check();
67
79
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
68
80
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
69
81
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -78,6 +90,9 @@ class OrdersService {
78
90
  }
79
91
  listPortfolioOrders(request, options) {
80
92
  return __awaiter(this, void 0, void 0, function* () {
93
+ (0, validation_1.validate)(request)
94
+ .requiredUUID((r) => r.portfolioId)
95
+ .check();
81
96
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
82
97
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
83
98
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -92,6 +107,10 @@ class OrdersService {
92
107
  }
93
108
  listOrderFills(request, options) {
94
109
  return __awaiter(this, void 0, void 0, function* () {
110
+ (0, validation_1.validate)(request)
111
+ .requiredUUID((r) => r.portfolioId)
112
+ .requiredUUID((r) => r.orderId)
113
+ .check();
95
114
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
96
115
  const { limit, cursor, sortDirection, portfolioId, orderId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId", "orderId"]);
97
116
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -106,6 +125,9 @@ class OrdersService {
106
125
  }
107
126
  listOpenOrders(request, options) {
108
127
  return __awaiter(this, void 0, void 0, function* () {
128
+ (0, validation_1.validate)(request)
129
+ .requiredUUID((r) => r.portfolioId)
130
+ .check();
109
131
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
110
132
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
111
133
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -120,6 +142,12 @@ class OrdersService {
120
142
  }
121
143
  createOrderPreview(request, options) {
122
144
  return __awaiter(this, void 0, void 0, function* () {
145
+ (0, validation_1.validate)(request)
146
+ .requiredUUID((r) => r.portfolioId)
147
+ .requiredString((r) => r.productId)
148
+ .requiredString((r) => r.side)
149
+ .requiredString((r) => r.type)
150
+ .check();
123
151
  const response = yield this.client.request({
124
152
  url: `portfolios/${request.portfolioId}/order_preview`,
125
153
  method: clients_1.Method.POST,
@@ -131,6 +159,10 @@ class OrdersService {
131
159
  }
132
160
  cancelOrder(request, options) {
133
161
  return __awaiter(this, void 0, void 0, function* () {
162
+ (0, validation_1.validate)(request)
163
+ .requiredUUID((r) => r.portfolioId)
164
+ .requiredUUID((r) => r.orderId)
165
+ .check();
134
166
  const response = yield this.client.request({
135
167
  url: `portfolios/${request.portfolioId}/orders/${request.orderId}/cancel`,
136
168
  method: clients_1.Method.POST,
@@ -141,6 +173,13 @@ class OrdersService {
141
173
  }
142
174
  createOrder(request, options) {
143
175
  return __awaiter(this, void 0, void 0, function* () {
176
+ (0, validation_1.validate)(request)
177
+ .requiredUUID((r) => r.portfolioId)
178
+ .requiredString((r) => r.productId)
179
+ .requiredString((r) => r.side)
180
+ .requiredUUID((r) => r.clientOrderId)
181
+ .requiredString((r) => r.type)
182
+ .check();
144
183
  const response = yield this.client.request({
145
184
  url: `portfolios/${request.portfolioId}/order`,
146
185
  method: clients_1.Method.POST,
@@ -152,6 +191,13 @@ class OrdersService {
152
191
  }
153
192
  createQuote(request, options) {
154
193
  return __awaiter(this, void 0, void 0, function* () {
194
+ (0, validation_1.validate)(request)
195
+ .requiredUUID((r) => r.portfolioId)
196
+ .requiredString((r) => r.productId)
197
+ .requiredString((r) => r.side)
198
+ .requiredUUID((r) => r.clientOrderId)
199
+ .requiredString((r) => r.type)
200
+ .check();
155
201
  const response = yield this.client.request({
156
202
  url: `portfolios/${request.portfolioId}/rfq`,
157
203
  method: clients_1.Method.POST,
@@ -163,6 +209,13 @@ class OrdersService {
163
209
  }
164
210
  acceptQuote(request, options) {
165
211
  return __awaiter(this, void 0, void 0, function* () {
212
+ (0, validation_1.validate)(request)
213
+ .requiredUUID((r) => r.portfolioId)
214
+ .requiredString((r) => r.productId)
215
+ .requiredString((r) => r.side)
216
+ .requiredUUID((r) => r.clientOrderId)
217
+ .requiredString((r) => r.quoteId)
218
+ .check();
166
219
  const response = yield this.client.request({
167
220
  url: `portfolios/${request.portfolioId}/accept_quote`,
168
221
  method: clients_1.Method.POST,
@@ -174,6 +227,12 @@ class OrdersService {
174
227
  }
175
228
  editOrder(request, options) {
176
229
  return __awaiter(this, void 0, void 0, function* () {
230
+ (0, validation_1.validate)(request)
231
+ .requiredUUID((r) => r.portfolioId)
232
+ .requiredUUID((r) => r.orderId)
233
+ .requiredUUID((r) => r.clientOrderId)
234
+ .requiredString((r) => r.origClientOrderId)
235
+ .check();
177
236
  const { portfolioId, orderId } = request, bodyParams = __rest(request, ["portfolioId", "orderId"]);
178
237
  const response = yield this.client.request({
179
238
  url: `portfolios/${portfolioId}/orders/${orderId}/edit`,
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PaymentMethodsService = void 0;
13
+ const validation_1 = require("../shared/validation");
13
14
  class PaymentMethodsService {
14
15
  constructor(client) {
15
16
  this.client = client;
@@ -17,6 +18,9 @@ class PaymentMethodsService {
17
18
  // TODO: rename me to remove Entity in a minor version change
18
19
  listEntityPaymentMethods(request, options) {
19
20
  return __awaiter(this, void 0, void 0, function* () {
21
+ (0, validation_1.validate)(request)
22
+ .requiredUUID((r) => r.entityId)
23
+ .check();
20
24
  const response = yield this.client.request({
21
25
  url: `entities/${request.entityId}/payment-methods`,
22
26
  callOptions: options,
@@ -26,6 +30,10 @@ class PaymentMethodsService {
26
30
  }
27
31
  getPaymentMethod(request, options) {
28
32
  return __awaiter(this, void 0, void 0, function* () {
33
+ (0, validation_1.validate)(request)
34
+ .requiredUUID((r) => r.entityId)
35
+ .requiredUUID((r) => r.paymentMethodId)
36
+ .check();
29
37
  const response = yield this.client.request({
30
38
  url: `entities/${request.entityId}/payment-methods/${request.paymentMethodId}`,
31
39
  callOptions: options,
@@ -10,12 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PortfoliosService = void 0;
13
+ const validation_1 = require("../shared/validation");
13
14
  class PortfoliosService {
14
15
  constructor(client) {
15
16
  this.client = client;
16
17
  }
17
18
  getPortfolio(request, options) {
18
19
  return __awaiter(this, void 0, void 0, function* () {
20
+ (0, validation_1.validate)(request)
21
+ .requiredUUID((r) => r.portfolioId)
22
+ .check();
19
23
  const response = yield this.client.request({
20
24
  url: `portfolios/${request.portfolioId}`,
21
25
  callOptions: options,
@@ -25,6 +29,9 @@ class PortfoliosService {
25
29
  }
26
30
  getPortfolioCredit(request, options) {
27
31
  return __awaiter(this, void 0, void 0, function* () {
32
+ (0, validation_1.validate)(request)
33
+ .requiredUUID((r) => r.portfolioId)
34
+ .check();
28
35
  const response = yield this.client.request({
29
36
  url: `portfolios/${request.portfolioId}/credit`,
30
37
  callOptions: options,
@@ -34,6 +41,9 @@ class PortfoliosService {
34
41
  }
35
42
  getCounterpartyId(request, options) {
36
43
  return __awaiter(this, void 0, void 0, function* () {
44
+ (0, validation_1.validate)(request)
45
+ .requiredUUID((r) => r.portfolioId)
46
+ .check();
37
47
  const response = yield this.client.request({
38
48
  url: `portfolios/${request.portfolioId}/counterparty`,
39
49
  callOptions: options,
@@ -21,6 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.PositionsService = void 0;
24
+ const validation_1 = require("../shared/validation");
24
25
  const paginatedResponse_1 = require("../shared/paginatedResponse");
25
26
  class PositionsService {
26
27
  constructor(client) {
@@ -28,6 +29,9 @@ class PositionsService {
28
29
  }
29
30
  listAggregateEntityPositions(request, options) {
30
31
  return __awaiter(this, void 0, void 0, function* () {
32
+ (0, validation_1.validate)(request)
33
+ .requiredUUID((r) => r.entityId)
34
+ .check();
31
35
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
32
36
  const { limit, cursor, sortDirection, entityId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "entityId"]);
33
37
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -42,6 +46,9 @@ class PositionsService {
42
46
  }
43
47
  listEntityPositions(request, options) {
44
48
  return __awaiter(this, void 0, void 0, function* () {
49
+ (0, validation_1.validate)(request)
50
+ .requiredUUID((r) => r.entityId)
51
+ .check();
45
52
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
46
53
  const { limit, cursor, sortDirection, entityId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "entityId"]);
47
54
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -21,6 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.ProductsService = void 0;
24
+ const validation_1 = require("../shared/validation");
24
25
  const paginatedResponse_1 = require("../shared/paginatedResponse");
25
26
  class ProductsService {
26
27
  constructor(client) {
@@ -28,6 +29,9 @@ class ProductsService {
28
29
  }
29
30
  listProducts(request, options) {
30
31
  return __awaiter(this, void 0, void 0, function* () {
32
+ (0, validation_1.validate)(request)
33
+ .requiredUUID((r) => r.portfolioId)
34
+ .check();
31
35
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
32
36
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
33
37
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -42,6 +46,13 @@ class ProductsService {
42
46
  }
43
47
  listProductCandles(request, options) {
44
48
  return __awaiter(this, void 0, void 0, function* () {
49
+ (0, validation_1.validate)(request)
50
+ .requiredUUID((r) => r.portfolioId)
51
+ .requiredString((r) => r.productId)
52
+ .requiredString((r) => r.startTime)
53
+ .requiredString((r) => r.endTime)
54
+ .requiredString((r) => r.granularity)
55
+ .check();
45
56
  const { portfolioId, productId, startTime, endTime, granularity } = request;
46
57
  const response = yield this.client.request({
47
58
  url: `portfolios/${portfolioId}/candles`,