@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
@@ -36,6 +36,7 @@ var __rest = (this && this.__rest) || function (s, e) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.ActivitiesService = void 0;
39
+ const validation_1 = require("../shared/validation");
39
40
  const paginatedResponse_1 = require("../shared/paginatedResponse");
40
41
  class ActivitiesService {
41
42
  constructor(client) {
@@ -43,6 +44,9 @@ class ActivitiesService {
43
44
  }
44
45
  getActivity(request, options) {
45
46
  return __awaiter(this, void 0, void 0, function* () {
47
+ (0, validation_1.validate)(request)
48
+ .requiredUUID((r) => r.activityId)
49
+ .check();
46
50
  const response = yield this.client.request({
47
51
  url: `activities/${request.activityId}`,
48
52
  callOptions: options,
@@ -52,6 +56,10 @@ class ActivitiesService {
52
56
  }
53
57
  getPortfolioActivity(request, options) {
54
58
  return __awaiter(this, void 0, void 0, function* () {
59
+ (0, validation_1.validate)(request)
60
+ .requiredUUID((r) => r.portfolioId)
61
+ .requiredUUID((r) => r.activityId)
62
+ .check();
55
63
  const response = yield this.client.request({
56
64
  url: `portfolios/${request.portfolioId}/activities/${request.activityId}`,
57
65
  callOptions: options,
@@ -61,6 +69,9 @@ class ActivitiesService {
61
69
  }
62
70
  listEntityActivities(request, options) {
63
71
  return __awaiter(this, void 0, void 0, function* () {
72
+ (0, validation_1.validate)(request)
73
+ .requiredUUID((r) => r.entityId)
74
+ .check();
64
75
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
65
76
  const { limit, cursor, sortDirection, entityId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "entityId"]);
66
77
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -75,6 +86,9 @@ class ActivitiesService {
75
86
  }
76
87
  listPortfolioActivities(request, options) {
77
88
  return __awaiter(this, void 0, void 0, function* () {
89
+ (0, validation_1.validate)(request)
90
+ .requiredUUID((r) => r.portfolioId)
91
+ .check();
78
92
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
79
93
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
80
94
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -37,6 +37,7 @@ exports.AddressBooksService = 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 AddressBooksService {
42
43
  constructor(client) {
@@ -44,6 +45,9 @@ class AddressBooksService {
44
45
  }
45
46
  listAddressBooks(request, options) {
46
47
  return __awaiter(this, void 0, void 0, function* () {
48
+ (0, validation_1.validate)(request)
49
+ .requiredUUID((r) => r.portfolioId)
50
+ .check();
47
51
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
48
52
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
49
53
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -58,6 +62,12 @@ class AddressBooksService {
58
62
  }
59
63
  createAddressBook(request, options) {
60
64
  return __awaiter(this, void 0, void 0, function* () {
65
+ (0, validation_1.validate)(request)
66
+ .requiredUUID((r) => r.portfolioId)
67
+ .requiredString((r) => r.address)
68
+ .requiredString((r) => r.currencySymbol)
69
+ .requiredString((r) => r.name)
70
+ .check();
61
71
  const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined });
62
72
  const response = yield this.client.request({
63
73
  url: `portfolios/${request.portfolioId}/address_book`,
@@ -37,6 +37,7 @@ exports.AllocationService = 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 AllocationService {
42
43
  constructor(client) {
@@ -66,6 +67,9 @@ class AllocationService {
66
67
  }
67
68
  listPortfolioAllocations(request, options) {
68
69
  return __awaiter(this, void 0, void 0, function* () {
70
+ (0, validation_1.validate)(request)
71
+ .requiredUUID((r) => r.portfolioId)
72
+ .check();
69
73
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
70
74
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
71
75
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -80,6 +84,10 @@ class AllocationService {
80
84
  }
81
85
  listNetAllocations(request, options) {
82
86
  return __awaiter(this, void 0, void 0, function* () {
87
+ (0, validation_1.validate)(request)
88
+ .requiredUUID((r) => r.portfolioId)
89
+ .requiredUUID((r) => r.nettingId)
90
+ .check();
83
91
  const queryParams = {
84
92
  allocationId: request.allocationId,
85
93
  };
@@ -93,6 +101,10 @@ class AllocationService {
93
101
  }
94
102
  getAllocation(request, options) {
95
103
  return __awaiter(this, void 0, void 0, function* () {
104
+ (0, validation_1.validate)(request)
105
+ .requiredUUID((r) => r.portfolioId)
106
+ .requiredUUID((r) => r.allocationId)
107
+ .check();
96
108
  const response = yield this.client.request({
97
109
  url: `portfolios/${request.portfolioId}/allocations/${request.allocationId}`,
98
110
  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.AssetsService = void 0;
13
+ const validation_1 = require("../shared/validation");
13
14
  class AssetsService {
14
15
  constructor(client) {
15
16
  this.client = client;
16
17
  }
17
18
  listAssets(request, options) {
18
19
  return __awaiter(this, void 0, void 0, function* () {
20
+ (0, validation_1.validate)(request)
21
+ .requiredUUID((r) => r.entityId)
22
+ .check();
19
23
  const response = yield this.client.request({
20
24
  url: `entities/${request.entityId}/assets`,
21
25
  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.BalancesService = void 0;
24
+ const validation_1 = require("../shared/validation");
24
25
  const paginatedResponse_1 = require("../shared/paginatedResponse");
25
26
  class BalancesService {
26
27
  constructor(client) {
@@ -28,6 +29,9 @@ class BalancesService {
28
29
  }
29
30
  listPortfolioBalances(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 { portfolioId } = request, queryParams = __rest(request, ["portfolioId"]);
32
36
  const response = yield this.client.request({
33
37
  url: `portfolios/${portfolioId}/balances`,
@@ -39,6 +43,10 @@ class BalancesService {
39
43
  }
40
44
  getWalletBalance(request, options) {
41
45
  return __awaiter(this, void 0, void 0, function* () {
46
+ (0, validation_1.validate)(request)
47
+ .requiredUUID((r) => r.portfolioId)
48
+ .requiredUUID((r) => r.walletId)
49
+ .check();
42
50
  const response = yield this.client.request({
43
51
  url: `portfolios/${request.portfolioId}/wallets/${request.walletId}/balance`,
44
52
  callOptions: options,
@@ -48,6 +56,10 @@ class BalancesService {
48
56
  }
49
57
  listOnchainWalletBalances(request, options) {
50
58
  return __awaiter(this, void 0, void 0, function* () {
59
+ (0, validation_1.validate)(request)
60
+ .requiredUUID((r) => r.portfolioId)
61
+ .requiredUUID((r) => r.walletId)
62
+ .check();
51
63
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
52
64
  const { limit, cursor, portfolioId, walletId } = request, queryParams = __rest(request, ["limit", "cursor", "portfolioId", "walletId"]);
53
65
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -62,6 +74,9 @@ class BalancesService {
62
74
  }
63
75
  listEntityBalances(request, options) {
64
76
  return __awaiter(this, void 0, void 0, function* () {
77
+ (0, validation_1.validate)(request)
78
+ .requiredUUID((r) => r.entityId)
79
+ .check();
65
80
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
66
81
  const { limit, cursor, entityId } = request, queryParams = __rest(request, ["limit", "cursor", "entityId"]);
67
82
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -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.CommissionService = void 0;
13
+ const validation_1 = require("../shared/validation");
13
14
  class CommissionService {
14
15
  constructor(client) {
15
16
  this.client = client;
16
17
  }
17
18
  getPortfolioCommission(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}/commission`,
21
25
  callOptions: options,
package/dist/constants.js CHANGED
@@ -16,7 +16,7 @@ exports.DEFAULT_MAX_ITEMS = exports.DEFAULT_MAX_PAGES = exports.DEFAULT_PAGINATI
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- exports.VERSION = '0.7.1';
19
+ exports.VERSION = '0.8.1';
20
20
  exports.API_BASE_PATH = 'https://api.prime.coinbase.com/v1/';
21
21
  exports.USER_AGENT = 'coinbase-prime-ts/' + exports.VERSION;
22
22
  exports.CB_ACCESS_KEY_HEADER = 'X-CB-ACCESS-KEY';
@@ -21,12 +21,16 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.FinancingService = void 0;
24
+ const validation_1 = require("../shared/validation");
24
25
  class FinancingService {
25
26
  constructor(client) {
26
27
  this.client = client;
27
28
  }
28
29
  listExistingLocates(request, options) {
29
30
  return __awaiter(this, void 0, void 0, function* () {
31
+ (0, validation_1.validate)(request)
32
+ .requiredUUID((r) => r.portfolioId)
33
+ .check();
30
34
  const { portfolioId } = request, queryParams = __rest(request, ["portfolioId"]);
31
35
  const response = yield this.client.request({
32
36
  url: `portfolios/${portfolioId}/locates`,
@@ -38,6 +42,9 @@ class FinancingService {
38
42
  }
39
43
  listInterestAccruals(request, options) {
40
44
  return __awaiter(this, void 0, void 0, function* () {
45
+ (0, validation_1.validate)(request)
46
+ .requiredUUID((r) => r.entityId)
47
+ .check();
41
48
  const { entityId } = request, queryParams = __rest(request, ["entityId"]);
42
49
  const response = yield this.client.request({
43
50
  url: `entities/${entityId}/accruals`,
@@ -49,6 +56,9 @@ class FinancingService {
49
56
  }
50
57
  listPortfolioInterestAccruals(request, options) {
51
58
  return __awaiter(this, void 0, void 0, function* () {
59
+ (0, validation_1.validate)(request)
60
+ .requiredUUID((r) => r.portfolioId)
61
+ .check();
52
62
  const queryParams = Object.assign(Object.assign({}, request), { portfolioId: undefined });
53
63
  const response = yield this.client.request({
54
64
  url: `portfolios/${request.portfolioId}/accruals`,
@@ -60,6 +70,9 @@ class FinancingService {
60
70
  }
61
71
  listMarginCallSummaries(request, options) {
62
72
  return __awaiter(this, void 0, void 0, function* () {
73
+ (0, validation_1.validate)(request)
74
+ .requiredUUID((r) => r.entityId)
75
+ .check();
63
76
  const queryParams = Object.assign(Object.assign({}, request), { entityId: undefined });
64
77
  const response = yield this.client.request({
65
78
  url: `entities/${request.entityId}/margin_summaries`,
@@ -71,6 +84,9 @@ class FinancingService {
71
84
  }
72
85
  listMarginConversions(request, options) {
73
86
  return __awaiter(this, void 0, void 0, function* () {
87
+ (0, validation_1.validate)(request)
88
+ .requiredUUID((r) => r.portfolioId)
89
+ .check();
74
90
  const queryParams = Object.assign(Object.assign({}, request), { portfolioId: undefined });
75
91
  const response = yield this.client.request({
76
92
  url: `portfolios/${request.portfolioId}/margin_conversions`,
@@ -82,6 +98,9 @@ class FinancingService {
82
98
  }
83
99
  getEntityLocateAvailabilities(request, options) {
84
100
  return __awaiter(this, void 0, void 0, function* () {
101
+ (0, validation_1.validate)(request)
102
+ .requiredUUID((r) => r.entityId)
103
+ .check();
85
104
  const queryParams = Object.assign(Object.assign({}, request), { entityId: undefined });
86
105
  const response = yield this.client.request({
87
106
  url: `entities/${request.entityId}/locates_availability`,
@@ -93,6 +112,9 @@ class FinancingService {
93
112
  }
94
113
  getMarginInformation(request, options) {
95
114
  return __awaiter(this, void 0, void 0, function* () {
115
+ (0, validation_1.validate)(request)
116
+ .requiredUUID((r) => r.entityId)
117
+ .check();
96
118
  const response = yield this.client.request({
97
119
  url: `entities/${request.entityId}/margin`,
98
120
  callOptions: options,
@@ -102,6 +124,11 @@ class FinancingService {
102
124
  }
103
125
  getPortfolioBuyingPower(request, options) {
104
126
  return __awaiter(this, void 0, void 0, function* () {
127
+ (0, validation_1.validate)(request)
128
+ .requiredUUID((r) => r.portfolioId)
129
+ .requiredString((r) => r.baseCurrency)
130
+ .requiredString((r) => r.quoteCurrency)
131
+ .check();
105
132
  const queryParams = Object.assign(Object.assign({}, request), { portfolioId: undefined });
106
133
  const response = yield this.client.request({
107
134
  url: `portfolios/${request.portfolioId}/buying_power`,
@@ -113,6 +140,9 @@ class FinancingService {
113
140
  }
114
141
  getPortfolioCreditInformation(request, options) {
115
142
  return __awaiter(this, void 0, void 0, function* () {
143
+ (0, validation_1.validate)(request)
144
+ .requiredUUID((r) => r.portfolioId)
145
+ .check();
116
146
  const response = yield this.client.request({
117
147
  url: `portfolios/${request.portfolioId}/credit`,
118
148
  callOptions: options,
@@ -122,6 +152,10 @@ class FinancingService {
122
152
  }
123
153
  getPortfolioWithdrawalPower(request, options) {
124
154
  return __awaiter(this, void 0, void 0, function* () {
155
+ (0, validation_1.validate)(request)
156
+ .requiredUUID((r) => r.portfolioId)
157
+ .requiredString((r) => r.symbol)
158
+ .check();
125
159
  const queryParams = Object.assign(Object.assign({}, request), { portfolioId: undefined });
126
160
  const response = yield this.client.request({
127
161
  url: `portfolios/${request.portfolioId}/withdrawal_power`,
@@ -133,6 +167,9 @@ class FinancingService {
133
167
  }
134
168
  getTieredPricingFees(request, options) {
135
169
  return __awaiter(this, void 0, void 0, function* () {
170
+ (0, validation_1.validate)(request)
171
+ .requiredUUID((r) => r.entityId)
172
+ .check();
136
173
  const queryParams = Object.assign(Object.assign({}, request), { entityId: undefined });
137
174
  const response = yield this.client.request({
138
175
  url: `entities/${request.entityId}/tf_tiered_fees`,
@@ -144,6 +181,9 @@ class FinancingService {
144
181
  }
145
182
  getFcmMarginCallDetails(request, options) {
146
183
  return __awaiter(this, void 0, void 0, function* () {
184
+ (0, validation_1.validate)(request)
185
+ .requiredUUID((r) => r.entityId)
186
+ .check();
147
187
  const response = yield this.client.request({
148
188
  url: `entities/${request.entityId}/futures/margin_call_details`,
149
189
  callOptions: options,
@@ -153,6 +193,9 @@ class FinancingService {
153
193
  }
154
194
  getFcmRiskLimits(request, options) {
155
195
  return __awaiter(this, void 0, void 0, function* () {
196
+ (0, validation_1.validate)(request)
197
+ .requiredUUID((r) => r.entityId)
198
+ .check();
156
199
  const response = yield this.client.request({
157
200
  url: `entities/${request.entityId}/futures/risk_limits`,
158
201
  callOptions: options,
@@ -162,6 +205,9 @@ class FinancingService {
162
205
  }
163
206
  createNewLocates(request, options) {
164
207
  return __awaiter(this, void 0, void 0, function* () {
208
+ (0, validation_1.validate)(request)
209
+ .requiredUUID((r) => r.portfolioId)
210
+ .check();
165
211
  const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined });
166
212
  const response = yield this.client.request({
167
213
  url: `portfolios/${request.portfolioId}/locates`,
@@ -173,6 +219,9 @@ class FinancingService {
173
219
  }
174
220
  getCrossMarginOverview(request, options) {
175
221
  return __awaiter(this, void 0, void 0, function* () {
222
+ (0, validation_1.validate)(request)
223
+ .requiredUUID((r) => r.entityId)
224
+ .check();
176
225
  const response = yield this.client.request({
177
226
  url: `entities/${request.entityId}/cross_margin`,
178
227
  callOptions: options,
@@ -180,5 +229,26 @@ class FinancingService {
180
229
  return response.data;
181
230
  });
182
231
  }
232
+ listTFObligations(request, options) {
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ (0, validation_1.validate)(request)
235
+ .requiredUUID((r) => r.entityId)
236
+ .check();
237
+ const response = yield this.client.request({
238
+ url: `entities/${request.entityId}/tf_obligations`,
239
+ callOptions: options,
240
+ });
241
+ return response.data;
242
+ });
243
+ }
244
+ listFinancingEligibleAssets(request, options) {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ const response = yield this.client.request({
247
+ url: `financing/eligible-assets`,
248
+ callOptions: options,
249
+ });
250
+ return response.data;
251
+ });
252
+ }
183
253
  }
184
254
  exports.FinancingService = FinancingService;
@@ -26,12 +26,16 @@ exports.FuturesService = 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 FuturesService {
30
31
  constructor(client) {
31
32
  this.client = client;
32
33
  }
33
34
  listEntitySweeps(request, options) {
34
35
  return __awaiter(this, void 0, void 0, function* () {
36
+ (0, validation_1.validate)(request)
37
+ .requiredUUID((r) => r.entityId)
38
+ .check();
35
39
  const response = yield this.client.request({
36
40
  url: `entities/${request.entityId}/futures/sweeps`,
37
41
  callOptions: options,
@@ -41,6 +45,9 @@ class FuturesService {
41
45
  }
42
46
  getEntityBalance(request, options) {
43
47
  return __awaiter(this, void 0, void 0, function* () {
48
+ (0, validation_1.validate)(request)
49
+ .requiredUUID((r) => r.entityId)
50
+ .check();
44
51
  const response = yield this.client.request({
45
52
  url: `entities/${request.entityId}/futures/balance_summary`,
46
53
  callOptions: options,
@@ -50,6 +57,9 @@ class FuturesService {
50
57
  }
51
58
  getEntityPositions(request, options) {
52
59
  return __awaiter(this, void 0, void 0, function* () {
60
+ (0, validation_1.validate)(request)
61
+ .requiredUUID((r) => r.entityId)
62
+ .check();
53
63
  const queryParams = Object.assign(Object.assign({}, request), { entityId: undefined });
54
64
  const response = yield this.client.request({
55
65
  url: `entities/${request.entityId}/futures/positions`,
@@ -61,6 +71,10 @@ class FuturesService {
61
71
  }
62
72
  scheduleEntitySweep(request, options) {
63
73
  return __awaiter(this, void 0, void 0, function* () {
74
+ (0, validation_1.validate)(request)
75
+ .requiredUUID((r) => r.entityId)
76
+ .requiredString((r) => r.currency)
77
+ .check();
64
78
  const response = yield this.client.request({
65
79
  url: `entities/${request.entityId}/futures/sweeps`,
66
80
  method: clients_1.Method.POST,
@@ -72,6 +86,10 @@ class FuturesService {
72
86
  }
73
87
  updateEntityAutoSweep(request, options) {
74
88
  return __awaiter(this, void 0, void 0, function* () {
89
+ (0, validation_1.validate)(request)
90
+ .requiredUUID((r) => r.entityId)
91
+ .requiredBoolean((r) => r.autoSweep)
92
+ .check();
75
93
  const response = yield this.client.request({
76
94
  url: `entities/${request.entityId}/futures/auto_sweep`,
77
95
  method: clients_1.Method.POST,
@@ -83,6 +101,9 @@ class FuturesService {
83
101
  }
84
102
  cancelEntitySweep(request, options) {
85
103
  return __awaiter(this, void 0, void 0, function* () {
104
+ (0, validation_1.validate)(request)
105
+ .requiredUUID((r) => r.entityId)
106
+ .check();
86
107
  const response = yield this.client.request({
87
108
  url: `entities/${request.entityId}/futures/sweeps`,
88
109
  method: clients_1.Method.DELETE,
@@ -93,6 +114,9 @@ class FuturesService {
93
114
  }
94
115
  getRiskLimits(request, options) {
95
116
  return __awaiter(this, void 0, void 0, function* () {
117
+ (0, validation_1.validate)(request)
118
+ .requiredUUID((r) => r.entityId)
119
+ .check();
96
120
  const response = yield this.client.request({
97
121
  url: `entities/${request.entityId}/futures/risk_limits`,
98
122
  callOptions: options,
@@ -102,6 +126,9 @@ class FuturesService {
102
126
  }
103
127
  getMarginCallDetails(request, options) {
104
128
  return __awaiter(this, void 0, void 0, function* () {
129
+ (0, validation_1.validate)(request)
130
+ .requiredUUID((r) => r.entityId)
131
+ .check();
105
132
  const response = yield this.client.request({
106
133
  url: `entities/${request.entityId}/futures/margin_call_details`,
107
134
  callOptions: options,
@@ -109,5 +136,31 @@ class FuturesService {
109
136
  return response.data;
110
137
  });
111
138
  }
139
+ getFcmSettings(request, options) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ (0, validation_1.validate)(request)
142
+ .requiredUUID((r) => r.entityId)
143
+ .check();
144
+ const response = yield this.client.request({
145
+ url: `entities/${request.entityId}/futures/settings`,
146
+ callOptions: options,
147
+ });
148
+ return response.data;
149
+ });
150
+ }
151
+ setFcmSettings(request, options) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ (0, validation_1.validate)(request)
154
+ .requiredUUID((r) => r.entityId)
155
+ .check();
156
+ const response = yield this.client.request({
157
+ url: `entities/${request.entityId}/futures/settings`,
158
+ method: clients_1.Method.POST,
159
+ bodyParams: { targetDerivativesExcess: request.targetDerivativesExcess },
160
+ callOptions: options,
161
+ });
162
+ return response.data;
163
+ });
164
+ }
112
165
  }
113
166
  exports.FuturesService = FuturesService;
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
29
29
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.WalletsService = exports.UsersService = exports.TransactionsService = exports.StakingService = exports.ProductsService = exports.PositionsService = exports.PortfoliosService = exports.PaymentMethodsService = exports.OrdersService = exports.OnchainAddressBookService = exports.InvoicesService = exports.FuturesService = exports.FinancingService = exports.CommissionService = exports.BalancesService = exports.AssetsService = exports.AllocationService = exports.AddressBooksService = exports.ActivitiesService = exports.createCredentialsFromEnv = exports.CoinbasePrimeCredentials = exports.CoinbasePrimeClient = exports.CoinbasePrimeClientWithServices = exports.CoinbaseError = exports.CoinbaseClientException = exports.Method = exports.CoinbaseClient = void 0;
32
+ exports.WalletsService = exports.UsersService = exports.TransactionsService = exports.StakingService = exports.ProductsService = exports.PositionsService = exports.PortfoliosService = exports.PaymentMethodsService = exports.OrdersService = exports.OnchainAddressBookService = exports.InvoicesService = exports.FuturesService = exports.FinancingService = exports.CommissionService = exports.BalancesService = exports.AssetsService = exports.AllocationService = exports.AddressBooksService = exports.ActivitiesService = exports.isValidUUID = exports.validate = exports.CoinbasePrimeException = exports.CoinbasePrimeClientException = exports.createCredentialsFromEnv = exports.CoinbasePrimeCredentials = exports.CoinbasePrimeClient = exports.CoinbasePrimeClientWithServices = exports.CoinbaseError = exports.CoinbaseClientException = exports.Method = exports.CoinbaseClient = void 0;
33
33
  // Re-export commonly used core-ts objects for convenience
34
34
  // This allows users to import everything from a single package
35
35
  var clients_1 = require("./clients");
@@ -43,6 +43,12 @@ var credentials_1 = require("./credentials");
43
43
  Object.defineProperty(exports, "CoinbasePrimeCredentials", { enumerable: true, get: function () { return credentials_1.CoinbasePrimeCredentials; } });
44
44
  var envUtils_1 = require("./shared/envUtils");
45
45
  Object.defineProperty(exports, "createCredentialsFromEnv", { enumerable: true, get: function () { return envUtils_1.createCredentialsFromEnv; } });
46
+ var errors_1 = require("./errors");
47
+ Object.defineProperty(exports, "CoinbasePrimeClientException", { enumerable: true, get: function () { return errors_1.CoinbasePrimeClientException; } });
48
+ Object.defineProperty(exports, "CoinbasePrimeException", { enumerable: true, get: function () { return errors_1.CoinbasePrimeException; } });
49
+ var validation_1 = require("./shared/validation");
50
+ Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validation_1.validate; } });
51
+ Object.defineProperty(exports, "isValidUUID", { enumerable: true, get: function () { return validation_1.isValidUUID; } });
46
52
  var activities_1 = require("./activities");
47
53
  Object.defineProperty(exports, "ActivitiesService", { enumerable: true, get: function () { return activities_1.ActivitiesService; } });
48
54
  var addressBooks_1 = require("./addressBooks");
@@ -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.InvoicesService = void 0;
24
+ const validation_1 = require("../shared/validation");
24
25
  const paginatedResponse_1 = require("../shared/paginatedResponse");
25
26
  class InvoicesService {
26
27
  constructor(client) {
@@ -28,6 +29,9 @@ class InvoicesService {
28
29
  }
29
30
  listInvoices(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);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2025-present Coinbase Global, Inc.
4
+ *
5
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * Do not edit the class manually.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });