@compass-labs/api-sdk 2.2.66 → 2.2.67-rc.0
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.
- package/README.md +4 -2
- package/codeSamples_typescript.yaml +6 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsBalances.d.ts +25 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsBalances.d.ts.map +1 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsBalances.js +130 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsBalances.js.map +1 -0
- package/dist/commonjs/lib/config.d.ts +2 -2
- package/dist/commonjs/lib/config.js +2 -2
- package/dist/commonjs/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.d.ts +5 -0
- package/dist/commonjs/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.d.ts.map +1 -1
- package/dist/commonjs/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.js +2 -0
- package/dist/commonjs/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.js.map +1 -1
- package/dist/commonjs/models/components/creditevent.d.ts +4 -4
- package/dist/commonjs/models/components/creditevent.d.ts.map +1 -1
- package/dist/commonjs/models/components/creditevent.js +4 -5
- package/dist/commonjs/models/components/creditevent.js.map +1 -1
- package/dist/commonjs/models/components/index.d.ts +2 -0
- package/dist/commonjs/models/components/index.d.ts.map +1 -1
- package/dist/commonjs/models/components/index.js +2 -0
- package/dist/commonjs/models/components/index.js.map +1 -1
- package/dist/commonjs/models/components/tokenizedassetsactivityevent.d.ts +79 -0
- package/dist/commonjs/models/components/tokenizedassetsactivityevent.d.ts.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetsactivityevent.js +84 -0
- package/dist/commonjs/models/components/tokenizedassetsactivityevent.js.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetsbalancesresponse.d.ts +36 -0
- package/dist/commonjs/models/components/tokenizedassetsbalancesresponse.d.ts.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetsbalancesresponse.js +59 -0
- package/dist/commonjs/models/components/tokenizedassetsbalancesresponse.js.map +1 -0
- package/dist/commonjs/models/operations/index.d.ts +1 -0
- package/dist/commonjs/models/operations/index.d.ts.map +1 -1
- package/dist/commonjs/models/operations/index.js +1 -0
- package/dist/commonjs/models/operations/index.js.map +1 -1
- package/dist/commonjs/models/operations/v2tokenizedassetsbalances.d.ts +37 -0
- package/dist/commonjs/models/operations/v2tokenizedassetsbalances.d.ts.map +1 -0
- package/dist/commonjs/models/operations/v2tokenizedassetsbalances.js +62 -0
- package/dist/commonjs/models/operations/v2tokenizedassetsbalances.js.map +1 -0
- package/dist/commonjs/sdk/tokenizedassets.d.ts +13 -0
- package/dist/commonjs/sdk/tokenizedassets.d.ts.map +1 -1
- package/dist/commonjs/sdk/tokenizedassets.js +16 -0
- package/dist/commonjs/sdk/tokenizedassets.js.map +1 -1
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsBalances.d.ts +25 -0
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsBalances.d.ts.map +1 -0
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsBalances.js +94 -0
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsBalances.js.map +1 -0
- package/dist/esm/lib/config.d.ts +2 -2
- package/dist/esm/lib/config.js +2 -2
- package/dist/esm/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.d.ts +5 -0
- package/dist/esm/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.d.ts.map +1 -1
- package/dist/esm/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.js +2 -0
- package/dist/esm/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.js.map +1 -1
- package/dist/esm/models/components/creditevent.d.ts +4 -4
- package/dist/esm/models/components/creditevent.d.ts.map +1 -1
- package/dist/esm/models/components/creditevent.js +3 -4
- package/dist/esm/models/components/creditevent.js.map +1 -1
- package/dist/esm/models/components/index.d.ts +2 -0
- package/dist/esm/models/components/index.d.ts.map +1 -1
- package/dist/esm/models/components/index.js +2 -0
- package/dist/esm/models/components/index.js.map +1 -1
- package/dist/esm/models/components/tokenizedassetsactivityevent.d.ts +79 -0
- package/dist/esm/models/components/tokenizedassetsactivityevent.d.ts.map +1 -0
- package/dist/esm/models/components/tokenizedassetsactivityevent.js +47 -0
- package/dist/esm/models/components/tokenizedassetsactivityevent.js.map +1 -0
- package/dist/esm/models/components/tokenizedassetsbalancesresponse.d.ts +36 -0
- package/dist/esm/models/components/tokenizedassetsbalancesresponse.d.ts.map +1 -0
- package/dist/esm/models/components/tokenizedassetsbalancesresponse.js +22 -0
- package/dist/esm/models/components/tokenizedassetsbalancesresponse.js.map +1 -0
- package/dist/esm/models/operations/index.d.ts +1 -0
- package/dist/esm/models/operations/index.d.ts.map +1 -1
- package/dist/esm/models/operations/index.js +1 -0
- package/dist/esm/models/operations/index.js.map +1 -1
- package/dist/esm/models/operations/v2tokenizedassetsbalances.d.ts +37 -0
- package/dist/esm/models/operations/v2tokenizedassetsbalances.d.ts.map +1 -0
- package/dist/esm/models/operations/v2tokenizedassetsbalances.js +25 -0
- package/dist/esm/models/operations/v2tokenizedassetsbalances.js.map +1 -0
- package/dist/esm/sdk/tokenizedassets.d.ts +13 -0
- package/dist/esm/sdk/tokenizedassets.d.ts.map +1 -1
- package/dist/esm/sdk/tokenizedassets.js +16 -0
- package/dist/esm/sdk/tokenizedassets.js.map +1 -1
- package/docs/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.md +16 -14
- package/docs/models/components/creditevent.md +1 -1
- package/docs/models/components/{eventtype.md → crediteventeventtype.md} +3 -3
- package/docs/models/components/tokenizedassetsactivityevent.md +40 -0
- package/docs/models/components/tokenizedassetsactivityeventeventtype.md +17 -0
- package/docs/models/components/tokenizedassetsbalancesresponse.md +28 -0
- package/docs/models/operations/v2tokenizedassetsbalanceschain.md +17 -0
- package/docs/models/operations/v2tokenizedassetsbalancesrequest.md +18 -0
- package/docs/sdks/tokenizedassets/README.md +81 -0
- package/openapi_prepped_for_speakeasy.json +220 -0
- package/package.json +1 -1
- package/src/funcs/tokenizedAssetsTokenizedAssetsBalances.ts +184 -0
- package/src/lib/config.ts +2 -2
- package/src/models/components/compassapibackendv2modelstokenizedassetsreadresponsepositionsposition.ts +9 -0
- package/src/models/components/creditevent.ts +7 -6
- package/src/models/components/index.ts +2 -0
- package/src/models/components/tokenizedassetsactivityevent.ts +132 -0
- package/src/models/components/tokenizedassetsbalancesresponse.ts +70 -0
- package/src/models/operations/index.ts +1 -0
- package/src/models/operations/v2tokenizedassetsbalances.ts +65 -0
- package/src/sdk/tokenizedassets.ts +24 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { CompassApiSDKCore } from "../core.js";
|
|
6
|
+
import { encodeFormQuery } from "../lib/encodings.js";
|
|
7
|
+
import { matchStatusCode } from "../lib/http.js";
|
|
8
|
+
import * as M from "../lib/matchers.js";
|
|
9
|
+
import { compactMap } from "../lib/primitives.js";
|
|
10
|
+
import { safeParse } from "../lib/schemas.js";
|
|
11
|
+
import { RequestOptions } from "../lib/sdks.js";
|
|
12
|
+
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
13
|
+
import { pathToFunc } from "../lib/url.js";
|
|
14
|
+
import * as components from "../models/components/index.js";
|
|
15
|
+
import { CompassAPISDKError } from "../models/errors/compassapisdkerror.js";
|
|
16
|
+
import {
|
|
17
|
+
ConnectionError,
|
|
18
|
+
InvalidRequestError,
|
|
19
|
+
RequestAbortedError,
|
|
20
|
+
RequestTimeoutError,
|
|
21
|
+
UnexpectedClientError,
|
|
22
|
+
} from "../models/errors/httpclienterrors.js";
|
|
23
|
+
import * as errors from "../models/errors/index.js";
|
|
24
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
25
|
+
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
26
|
+
import * as operations from "../models/operations/index.js";
|
|
27
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
28
|
+
import { Result } from "../types/fp.js";
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Get tokenized-asset account balances + transfer history
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Get the full token ledger for a Tokenized Assets Account.
|
|
35
|
+
*
|
|
36
|
+
* Returns every token the account has transferred — current balances plus
|
|
37
|
+
* complete transfer history — keyed by symbol. Unlike `/positions` (current
|
|
38
|
+
* equity holdings, priced), this includes **USDC funding** movements and
|
|
39
|
+
* **fully-sold positions** (zero balance), making it the account's cash +
|
|
40
|
+
* activity ledger. Pass `chain=base` for Base holdings.
|
|
41
|
+
*/
|
|
42
|
+
export function tokenizedAssetsTokenizedAssetsBalances(
|
|
43
|
+
client: CompassApiSDKCore,
|
|
44
|
+
request: operations.V2TokenizedAssetsBalancesRequest,
|
|
45
|
+
options?: RequestOptions,
|
|
46
|
+
): APIPromise<
|
|
47
|
+
Result<
|
|
48
|
+
components.TokenizedAssetsBalancesResponse,
|
|
49
|
+
| errors.HTTPValidationError
|
|
50
|
+
| CompassAPISDKError
|
|
51
|
+
| ResponseValidationError
|
|
52
|
+
| ConnectionError
|
|
53
|
+
| RequestAbortedError
|
|
54
|
+
| RequestTimeoutError
|
|
55
|
+
| InvalidRequestError
|
|
56
|
+
| UnexpectedClientError
|
|
57
|
+
| SDKValidationError
|
|
58
|
+
>
|
|
59
|
+
> {
|
|
60
|
+
return new APIPromise($do(
|
|
61
|
+
client,
|
|
62
|
+
request,
|
|
63
|
+
options,
|
|
64
|
+
));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async function $do(
|
|
68
|
+
client: CompassApiSDKCore,
|
|
69
|
+
request: operations.V2TokenizedAssetsBalancesRequest,
|
|
70
|
+
options?: RequestOptions,
|
|
71
|
+
): Promise<
|
|
72
|
+
[
|
|
73
|
+
Result<
|
|
74
|
+
components.TokenizedAssetsBalancesResponse,
|
|
75
|
+
| errors.HTTPValidationError
|
|
76
|
+
| CompassAPISDKError
|
|
77
|
+
| ResponseValidationError
|
|
78
|
+
| ConnectionError
|
|
79
|
+
| RequestAbortedError
|
|
80
|
+
| RequestTimeoutError
|
|
81
|
+
| InvalidRequestError
|
|
82
|
+
| UnexpectedClientError
|
|
83
|
+
| SDKValidationError
|
|
84
|
+
>,
|
|
85
|
+
APICall,
|
|
86
|
+
]
|
|
87
|
+
> {
|
|
88
|
+
const parsed = safeParse(
|
|
89
|
+
request,
|
|
90
|
+
(value) =>
|
|
91
|
+
operations.V2TokenizedAssetsBalancesRequest$outboundSchema.parse(value),
|
|
92
|
+
"Input validation failed",
|
|
93
|
+
);
|
|
94
|
+
if (!parsed.ok) {
|
|
95
|
+
return [parsed, { status: "invalid" }];
|
|
96
|
+
}
|
|
97
|
+
const payload = parsed.value;
|
|
98
|
+
const body = null;
|
|
99
|
+
|
|
100
|
+
const path = pathToFunc("/v2/tokenized_assets/balances")();
|
|
101
|
+
|
|
102
|
+
const query = encodeFormQuery({
|
|
103
|
+
"chain": payload.chain,
|
|
104
|
+
"owner": payload.owner,
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
const headers = new Headers(compactMap({
|
|
108
|
+
Accept: "application/json",
|
|
109
|
+
}));
|
|
110
|
+
|
|
111
|
+
const secConfig = await extractSecurity(client._options.apiKeyAuth);
|
|
112
|
+
const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
|
|
113
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
114
|
+
|
|
115
|
+
const context = {
|
|
116
|
+
options: client._options,
|
|
117
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
118
|
+
operationID: "v2_tokenized_assets_balances",
|
|
119
|
+
oAuth2Scopes: null,
|
|
120
|
+
|
|
121
|
+
resolvedSecurity: requestSecurity,
|
|
122
|
+
|
|
123
|
+
securitySource: client._options.apiKeyAuth,
|
|
124
|
+
retryConfig: options?.retries
|
|
125
|
+
|| client._options.retryConfig
|
|
126
|
+
|| { strategy: "none" },
|
|
127
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
const requestRes = client._createRequest(context, {
|
|
131
|
+
security: requestSecurity,
|
|
132
|
+
method: "GET",
|
|
133
|
+
baseURL: options?.serverURL,
|
|
134
|
+
path: path,
|
|
135
|
+
headers: headers,
|
|
136
|
+
query: query,
|
|
137
|
+
body: body,
|
|
138
|
+
userAgent: client._options.userAgent,
|
|
139
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
140
|
+
}, options);
|
|
141
|
+
if (!requestRes.ok) {
|
|
142
|
+
return [requestRes, { status: "invalid" }];
|
|
143
|
+
}
|
|
144
|
+
const req = requestRes.value;
|
|
145
|
+
|
|
146
|
+
const doResult = await client._do(req, {
|
|
147
|
+
context,
|
|
148
|
+
isErrorStatusCode: (statusCode: number) =>
|
|
149
|
+
matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
|
|
150
|
+
retryConfig: context.retryConfig,
|
|
151
|
+
retryCodes: context.retryCodes,
|
|
152
|
+
});
|
|
153
|
+
if (!doResult.ok) {
|
|
154
|
+
return [doResult, { status: "request-error", request: req }];
|
|
155
|
+
}
|
|
156
|
+
const response = doResult.value;
|
|
157
|
+
|
|
158
|
+
const responseFields = {
|
|
159
|
+
HttpMeta: { Response: response, Request: req },
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const [result] = await M.match<
|
|
163
|
+
components.TokenizedAssetsBalancesResponse,
|
|
164
|
+
| errors.HTTPValidationError
|
|
165
|
+
| CompassAPISDKError
|
|
166
|
+
| ResponseValidationError
|
|
167
|
+
| ConnectionError
|
|
168
|
+
| RequestAbortedError
|
|
169
|
+
| RequestTimeoutError
|
|
170
|
+
| InvalidRequestError
|
|
171
|
+
| UnexpectedClientError
|
|
172
|
+
| SDKValidationError
|
|
173
|
+
>(
|
|
174
|
+
M.json(200, components.TokenizedAssetsBalancesResponse$inboundSchema),
|
|
175
|
+
M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
|
|
176
|
+
M.fail("4XX"),
|
|
177
|
+
M.fail("5XX"),
|
|
178
|
+
)(response, req, { extraFields: responseFields });
|
|
179
|
+
if (!result.ok) {
|
|
180
|
+
return [result, { status: "complete", request: req, response }];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return [result, { status: "complete", request: req, response }];
|
|
184
|
+
}
|
package/src/lib/config.ts
CHANGED
|
@@ -62,7 +62,7 @@ export const SDK_METADATA = {
|
|
|
62
62
|
language: "typescript",
|
|
63
63
|
openapiDocVersion: "0.0.1",
|
|
64
64
|
sdkVersion: "2.0.0",
|
|
65
|
-
genVersion: "2.
|
|
65
|
+
genVersion: "2.911.0",
|
|
66
66
|
userAgent:
|
|
67
|
-
"speakeasy-sdk/typescript 2.0.0 2.
|
|
67
|
+
"speakeasy-sdk/typescript 2.0.0 2.911.0 0.0.1 @compass-labs/api-sdk",
|
|
68
68
|
} as const;
|
|
@@ -16,6 +16,10 @@ import {
|
|
|
16
16
|
TokenizedAssetProvider,
|
|
17
17
|
TokenizedAssetProvider$inboundSchema,
|
|
18
18
|
} from "./tokenizedassetprovider.js";
|
|
19
|
+
import {
|
|
20
|
+
TokenizedAssetsActivityEvent,
|
|
21
|
+
TokenizedAssetsActivityEvent$inboundSchema,
|
|
22
|
+
} from "./tokenizedassetsactivityevent.js";
|
|
19
23
|
import {
|
|
20
24
|
TokenizedAssetsPnl,
|
|
21
25
|
TokenizedAssetsPnl$inboundSchema,
|
|
@@ -80,6 +84,10 @@ export type CompassApiBackendV2ModelsTokenizedAssetsReadResponsePositionsPositio
|
|
|
80
84
|
* Realized + unrealized PnL for this position, or `null` when it cannot be priced (no current price, or externally-funded inventory with no on-chain cost basis).
|
|
81
85
|
*/
|
|
82
86
|
pnl?: TokenizedAssetsPnl | null | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Chronological activity for this position (buy / sell / transfer_in / transfer_out). Pure-USDC funding is excluded — it appears on the balances endpoint.
|
|
89
|
+
*/
|
|
90
|
+
events?: Array<TokenizedAssetsActivityEvent> | undefined;
|
|
83
91
|
};
|
|
84
92
|
|
|
85
93
|
/** @internal */
|
|
@@ -101,6 +109,7 @@ export const CompassApiBackendV2ModelsTokenizedAssetsReadResponsePositionsPositi
|
|
|
101
109
|
asset_class: TokenizedAssetClass$inboundSchema.optional(),
|
|
102
110
|
chain: Chain$inboundSchema.optional(),
|
|
103
111
|
pnl: z.nullable(TokenizedAssetsPnl$inboundSchema).optional(),
|
|
112
|
+
events: z.array(TokenizedAssetsActivityEvent$inboundSchema).optional(),
|
|
104
113
|
}).transform((v) => {
|
|
105
114
|
return remap$(v, {
|
|
106
115
|
"underlying_ticker": "underlyingTicker",
|
|
@@ -12,7 +12,7 @@ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
|
|
|
12
12
|
/**
|
|
13
13
|
* Type of credit event.
|
|
14
14
|
*/
|
|
15
|
-
export const
|
|
15
|
+
export const CreditEventEventType = {
|
|
16
16
|
Supply: "supply",
|
|
17
17
|
Withdraw: "withdraw",
|
|
18
18
|
Borrow: "borrow",
|
|
@@ -24,7 +24,7 @@ export const EventType = {
|
|
|
24
24
|
/**
|
|
25
25
|
* Type of credit event.
|
|
26
26
|
*/
|
|
27
|
-
export type
|
|
27
|
+
export type CreditEventEventType = ClosedEnum<typeof CreditEventEventType>;
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* A single historical event in a credit position.
|
|
@@ -33,7 +33,7 @@ export type CreditEvent = {
|
|
|
33
33
|
/**
|
|
34
34
|
* Type of credit event.
|
|
35
35
|
*/
|
|
36
|
-
eventType:
|
|
36
|
+
eventType: CreditEventEventType;
|
|
37
37
|
/**
|
|
38
38
|
* Block number when the event occurred
|
|
39
39
|
*/
|
|
@@ -57,8 +57,9 @@ export type CreditEvent = {
|
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
/** @internal */
|
|
60
|
-
export const
|
|
61
|
-
|
|
60
|
+
export const CreditEventEventType$inboundSchema: z.ZodNativeEnum<
|
|
61
|
+
typeof CreditEventEventType
|
|
62
|
+
> = z.nativeEnum(CreditEventEventType);
|
|
62
63
|
|
|
63
64
|
/** @internal */
|
|
64
65
|
export const CreditEvent$inboundSchema: z.ZodType<
|
|
@@ -66,7 +67,7 @@ export const CreditEvent$inboundSchema: z.ZodType<
|
|
|
66
67
|
z.ZodTypeDef,
|
|
67
68
|
unknown
|
|
68
69
|
> = z.object({
|
|
69
|
-
event_type:
|
|
70
|
+
event_type: CreditEventEventType$inboundSchema,
|
|
70
71
|
block_number: z.number().int(),
|
|
71
72
|
block_timestamp: z.string().datetime({ offset: true }).transform(v =>
|
|
72
73
|
new Date(v)
|
|
@@ -287,6 +287,8 @@ export * from "./tokenbalanceresponse.js";
|
|
|
287
287
|
export * from "./tokenconfig.js";
|
|
288
288
|
export * from "./tokenizedassetclass.js";
|
|
289
289
|
export * from "./tokenizedassetprovider.js";
|
|
290
|
+
export * from "./tokenizedassetsactivityevent.js";
|
|
291
|
+
export * from "./tokenizedassetsbalancesresponse.js";
|
|
290
292
|
export * from "./tokenizedassetsbuildorderrequest.js";
|
|
291
293
|
export * from "./tokenizedassetsbuildorderresponse.js";
|
|
292
294
|
export * from "./tokenizedassetscancelorderrequest.js";
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v3";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
|
+
import { safeParse } from "../../lib/schemas.js";
|
|
8
|
+
import { ClosedEnum } from "../../types/enums.js";
|
|
9
|
+
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
10
|
+
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Kind of activity for this transaction.
|
|
14
|
+
*/
|
|
15
|
+
export const TokenizedAssetsActivityEventEventType = {
|
|
16
|
+
Buy: "buy",
|
|
17
|
+
Sell: "sell",
|
|
18
|
+
TransferIn: "transfer_in",
|
|
19
|
+
TransferOut: "transfer_out",
|
|
20
|
+
} as const;
|
|
21
|
+
/**
|
|
22
|
+
* Kind of activity for this transaction.
|
|
23
|
+
*/
|
|
24
|
+
export type TokenizedAssetsActivityEventEventType = ClosedEnum<
|
|
25
|
+
typeof TokenizedAssetsActivityEventEventType
|
|
26
|
+
>;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* One classified activity event on a tokenized-asset position.
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
*
|
|
33
|
+
* Mirrors Earn's deposit/withdrawal event shape (generic ``input``/``output``
|
|
34
|
+
* legs) with an ``event_type`` discriminator, so buys, sells and transfers share
|
|
35
|
+
* one chronological feed. A ``buy`` has ``input`` = USDC paid and ``output`` =
|
|
36
|
+
* tokens received (``cost_per_unit`` = USDC/token); a ``sell`` is the reverse and
|
|
37
|
+
* carries ``realized_pnl``; a ``transfer_in``/``transfer_out`` carries only the
|
|
38
|
+
* token leg, so the opposite side is ``null``. All amounts are decimal strings.
|
|
39
|
+
* Pure-USDC funding movements are not position activity — they appear on the
|
|
40
|
+
* balances endpoint.
|
|
41
|
+
*/
|
|
42
|
+
export type TokenizedAssetsActivityEvent = {
|
|
43
|
+
/**
|
|
44
|
+
* Kind of activity for this transaction.
|
|
45
|
+
*/
|
|
46
|
+
eventType: TokenizedAssetsActivityEventEventType;
|
|
47
|
+
/**
|
|
48
|
+
* Block the transaction was mined in.
|
|
49
|
+
*/
|
|
50
|
+
blockNumber: number;
|
|
51
|
+
/**
|
|
52
|
+
* Time the transaction was mined.
|
|
53
|
+
*/
|
|
54
|
+
blockTimestamp: Date;
|
|
55
|
+
/**
|
|
56
|
+
* Transaction hash.
|
|
57
|
+
*/
|
|
58
|
+
transactionHash: string;
|
|
59
|
+
/**
|
|
60
|
+
* Amount sent: USDC for a buy, tokens for a sell/transfer_out.
|
|
61
|
+
*/
|
|
62
|
+
inputAmount?: string | null | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Symbol of the sent leg, or `null` for a transfer_in.
|
|
65
|
+
*/
|
|
66
|
+
inputSymbol?: string | null | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Amount received: tokens for a buy/transfer_in, USDC for a sell.
|
|
69
|
+
*/
|
|
70
|
+
outputAmount?: string | null | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Symbol of the received leg, or `null` for a transfer_out.
|
|
73
|
+
*/
|
|
74
|
+
outputSymbol?: string | null | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Cost basis per token at buy time; `null` for non-buys.
|
|
77
|
+
*/
|
|
78
|
+
costPerUnit?: string | null | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Realized profit/loss on a sell; `null` for non-sells.
|
|
81
|
+
*/
|
|
82
|
+
realizedPnl?: string | null | undefined;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/** @internal */
|
|
86
|
+
export const TokenizedAssetsActivityEventEventType$inboundSchema:
|
|
87
|
+
z.ZodNativeEnum<typeof TokenizedAssetsActivityEventEventType> = z.nativeEnum(
|
|
88
|
+
TokenizedAssetsActivityEventEventType,
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
/** @internal */
|
|
92
|
+
export const TokenizedAssetsActivityEvent$inboundSchema: z.ZodType<
|
|
93
|
+
TokenizedAssetsActivityEvent,
|
|
94
|
+
z.ZodTypeDef,
|
|
95
|
+
unknown
|
|
96
|
+
> = z.object({
|
|
97
|
+
event_type: TokenizedAssetsActivityEventEventType$inboundSchema,
|
|
98
|
+
block_number: z.number().int(),
|
|
99
|
+
block_timestamp: z.string().datetime({ offset: true }).transform(v =>
|
|
100
|
+
new Date(v)
|
|
101
|
+
),
|
|
102
|
+
transaction_hash: z.string(),
|
|
103
|
+
input_amount: z.nullable(z.string()).optional(),
|
|
104
|
+
input_symbol: z.nullable(z.string()).optional(),
|
|
105
|
+
output_amount: z.nullable(z.string()).optional(),
|
|
106
|
+
output_symbol: z.nullable(z.string()).optional(),
|
|
107
|
+
cost_per_unit: z.nullable(z.string()).optional(),
|
|
108
|
+
realized_pnl: z.nullable(z.string()).optional(),
|
|
109
|
+
}).transform((v) => {
|
|
110
|
+
return remap$(v, {
|
|
111
|
+
"event_type": "eventType",
|
|
112
|
+
"block_number": "blockNumber",
|
|
113
|
+
"block_timestamp": "blockTimestamp",
|
|
114
|
+
"transaction_hash": "transactionHash",
|
|
115
|
+
"input_amount": "inputAmount",
|
|
116
|
+
"input_symbol": "inputSymbol",
|
|
117
|
+
"output_amount": "outputAmount",
|
|
118
|
+
"output_symbol": "outputSymbol",
|
|
119
|
+
"cost_per_unit": "costPerUnit",
|
|
120
|
+
"realized_pnl": "realizedPnl",
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
export function tokenizedAssetsActivityEventFromJSON(
|
|
125
|
+
jsonString: string,
|
|
126
|
+
): SafeParseResult<TokenizedAssetsActivityEvent, SDKValidationError> {
|
|
127
|
+
return safeParse(
|
|
128
|
+
jsonString,
|
|
129
|
+
(x) => TokenizedAssetsActivityEvent$inboundSchema.parse(JSON.parse(x)),
|
|
130
|
+
`Failed to parse 'TokenizedAssetsActivityEvent' from JSON`,
|
|
131
|
+
);
|
|
132
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v3";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
|
+
import { safeParse } from "../../lib/schemas.js";
|
|
8
|
+
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
9
|
+
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
|
|
10
|
+
import {
|
|
11
|
+
CompassApiBackendV2ModelsBalancesTokenBalance,
|
|
12
|
+
CompassApiBackendV2ModelsBalancesTokenBalance$inboundSchema,
|
|
13
|
+
} from "./compassapibackendv2modelsbalancestokenbalance.js";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Token balances and transfer history for a Tokenized Assets Account.
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
*
|
|
20
|
+
* Unlike `/positions` (current equity holdings only, priced), this surfaces
|
|
21
|
+
* every token the account has ever transferred — each with its full transfer
|
|
22
|
+
* history — including **USDC funding** movements and **fully-sold positions**
|
|
23
|
+
* (zero balance). It is the account's cash + activity ledger. Balances are keyed
|
|
24
|
+
* by token symbol, reusing the same `TokenBalance`/`TokenTransfer` shape as the
|
|
25
|
+
* earn and credit balances endpoints.
|
|
26
|
+
*/
|
|
27
|
+
export type TokenizedAssetsBalancesResponse = {
|
|
28
|
+
/**
|
|
29
|
+
* The derived Tokenized Assets Account address.
|
|
30
|
+
*/
|
|
31
|
+
tokenizedAssetsAccountAddress: string;
|
|
32
|
+
/**
|
|
33
|
+
* Token balances keyed by token symbol, including USDC cash and fully-sold positions (zero balance). Each carries its transfer history.
|
|
34
|
+
*/
|
|
35
|
+
balances?:
|
|
36
|
+
| { [k: string]: CompassApiBackendV2ModelsBalancesTokenBalance }
|
|
37
|
+
| undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Total USD value of all priced balances.
|
|
40
|
+
*/
|
|
41
|
+
totalUsdValue?: string | null | undefined;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/** @internal */
|
|
45
|
+
export const TokenizedAssetsBalancesResponse$inboundSchema: z.ZodType<
|
|
46
|
+
TokenizedAssetsBalancesResponse,
|
|
47
|
+
z.ZodTypeDef,
|
|
48
|
+
unknown
|
|
49
|
+
> = z.object({
|
|
50
|
+
tokenized_assets_account_address: z.string(),
|
|
51
|
+
balances: z.record(
|
|
52
|
+
CompassApiBackendV2ModelsBalancesTokenBalance$inboundSchema,
|
|
53
|
+
).optional(),
|
|
54
|
+
total_usd_value: z.nullable(z.string()).optional(),
|
|
55
|
+
}).transform((v) => {
|
|
56
|
+
return remap$(v, {
|
|
57
|
+
"tokenized_assets_account_address": "tokenizedAssetsAccountAddress",
|
|
58
|
+
"total_usd_value": "totalUsdValue",
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export function tokenizedAssetsBalancesResponseFromJSON(
|
|
63
|
+
jsonString: string,
|
|
64
|
+
): SafeParseResult<TokenizedAssetsBalancesResponse, SDKValidationError> {
|
|
65
|
+
return safeParse(
|
|
66
|
+
jsonString,
|
|
67
|
+
(x) => TokenizedAssetsBalancesResponse$inboundSchema.parse(JSON.parse(x)),
|
|
68
|
+
`Failed to parse 'TokenizedAssetsBalancesResponse' from JSON`,
|
|
69
|
+
);
|
|
70
|
+
}
|
|
@@ -54,6 +54,7 @@ export * from "./v2globalmarketsperpsactivity.js";
|
|
|
54
54
|
export * from "./v2globalmarketsperpscandles.js";
|
|
55
55
|
export * from "./v2globalmarketsperpsopportunities.js";
|
|
56
56
|
export * from "./v2globalmarketsperpspositions.js";
|
|
57
|
+
export * from "./v2tokenizedassetsbalances.js";
|
|
57
58
|
export * from "./v2tokenizedassetsmarkets.js";
|
|
58
59
|
export * from "./v2tokenizedassetsmarketssymbol.js";
|
|
59
60
|
export * from "./v2tokenizedassetsorderorderhash.js";
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v3";
|
|
6
|
+
import { ClosedEnum } from "../../types/enums.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The chain to use.
|
|
10
|
+
*/
|
|
11
|
+
export const V2TokenizedAssetsBalancesChain = {
|
|
12
|
+
Base: "base",
|
|
13
|
+
Ethereum: "ethereum",
|
|
14
|
+
Arbitrum: "arbitrum",
|
|
15
|
+
Hyperevm: "hyperevm",
|
|
16
|
+
Tempo: "tempo",
|
|
17
|
+
} as const;
|
|
18
|
+
/**
|
|
19
|
+
* The chain to use.
|
|
20
|
+
*/
|
|
21
|
+
export type V2TokenizedAssetsBalancesChain = ClosedEnum<
|
|
22
|
+
typeof V2TokenizedAssetsBalancesChain
|
|
23
|
+
>;
|
|
24
|
+
|
|
25
|
+
export type V2TokenizedAssetsBalancesRequest = {
|
|
26
|
+
/**
|
|
27
|
+
* The address of the owner of the Tokenized Assets Account to read balances for. The account address is derived deterministically from this owner; balances are read from the derived account.
|
|
28
|
+
*/
|
|
29
|
+
owner: string;
|
|
30
|
+
/**
|
|
31
|
+
* Network to read balances on (defaults to Ethereum). Equities exist on Ethereum only; RWA yield assets also exist on Base.
|
|
32
|
+
*/
|
|
33
|
+
chain?: V2TokenizedAssetsBalancesChain | undefined;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** @internal */
|
|
37
|
+
export const V2TokenizedAssetsBalancesChain$outboundSchema: z.ZodNativeEnum<
|
|
38
|
+
typeof V2TokenizedAssetsBalancesChain
|
|
39
|
+
> = z.nativeEnum(V2TokenizedAssetsBalancesChain);
|
|
40
|
+
|
|
41
|
+
/** @internal */
|
|
42
|
+
export type V2TokenizedAssetsBalancesRequest$Outbound = {
|
|
43
|
+
owner: string;
|
|
44
|
+
chain?: string | undefined;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/** @internal */
|
|
48
|
+
export const V2TokenizedAssetsBalancesRequest$outboundSchema: z.ZodType<
|
|
49
|
+
V2TokenizedAssetsBalancesRequest$Outbound,
|
|
50
|
+
z.ZodTypeDef,
|
|
51
|
+
V2TokenizedAssetsBalancesRequest
|
|
52
|
+
> = z.object({
|
|
53
|
+
owner: z.string(),
|
|
54
|
+
chain: V2TokenizedAssetsBalancesChain$outboundSchema.optional(),
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export function v2TokenizedAssetsBalancesRequestToJSON(
|
|
58
|
+
v2TokenizedAssetsBalancesRequest: V2TokenizedAssetsBalancesRequest,
|
|
59
|
+
): string {
|
|
60
|
+
return JSON.stringify(
|
|
61
|
+
V2TokenizedAssetsBalancesRequest$outboundSchema.parse(
|
|
62
|
+
v2TokenizedAssetsBalancesRequest,
|
|
63
|
+
),
|
|
64
|
+
);
|
|
65
|
+
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
import { tokenizedAssetsTokenizedAssetsBalances } from "../funcs/tokenizedAssetsTokenizedAssetsBalances.js";
|
|
5
6
|
import { tokenizedAssetsTokenizedAssetsCreateAccount } from "../funcs/tokenizedAssetsTokenizedAssetsCreateAccount.js";
|
|
6
7
|
import { tokenizedAssetsTokenizedAssetsMarkets } from "../funcs/tokenizedAssetsTokenizedAssetsMarkets.js";
|
|
7
8
|
import { tokenizedAssetsTokenizedAssetsMarketsSymbol } from "../funcs/tokenizedAssetsTokenizedAssetsMarketsSymbol.js";
|
|
@@ -111,6 +112,29 @@ export class TokenizedAssets extends ClientSDK {
|
|
|
111
112
|
));
|
|
112
113
|
}
|
|
113
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Get tokenized-asset account balances + transfer history
|
|
117
|
+
*
|
|
118
|
+
* @remarks
|
|
119
|
+
* Get the full token ledger for a Tokenized Assets Account.
|
|
120
|
+
*
|
|
121
|
+
* Returns every token the account has transferred — current balances plus
|
|
122
|
+
* complete transfer history — keyed by symbol. Unlike `/positions` (current
|
|
123
|
+
* equity holdings, priced), this includes **USDC funding** movements and
|
|
124
|
+
* **fully-sold positions** (zero balance), making it the account's cash +
|
|
125
|
+
* activity ledger. Pass `chain=base` for Base holdings.
|
|
126
|
+
*/
|
|
127
|
+
async tokenizedAssetsBalances(
|
|
128
|
+
request: operations.V2TokenizedAssetsBalancesRequest,
|
|
129
|
+
options?: RequestOptions,
|
|
130
|
+
): Promise<components.TokenizedAssetsBalancesResponse> {
|
|
131
|
+
return unwrapAsync(tokenizedAssetsTokenizedAssetsBalances(
|
|
132
|
+
this,
|
|
133
|
+
request,
|
|
134
|
+
options,
|
|
135
|
+
));
|
|
136
|
+
}
|
|
137
|
+
|
|
114
138
|
/**
|
|
115
139
|
* Get tokenized-equity order status (Ondo)
|
|
116
140
|
*
|