@compass-labs/api-sdk 2.2.67-rc.0 → 2.2.68-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 +8 -2
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.d.ts +26 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.d.ts.map +1 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.js +136 -0
- package/dist/commonjs/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.js.map +1 -0
- package/dist/commonjs/models/components/index.d.ts +3 -0
- package/dist/commonjs/models/components/index.d.ts.map +1 -1
- package/dist/commonjs/models/components/index.js +3 -0
- package/dist/commonjs/models/components/index.js.map +1 -1
- package/dist/commonjs/models/components/tokenizedassetschargefeerequest.d.ts +42 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeerequest.d.ts.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeerequest.js +57 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeerequest.js.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeeresponse.d.ts +35 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeeresponse.d.ts.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeeresponse.js +62 -0
- package/dist/commonjs/models/components/tokenizedassetschargefeeresponse.js.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetsfee.d.ts +57 -0
- package/dist/commonjs/models/components/tokenizedassetsfee.d.ts.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetsfee.js +66 -0
- package/dist/commonjs/models/components/tokenizedassetsfee.js.map +1 -0
- package/dist/commonjs/models/components/tokenizedassetstraderequest.d.ts +6 -0
- package/dist/commonjs/models/components/tokenizedassetstraderequest.d.ts.map +1 -1
- package/dist/commonjs/models/components/tokenizedassetstraderequest.js +2 -0
- package/dist/commonjs/models/components/tokenizedassetstraderequest.js.map +1 -1
- package/dist/commonjs/models/components/tokenizedassetstraderesponse.d.ts +4 -0
- package/dist/commonjs/models/components/tokenizedassetstraderesponse.d.ts.map +1 -1
- package/dist/commonjs/models/components/tokenizedassetstraderesponse.js +2 -0
- package/dist/commonjs/models/components/tokenizedassetstraderesponse.js.map +1 -1
- 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/v2tokenizedassetsorderorderhashchargefee.d.ts +15 -0
- package/dist/commonjs/models/operations/v2tokenizedassetsorderorderhashchargefee.d.ts.map +1 -0
- package/dist/commonjs/models/operations/v2tokenizedassetsorderorderhashchargefee.js +57 -0
- package/dist/commonjs/models/operations/v2tokenizedassetsorderorderhashchargefee.js.map +1 -0
- package/dist/commonjs/sdk/tokenizedassets.d.ts +14 -0
- package/dist/commonjs/sdk/tokenizedassets.d.ts.map +1 -1
- package/dist/commonjs/sdk/tokenizedassets.js +17 -0
- package/dist/commonjs/sdk/tokenizedassets.js.map +1 -1
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.d.ts +26 -0
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.d.ts.map +1 -0
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.js +100 -0
- package/dist/esm/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.js.map +1 -0
- package/dist/esm/models/components/index.d.ts +3 -0
- package/dist/esm/models/components/index.d.ts.map +1 -1
- package/dist/esm/models/components/index.js +3 -0
- package/dist/esm/models/components/index.js.map +1 -1
- package/dist/esm/models/components/tokenizedassetschargefeerequest.d.ts +42 -0
- package/dist/esm/models/components/tokenizedassetschargefeerequest.d.ts.map +1 -0
- package/dist/esm/models/components/tokenizedassetschargefeerequest.js +20 -0
- package/dist/esm/models/components/tokenizedassetschargefeerequest.js.map +1 -0
- package/dist/esm/models/components/tokenizedassetschargefeeresponse.d.ts +35 -0
- package/dist/esm/models/components/tokenizedassetschargefeeresponse.d.ts.map +1 -0
- package/dist/esm/models/components/tokenizedassetschargefeeresponse.js +25 -0
- package/dist/esm/models/components/tokenizedassetschargefeeresponse.js.map +1 -0
- package/dist/esm/models/components/tokenizedassetsfee.d.ts +57 -0
- package/dist/esm/models/components/tokenizedassetsfee.d.ts.map +1 -0
- package/dist/esm/models/components/tokenizedassetsfee.js +28 -0
- package/dist/esm/models/components/tokenizedassetsfee.js.map +1 -0
- package/dist/esm/models/components/tokenizedassetstraderequest.d.ts +6 -0
- package/dist/esm/models/components/tokenizedassetstraderequest.d.ts.map +1 -1
- package/dist/esm/models/components/tokenizedassetstraderequest.js +2 -0
- package/dist/esm/models/components/tokenizedassetstraderequest.js.map +1 -1
- package/dist/esm/models/components/tokenizedassetstraderesponse.d.ts +4 -0
- package/dist/esm/models/components/tokenizedassetstraderesponse.d.ts.map +1 -1
- package/dist/esm/models/components/tokenizedassetstraderesponse.js +2 -0
- package/dist/esm/models/components/tokenizedassetstraderesponse.js.map +1 -1
- 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/v2tokenizedassetsorderorderhashchargefee.d.ts +15 -0
- package/dist/esm/models/operations/v2tokenizedassetsorderorderhashchargefee.d.ts.map +1 -0
- package/dist/esm/models/operations/v2tokenizedassetsorderorderhashchargefee.js +20 -0
- package/dist/esm/models/operations/v2tokenizedassetsorderorderhashchargefee.js.map +1 -0
- package/dist/esm/sdk/tokenizedassets.d.ts +14 -0
- package/dist/esm/sdk/tokenizedassets.d.ts.map +1 -1
- package/dist/esm/sdk/tokenizedassets.js +17 -0
- package/dist/esm/sdk/tokenizedassets.js.map +1 -1
- package/docs/models/components/tokenizedassetschargefeerequest.md +32 -0
- package/docs/models/components/tokenizedassetschargefeeresponse.md +26 -0
- package/docs/models/components/tokenizedassetsfee.md +27 -0
- package/docs/models/components/tokenizedassetsfeeamount.md +19 -0
- package/docs/models/components/tokenizedassetsfeedenomination.md +17 -0
- package/docs/models/components/tokenizedassetstraderequest.md +7 -1
- package/docs/models/components/tokenizedassetstraderesponse.md +2 -1
- package/docs/models/operations/v2tokenizedassetsorderorderhashchargefeerequest.md +27 -0
- package/docs/sdks/tokenizedassets/README.md +120 -0
- package/openapi_prepped_for_speakeasy.json +190 -0
- package/package.json +1 -1
- package/src/funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.ts +191 -0
- package/src/models/components/index.ts +3 -0
- package/src/models/components/tokenizedassetschargefeerequest.ts +74 -0
- package/src/models/components/tokenizedassetschargefeeresponse.ts +72 -0
- package/src/models/components/tokenizedassetsfee.ts +98 -0
- package/src/models/components/tokenizedassetstraderequest.ts +11 -0
- package/src/models/components/tokenizedassetstraderesponse.ts +6 -0
- package/src/models/operations/index.ts +1 -0
- package/src/models/operations/v2tokenizedassetsorderorderhashchargefee.ts +47 -0
- package/src/sdk/tokenizedassets.ts +25 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { CompassApiSDKCore } from "../core.js";
|
|
6
|
+
import { encodeJSON, encodeSimple } 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
|
+
* Charge a partner fee on a filled sell order's USDC proceeds
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Build a USDC fee transfer on a filled equity sell order's proceeds.
|
|
35
|
+
*
|
|
36
|
+
* Equity orders fill off-chain via a third-party resolver, so the fee can't be
|
|
37
|
+
* bundled into the trade. Once the sell order has filled, call this with the
|
|
38
|
+
* order hash and your `fee` (recipient + percentage/fixed); it reads the actual
|
|
39
|
+
* filled USDC proceeds and returns a `transfer(recipient, fee)` executed by the
|
|
40
|
+
* product account — an unsigned transaction the owner signs, or an EIP-712
|
|
41
|
+
* payload when `gas_sponsorship` is true.
|
|
42
|
+
*/
|
|
43
|
+
export function tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee(
|
|
44
|
+
client: CompassApiSDKCore,
|
|
45
|
+
request: operations.V2TokenizedAssetsOrderOrderHashChargeFeeRequest,
|
|
46
|
+
options?: RequestOptions,
|
|
47
|
+
): APIPromise<
|
|
48
|
+
Result<
|
|
49
|
+
components.TokenizedAssetsChargeFeeResponse,
|
|
50
|
+
| errors.HTTPValidationError
|
|
51
|
+
| CompassAPISDKError
|
|
52
|
+
| ResponseValidationError
|
|
53
|
+
| ConnectionError
|
|
54
|
+
| RequestAbortedError
|
|
55
|
+
| RequestTimeoutError
|
|
56
|
+
| InvalidRequestError
|
|
57
|
+
| UnexpectedClientError
|
|
58
|
+
| SDKValidationError
|
|
59
|
+
>
|
|
60
|
+
> {
|
|
61
|
+
return new APIPromise($do(
|
|
62
|
+
client,
|
|
63
|
+
request,
|
|
64
|
+
options,
|
|
65
|
+
));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async function $do(
|
|
69
|
+
client: CompassApiSDKCore,
|
|
70
|
+
request: operations.V2TokenizedAssetsOrderOrderHashChargeFeeRequest,
|
|
71
|
+
options?: RequestOptions,
|
|
72
|
+
): Promise<
|
|
73
|
+
[
|
|
74
|
+
Result<
|
|
75
|
+
components.TokenizedAssetsChargeFeeResponse,
|
|
76
|
+
| errors.HTTPValidationError
|
|
77
|
+
| CompassAPISDKError
|
|
78
|
+
| ResponseValidationError
|
|
79
|
+
| ConnectionError
|
|
80
|
+
| RequestAbortedError
|
|
81
|
+
| RequestTimeoutError
|
|
82
|
+
| InvalidRequestError
|
|
83
|
+
| UnexpectedClientError
|
|
84
|
+
| SDKValidationError
|
|
85
|
+
>,
|
|
86
|
+
APICall,
|
|
87
|
+
]
|
|
88
|
+
> {
|
|
89
|
+
const parsed = safeParse(
|
|
90
|
+
request,
|
|
91
|
+
(value) =>
|
|
92
|
+
operations.V2TokenizedAssetsOrderOrderHashChargeFeeRequest$outboundSchema
|
|
93
|
+
.parse(value),
|
|
94
|
+
"Input validation failed",
|
|
95
|
+
);
|
|
96
|
+
if (!parsed.ok) {
|
|
97
|
+
return [parsed, { status: "invalid" }];
|
|
98
|
+
}
|
|
99
|
+
const payload = parsed.value;
|
|
100
|
+
const body = encodeJSON("body", payload.TokenizedAssetsChargeFeeRequest, {
|
|
101
|
+
explode: true,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
const pathParams = {
|
|
105
|
+
order_hash: encodeSimple("order_hash", payload.order_hash, {
|
|
106
|
+
explode: false,
|
|
107
|
+
charEncoding: "percent",
|
|
108
|
+
}),
|
|
109
|
+
};
|
|
110
|
+
const path = pathToFunc("/v2/tokenized_assets/order/{order_hash}/charge_fee")(
|
|
111
|
+
pathParams,
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
const headers = new Headers(compactMap({
|
|
115
|
+
"Content-Type": "application/json",
|
|
116
|
+
Accept: "application/json",
|
|
117
|
+
}));
|
|
118
|
+
|
|
119
|
+
const secConfig = await extractSecurity(client._options.apiKeyAuth);
|
|
120
|
+
const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
|
|
121
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
122
|
+
|
|
123
|
+
const context = {
|
|
124
|
+
options: client._options,
|
|
125
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
126
|
+
operationID: "v2_tokenized_assets_order_{order_hash}_charge_fee",
|
|
127
|
+
oAuth2Scopes: null,
|
|
128
|
+
|
|
129
|
+
resolvedSecurity: requestSecurity,
|
|
130
|
+
|
|
131
|
+
securitySource: client._options.apiKeyAuth,
|
|
132
|
+
retryConfig: options?.retries
|
|
133
|
+
|| client._options.retryConfig
|
|
134
|
+
|| { strategy: "none" },
|
|
135
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const requestRes = client._createRequest(context, {
|
|
139
|
+
security: requestSecurity,
|
|
140
|
+
method: "POST",
|
|
141
|
+
baseURL: options?.serverURL,
|
|
142
|
+
path: path,
|
|
143
|
+
headers: headers,
|
|
144
|
+
body: body,
|
|
145
|
+
userAgent: client._options.userAgent,
|
|
146
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
147
|
+
}, options);
|
|
148
|
+
if (!requestRes.ok) {
|
|
149
|
+
return [requestRes, { status: "invalid" }];
|
|
150
|
+
}
|
|
151
|
+
const req = requestRes.value;
|
|
152
|
+
|
|
153
|
+
const doResult = await client._do(req, {
|
|
154
|
+
context,
|
|
155
|
+
isErrorStatusCode: (statusCode: number) =>
|
|
156
|
+
matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
|
|
157
|
+
retryConfig: context.retryConfig,
|
|
158
|
+
retryCodes: context.retryCodes,
|
|
159
|
+
});
|
|
160
|
+
if (!doResult.ok) {
|
|
161
|
+
return [doResult, { status: "request-error", request: req }];
|
|
162
|
+
}
|
|
163
|
+
const response = doResult.value;
|
|
164
|
+
|
|
165
|
+
const responseFields = {
|
|
166
|
+
HttpMeta: { Response: response, Request: req },
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
const [result] = await M.match<
|
|
170
|
+
components.TokenizedAssetsChargeFeeResponse,
|
|
171
|
+
| errors.HTTPValidationError
|
|
172
|
+
| CompassAPISDKError
|
|
173
|
+
| ResponseValidationError
|
|
174
|
+
| ConnectionError
|
|
175
|
+
| RequestAbortedError
|
|
176
|
+
| RequestTimeoutError
|
|
177
|
+
| InvalidRequestError
|
|
178
|
+
| UnexpectedClientError
|
|
179
|
+
| SDKValidationError
|
|
180
|
+
>(
|
|
181
|
+
M.json(200, components.TokenizedAssetsChargeFeeResponse$inboundSchema),
|
|
182
|
+
M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
|
|
183
|
+
M.fail("4XX"),
|
|
184
|
+
M.fail("5XX"),
|
|
185
|
+
)(response, req, { extraFields: responseFields });
|
|
186
|
+
if (!result.ok) {
|
|
187
|
+
return [result, { status: "complete", request: req, response }];
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return [result, { status: "complete", request: req, response }];
|
|
191
|
+
}
|
|
@@ -293,6 +293,9 @@ export * from "./tokenizedassetsbuildorderrequest.js";
|
|
|
293
293
|
export * from "./tokenizedassetsbuildorderresponse.js";
|
|
294
294
|
export * from "./tokenizedassetscancelorderrequest.js";
|
|
295
295
|
export * from "./tokenizedassetscancelorderresponse.js";
|
|
296
|
+
export * from "./tokenizedassetschargefeerequest.js";
|
|
297
|
+
export * from "./tokenizedassetschargefeeresponse.js";
|
|
298
|
+
export * from "./tokenizedassetsfee.js";
|
|
296
299
|
export * from "./tokenizedassetsmarketslistresponse.js";
|
|
297
300
|
export * from "./tokenizedassetsohlcinterval.js";
|
|
298
301
|
export * from "./tokenizedassetsohlcrange.js";
|
|
@@ -0,0 +1,74 @@
|
|
|
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 {
|
|
8
|
+
TokenizedAssetsFee,
|
|
9
|
+
TokenizedAssetsFee$Outbound,
|
|
10
|
+
TokenizedAssetsFee$outboundSchema,
|
|
11
|
+
} from "./tokenizedassetsfee.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Charge a partner fee on the USDC proceeds of a filled sell order.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
*
|
|
18
|
+
* Equity orders fill off-chain via a third-party resolver, so the fee can't
|
|
19
|
+
* ride inside the trade (unlike Midas/earn/credit). After the sell order
|
|
20
|
+
* fills, call this with the order hash to build a USDC `transfer(recipient,
|
|
21
|
+
* fee)` executed by the product account.
|
|
22
|
+
*/
|
|
23
|
+
export type TokenizedAssetsChargeFeeRequest = {
|
|
24
|
+
/**
|
|
25
|
+
* The owner's wallet address; the product account is derived from it.
|
|
26
|
+
*/
|
|
27
|
+
owner: string;
|
|
28
|
+
/**
|
|
29
|
+
* Fee configuration for tokenized-asset trades.
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
*
|
|
33
|
+
* Same shape as `Fee`, but narrows `denomination` to the values supported by
|
|
34
|
+
* tokenized-asset trades. PERFORMANCE is not supported because realized-profit
|
|
35
|
+
* fees are not computed for spot buy/sell trades.
|
|
36
|
+
*/
|
|
37
|
+
fee: TokenizedAssetsFee;
|
|
38
|
+
/**
|
|
39
|
+
* When true, returns an EIP-712 payload for gas-sponsored execution instead of an unsigned transaction.
|
|
40
|
+
*/
|
|
41
|
+
gasSponsorship?: boolean | undefined;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/** @internal */
|
|
45
|
+
export type TokenizedAssetsChargeFeeRequest$Outbound = {
|
|
46
|
+
owner: string;
|
|
47
|
+
fee: TokenizedAssetsFee$Outbound;
|
|
48
|
+
gas_sponsorship?: boolean | undefined;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/** @internal */
|
|
52
|
+
export const TokenizedAssetsChargeFeeRequest$outboundSchema: z.ZodType<
|
|
53
|
+
TokenizedAssetsChargeFeeRequest$Outbound,
|
|
54
|
+
z.ZodTypeDef,
|
|
55
|
+
TokenizedAssetsChargeFeeRequest
|
|
56
|
+
> = z.object({
|
|
57
|
+
owner: z.string(),
|
|
58
|
+
fee: TokenizedAssetsFee$outboundSchema,
|
|
59
|
+
gasSponsorship: z.boolean().optional(),
|
|
60
|
+
}).transform((v) => {
|
|
61
|
+
return remap$(v, {
|
|
62
|
+
gasSponsorship: "gas_sponsorship",
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
export function tokenizedAssetsChargeFeeRequestToJSON(
|
|
67
|
+
tokenizedAssetsChargeFeeRequest: TokenizedAssetsChargeFeeRequest,
|
|
68
|
+
): string {
|
|
69
|
+
return JSON.stringify(
|
|
70
|
+
TokenizedAssetsChargeFeeRequest$outboundSchema.parse(
|
|
71
|
+
tokenizedAssetsChargeFeeRequest,
|
|
72
|
+
),
|
|
73
|
+
);
|
|
74
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
BatchedSafeOperationsResponseOutput,
|
|
12
|
+
BatchedSafeOperationsResponseOutput$inboundSchema,
|
|
13
|
+
} from "./batchedsafeoperationsresponseoutput.js";
|
|
14
|
+
import {
|
|
15
|
+
UnsignedTransaction,
|
|
16
|
+
UnsignedTransaction$inboundSchema,
|
|
17
|
+
} from "./unsignedtransaction.js";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Unsigned USDC fee transfer for the owner to sign.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
*
|
|
24
|
+
* Exactly one of `transaction` (gas_sponsorship=false) or `eip_712`
|
|
25
|
+
* (gas_sponsorship=true) is set.
|
|
26
|
+
*/
|
|
27
|
+
export type TokenizedAssetsChargeFeeResponse = {
|
|
28
|
+
/**
|
|
29
|
+
* Unsigned transaction transferring the fee from the product account.
|
|
30
|
+
*/
|
|
31
|
+
transaction?: UnsignedTransaction | null | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* EIP-712 payload for gas-sponsored execution.
|
|
34
|
+
*/
|
|
35
|
+
eip712?: BatchedSafeOperationsResponseOutput | null | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Fee charged, in USDC.
|
|
38
|
+
*/
|
|
39
|
+
feeAmount: string;
|
|
40
|
+
/**
|
|
41
|
+
* Filled USDC proceeds the fee was computed on.
|
|
42
|
+
*/
|
|
43
|
+
proceeds: string;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/** @internal */
|
|
47
|
+
export const TokenizedAssetsChargeFeeResponse$inboundSchema: z.ZodType<
|
|
48
|
+
TokenizedAssetsChargeFeeResponse,
|
|
49
|
+
z.ZodTypeDef,
|
|
50
|
+
unknown
|
|
51
|
+
> = z.object({
|
|
52
|
+
transaction: z.nullable(UnsignedTransaction$inboundSchema).optional(),
|
|
53
|
+
eip_712: z.nullable(BatchedSafeOperationsResponseOutput$inboundSchema)
|
|
54
|
+
.optional(),
|
|
55
|
+
fee_amount: z.string(),
|
|
56
|
+
proceeds: z.string(),
|
|
57
|
+
}).transform((v) => {
|
|
58
|
+
return remap$(v, {
|
|
59
|
+
"eip_712": "eip712",
|
|
60
|
+
"fee_amount": "feeAmount",
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
export function tokenizedAssetsChargeFeeResponseFromJSON(
|
|
65
|
+
jsonString: string,
|
|
66
|
+
): SafeParseResult<TokenizedAssetsChargeFeeResponse, SDKValidationError> {
|
|
67
|
+
return safeParse(
|
|
68
|
+
jsonString,
|
|
69
|
+
(x) => TokenizedAssetsChargeFeeResponse$inboundSchema.parse(JSON.parse(x)),
|
|
70
|
+
`Failed to parse 'TokenizedAssetsChargeFeeResponse' from JSON`,
|
|
71
|
+
);
|
|
72
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
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 fee amount. If `denomination` is 'PERCENTAGE', this is a percentage of the transaction amount (e.g., 1.5 for 1.5%). If `denomination` is 'FIXED', this is a fixed amount in token units (e.g., 0.1 for 0.1 tokens). If `denomination` is 'PERFORMANCE', this is a percentage of realized profit calculated using FIFO cost basis (e.g., 10 for 10% of profit).
|
|
10
|
+
*/
|
|
11
|
+
export type TokenizedAssetsFeeAmount = number | string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The unit type for the fee amount. Use 'PERCENTAGE' for a percentage-based fee (e.g., 1.5 means 1.5% of the trade proceeds), or 'FIXED' for a fixed token amount (e.g., 0.1 means 0.1 tokens).
|
|
15
|
+
*/
|
|
16
|
+
export const TokenizedAssetsFeeDenomination = {
|
|
17
|
+
Percentage: "PERCENTAGE",
|
|
18
|
+
Fixed: "FIXED",
|
|
19
|
+
} as const;
|
|
20
|
+
/**
|
|
21
|
+
* The unit type for the fee amount. Use 'PERCENTAGE' for a percentage-based fee (e.g., 1.5 means 1.5% of the trade proceeds), or 'FIXED' for a fixed token amount (e.g., 0.1 means 0.1 tokens).
|
|
22
|
+
*/
|
|
23
|
+
export type TokenizedAssetsFeeDenomination = ClosedEnum<
|
|
24
|
+
typeof TokenizedAssetsFeeDenomination
|
|
25
|
+
>;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Fee configuration for tokenized-asset trades.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
*
|
|
32
|
+
* Same shape as `Fee`, but narrows `denomination` to the values supported by
|
|
33
|
+
* tokenized-asset trades. PERFORMANCE is not supported because realized-profit
|
|
34
|
+
* fees are not computed for spot buy/sell trades.
|
|
35
|
+
*/
|
|
36
|
+
export type TokenizedAssetsFee = {
|
|
37
|
+
/**
|
|
38
|
+
* The wallet address that will receive the fee.
|
|
39
|
+
*/
|
|
40
|
+
recipient: string;
|
|
41
|
+
/**
|
|
42
|
+
* The fee amount. If `denomination` is 'PERCENTAGE', this is a percentage of the transaction amount (e.g., 1.5 for 1.5%). If `denomination` is 'FIXED', this is a fixed amount in token units (e.g., 0.1 for 0.1 tokens). If `denomination` is 'PERFORMANCE', this is a percentage of realized profit calculated using FIFO cost basis (e.g., 10 for 10% of profit).
|
|
43
|
+
*/
|
|
44
|
+
amount: number | string;
|
|
45
|
+
/**
|
|
46
|
+
* The unit type for the fee amount. Use 'PERCENTAGE' for a percentage-based fee (e.g., 1.5 means 1.5% of the trade proceeds), or 'FIXED' for a fixed token amount (e.g., 0.1 means 0.1 tokens).
|
|
47
|
+
*/
|
|
48
|
+
denomination?: TokenizedAssetsFeeDenomination | undefined;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/** @internal */
|
|
52
|
+
export type TokenizedAssetsFeeAmount$Outbound = number | string;
|
|
53
|
+
|
|
54
|
+
/** @internal */
|
|
55
|
+
export const TokenizedAssetsFeeAmount$outboundSchema: z.ZodType<
|
|
56
|
+
TokenizedAssetsFeeAmount$Outbound,
|
|
57
|
+
z.ZodTypeDef,
|
|
58
|
+
TokenizedAssetsFeeAmount
|
|
59
|
+
> = z.union([z.number(), z.string()]);
|
|
60
|
+
|
|
61
|
+
export function tokenizedAssetsFeeAmountToJSON(
|
|
62
|
+
tokenizedAssetsFeeAmount: TokenizedAssetsFeeAmount,
|
|
63
|
+
): string {
|
|
64
|
+
return JSON.stringify(
|
|
65
|
+
TokenizedAssetsFeeAmount$outboundSchema.parse(tokenizedAssetsFeeAmount),
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** @internal */
|
|
70
|
+
export const TokenizedAssetsFeeDenomination$outboundSchema: z.ZodNativeEnum<
|
|
71
|
+
typeof TokenizedAssetsFeeDenomination
|
|
72
|
+
> = z.nativeEnum(TokenizedAssetsFeeDenomination);
|
|
73
|
+
|
|
74
|
+
/** @internal */
|
|
75
|
+
export type TokenizedAssetsFee$Outbound = {
|
|
76
|
+
recipient: string;
|
|
77
|
+
amount: number | string;
|
|
78
|
+
denomination?: string | undefined;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/** @internal */
|
|
82
|
+
export const TokenizedAssetsFee$outboundSchema: z.ZodType<
|
|
83
|
+
TokenizedAssetsFee$Outbound,
|
|
84
|
+
z.ZodTypeDef,
|
|
85
|
+
TokenizedAssetsFee
|
|
86
|
+
> = z.object({
|
|
87
|
+
recipient: z.string(),
|
|
88
|
+
amount: z.union([z.number(), z.string()]),
|
|
89
|
+
denomination: TokenizedAssetsFeeDenomination$outboundSchema.optional(),
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
export function tokenizedAssetsFeeToJSON(
|
|
93
|
+
tokenizedAssetsFee: TokenizedAssetsFee,
|
|
94
|
+
): string {
|
|
95
|
+
return JSON.stringify(
|
|
96
|
+
TokenizedAssetsFee$outboundSchema.parse(tokenizedAssetsFee),
|
|
97
|
+
);
|
|
98
|
+
}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
import * as z from "zod/v3";
|
|
6
6
|
import { remap as remap$ } from "../../lib/primitives.js";
|
|
7
7
|
import { Chain, Chain$outboundSchema } from "./chain.js";
|
|
8
|
+
import {
|
|
9
|
+
TokenizedAssetsFee,
|
|
10
|
+
TokenizedAssetsFee$Outbound,
|
|
11
|
+
TokenizedAssetsFee$outboundSchema,
|
|
12
|
+
} from "./tokenizedassetsfee.js";
|
|
8
13
|
|
|
9
14
|
/**
|
|
10
15
|
* Human-readable amount of `token_in` to trade (token units, not wei).
|
|
@@ -53,6 +58,10 @@ export type TokenizedAssetsTradeRequest = {
|
|
|
53
58
|
* When true, returns an EIP-712 payload for gas-sponsored execution instead of an unsigned transaction.
|
|
54
59
|
*/
|
|
55
60
|
gasSponsorship?: boolean | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Optional partner fee charged when selling (exiting). It is taken from the payout-token (USDC) proceeds and sent to your fee recipient inside the same execution.
|
|
63
|
+
*/
|
|
64
|
+
fee?: TokenizedAssetsFee | null | undefined;
|
|
56
65
|
};
|
|
57
66
|
|
|
58
67
|
/** @internal */
|
|
@@ -104,6 +113,7 @@ export type TokenizedAssetsTradeRequest$Outbound = {
|
|
|
104
113
|
owner: string;
|
|
105
114
|
chain: string;
|
|
106
115
|
gas_sponsorship?: boolean | undefined;
|
|
116
|
+
fee?: TokenizedAssetsFee$Outbound | null | undefined;
|
|
107
117
|
};
|
|
108
118
|
|
|
109
119
|
/** @internal */
|
|
@@ -119,6 +129,7 @@ export const TokenizedAssetsTradeRequest$outboundSchema: z.ZodType<
|
|
|
119
129
|
owner: z.string(),
|
|
120
130
|
chain: Chain$outboundSchema,
|
|
121
131
|
gasSponsorship: z.boolean().optional(),
|
|
132
|
+
fee: z.nullable(TokenizedAssetsFee$outboundSchema).optional(),
|
|
122
133
|
}).transform((v) => {
|
|
123
134
|
return remap$(v, {
|
|
124
135
|
tokenIn: "token_in",
|
|
@@ -37,6 +37,10 @@ export type TokenizedAssetsTradeResponse = {
|
|
|
37
37
|
* Estimated amount of `token_out` received (human-readable units).
|
|
38
38
|
*/
|
|
39
39
|
estimatedAmountOut: string;
|
|
40
|
+
/**
|
|
41
|
+
* Fee charged on the sell, in payout-token (USDC) units. Null when no fee was applied.
|
|
42
|
+
*/
|
|
43
|
+
feeAmount?: string | null | undefined;
|
|
40
44
|
};
|
|
41
45
|
|
|
42
46
|
/** @internal */
|
|
@@ -49,10 +53,12 @@ export const TokenizedAssetsTradeResponse$inboundSchema: z.ZodType<
|
|
|
49
53
|
eip_712: z.nullable(BatchedSafeOperationsResponseOutput$inboundSchema)
|
|
50
54
|
.optional(),
|
|
51
55
|
estimated_amount_out: z.string(),
|
|
56
|
+
fee_amount: z.nullable(z.string()).optional(),
|
|
52
57
|
}).transform((v) => {
|
|
53
58
|
return remap$(v, {
|
|
54
59
|
"eip_712": "eip712",
|
|
55
60
|
"estimated_amount_out": "estimatedAmountOut",
|
|
61
|
+
"fee_amount": "feeAmount",
|
|
56
62
|
});
|
|
57
63
|
});
|
|
58
64
|
|
|
@@ -59,4 +59,5 @@ export * from "./v2tokenizedassetsmarkets.js";
|
|
|
59
59
|
export * from "./v2tokenizedassetsmarketssymbol.js";
|
|
60
60
|
export * from "./v2tokenizedassetsorderorderhash.js";
|
|
61
61
|
export * from "./v2tokenizedassetsorderorderhashcancel.js";
|
|
62
|
+
export * from "./v2tokenizedassetsorderorderhashchargefee.js";
|
|
62
63
|
export * from "./v2tokenizedassetspositions.js";
|
|
@@ -0,0 +1,47 @@
|
|
|
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 * as components from "../components/index.js";
|
|
8
|
+
|
|
9
|
+
export type V2TokenizedAssetsOrderOrderHashChargeFeeRequest = {
|
|
10
|
+
orderHash: string;
|
|
11
|
+
tokenizedAssetsChargeFeeRequest: components.TokenizedAssetsChargeFeeRequest;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/** @internal */
|
|
15
|
+
export type V2TokenizedAssetsOrderOrderHashChargeFeeRequest$Outbound = {
|
|
16
|
+
order_hash: string;
|
|
17
|
+
TokenizedAssetsChargeFeeRequest:
|
|
18
|
+
components.TokenizedAssetsChargeFeeRequest$Outbound;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const V2TokenizedAssetsOrderOrderHashChargeFeeRequest$outboundSchema:
|
|
23
|
+
z.ZodType<
|
|
24
|
+
V2TokenizedAssetsOrderOrderHashChargeFeeRequest$Outbound,
|
|
25
|
+
z.ZodTypeDef,
|
|
26
|
+
V2TokenizedAssetsOrderOrderHashChargeFeeRequest
|
|
27
|
+
> = z.object({
|
|
28
|
+
orderHash: z.string(),
|
|
29
|
+
tokenizedAssetsChargeFeeRequest:
|
|
30
|
+
components.TokenizedAssetsChargeFeeRequest$outboundSchema,
|
|
31
|
+
}).transform((v) => {
|
|
32
|
+
return remap$(v, {
|
|
33
|
+
orderHash: "order_hash",
|
|
34
|
+
tokenizedAssetsChargeFeeRequest: "TokenizedAssetsChargeFeeRequest",
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export function v2TokenizedAssetsOrderOrderHashChargeFeeRequestToJSON(
|
|
39
|
+
v2TokenizedAssetsOrderOrderHashChargeFeeRequest:
|
|
40
|
+
V2TokenizedAssetsOrderOrderHashChargeFeeRequest,
|
|
41
|
+
): string {
|
|
42
|
+
return JSON.stringify(
|
|
43
|
+
V2TokenizedAssetsOrderOrderHashChargeFeeRequest$outboundSchema.parse(
|
|
44
|
+
v2TokenizedAssetsOrderOrderHashChargeFeeRequest,
|
|
45
|
+
),
|
|
46
|
+
);
|
|
47
|
+
}
|
|
@@ -9,6 +9,7 @@ import { tokenizedAssetsTokenizedAssetsMarketsSymbol } from "../funcs/tokenizedA
|
|
|
9
9
|
import { tokenizedAssetsTokenizedAssetsOrder } from "../funcs/tokenizedAssetsTokenizedAssetsOrder.js";
|
|
10
10
|
import { tokenizedAssetsTokenizedAssetsOrderOrderHash } from "../funcs/tokenizedAssetsTokenizedAssetsOrderOrderHash.js";
|
|
11
11
|
import { tokenizedAssetsTokenizedAssetsOrderOrderHashCancel } from "../funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashCancel.js";
|
|
12
|
+
import { tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee } from "../funcs/tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee.js";
|
|
12
13
|
import { tokenizedAssetsTokenizedAssetsOrderSubmit } from "../funcs/tokenizedAssetsTokenizedAssetsOrderSubmit.js";
|
|
13
14
|
import { tokenizedAssetsTokenizedAssetsPositions } from "../funcs/tokenizedAssetsTokenizedAssetsPositions.js";
|
|
14
15
|
import { tokenizedAssetsTokenizedAssetsQuote } from "../funcs/tokenizedAssetsTokenizedAssetsQuote.js";
|
|
@@ -368,6 +369,30 @@ export class TokenizedAssets extends ClientSDK {
|
|
|
368
369
|
));
|
|
369
370
|
}
|
|
370
371
|
|
|
372
|
+
/**
|
|
373
|
+
* Charge a partner fee on a filled sell order's USDC proceeds
|
|
374
|
+
*
|
|
375
|
+
* @remarks
|
|
376
|
+
* Build a USDC fee transfer on a filled equity sell order's proceeds.
|
|
377
|
+
*
|
|
378
|
+
* Equity orders fill off-chain via a third-party resolver, so the fee can't be
|
|
379
|
+
* bundled into the trade. Once the sell order has filled, call this with the
|
|
380
|
+
* order hash and your `fee` (recipient + percentage/fixed); it reads the actual
|
|
381
|
+
* filled USDC proceeds and returns a `transfer(recipient, fee)` executed by the
|
|
382
|
+
* product account — an unsigned transaction the owner signs, or an EIP-712
|
|
383
|
+
* payload when `gas_sponsorship` is true.
|
|
384
|
+
*/
|
|
385
|
+
async tokenizedAssetsOrderOrderHashChargeFee(
|
|
386
|
+
request: operations.V2TokenizedAssetsOrderOrderHashChargeFeeRequest,
|
|
387
|
+
options?: RequestOptions,
|
|
388
|
+
): Promise<components.TokenizedAssetsChargeFeeResponse> {
|
|
389
|
+
return unwrapAsync(tokenizedAssetsTokenizedAssetsOrderOrderHashChargeFee(
|
|
390
|
+
this,
|
|
391
|
+
request,
|
|
392
|
+
options,
|
|
393
|
+
));
|
|
394
|
+
}
|
|
395
|
+
|
|
371
396
|
/**
|
|
372
397
|
* Buy an RWA yield token (Midas: mTBILL/mBASIS/mBTC)
|
|
373
398
|
*
|