@compass-labs/api-sdk 2.2.65-rc.0 → 2.2.66-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/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.d.ts +24 -0
- package/dist/commonjs/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.d.ts.map +1 -0
- package/dist/commonjs/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.js +125 -0
- package/dist/commonjs/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.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/globalmarketsperpssetleveragerequest.d.ts +32 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleveragerequest.d.ts.map +1 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleveragerequest.js +51 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleveragerequest.js.map +1 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleverageresponse.d.ts +37 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleverageresponse.d.ts.map +1 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleverageresponse.js +59 -0
- package/dist/commonjs/models/components/globalmarketsperpssetleverageresponse.js.map +1 -0
- 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/sdk/globalmarketsperps.d.ts +13 -0
- package/dist/commonjs/sdk/globalmarketsperps.d.ts.map +1 -1
- package/dist/commonjs/sdk/globalmarketsperps.js +16 -0
- package/dist/commonjs/sdk/globalmarketsperps.js.map +1 -1
- package/dist/esm/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.d.ts +24 -0
- package/dist/esm/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.d.ts.map +1 -0
- package/dist/esm/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.js +89 -0
- package/dist/esm/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.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/globalmarketsperpssetleveragerequest.d.ts +32 -0
- package/dist/esm/models/components/globalmarketsperpssetleveragerequest.d.ts.map +1 -0
- package/dist/esm/models/components/globalmarketsperpssetleveragerequest.js +14 -0
- package/dist/esm/models/components/globalmarketsperpssetleveragerequest.js.map +1 -0
- package/dist/esm/models/components/globalmarketsperpssetleverageresponse.d.ts +37 -0
- package/dist/esm/models/components/globalmarketsperpssetleverageresponse.d.ts.map +1 -0
- package/dist/esm/models/components/globalmarketsperpssetleverageresponse.js +22 -0
- package/dist/esm/models/components/globalmarketsperpssetleverageresponse.js.map +1 -0
- 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/sdk/globalmarketsperps.d.ts +13 -0
- package/dist/esm/sdk/globalmarketsperps.d.ts.map +1 -1
- package/dist/esm/sdk/globalmarketsperps.js +16 -0
- package/dist/esm/sdk/globalmarketsperps.js.map +1 -1
- package/docs/models/components/globalmarketsperpssetleveragerequest.md +24 -0
- package/docs/models/components/globalmarketsperpssetleverageresponse.md +25 -0
- package/docs/sdks/globalmarketsperps/README.md +83 -0
- package/openapi_prepped_for_speakeasy.json +130 -0
- package/package.json +1 -1
- package/src/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.ts +180 -0
- package/src/lib/config.ts +2 -2
- package/src/models/components/globalmarketsperpssetleveragerequest.ts +55 -0
- package/src/models/components/globalmarketsperpssetleverageresponse.ts +64 -0
- package/src/models/components/index.ts +2 -0
- package/src/sdk/globalmarketsperps.ts +24 -0
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* [globalMarketsPerpsApproveBuilderFee](#globalmarketsperpsapprovebuilderfee) - Approve builder fee
|
|
19
19
|
* [globalMarketsPerpsEnableUnifiedAccount](#globalmarketsperpsenableunifiedaccount) - Enable unified account mode
|
|
20
20
|
* [globalMarketsPerpsEnsureLeverage](#globalmarketsperpsensureleverage) - Ensure 1x cross leverage
|
|
21
|
+
* [globalMarketsPerpsSetLeverage](#globalmarketsperpssetleverage) - Set leverage (defaults to market maximum)
|
|
21
22
|
|
|
22
23
|
## globalMarketsPerpsOpportunities
|
|
23
24
|
|
|
@@ -1185,6 +1186,88 @@ run();
|
|
|
1185
1186
|
|
|
1186
1187
|
### Errors
|
|
1187
1188
|
|
|
1189
|
+
| Error Type | Status Code | Content Type |
|
|
1190
|
+
| -------------------------- | -------------------------- | -------------------------- |
|
|
1191
|
+
| errors.HTTPValidationError | 422 | application/json |
|
|
1192
|
+
| errors.APIError | 4XX, 5XX | \*/\* |
|
|
1193
|
+
|
|
1194
|
+
## globalMarketsPerpsSetLeverage
|
|
1195
|
+
|
|
1196
|
+
Check leverage and prepare an updateLeverage action to the requested value.
|
|
1197
|
+
|
|
1198
|
+
If `leverage` is omitted, targets the asset's maximum leverage for that
|
|
1199
|
+
market. If the asset is already at the requested leverage, returns
|
|
1200
|
+
leverage_ok=true with null typed_data — no signing needed. Otherwise,
|
|
1201
|
+
returns EIP-712 typed data for the user to sign. After signing, submit the
|
|
1202
|
+
signature via the /execute endpoint.
|
|
1203
|
+
|
|
1204
|
+
### Example Usage
|
|
1205
|
+
|
|
1206
|
+
<!-- UsageSnippet language="typescript" operationID="v2_global_markets_perps_set_leverage" method="post" path="/v2/global_markets_perps/set_leverage" -->
|
|
1207
|
+
```typescript
|
|
1208
|
+
import { CompassApiSDK } from "@compass-labs/api-sdk";
|
|
1209
|
+
|
|
1210
|
+
const compassApiSDK = new CompassApiSDK({
|
|
1211
|
+
apiKeyAuth: "<YOUR_API_KEY_HERE>",
|
|
1212
|
+
});
|
|
1213
|
+
|
|
1214
|
+
async function run() {
|
|
1215
|
+
const result = await compassApiSDK.globalMarketsPerps.globalMarketsPerpsSetLeverage({
|
|
1216
|
+
owner: "<value>",
|
|
1217
|
+
asset: "<value>",
|
|
1218
|
+
});
|
|
1219
|
+
|
|
1220
|
+
console.log(result);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
run();
|
|
1224
|
+
```
|
|
1225
|
+
|
|
1226
|
+
### Standalone function
|
|
1227
|
+
|
|
1228
|
+
The standalone function version of this method:
|
|
1229
|
+
|
|
1230
|
+
```typescript
|
|
1231
|
+
import { CompassApiSDKCore } from "@compass-labs/api-sdk/core.js";
|
|
1232
|
+
import { globalMarketsPerpsGlobalMarketsPerpsSetLeverage } from "@compass-labs/api-sdk/funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.js";
|
|
1233
|
+
|
|
1234
|
+
// Use `CompassApiSDKCore` for best tree-shaking performance.
|
|
1235
|
+
// You can create one instance of it to use across an application.
|
|
1236
|
+
const compassApiSDK = new CompassApiSDKCore({
|
|
1237
|
+
apiKeyAuth: "<YOUR_API_KEY_HERE>",
|
|
1238
|
+
});
|
|
1239
|
+
|
|
1240
|
+
async function run() {
|
|
1241
|
+
const res = await globalMarketsPerpsGlobalMarketsPerpsSetLeverage(compassApiSDK, {
|
|
1242
|
+
owner: "<value>",
|
|
1243
|
+
asset: "<value>",
|
|
1244
|
+
});
|
|
1245
|
+
if (res.ok) {
|
|
1246
|
+
const { value: result } = res;
|
|
1247
|
+
console.log(result);
|
|
1248
|
+
} else {
|
|
1249
|
+
console.log("globalMarketsPerpsGlobalMarketsPerpsSetLeverage failed:", res.error);
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
run();
|
|
1254
|
+
```
|
|
1255
|
+
|
|
1256
|
+
### Parameters
|
|
1257
|
+
|
|
1258
|
+
| Parameter | Type | Required | Description |
|
|
1259
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
1260
|
+
| `request` | [components.GlobalMarketsPerpsSetLeverageRequest](../../models/components/globalmarketsperpssetleveragerequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
1261
|
+
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
1262
|
+
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
1263
|
+
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
1264
|
+
|
|
1265
|
+
### Response
|
|
1266
|
+
|
|
1267
|
+
**Promise\<[components.GlobalMarketsPerpsSetLeverageResponse](../../models/components/globalmarketsperpssetleverageresponse.md)\>**
|
|
1268
|
+
|
|
1269
|
+
### Errors
|
|
1270
|
+
|
|
1188
1271
|
| Error Type | Status Code | Content Type |
|
|
1189
1272
|
| -------------------------- | -------------------------- | -------------------------- |
|
|
1190
1273
|
| errors.HTTPValidationError | 422 | application/json |
|
|
@@ -7016,6 +7016,49 @@
|
|
|
7016
7016
|
"x-speakeasy-name-override": "global_markets_perps_ensure_leverage"
|
|
7017
7017
|
}
|
|
7018
7018
|
},
|
|
7019
|
+
"/v2/global_markets_perps/set_leverage": {
|
|
7020
|
+
"post": {
|
|
7021
|
+
"tags": [
|
|
7022
|
+
"Global Markets Perps"
|
|
7023
|
+
],
|
|
7024
|
+
"summary": "Set leverage (defaults to market maximum)",
|
|
7025
|
+
"description": "Check leverage and prepare an updateLeverage action to the requested value.\n\nIf `leverage` is omitted, targets the asset's maximum leverage for that\nmarket. If the asset is already at the requested leverage, returns\nleverage_ok=true with null typed_data \u2014 no signing needed. Otherwise,\nreturns EIP-712 typed data for the user to sign. After signing, submit the\nsignature via the /execute endpoint.",
|
|
7026
|
+
"operationId": "v2_global_markets_perps_set_leverage",
|
|
7027
|
+
"requestBody": {
|
|
7028
|
+
"content": {
|
|
7029
|
+
"application/json": {
|
|
7030
|
+
"schema": {
|
|
7031
|
+
"$ref": "#/components/schemas/GlobalMarketsPerpsSetLeverageRequest"
|
|
7032
|
+
}
|
|
7033
|
+
}
|
|
7034
|
+
},
|
|
7035
|
+
"required": true
|
|
7036
|
+
},
|
|
7037
|
+
"responses": {
|
|
7038
|
+
"200": {
|
|
7039
|
+
"description": "Successful Response",
|
|
7040
|
+
"content": {
|
|
7041
|
+
"application/json": {
|
|
7042
|
+
"schema": {
|
|
7043
|
+
"$ref": "#/components/schemas/GlobalMarketsPerpsSetLeverageResponse"
|
|
7044
|
+
}
|
|
7045
|
+
}
|
|
7046
|
+
}
|
|
7047
|
+
},
|
|
7048
|
+
"422": {
|
|
7049
|
+
"description": "Validation Error",
|
|
7050
|
+
"content": {
|
|
7051
|
+
"application/json": {
|
|
7052
|
+
"schema": {
|
|
7053
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
7054
|
+
}
|
|
7055
|
+
}
|
|
7056
|
+
}
|
|
7057
|
+
}
|
|
7058
|
+
},
|
|
7059
|
+
"x-speakeasy-name-override": "global_markets_perps_set_leverage"
|
|
7060
|
+
}
|
|
7061
|
+
},
|
|
7019
7062
|
"/v2/tokenized_assets/markets": {
|
|
7020
7063
|
"get": {
|
|
7021
7064
|
"tags": [
|
|
@@ -15373,6 +15416,93 @@
|
|
|
15373
15416
|
"title": "GlobalMarketsPerpsPositionsResponse",
|
|
15374
15417
|
"description": "List of open global markets perps positions with account balance."
|
|
15375
15418
|
},
|
|
15419
|
+
"GlobalMarketsPerpsSetLeverageRequest": {
|
|
15420
|
+
"properties": {
|
|
15421
|
+
"owner": {
|
|
15422
|
+
"type": "string",
|
|
15423
|
+
"title": "Owner",
|
|
15424
|
+
"description": "User's EOA address"
|
|
15425
|
+
},
|
|
15426
|
+
"asset": {
|
|
15427
|
+
"type": "string",
|
|
15428
|
+
"title": "Asset",
|
|
15429
|
+
"description": "Asset ticker (e.g. 'AAPL', 'CL')"
|
|
15430
|
+
},
|
|
15431
|
+
"leverage": {
|
|
15432
|
+
"anyOf": [
|
|
15433
|
+
{
|
|
15434
|
+
"type": "integer",
|
|
15435
|
+
"minimum": 1.0
|
|
15436
|
+
},
|
|
15437
|
+
{
|
|
15438
|
+
"type": "null"
|
|
15439
|
+
}
|
|
15440
|
+
],
|
|
15441
|
+
"title": "Leverage",
|
|
15442
|
+
"description": "Target leverage as a whole-number multiplier. Omit (or pass null) to use the asset's maximum leverage. Must be between 1 and the asset's max leverage, which is available from the /opportunities endpoint."
|
|
15443
|
+
}
|
|
15444
|
+
},
|
|
15445
|
+
"type": "object",
|
|
15446
|
+
"required": [
|
|
15447
|
+
"owner",
|
|
15448
|
+
"asset"
|
|
15449
|
+
],
|
|
15450
|
+
"title": "GlobalMarketsPerpsSetLeverageRequest",
|
|
15451
|
+
"description": "Request to set leverage on a global markets perps asset.\n\nOmit ``leverage`` (or pass null) to target the asset's maximum leverage."
|
|
15452
|
+
},
|
|
15453
|
+
"GlobalMarketsPerpsSetLeverageResponse": {
|
|
15454
|
+
"properties": {
|
|
15455
|
+
"leverage_ok": {
|
|
15456
|
+
"type": "boolean",
|
|
15457
|
+
"title": "Leverage Ok",
|
|
15458
|
+
"description": "True if leverage already matches the requested value, false if an update is needed"
|
|
15459
|
+
},
|
|
15460
|
+
"typed_data": {
|
|
15461
|
+
"anyOf": [
|
|
15462
|
+
{
|
|
15463
|
+
"additionalProperties": true,
|
|
15464
|
+
"type": "object"
|
|
15465
|
+
},
|
|
15466
|
+
{
|
|
15467
|
+
"type": "null"
|
|
15468
|
+
}
|
|
15469
|
+
],
|
|
15470
|
+
"title": "Typed Data",
|
|
15471
|
+
"description": "EIP-712 typed data for wallet signing, or null if no change is needed"
|
|
15472
|
+
},
|
|
15473
|
+
"action": {
|
|
15474
|
+
"anyOf": [
|
|
15475
|
+
{
|
|
15476
|
+
"additionalProperties": true,
|
|
15477
|
+
"type": "object"
|
|
15478
|
+
},
|
|
15479
|
+
{
|
|
15480
|
+
"type": "null"
|
|
15481
|
+
}
|
|
15482
|
+
],
|
|
15483
|
+
"title": "Action",
|
|
15484
|
+
"description": "Raw Hyperliquid action (passed back to the execute endpoint), or null"
|
|
15485
|
+
},
|
|
15486
|
+
"nonce": {
|
|
15487
|
+
"anyOf": [
|
|
15488
|
+
{
|
|
15489
|
+
"type": "integer"
|
|
15490
|
+
},
|
|
15491
|
+
{
|
|
15492
|
+
"type": "null"
|
|
15493
|
+
}
|
|
15494
|
+
],
|
|
15495
|
+
"title": "Nonce",
|
|
15496
|
+
"description": "Timestamp-based nonce, or null if no action needed"
|
|
15497
|
+
}
|
|
15498
|
+
},
|
|
15499
|
+
"type": "object",
|
|
15500
|
+
"required": [
|
|
15501
|
+
"leverage_ok"
|
|
15502
|
+
],
|
|
15503
|
+
"title": "GlobalMarketsPerpsSetLeverageResponse",
|
|
15504
|
+
"description": "Returned by the set_leverage endpoint.\n\nIf the asset is already at the requested leverage, typed_data/action/nonce\nare null. If not, they contain the EIP-712 payload the user must sign."
|
|
15505
|
+
},
|
|
15376
15506
|
"GlobalMarketsPerpsSignableActionResponse": {
|
|
15377
15507
|
"properties": {
|
|
15378
15508
|
"typed_data": {
|
package/package.json
CHANGED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { CompassApiSDKCore } from "../core.js";
|
|
6
|
+
import { encodeJSON } 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 { APICall, APIPromise } from "../types/async.js";
|
|
27
|
+
import { Result } from "../types/fp.js";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Set leverage (defaults to market maximum)
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* Check leverage and prepare an updateLeverage action to the requested value.
|
|
34
|
+
*
|
|
35
|
+
* If `leverage` is omitted, targets the asset's maximum leverage for that
|
|
36
|
+
* market. If the asset is already at the requested leverage, returns
|
|
37
|
+
* leverage_ok=true with null typed_data — no signing needed. Otherwise,
|
|
38
|
+
* returns EIP-712 typed data for the user to sign. After signing, submit the
|
|
39
|
+
* signature via the /execute endpoint.
|
|
40
|
+
*/
|
|
41
|
+
export function globalMarketsPerpsGlobalMarketsPerpsSetLeverage(
|
|
42
|
+
client: CompassApiSDKCore,
|
|
43
|
+
request: components.GlobalMarketsPerpsSetLeverageRequest,
|
|
44
|
+
options?: RequestOptions,
|
|
45
|
+
): APIPromise<
|
|
46
|
+
Result<
|
|
47
|
+
components.GlobalMarketsPerpsSetLeverageResponse,
|
|
48
|
+
| errors.HTTPValidationError
|
|
49
|
+
| CompassAPISDKError
|
|
50
|
+
| ResponseValidationError
|
|
51
|
+
| ConnectionError
|
|
52
|
+
| RequestAbortedError
|
|
53
|
+
| RequestTimeoutError
|
|
54
|
+
| InvalidRequestError
|
|
55
|
+
| UnexpectedClientError
|
|
56
|
+
| SDKValidationError
|
|
57
|
+
>
|
|
58
|
+
> {
|
|
59
|
+
return new APIPromise($do(
|
|
60
|
+
client,
|
|
61
|
+
request,
|
|
62
|
+
options,
|
|
63
|
+
));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
async function $do(
|
|
67
|
+
client: CompassApiSDKCore,
|
|
68
|
+
request: components.GlobalMarketsPerpsSetLeverageRequest,
|
|
69
|
+
options?: RequestOptions,
|
|
70
|
+
): Promise<
|
|
71
|
+
[
|
|
72
|
+
Result<
|
|
73
|
+
components.GlobalMarketsPerpsSetLeverageResponse,
|
|
74
|
+
| errors.HTTPValidationError
|
|
75
|
+
| CompassAPISDKError
|
|
76
|
+
| ResponseValidationError
|
|
77
|
+
| ConnectionError
|
|
78
|
+
| RequestAbortedError
|
|
79
|
+
| RequestTimeoutError
|
|
80
|
+
| InvalidRequestError
|
|
81
|
+
| UnexpectedClientError
|
|
82
|
+
| SDKValidationError
|
|
83
|
+
>,
|
|
84
|
+
APICall,
|
|
85
|
+
]
|
|
86
|
+
> {
|
|
87
|
+
const parsed = safeParse(
|
|
88
|
+
request,
|
|
89
|
+
(value) =>
|
|
90
|
+
components.GlobalMarketsPerpsSetLeverageRequest$outboundSchema.parse(
|
|
91
|
+
value,
|
|
92
|
+
),
|
|
93
|
+
"Input validation failed",
|
|
94
|
+
);
|
|
95
|
+
if (!parsed.ok) {
|
|
96
|
+
return [parsed, { status: "invalid" }];
|
|
97
|
+
}
|
|
98
|
+
const payload = parsed.value;
|
|
99
|
+
const body = encodeJSON("body", payload, { explode: true });
|
|
100
|
+
|
|
101
|
+
const path = pathToFunc("/v2/global_markets_perps/set_leverage")();
|
|
102
|
+
|
|
103
|
+
const headers = new Headers(compactMap({
|
|
104
|
+
"Content-Type": "application/json",
|
|
105
|
+
Accept: "application/json",
|
|
106
|
+
}));
|
|
107
|
+
|
|
108
|
+
const secConfig = await extractSecurity(client._options.apiKeyAuth);
|
|
109
|
+
const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
|
|
110
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
111
|
+
|
|
112
|
+
const context = {
|
|
113
|
+
options: client._options,
|
|
114
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
115
|
+
operationID: "v2_global_markets_perps_set_leverage",
|
|
116
|
+
oAuth2Scopes: null,
|
|
117
|
+
|
|
118
|
+
resolvedSecurity: requestSecurity,
|
|
119
|
+
|
|
120
|
+
securitySource: client._options.apiKeyAuth,
|
|
121
|
+
retryConfig: options?.retries
|
|
122
|
+
|| client._options.retryConfig
|
|
123
|
+
|| { strategy: "none" },
|
|
124
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
const requestRes = client._createRequest(context, {
|
|
128
|
+
security: requestSecurity,
|
|
129
|
+
method: "POST",
|
|
130
|
+
baseURL: options?.serverURL,
|
|
131
|
+
path: path,
|
|
132
|
+
headers: headers,
|
|
133
|
+
body: body,
|
|
134
|
+
userAgent: client._options.userAgent,
|
|
135
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
136
|
+
}, options);
|
|
137
|
+
if (!requestRes.ok) {
|
|
138
|
+
return [requestRes, { status: "invalid" }];
|
|
139
|
+
}
|
|
140
|
+
const req = requestRes.value;
|
|
141
|
+
|
|
142
|
+
const doResult = await client._do(req, {
|
|
143
|
+
context,
|
|
144
|
+
isErrorStatusCode: (statusCode: number) =>
|
|
145
|
+
matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
|
|
146
|
+
retryConfig: context.retryConfig,
|
|
147
|
+
retryCodes: context.retryCodes,
|
|
148
|
+
});
|
|
149
|
+
if (!doResult.ok) {
|
|
150
|
+
return [doResult, { status: "request-error", request: req }];
|
|
151
|
+
}
|
|
152
|
+
const response = doResult.value;
|
|
153
|
+
|
|
154
|
+
const responseFields = {
|
|
155
|
+
HttpMeta: { Response: response, Request: req },
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
const [result] = await M.match<
|
|
159
|
+
components.GlobalMarketsPerpsSetLeverageResponse,
|
|
160
|
+
| errors.HTTPValidationError
|
|
161
|
+
| CompassAPISDKError
|
|
162
|
+
| ResponseValidationError
|
|
163
|
+
| ConnectionError
|
|
164
|
+
| RequestAbortedError
|
|
165
|
+
| RequestTimeoutError
|
|
166
|
+
| InvalidRequestError
|
|
167
|
+
| UnexpectedClientError
|
|
168
|
+
| SDKValidationError
|
|
169
|
+
>(
|
|
170
|
+
M.json(200, components.GlobalMarketsPerpsSetLeverageResponse$inboundSchema),
|
|
171
|
+
M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
|
|
172
|
+
M.fail("4XX"),
|
|
173
|
+
M.fail("5XX"),
|
|
174
|
+
)(response, req, { extraFields: responseFields });
|
|
175
|
+
if (!result.ok) {
|
|
176
|
+
return [result, { status: "complete", request: req, response }];
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return [result, { status: "complete", request: req, response }];
|
|
180
|
+
}
|
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.910.1",
|
|
66
66
|
userAgent:
|
|
67
|
-
"speakeasy-sdk/typescript 2.0.0 2.
|
|
67
|
+
"speakeasy-sdk/typescript 2.0.0 2.910.1 0.0.1 @compass-labs/api-sdk",
|
|
68
68
|
} as const;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v3";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Request to set leverage on a global markets perps asset.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
*
|
|
12
|
+
* Omit ``leverage`` (or pass null) to target the asset's maximum leverage.
|
|
13
|
+
*/
|
|
14
|
+
export type GlobalMarketsPerpsSetLeverageRequest = {
|
|
15
|
+
/**
|
|
16
|
+
* User's EOA address
|
|
17
|
+
*/
|
|
18
|
+
owner: string;
|
|
19
|
+
/**
|
|
20
|
+
* Asset ticker (e.g. 'AAPL', 'CL')
|
|
21
|
+
*/
|
|
22
|
+
asset: string;
|
|
23
|
+
/**
|
|
24
|
+
* Target leverage as a whole-number multiplier. Omit (or pass null) to use the asset's maximum leverage. Must be between 1 and the asset's max leverage, which is available from the /opportunities endpoint.
|
|
25
|
+
*/
|
|
26
|
+
leverage?: number | null | undefined;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/** @internal */
|
|
30
|
+
export type GlobalMarketsPerpsSetLeverageRequest$Outbound = {
|
|
31
|
+
owner: string;
|
|
32
|
+
asset: string;
|
|
33
|
+
leverage?: number | null | undefined;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** @internal */
|
|
37
|
+
export const GlobalMarketsPerpsSetLeverageRequest$outboundSchema: z.ZodType<
|
|
38
|
+
GlobalMarketsPerpsSetLeverageRequest$Outbound,
|
|
39
|
+
z.ZodTypeDef,
|
|
40
|
+
GlobalMarketsPerpsSetLeverageRequest
|
|
41
|
+
> = z.object({
|
|
42
|
+
owner: z.string(),
|
|
43
|
+
asset: z.string(),
|
|
44
|
+
leverage: z.nullable(z.number().int()).optional(),
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export function globalMarketsPerpsSetLeverageRequestToJSON(
|
|
48
|
+
globalMarketsPerpsSetLeverageRequest: GlobalMarketsPerpsSetLeverageRequest,
|
|
49
|
+
): string {
|
|
50
|
+
return JSON.stringify(
|
|
51
|
+
GlobalMarketsPerpsSetLeverageRequest$outboundSchema.parse(
|
|
52
|
+
globalMarketsPerpsSetLeverageRequest,
|
|
53
|
+
),
|
|
54
|
+
);
|
|
55
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Returned by the set_leverage endpoint.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
*
|
|
16
|
+
* If the asset is already at the requested leverage, typed_data/action/nonce
|
|
17
|
+
* are null. If not, they contain the EIP-712 payload the user must sign.
|
|
18
|
+
*/
|
|
19
|
+
export type GlobalMarketsPerpsSetLeverageResponse = {
|
|
20
|
+
/**
|
|
21
|
+
* True if leverage already matches the requested value, false if an update is needed
|
|
22
|
+
*/
|
|
23
|
+
leverageOk: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* EIP-712 typed data for wallet signing, or null if no change is needed
|
|
26
|
+
*/
|
|
27
|
+
typedData?: { [k: string]: any } | null | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Raw Hyperliquid action (passed back to the execute endpoint), or null
|
|
30
|
+
*/
|
|
31
|
+
action?: { [k: string]: any } | null | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Timestamp-based nonce, or null if no action needed
|
|
34
|
+
*/
|
|
35
|
+
nonce?: number | null | undefined;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/** @internal */
|
|
39
|
+
export const GlobalMarketsPerpsSetLeverageResponse$inboundSchema: z.ZodType<
|
|
40
|
+
GlobalMarketsPerpsSetLeverageResponse,
|
|
41
|
+
z.ZodTypeDef,
|
|
42
|
+
unknown
|
|
43
|
+
> = z.object({
|
|
44
|
+
leverage_ok: z.boolean(),
|
|
45
|
+
typed_data: z.nullable(z.record(z.any())).optional(),
|
|
46
|
+
action: z.nullable(z.record(z.any())).optional(),
|
|
47
|
+
nonce: z.nullable(z.number().int()).optional(),
|
|
48
|
+
}).transform((v) => {
|
|
49
|
+
return remap$(v, {
|
|
50
|
+
"leverage_ok": "leverageOk",
|
|
51
|
+
"typed_data": "typedData",
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
export function globalMarketsPerpsSetLeverageResponseFromJSON(
|
|
56
|
+
jsonString: string,
|
|
57
|
+
): SafeParseResult<GlobalMarketsPerpsSetLeverageResponse, SDKValidationError> {
|
|
58
|
+
return safeParse(
|
|
59
|
+
jsonString,
|
|
60
|
+
(x) =>
|
|
61
|
+
GlobalMarketsPerpsSetLeverageResponse$inboundSchema.parse(JSON.parse(x)),
|
|
62
|
+
`Failed to parse 'GlobalMarketsPerpsSetLeverageResponse' from JSON`,
|
|
63
|
+
);
|
|
64
|
+
}
|
|
@@ -171,6 +171,8 @@ export * from "./globalmarketsperpsopportunitiesresponse.js";
|
|
|
171
171
|
export * from "./globalmarketsperpsopportunity.js";
|
|
172
172
|
export * from "./globalmarketsperpsposition.js";
|
|
173
173
|
export * from "./globalmarketsperpspositionsresponse.js";
|
|
174
|
+
export * from "./globalmarketsperpssetleveragerequest.js";
|
|
175
|
+
export * from "./globalmarketsperpssetleverageresponse.js";
|
|
174
176
|
export * from "./globalmarketsperpssignableactionresponse.js";
|
|
175
177
|
export * from "./globalmarketsperpswithdrawrequest.js";
|
|
176
178
|
export * from "./interestratemode.js";
|
|
@@ -15,6 +15,7 @@ import { globalMarketsPerpsGlobalMarketsPerpsLimitOrder } from "../funcs/globalM
|
|
|
15
15
|
import { globalMarketsPerpsGlobalMarketsPerpsMarketOrder } from "../funcs/globalMarketsPerpsGlobalMarketsPerpsMarketOrder.js";
|
|
16
16
|
import { globalMarketsPerpsGlobalMarketsPerpsOpportunities } from "../funcs/globalMarketsPerpsGlobalMarketsPerpsOpportunities.js";
|
|
17
17
|
import { globalMarketsPerpsGlobalMarketsPerpsPositions } from "../funcs/globalMarketsPerpsGlobalMarketsPerpsPositions.js";
|
|
18
|
+
import { globalMarketsPerpsGlobalMarketsPerpsSetLeverage } from "../funcs/globalMarketsPerpsGlobalMarketsPerpsSetLeverage.js";
|
|
18
19
|
import { globalMarketsPerpsGlobalMarketsPerpsWithdraw } from "../funcs/globalMarketsPerpsGlobalMarketsPerpsWithdraw.js";
|
|
19
20
|
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
|
|
20
21
|
import * as components from "../models/components/index.js";
|
|
@@ -332,4 +333,27 @@ export class GlobalMarketsPerps extends ClientSDK {
|
|
|
332
333
|
options,
|
|
333
334
|
));
|
|
334
335
|
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Set leverage (defaults to market maximum)
|
|
339
|
+
*
|
|
340
|
+
* @remarks
|
|
341
|
+
* Check leverage and prepare an updateLeverage action to the requested value.
|
|
342
|
+
*
|
|
343
|
+
* If `leverage` is omitted, targets the asset's maximum leverage for that
|
|
344
|
+
* market. If the asset is already at the requested leverage, returns
|
|
345
|
+
* leverage_ok=true with null typed_data — no signing needed. Otherwise,
|
|
346
|
+
* returns EIP-712 typed data for the user to sign. After signing, submit the
|
|
347
|
+
* signature via the /execute endpoint.
|
|
348
|
+
*/
|
|
349
|
+
async globalMarketsPerpsSetLeverage(
|
|
350
|
+
request: components.GlobalMarketsPerpsSetLeverageRequest,
|
|
351
|
+
options?: RequestOptions,
|
|
352
|
+
): Promise<components.GlobalMarketsPerpsSetLeverageResponse> {
|
|
353
|
+
return unwrapAsync(globalMarketsPerpsGlobalMarketsPerpsSetLeverage(
|
|
354
|
+
this,
|
|
355
|
+
request,
|
|
356
|
+
options,
|
|
357
|
+
));
|
|
358
|
+
}
|
|
335
359
|
}
|