@coinbase-sample/prime-sdk-ts 0.8.0 → 0.8.2

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 (56) 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 +52 -0
  9. package/dist/futures/index.js +33 -0
  10. package/dist/index.js +7 -1
  11. package/dist/invoices/index.js +4 -0
  12. package/dist/model/GetStakingStatusResponse.js +21 -0
  13. package/dist/model/StakingStatus.js +21 -0
  14. package/dist/model/SubmitDepositTravelRuleDataResponse.js +21 -0
  15. package/dist/model/TravelRuleData.js +21 -0
  16. package/dist/model/ValidatorStakingInfo.js +21 -0
  17. package/dist/model/enums/StakeType.js +28 -0
  18. package/dist/model/enums/index.js +4 -2
  19. package/dist/model/googleTypeDate.js +21 -0
  20. package/dist/model/requestToSubmitTravelRuleDataForAnExistingDepositTransaction.js +21 -0
  21. package/dist/onchainAddressBook/index.js +14 -0
  22. package/dist/orders/index.js +59 -0
  23. package/dist/paymentMethods/index.js +8 -0
  24. package/dist/portfolios/index.js +10 -0
  25. package/dist/positions/index.js +7 -0
  26. package/dist/products/index.js +11 -0
  27. package/dist/shared/__tests__/validation.test.js +184 -124
  28. package/dist/shared/validation.js +90 -260
  29. package/dist/staking/index.js +55 -0
  30. package/dist/transactions/index.js +58 -0
  31. package/dist/types/constants.d.ts +1 -1
  32. package/dist/types/index.d.ts +3 -0
  33. package/dist/types/model/Balance.d.ts +4 -0
  34. package/dist/types/model/CreatePortfolioAddressBookEntryRequest.d.ts +0 -2
  35. package/dist/types/model/CreateWalletWithdrawalRequest.d.ts +2 -0
  36. package/dist/types/model/GetStakingStatusResponse.d.ts +42 -0
  37. package/dist/types/model/StakingStatus.d.ts +39 -0
  38. package/dist/types/model/SubmitDepositTravelRuleDataResponse.d.ts +22 -0
  39. package/dist/types/model/TravelRuleData.d.ts +37 -0
  40. package/dist/types/model/TravelRuleParty.d.ts +19 -4
  41. package/dist/types/model/ValidatorStakingInfo.d.ts +30 -0
  42. package/dist/types/model/enums/StakeType.d.ts +24 -0
  43. package/dist/types/model/enums/index.d.ts +1 -0
  44. package/dist/types/model/googleTypeDate.d.ts +36 -0
  45. package/dist/types/model/index.d.ts +7 -0
  46. package/dist/types/model/requestToSubmitTravelRuleDataForAnExistingDepositTransaction.d.ts +26 -0
  47. package/dist/types/orders/types.d.ts +1 -1
  48. package/dist/types/shared/validation.d.ts +19 -107
  49. package/dist/types/staking/index.d.ts +3 -1
  50. package/dist/types/staking/types.d.ts +6 -1
  51. package/dist/types/transactions/index.d.ts +3 -1
  52. package/dist/types/transactions/types.d.ts +6 -1
  53. package/dist/types/wallets/types.d.ts +1 -1
  54. package/dist/users/index.js +7 -0
  55. package/dist/wallets/index.js +27 -0
  56. package/package.json +6 -2
@@ -38,12 +38,17 @@ exports.TransactionsService = void 0;
38
38
  */
39
39
  const clients_1 = require("../clients");
40
40
  const paginatedResponse_1 = require("../shared/paginatedResponse");
41
+ const validation_1 = require("../shared/validation");
41
42
  class TransactionsService {
42
43
  constructor(client) {
43
44
  this.client = client;
44
45
  }
45
46
  getTransaction(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.transactionId)
51
+ .check();
47
52
  const response = yield this.client.request({
48
53
  url: `portfolios/${request.portfolioId}/transactions/${request.transactionId}`,
49
54
  callOptions: options,
@@ -53,6 +58,9 @@ class TransactionsService {
53
58
  }
54
59
  listPortfolioTransactions(request, options) {
55
60
  return __awaiter(this, void 0, void 0, function* () {
61
+ (0, validation_1.validate)(request)
62
+ .requiredUUID((r) => r.portfolioId)
63
+ .check();
56
64
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
57
65
  const { limit, cursor, sortDirection, portfolioId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId"]);
58
66
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -70,6 +78,10 @@ class TransactionsService {
70
78
  }
71
79
  listWalletTransactions(request, options) {
72
80
  return __awaiter(this, void 0, void 0, function* () {
81
+ (0, validation_1.validate)(request)
82
+ .requiredUUID((r) => r.portfolioId)
83
+ .requiredUUID((r) => r.walletId)
84
+ .check();
73
85
  const paginationParams = (0, paginatedResponse_1.getQueryParams)(this.client, request);
74
86
  const { limit, cursor, sortDirection, portfolioId, walletId } = request, queryParams = __rest(request, ["limit", "cursor", "sortDirection", "portfolioId", "walletId"]);
75
87
  const finalQueryParams = Object.assign(Object.assign({}, paginationParams), queryParams);
@@ -87,6 +99,15 @@ class TransactionsService {
87
99
  }
88
100
  createConversion(request, options) {
89
101
  return __awaiter(this, void 0, void 0, function* () {
102
+ (0, validation_1.validate)(request)
103
+ .requiredUUID((r) => r.portfolioId)
104
+ .requiredUUID((r) => r.walletId)
105
+ .requiredUUID((r) => r.idempotencyKey)
106
+ .requiredUUID((r) => r.destination)
107
+ .requiredString((r) => r.amount)
108
+ .requiredString((r) => r.sourceSymbol)
109
+ .requiredString((r) => r.destinationSymbol)
110
+ .check();
90
111
  const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined, walletId: undefined });
91
112
  const response = yield this.client.request({
92
113
  url: `portfolios/${request.portfolioId}/wallets/${request.walletId}/conversion`,
@@ -99,6 +120,14 @@ class TransactionsService {
99
120
  }
100
121
  createTransfer(request, options) {
101
122
  return __awaiter(this, void 0, void 0, function* () {
123
+ (0, validation_1.validate)(request)
124
+ .requiredUUID((r) => r.portfolioId)
125
+ .requiredUUID((r) => r.walletId)
126
+ .requiredUUID((r) => r.idempotencyKey)
127
+ .requiredUUID((r) => r.destination)
128
+ .requiredString((r) => r.amount)
129
+ .requiredString((r) => r.currencySymbol)
130
+ .check();
102
131
  const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined, walletId: undefined });
103
132
  const response = yield this.client.request({
104
133
  url: `portfolios/${request.portfolioId}/wallets/${request.walletId}/transfers`,
@@ -111,6 +140,14 @@ class TransactionsService {
111
140
  }
112
141
  createWithdrawal(request, options) {
113
142
  return __awaiter(this, void 0, void 0, function* () {
143
+ (0, validation_1.validate)(request)
144
+ .requiredUUID((r) => r.portfolioId)
145
+ .requiredUUID((r) => r.walletId)
146
+ .requiredUUID((r) => r.idempotencyKey)
147
+ .requiredString((r) => r.amount)
148
+ .requiredString((r) => r.destinationType)
149
+ .requiredString((r) => r.currencySymbol)
150
+ .check();
114
151
  const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined, walletId: undefined });
115
152
  const response = yield this.client.request({
116
153
  url: `portfolios/${request.portfolioId}/wallets/${request.walletId}/withdrawals`,
@@ -123,6 +160,11 @@ class TransactionsService {
123
160
  }
124
161
  createOnchainTransaction(request, options) {
125
162
  return __awaiter(this, void 0, void 0, function* () {
163
+ (0, validation_1.validate)(request)
164
+ .requiredUUID((r) => r.portfolioId)
165
+ .requiredUUID((r) => r.walletId)
166
+ .requiredString((r) => r.rawUnsignedTxn)
167
+ .check();
126
168
  const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined, walletId: undefined });
127
169
  const response = yield this.client.request({
128
170
  url: `portfolios/${request.portfolioId}/wallets/${request.walletId}/onchain_transaction`,
@@ -133,5 +175,21 @@ class TransactionsService {
133
175
  return response.data;
134
176
  });
135
177
  }
178
+ submitDepositTravelRule(request, options) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ (0, validation_1.validate)(request)
181
+ .requiredUUID((r) => r.portfolioId)
182
+ .requiredUUID((r) => r.transactionId)
183
+ .check();
184
+ const bodyParams = Object.assign(Object.assign({}, request), { portfolioId: undefined, transactionId: undefined });
185
+ const response = yield this.client.request({
186
+ url: `portfolios/${request.portfolioId}/transactions/${request.transactionId}/travel_rule/deposit`,
187
+ bodyParams,
188
+ method: clients_1.Method.POST,
189
+ callOptions: options,
190
+ });
191
+ return response.data;
192
+ });
193
+ }
136
194
  }
137
195
  exports.TransactionsService = TransactionsService;
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const VERSION = "0.7.1";
16
+ export declare const VERSION = "0.8.2";
17
17
  export declare const API_BASE_PATH = "https://api.prime.coinbase.com/v1/";
18
18
  export declare const USER_AGENT: string;
19
19
  export declare const CB_ACCESS_KEY_HEADER = "X-CB-ACCESS-KEY";
@@ -16,6 +16,9 @@
16
16
  export { CoinbaseClient, CoinbaseHttpClientRetryOptions, CoinbaseCallOptions, Method, CoinbaseClientException, CoinbaseError, CoinbaseResponse, TransformRequestFn, TransformResponseFn, CoinbasePrimeClientWithServices, CoinbasePrimeClientConfig, CoinbasePrimeClient, IPrimeApiClient, } from './clients';
17
17
  export { CoinbasePrimeCredentials } from './credentials';
18
18
  export { createCredentialsFromEnv } from './shared/envUtils';
19
+ export { CoinbasePrimeClientException, CoinbasePrimeException } from './errors';
20
+ export { validate, isValidUUID } from './shared/validation';
21
+ export type { ValidationError, PropertyValidator } from './shared/validation';
19
22
  export { ActivitiesService, IActivitiesService } from './activities';
20
23
  export { AddressBooksService, IAddressBooksService } from './addressBooks';
21
24
  export { AllocationService, IAllocationService } from './allocations';
@@ -70,4 +70,8 @@ export type Balance = {
70
70
  * Amount available for unbonding/unstaking, in whole units
71
71
  */
72
72
  unbondableAmount?: string;
73
+ /**
74
+ * ETH staking rewards currently available to claim, in whole units. This field is returned only in GetWalletBalance responses for ETH wallets. It is omitted or empty for portfolio-level responses and for non-ETH assets; use pending_rewards_amount where applicable.
75
+ */
76
+ claimableRewardsAmount?: string;
73
77
  };
@@ -17,7 +17,6 @@
17
17
  *
18
18
  * Do not edit the class manually.
19
19
  */
20
- import { TravelRuleEntry } from './TravelRuleEntry';
21
20
  export type CreatePortfolioAddressBookEntryRequest = {
22
21
  /**
23
22
  * Crypto address to add
@@ -39,5 +38,4 @@ export type CreatePortfolioAddressBookEntryRequest = {
39
38
  * List of compatible chain IDs for the address, empty for Solana
40
39
  */
41
40
  chainIds?: Array<string>;
42
- travelRuleData?: TravelRuleEntry;
43
41
  };
@@ -21,6 +21,7 @@ import { BlockchainAddress } from './BlockchainAddress';
21
21
  import { CounterpartyDestination } from './CounterpartyDestination';
22
22
  import { DestinationType } from './enums/DestinationType';
23
23
  import { PaymentMethodDestination } from './PaymentMethodDestination';
24
+ import { TravelRuleData } from './TravelRuleData';
24
25
  export type CreateWalletWithdrawalRequest = {
25
26
  /**
26
27
  * The amount in whole units of the withdrawal
@@ -38,4 +39,5 @@ export type CreateWalletWithdrawalRequest = {
38
39
  paymentMethod?: PaymentMethodDestination;
39
40
  blockchainAddress?: BlockchainAddress;
40
41
  counterparty?: CounterpartyDestination;
42
+ travelRuleData?: TravelRuleData;
41
43
  };
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { ValidatorStakingInfo } from './ValidatorStakingInfo';
21
+ export type GetStakingStatusResponse = {
22
+ /**
23
+ * The portfolio ID
24
+ */
25
+ portfolioId: string;
26
+ /**
27
+ * The wallet ID
28
+ */
29
+ walletId: string;
30
+ /**
31
+ * The wallet address
32
+ */
33
+ walletAddress: string;
34
+ /**
35
+ * Current timestamp at time of API call
36
+ */
37
+ currentTimestamp: Date;
38
+ /**
39
+ * List of validators with staking information for this wallet
40
+ */
41
+ validators: Array<ValidatorStakingInfo>;
42
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { StakeType } from './enums/StakeType';
21
+ export type StakingStatus = {
22
+ /**
23
+ * Amount being staked (whole amount, e.g., 16 ETH)
24
+ */
25
+ amount: string;
26
+ stakeType: StakeType;
27
+ /**
28
+ * Estimated date when staking will complete (ISO 8601 format)
29
+ */
30
+ estimatedStakeDate: Date;
31
+ /**
32
+ * Estimated hours until this staking request completes
33
+ */
34
+ estimatedHoursToStake: number;
35
+ /**
36
+ * Timestamp when the stake request was originally created
37
+ */
38
+ requestedAt?: Date;
39
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright 2026-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ export type SubmitDepositTravelRuleDataResponse = {
21
+ ownershipVerificationRequired: boolean;
22
+ };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright 2026-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { TravelRuleParty } from './TravelRuleParty';
21
+ /**
22
+ * Data object used for withdrawals.
23
+ */
24
+ export type TravelRuleData = {
25
+ beneficiary?: TravelRuleParty;
26
+ originator?: TravelRuleParty;
27
+ isSelf?: boolean;
28
+ /**
29
+ * True if Coinbase is being used as an intermediary for a customer transfer.
30
+ */
31
+ isIntermediary?: boolean;
32
+ optOutOfOwnershipVerification?: boolean;
33
+ /**
34
+ * Whether the originating VASP attests to verified wallet ownership. When true with is_intermediary, enables automatic VASP data enrichment from the legal entity.
35
+ */
36
+ attestVerifiedWalletOwnership?: boolean;
37
+ };
@@ -17,16 +17,31 @@
17
17
  *
18
18
  * Do not edit the class manually.
19
19
  */
20
- import { DateOfBirth } from './DateOfBirth';
21
20
  import { DetailedAddress } from './DetailedAddress';
22
21
  import { NaturalPersonName } from './NaturalPersonName';
22
+ import { TravelRuleWalletType } from './enums/TravelRuleWalletType';
23
+ import { GoogleTypeDate } from './googleTypeDate';
23
24
  /**
24
- * Represents one of the Transmittal Parties involved in a Travel Rule transfer, either originator or beneficiary.
25
+ * Represents a party in a travel rule transfer (originator or beneficiary).
25
26
  */
26
27
  export type TravelRuleParty = {
27
28
  name?: string;
28
- detailedAddress?: DetailedAddress;
29
29
  naturalPersonName?: NaturalPersonName;
30
- dateOfBirth?: DateOfBirth;
30
+ address?: DetailedAddress;
31
+ walletType?: TravelRuleWalletType;
32
+ vaspId?: string;
33
+ vaspName?: string;
34
+ /**
35
+ * Personal identifier for travel rule compliance. For individuals: passport number, national ID, driver\'s license. For institutions: LEI (Legal Entity Identifier).
36
+ */
37
+ personalId?: string;
38
+ dateOfBirth?: GoogleTypeDate;
39
+ /**
40
+ * Telephone number for contact purposes.
41
+ */
31
42
  telephoneNumber?: string;
43
+ /**
44
+ * Account identifier for travel rule compliance. If not provided, defaults to portfolio ID.
45
+ */
46
+ accountId?: string;
32
47
  };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { StakingStatus } from './StakingStatus';
21
+ export type ValidatorStakingInfo = {
22
+ /**
23
+ * The validator address (public key)
24
+ */
25
+ validatorAddress: string;
26
+ /**
27
+ * List of active staking requests for this validator
28
+ */
29
+ statuses: Array<StakingStatus>;
30
+ };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ export declare enum StakeType {
21
+ StakeTypeUnspecified = "STAKE_TYPE_UNSPECIFIED",
22
+ StakeTypeInitialDeposit = "STAKE_TYPE_INITIAL_DEPOSIT",
23
+ StakeTypeTopUp = "STAKE_TYPE_TOP_UP"
24
+ }
@@ -36,6 +36,7 @@ export { RateType } from './RateType';
36
36
  export { RewardSubtype } from './RewardSubtype';
37
37
  export { SigningStatus } from './SigningStatus';
38
38
  export { SortDirection } from './SortDirection';
39
+ export { StakeType } from './StakeType';
39
40
  export { TimeInForceType } from './TimeInForceType';
40
41
  export { TransactionStatus } from './TransactionStatus';
41
42
  export { TransactionType } from './TransactionType';
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ /**
21
+ * * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.
22
+ */
23
+ export type GoogleTypeDate = {
24
+ /**
25
+ * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
26
+ */
27
+ year?: number;
28
+ /**
29
+ * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
30
+ */
31
+ month?: number;
32
+ /**
33
+ * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn\'t significant.
34
+ */
35
+ day?: number;
36
+ };
@@ -101,6 +101,7 @@ export type { GetPortfolioUsersResponse } from './GetPortfolioUsersResponse';
101
101
  export type { GetPortfoliosResponse } from './GetPortfoliosResponse';
102
102
  export type { GetPositionsResponse } from './GetPositionsResponse';
103
103
  export type { GetPostTradeCreditResponse } from './GetPostTradeCreditResponse';
104
+ export type { GetStakingStatusResponse } from './GetStakingStatusResponse';
104
105
  export type { GetTFTieredPricingFeesResponse } from './GetTFTieredPricingFeesResponse';
105
106
  export type { GetTransactionResponse } from './GetTransactionResponse';
106
107
  export type { GetUnstakingStatusResponse } from './GetUnstakingStatusResponse';
@@ -166,7 +167,9 @@ export type { SetFcmSettingsResponse } from './SetFcmSettingsResponse';
166
167
  export type { ShortCollateral } from './ShortCollateral';
167
168
  export type { StakingClaimRewardsResponse } from './StakingClaimRewardsResponse';
168
169
  export type { StakingInitiateResponse } from './StakingInitiateResponse';
170
+ export type { StakingStatus } from './StakingStatus';
169
171
  export type { StakingUnstakeResponse } from './StakingUnstakeResponse';
172
+ export type { SubmitDepositTravelRuleDataResponse } from './SubmitDepositTravelRuleDataResponse';
170
173
  export type { TFAsset } from './TFAsset';
171
174
  export type { TFObligation } from './TFObligation';
172
175
  export type { TieredPricingFee } from './TieredPricingFee';
@@ -174,12 +177,14 @@ export type { Transaction } from './Transaction';
174
177
  export type { TransactionMetadata } from './TransactionMetadata';
175
178
  export type { TransactionValidator } from './TransactionValidator';
176
179
  export type { TransferLocation } from './TransferLocation';
180
+ export type { TravelRuleData } from './TravelRuleData';
177
181
  export type { TravelRuleEntry } from './TravelRuleEntry';
178
182
  export type { TravelRuleParty } from './TravelRuleParty';
179
183
  export type { TravelRuleWalletDetails } from './TravelRuleWalletDetails';
180
184
  export type { UnstakingStatus } from './UnstakingStatus';
181
185
  export type { UserAction } from './UserAction';
182
186
  export type { VASP } from './VASP';
187
+ export type { ValidatorStakingInfo } from './ValidatorStakingInfo';
183
188
  export type { ValidatorUnstakingInfo } from './ValidatorUnstakingInfo';
184
189
  export type { Wallet } from './Wallet';
185
190
  export type { WalletClaimRewardsInputs } from './WalletClaimRewardsInputs';
@@ -197,6 +202,7 @@ export type { XMPosition } from './XMPosition';
197
202
  export type { XMRiskNettingInfo } from './XMRiskNettingInfo';
198
203
  export type { XMSummary } from './XMSummary';
199
204
  export type { CreateATransferBetweenTwoWallets } from './createATransferBetweenTwoWallets';
205
+ export type { GoogleTypeDate } from './googleTypeDate';
200
206
  export type { AcceptQuoteRequest } from './AcceptQuoteRequest';
201
207
  export type { CreateConversionRequest } from './CreateConversionRequest';
202
208
  export type { CreateNewLocatesRequest } from './CreateNewLocatesRequest';
@@ -220,3 +226,4 @@ export type { StakingInitiateRequest } from './StakingInitiateRequest';
220
226
  export type { StakingUnstakeRequest } from './StakingUnstakeRequest';
221
227
  export type { CreateNetAllocationRequest } from './CreateNetAllocationRequest';
222
228
  export type { RFQ } from './RFQ';
229
+ export type { RequestToSubmitTravelRuleDataForAnExistingDepositTransaction } from './requestToSubmitTravelRuleDataForAnExistingDepositTransaction';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright 2025-present Coinbase Global, Inc.
3
+ *
4
+ * This file is generated by Openapi Generator https://github.com/openapitools/openapi-generator
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Do not edit the class manually.
19
+ */
20
+ import { TravelRuleParty } from './TravelRuleParty';
21
+ export type RequestToSubmitTravelRuleDataForAnExistingDepositTransaction = {
22
+ originator?: TravelRuleParty;
23
+ beneficiary?: TravelRuleParty;
24
+ isSelf?: boolean;
25
+ optOutOfOwnershipVerification?: boolean;
26
+ };
@@ -53,7 +53,7 @@ export type ListOpenOrdersRequest = Pagination & {
53
53
  orderType?: OrderType;
54
54
  orderSide?: OrderSide;
55
55
  startDate?: string;
56
- endDate: string;
56
+ endDate?: string;
57
57
  };
58
58
  export type BaseListOpenOrdersResponse = Brand<GetOpenOrdersResponse, 'ListOpenOrdersResponse'>;
59
59
  export type ListOpenOrdersResponse = BaseListOpenOrdersResponse & PaginatedResponseMethods<ListOpenOrdersRequest & BasePaginatedRequest, BaseListOpenOrdersResponse, any>;