@lifi/perps-sdk 4.4.2 → 6.0.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/dist/cjs/client/PerpsClient.d.ts +10 -2
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +14 -0
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/index.d.ts +10 -6
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +16 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/marketRegistry.d.ts +2 -1
- package/dist/cjs/registry/marketRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/marketRegistry.js +24 -1
- package/dist/cjs/registry/marketRegistry.js.map +1 -1
- package/dist/cjs/services/getGasRecommendation.d.ts +9 -0
- package/dist/cjs/services/getGasRecommendation.d.ts.map +1 -0
- package/dist/cjs/services/getGasRecommendation.js +10 -0
- package/dist/cjs/services/getGasRecommendation.js.map +1 -0
- package/dist/cjs/types/api.d.ts +6 -1
- package/dist/cjs/types/api.d.ts.map +1 -1
- package/dist/cjs/types/deposit.d.ts +25 -0
- package/dist/cjs/types/deposit.d.ts.map +1 -0
- package/dist/cjs/types/deposit.js +3 -0
- package/dist/cjs/types/deposit.js.map +1 -0
- package/dist/cjs/types/provider.d.ts +12 -1
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/utils/calculations.d.ts +0 -5
- package/dist/cjs/utils/calculations.d.ts.map +1 -1
- package/dist/cjs/utils/calculations.js +0 -9
- package/dist/cjs/utils/calculations.js.map +1 -1
- package/dist/cjs/utils/depositAssets.d.ts +8 -0
- package/dist/cjs/utils/depositAssets.d.ts.map +1 -0
- package/dist/cjs/utils/depositAssets.js +36 -0
- package/dist/cjs/utils/depositAssets.js.map +1 -0
- package/dist/cjs/utils/transferMargin.d.ts +7 -0
- package/dist/cjs/utils/transferMargin.d.ts.map +1 -0
- package/dist/cjs/utils/transferMargin.js +52 -0
- package/dist/cjs/utils/transferMargin.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/client/PerpsClient.d.ts +35 -2
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +39 -0
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/index.d.ts +11 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/marketRegistry.d.ts +9 -1
- package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
- package/dist/esm/registry/marketRegistry.js +30 -1
- package/dist/esm/registry/marketRegistry.js.map +1 -1
- package/dist/esm/services/getGasRecommendation.d.ts +31 -0
- package/dist/esm/services/getGasRecommendation.d.ts.map +1 -0
- package/dist/esm/services/getGasRecommendation.js +22 -0
- package/dist/esm/services/getGasRecommendation.js.map +1 -0
- package/dist/esm/types/api.d.ts +16 -1
- package/dist/esm/types/api.d.ts.map +1 -1
- package/dist/esm/types/deposit.d.ts +68 -0
- package/dist/esm/types/deposit.d.ts.map +1 -0
- package/dist/esm/types/deposit.js +2 -0
- package/dist/esm/types/deposit.js.map +1 -0
- package/dist/esm/types/provider.d.ts +48 -1
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/utils/calculations.d.ts +0 -20
- package/dist/esm/utils/calculations.d.ts.map +1 -1
- package/dist/esm/utils/calculations.js +0 -23
- package/dist/esm/utils/calculations.js.map +1 -1
- package/dist/esm/utils/depositAssets.d.ts +46 -0
- package/dist/esm/utils/depositAssets.d.ts.map +1 -0
- package/dist/esm/utils/depositAssets.js +71 -0
- package/dist/esm/utils/depositAssets.js.map +1 -0
- package/dist/esm/utils/transferMargin.d.ts +24 -0
- package/dist/esm/utils/transferMargin.d.ts.map +1 -0
- package/dist/esm/utils/transferMargin.js +58 -0
- package/dist/esm/utils/transferMargin.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/client/PerpsClient.d.ts +35 -2
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +11 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/marketRegistry.d.ts +9 -1
- package/dist/types/registry/marketRegistry.d.ts.map +1 -1
- package/dist/types/services/getGasRecommendation.d.ts +31 -0
- package/dist/types/services/getGasRecommendation.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +16 -1
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/deposit.d.ts +68 -0
- package/dist/types/types/deposit.d.ts.map +1 -0
- package/dist/types/types/provider.d.ts +48 -1
- package/dist/types/types/provider.d.ts.map +1 -1
- package/dist/types/utils/calculations.d.ts +0 -20
- package/dist/types/utils/calculations.d.ts.map +1 -1
- package/dist/types/utils/depositAssets.d.ts +46 -0
- package/dist/types/utils/depositAssets.d.ts.map +1 -0
- package/dist/types/utils/transferMargin.d.ts +24 -0
- package/dist/types/utils/transferMargin.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
- package/src/client/PerpsClient.ts +56 -0
- package/src/index.ts +26 -6
- package/src/registry/marketRegistry.ts +45 -2
- package/src/services/getGasRecommendation.ts +45 -0
- package/src/types/api.ts +17 -0
- package/src/types/deposit.ts +75 -0
- package/src/types/provider.ts +63 -0
- package/src/utils/calculations.ts +0 -28
- package/src/utils/depositAssets.ts +77 -0
- package/src/utils/transferMargin.ts +103 -0
- package/src/version.ts +1 -1
- package/dist/cjs/utils/depositChain.d.ts +0 -6
- package/dist/cjs/utils/depositChain.d.ts.map +0 -1
- package/dist/cjs/utils/depositChain.js +0 -14
- package/dist/cjs/utils/depositChain.js.map +0 -1
- package/dist/esm/utils/depositChain.d.ts +0 -27
- package/dist/esm/utils/depositChain.d.ts.map +0 -1
- package/dist/esm/utils/depositChain.js +0 -24
- package/dist/esm/utils/depositChain.js.map +0 -1
- package/dist/types/utils/depositChain.d.ts +0 -27
- package/dist/types/utils/depositChain.d.ts.map +0 -1
- package/src/utils/depositChain.ts +0 -39
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MarginMode, PerpsErrorCode, PositionMarginAdjustment, } from '@lifi/perps-types';
|
|
2
|
+
import Big from 'big.js';
|
|
3
|
+
import { PerpsError } from '../errors/PerpsError.js';
|
|
4
|
+
function positionAmount(value, field) {
|
|
5
|
+
try {
|
|
6
|
+
return new Big(value);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, `Invalid decimal string on Position.${field}: '${value}'`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function constraintAmount(value, field) {
|
|
13
|
+
try {
|
|
14
|
+
return new Big(value);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, `Invalid decimal string on PositionMarginConstraints.${field}: '${value}'`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function requirePositive(value, field) {
|
|
21
|
+
if (value.lte(0)) {
|
|
22
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, `${field} must be greater than zero.`);
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Calculate margin that can be removed from an isolated position using the
|
|
28
|
+
* provider's exact retained-margin requirement. Position equity is allocated
|
|
29
|
+
* margin plus unrealized PnL.
|
|
30
|
+
*
|
|
31
|
+
* The result snaps down to the provider's accepted amount increment. Markets
|
|
32
|
+
* that are add-only and cross-margined positions return `'0'`.
|
|
33
|
+
*
|
|
34
|
+
* @throws {PerpsError} `ValidationError` for malformed, non-positive, or
|
|
35
|
+
* inconsistent risk inputs.
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export function removableIsolatedMargin({ position, constraints, }) {
|
|
39
|
+
if (position.marginMode !== MarginMode.ISOLATED ||
|
|
40
|
+
position.market.positionMarginAdjustment !==
|
|
41
|
+
PositionMarginAdjustment.ADD_AND_REMOVE) {
|
|
42
|
+
return '0';
|
|
43
|
+
}
|
|
44
|
+
const marginUsed = requirePositive(positionAmount(position.marginUsed, 'marginUsed'), 'Position.marginUsed');
|
|
45
|
+
const unrealizedPnl = positionAmount(position.unrealizedPnl, 'unrealizedPnl');
|
|
46
|
+
const minimumMargin = requirePositive(constraintAmount(constraints.minimumMarginRequirement, 'minimumMarginRequirement'), 'PositionMarginConstraints.minimumMarginRequirement');
|
|
47
|
+
const amountIncrement = requirePositive(constraintAmount(constraints.amountIncrement, 'amountIncrement'), 'PositionMarginConstraints.amountIncrement');
|
|
48
|
+
const removable = marginUsed.plus(unrealizedPnl).minus(minimumMargin);
|
|
49
|
+
if (removable.lte(0)) {
|
|
50
|
+
return '0';
|
|
51
|
+
}
|
|
52
|
+
return removable
|
|
53
|
+
.div(amountIncrement)
|
|
54
|
+
.round(0, Big.roundDown)
|
|
55
|
+
.times(amountIncrement)
|
|
56
|
+
.toFixed();
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=transferMargin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferMargin.js","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,wBAAwB,GAEzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,sCAAsC,KAAK,MAAM,KAAK,GAAG,CAC1D,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,uDAAuD,KAAK,MAAM,KAAK,GAAG,CAC3E,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAU,EAAE,KAAa;IAChD,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,eAAe,EAC9B,GAAG,KAAK,6BAA6B,CACtC,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAYD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,QAAQ,EACR,WAAW,GACmB;IAC9B,IACE,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ;QAC3C,QAAQ,CAAC,MAAM,CAAC,wBAAwB;YACtC,wBAAwB,CAAC,cAAc,EACzC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAChC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,EACjD,qBAAqB,CACtB,CAAA;IACD,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IAC7E,MAAM,aAAa,GAAG,eAAe,CACnC,gBAAgB,CACd,WAAW,CAAC,wBAAwB,EACpC,0BAA0B,CAC3B,EACD,oDAAoD,CACrD,CAAA;IACD,MAAM,eAAe,GAAG,eAAe,CACrC,gBAAgB,CAAC,WAAW,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAChE,2CAA2C,CAC5C,CAAA;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACrE,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,SAAS;SACb,GAAG,CAAC,eAAe,CAAC;SACpB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;SACvB,KAAK,CAAC,eAAe,CAAC;SACtB,OAAO,EAAE,CAAA;AACd,CAAC"}
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { AccountResponse, AccountSummary, ActionParamsMap, ActionStep, CreateActionResponse, ExecuteActionResponse, MarketRef, Position } from '@lifi/perps-types';
|
|
1
|
+
import type { AccountResponse, AccountSummary, ActionParamsMap, ActionStep, CreateActionResponse, ExecuteActionResponse, MarketRef, MarketSettings, Position, PositionMarginConstraints } from '@lifi/perps-types';
|
|
2
2
|
import { ActionType } from '@lifi/perps-types';
|
|
3
3
|
import type { Address } from 'viem';
|
|
4
|
-
import type { BuildProviderSetupParams, CancelOrdersParams, GetAccountResult, GetSetupParams, ModifyOrdersParams, PerpsClientOptions, PlaceOrderParams, PlaceTriggerOrderParams, ProviderSetup, SendAssetActionParams, WithdrawParams } from '../types/api.js';
|
|
4
|
+
import type { BuildProviderSetupParams, CancelOrdersParams, GetAccountResult, GetDepositFlowParams, GetSetupParams, ModifyOrdersParams, PerpsClientOptions, PlaceOrderParams, PlaceTriggerOrderParams, ProviderSetup, SendAssetActionParams, WithdrawParams } from '../types/api.js';
|
|
5
5
|
import type { SwitchChainHook } from '../types/config.js';
|
|
6
|
+
import type { DepositFlow } from '../types/deposit.js';
|
|
6
7
|
import type { PerpsSDKClient, SignActionProgress } from '../types/provider.js';
|
|
7
8
|
/**
|
|
8
9
|
* The primary high-level perps API: wraps a {@link PerpsSDKClient} and owns the
|
|
@@ -134,6 +135,27 @@ export declare class PerpsClient {
|
|
|
134
135
|
provider: string;
|
|
135
136
|
address: Address;
|
|
136
137
|
}): Promise<GetAccountResult>;
|
|
138
|
+
/**
|
|
139
|
+
* The user's current venue-side settings for a market — the margin mode
|
|
140
|
+
* and leverage the next order on it will use. Resolves `undefined` when
|
|
141
|
+
* the venue exposes no readable setting for the market (or the provider
|
|
142
|
+
* has no such read at all).
|
|
143
|
+
*
|
|
144
|
+
* @throws {PerpsError} When the provider plugin is not registered.
|
|
145
|
+
* @public
|
|
146
|
+
*/
|
|
147
|
+
getMarketSettings(params: {
|
|
148
|
+
provider: string;
|
|
149
|
+
address: Address;
|
|
150
|
+
market: MarketRef;
|
|
151
|
+
}): Promise<MarketSettings | undefined>;
|
|
152
|
+
/**
|
|
153
|
+
* Resolve the exact venue-owned margin requirements for `position`.
|
|
154
|
+
* Returns `undefined` when the position has no individual margin adjustment.
|
|
155
|
+
*
|
|
156
|
+
* @public
|
|
157
|
+
*/
|
|
158
|
+
getPositionMarginConstraints(position: Position): PositionMarginConstraints | undefined;
|
|
137
159
|
/**
|
|
138
160
|
* Roll an already-fetched {@link AccountResponse} (plus its positions) up
|
|
139
161
|
* into an {@link AccountSummary}, delegating to the owning provider so the
|
|
@@ -151,6 +173,17 @@ export declare class PerpsClient {
|
|
|
151
173
|
* @public
|
|
152
174
|
*/
|
|
153
175
|
accountExists(provider: string, address: Address): Promise<boolean>;
|
|
176
|
+
/**
|
|
177
|
+
* The deposit flow for `params.address` at `params.provider`, delegated to the
|
|
178
|
+
* provider plugin — every deposit decision (the collateral destination, the
|
|
179
|
+
* account-opening pipeline, an outstanding setup gate) is venue-owned.
|
|
180
|
+
*
|
|
181
|
+
* @returns `undefined` when the registered plugin declares no deposit flow.
|
|
182
|
+
* @throws {PerpsError} When the provider plugin is not registered, or the
|
|
183
|
+
* plugin's flow resolution fails.
|
|
184
|
+
* @public
|
|
185
|
+
*/
|
|
186
|
+
getDepositFlow(params: GetDepositFlowParams): Promise<DepositFlow | undefined>;
|
|
154
187
|
/**
|
|
155
188
|
* Return the unsatisfied entries on `Provider.setup` for this account as a
|
|
156
189
|
* flat, self-describing list. Trading is gated on `isReady === true`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EAEf,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,QAAQ,
|
|
1
|
+
{"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@lifi/perps-sdk` — the public entry point. Exports `createPerpsClient` and
|
|
3
|
-
* `PerpsClient` (the primary API), the
|
|
3
|
+
* `PerpsClient` (the primary API), the WebSocket `PerpsWsClient`, the pure
|
|
4
4
|
* calculation/parsing/order helpers, and re-exports the shared `@lifi/perps-types`.
|
|
5
5
|
*
|
|
6
6
|
* @packageDocumentation
|
|
@@ -12,7 +12,7 @@ export { PerpsClient } from './client/PerpsClient.js';
|
|
|
12
12
|
export { PerpsErrorMessage } from './errors/constants.js';
|
|
13
13
|
export { PerpsError } from './errors/PerpsError.js';
|
|
14
14
|
export { AssetRegistry, getAssetRegistry } from './registry/assetRegistry.js';
|
|
15
|
-
export { getMarketRegistry, isActiveMarket, MarketRegistry, toMarketDisplay, } from './registry/marketRegistry.js';
|
|
15
|
+
export { getMarketRegistry, isActiveMarket, MarketRegistry, toMarketDisplay, toPerpsMarketDisplay, } from './registry/marketRegistry.js';
|
|
16
16
|
export type { CreateActionParams } from './services/createAction.js';
|
|
17
17
|
export { createAction } from './services/createAction.js';
|
|
18
18
|
export type { ExecuteActionParams } from './services/executeAction.js';
|
|
@@ -25,6 +25,8 @@ export type { GetAssetsParams } from './services/getAssets.js';
|
|
|
25
25
|
export { getAssets } from './services/getAssets.js';
|
|
26
26
|
export type { GetFillsParams } from './services/getFills.js';
|
|
27
27
|
export { getFills } from './services/getFills.js';
|
|
28
|
+
export type { GetGasRecommendationParams } from './services/getGasRecommendation.js';
|
|
29
|
+
export { getGasRecommendation, LIFI_API_URL, } from './services/getGasRecommendation.js';
|
|
28
30
|
export type { GetMarketParams } from './services/getMarket.js';
|
|
29
31
|
export { getMarket } from './services/getMarket.js';
|
|
30
32
|
export type { GetMarketsParams } from './services/getMarkets.js';
|
|
@@ -56,14 +58,14 @@ export type { FetchWithRetryOptions } from './transport/fetchWithRetry.js';
|
|
|
56
58
|
export { fetchWithRetry } from './transport/fetchWithRetry.js';
|
|
57
59
|
export type { ProviderRetryConfig, ResolvedRetryPolicy, RetryAttemptContext, RetryClassification, RetryClassifyContext, RetryConfig, RetryPolicy, } from './transport/retryPolicy.js';
|
|
58
60
|
export { DISABLED_RETRY, LIFI_REQUEST_KEY, LIFI_RETRY_DEFAULTS, resolveRetryPolicy, } from './transport/retryPolicy.js';
|
|
59
|
-
export type { BuildProviderSetupParams, CancelOrdersParams, GetAccountResult, GetSetupParams, ModifyOrdersParams, PerpsClientOptions, PerpsConfig, PlaceOrderParams as ClientPlaceOrderParams, PlaceTriggerOrderParams as ClientPlaceTriggerOrderParams, ProviderSetup, SendAssetActionParams, WithdrawParams, } from './types/api.js';
|
|
61
|
+
export type { BuildProviderSetupParams, CancelOrdersParams, GetAccountResult, GetDepositFlowParams, GetSetupParams, ModifyOrdersParams, PerpsClientOptions, PerpsConfig, PlaceOrderParams as ClientPlaceOrderParams, PlaceTriggerOrderParams as ClientPlaceTriggerOrderParams, ProviderSetup, SendAssetActionParams, WithdrawParams, } from './types/api.js';
|
|
60
62
|
export type { HyperliquidConfig, PerpsBaseConfig, PerpsClientSigner, ProviderConfig, ProviderConfigs, RequestInterceptor, SDKRequestOptions, SwitchChainHook, } from './types/config.js';
|
|
61
|
-
export type {
|
|
63
|
+
export type { DeclaredDepositAsset, DepositFlow, DepositFlowFirstDepositPipeline, DepositFlowLifiSwap, DepositFlowSetupRequired, } from './types/deposit.js';
|
|
64
|
+
export type { ActionSignerContribution, LiquidationEstimateParams, PerpsProvider, PerpsProviderPlugin, PerpsSDKClient, ProviderAccountExistsParams, ProviderGetAccountParams, ProviderGetActivityParams, ProviderGetDepositFlowParams, ProviderGetFillsParams, ProviderGetMarketSettingsParams, ProviderGetOrderParams, ProviderGetOrdersParams, ProviderGetPositionsParams, ProviderGetQuoteParams, QuoteListener, SignActionProgress, SignActionsContext, } from './types/provider.js';
|
|
62
65
|
export { type CollateralSemantics, summarizeAccount, } from './utils/accountSummary.js';
|
|
63
66
|
export type { ExpectedPnl } from './utils/calculations.js';
|
|
64
|
-
export { applySlippage, buildQuote, calculateExpectedPnl, calculateNotionalValue, calculatePositionSize, calculateRealizedPnlPercent, calculateRequiredMargin, calculateRoe, calculateUnrealizedPnl, effectiveLeverage, estimateFees, liquidationDistancePercent, percentFromPrice, priceFromPercent,
|
|
65
|
-
export
|
|
66
|
-
export { LIFI_DEPOSIT_CHAIN_BY_PROVIDER, lifiDepositChainForProvider, } from './utils/depositChain.js';
|
|
67
|
+
export { applySlippage, buildQuote, calculateExpectedPnl, calculateNotionalValue, calculatePositionSize, calculateRealizedPnlPercent, calculateRequiredMargin, calculateRoe, calculateUnrealizedPnl, effectiveLeverage, estimateFees, liquidationDistancePercent, percentFromPrice, priceFromPercent, walkOrderbook, } from './utils/calculations.js';
|
|
68
|
+
export { ETHEREUM_NATIVE_GAS, ETHEREUM_USDC, HYPERLIQUID_USDC, LIGHTER_USDC, ROBINHOOD_NATIVE_GAS, ROBINHOOD_USDG, } from './utils/depositAssets.js';
|
|
67
69
|
export { ExplorerChainId, explorerTxUrl, explorerTxUrlFromBase, } from './utils/explorer.js';
|
|
68
70
|
export { classifyFillFromPosition } from './utils/fillClassification.js';
|
|
69
71
|
export type { FormatOptions, RoundingMode } from './utils/format.js';
|
|
@@ -76,6 +78,8 @@ export type { ScaleToIntegerPolicy } from './utils/scaleToInteger.js';
|
|
|
76
78
|
export { scaleToInteger } from './utils/scaleToInteger.js';
|
|
77
79
|
export { selectUserSetupActions } from './utils/setupActions.js';
|
|
78
80
|
export { signTypedData, signTypedDataWithSigner, } from './utils/signTypedData.js';
|
|
81
|
+
export type { RemovableIsolatedMarginParams } from './utils/transferMargin.js';
|
|
82
|
+
export { removableIsolatedMargin } from './utils/transferMargin.js';
|
|
79
83
|
export { fromBaseUnits, fromBaseUnitsNumber } from './utils/units.js';
|
|
80
84
|
export { validateMargin } from './utils/validation.js';
|
|
81
85
|
export { name, version } from './version.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Market, MarketDisplay } from '@lifi/perps-types';
|
|
1
|
+
import type { Market, MarketDisplay, PerpsMarketDisplay } from '@lifi/perps-types';
|
|
2
2
|
import type { PerpsSDKClient } from '../types/provider.js';
|
|
3
3
|
import { ReferenceDataRegistry } from './referenceDataRegistry.js';
|
|
4
4
|
/**
|
|
@@ -52,4 +52,12 @@ export declare function getMarketRegistry(client: PerpsSDKClient, provider: stri
|
|
|
52
52
|
* @public
|
|
53
53
|
*/
|
|
54
54
|
export declare const toMarketDisplay: (market: Market) => MarketDisplay;
|
|
55
|
+
/**
|
|
56
|
+
* Project a perpetual {@link Market} to the identity embedded on a
|
|
57
|
+
* {@link Position}, preserving its individual-margin capability.
|
|
58
|
+
*
|
|
59
|
+
* @throws {PerpsError} `ValidationError` when passed a spot market.
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
export declare const toPerpsMarketDisplay: (market: Market) => PerpsMarketDisplay;
|
|
55
63
|
//# sourceMappingURL=marketRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"marketRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EAEb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAI1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,qBAAqB,CAAC,MAAM,CAAC;gBACnD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAIpD,iFAAiF;IACjF,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,CAE/B;IAED,2EAA2E;IAC3E,IAAI,aAAa,IAAI,SAAS,MAAM,EAAE,CAErC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAajC;;;;;;OAMG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAavC,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IASzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGxC;AAID,2EAA2E;AAC3E,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,OACpB,CAAA;AAE5B;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GACf,cAAc,CAYhB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,aAO/C,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,kBA6BrD,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { GasRecommendationResponse } from '@lifi/types';
|
|
2
|
+
import type { SDKRequestOptions } from '../types/config.js';
|
|
3
|
+
import type { PerpsSDKClient } from '../types/provider.js';
|
|
4
|
+
/**
|
|
5
|
+
* LI.FI API base URL for reads the user's client makes directly, without the
|
|
6
|
+
* perps backend in the path.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare const LIFI_API_URL = "https://li.quest/v1";
|
|
11
|
+
/**
|
|
12
|
+
* Parameters for {@link getGasRecommendation}.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export interface GetGasRecommendationParams {
|
|
17
|
+
/** Chain to hold native gas on — a `firstDepositPipeline` flow's `chainId`. */
|
|
18
|
+
chainId: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* How much native gas LI.FI suggests holding on `params.chainId` to transact
|
|
22
|
+
* there, for seeding the gas leg of a first-deposit pipeline. Read straight
|
|
23
|
+
* from the LI.FI API by the user's client.
|
|
24
|
+
*
|
|
25
|
+
* @returns The suggestion, with `available: false` and no amounts on a chain
|
|
26
|
+
* LI.FI cannot source gas for.
|
|
27
|
+
* @throws {PerpsError} On API error responses, or network/parsing errors.
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export declare function getGasRecommendation(client: PerpsSDKClient, params: GetGasRecommendationParams, options?: SDKRequestOptions): Promise<GasRecommendationResponse>;
|
|
31
|
+
//# sourceMappingURL=getGasRecommendation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGasRecommendation.d.ts","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,wBAAwB,CAAA;AAEjD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAOpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountConfigSetting, AccountResponse, ActionStep, ExecuteActionResponse, MarketRef, ModifyOrderInput, OrderSide, OrderType, SignedActionStep, TimeInForce, TriggerOrderInput, WithdrawalParams } from '@lifi/perps-types';
|
|
1
|
+
import type { AccountConfigSetting, AccountResponse, ActionStep, ExecuteActionResponse, MarginMode, MarketRef, ModifyOrderInput, OrderSide, OrderType, SignedActionStep, TimeInForce, TriggerOrderInput, WithdrawalParams } from '@lifi/perps-types';
|
|
2
2
|
import type { Account, Address, WalletClient } from 'viem';
|
|
3
3
|
import type { RetryConfig } from '../transport/retryPolicy.js';
|
|
4
4
|
import type { ProviderConfigs, RequestInterceptor, SwitchChainHook } from './config.js';
|
|
@@ -101,6 +101,12 @@ export interface PlaceOrderParams {
|
|
|
101
101
|
size: string;
|
|
102
102
|
price: string;
|
|
103
103
|
leverage?: number;
|
|
104
|
+
/**
|
|
105
|
+
* Margin mode the order trades under; omitted falls to the venue's cross
|
|
106
|
+
* default. Lighter's order tx carries the mode directly; Hyperliquid
|
|
107
|
+
* applies it via a prepended leverage update (requires `leverage`).
|
|
108
|
+
*/
|
|
109
|
+
marginMode?: MarginMode;
|
|
104
110
|
reduceOnly?: boolean;
|
|
105
111
|
timeInForce?: TimeInForce;
|
|
106
112
|
expiresAt?: string;
|
|
@@ -181,6 +187,15 @@ export interface GetSetupParams {
|
|
|
181
187
|
provider: string;
|
|
182
188
|
address: Address;
|
|
183
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Parameters for {@link PerpsClient.getDepositFlow}.
|
|
192
|
+
*
|
|
193
|
+
* @public
|
|
194
|
+
*/
|
|
195
|
+
export interface GetDepositFlowParams {
|
|
196
|
+
provider: string;
|
|
197
|
+
address: Address;
|
|
198
|
+
}
|
|
184
199
|
/**
|
|
185
200
|
* Result from {@link PerpsClient.checkSetup}.
|
|
186
201
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ActionType } from '@lifi/perps-types';
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
|
+
/**
|
|
4
|
+
* A token the SDK declares as part of a deposit flow, by full on-chain
|
|
5
|
+
* identity. Matched by `chainId` + `address`: a symbol is not identity — the
|
|
6
|
+
* Hyperliquid venue chain lists two `USDC` contracts with different decimals.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface DeclaredDepositAsset {
|
|
11
|
+
chainId: number;
|
|
12
|
+
/** EIP-55 checksummed address; the zero address denotes the chain's native gas token. */
|
|
13
|
+
address: Address;
|
|
14
|
+
decimals: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Fund the account by swapping whatever the user holds into `destination`
|
|
18
|
+
* through the LI.FI surface. The source token is picked inside that surface, so
|
|
19
|
+
* it is not part of the flow; LI.FI routing owns whether that resolves to a
|
|
20
|
+
* same-chain swap or a bridge.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export interface DepositFlowLifiSwap {
|
|
25
|
+
kind: 'lifiSwap';
|
|
26
|
+
destination: DeclaredDepositAsset;
|
|
27
|
+
/**
|
|
28
|
+
* Credited address when it is not the user's own — a venue-provisioned
|
|
29
|
+
* deposit address. Absent means the user's address receives the deposit.
|
|
30
|
+
*/
|
|
31
|
+
toAddress?: Address;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fund an address that has no venue account yet. Collateral and the native gas
|
|
35
|
+
* to broadcast with are both needed on `chainId`, where the venue's
|
|
36
|
+
* {@link ActionType.DEPOSIT} action stages the on-chain legs that open the
|
|
37
|
+
* account.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
export interface DepositFlowFirstDepositPipeline {
|
|
42
|
+
kind: 'firstDepositPipeline';
|
|
43
|
+
/** Chain the deposit legs broadcast on; the user's wallet must be switched to it. */
|
|
44
|
+
chainId: number;
|
|
45
|
+
gasAsset: DeclaredDepositAsset;
|
|
46
|
+
collateral: DeclaredDepositAsset;
|
|
47
|
+
bridgeAction: ActionType.DEPOSIT;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The venue cannot name a deposit destination until the listed setup actions
|
|
51
|
+
* are satisfied — Ondo provisions its deposit address behind a signed-in
|
|
52
|
+
* session.
|
|
53
|
+
*
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export interface DepositFlowSetupRequired {
|
|
57
|
+
kind: 'setupRequired';
|
|
58
|
+
/** Outstanding `Provider.setup` action types, in the order they must be run. */
|
|
59
|
+
setup: ActionType[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The single deposit flow a venue offers one address, resolved from the venue's
|
|
63
|
+
* account and setup state.
|
|
64
|
+
*
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export type DepositFlow = DepositFlowLifiSwap | DepositFlowFirstDepositPipeline | DepositFlowSetupRequired;
|
|
68
|
+
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/types/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,sBAAsB,CAAA;IAC5B,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,UAAU,EAAE,oBAAoB,CAAA;IAChC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,CAAA;IACrB,gFAAgF;IAChF,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,+BAA+B,GAC/B,wBAAwB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, Order, OrdersResponse, PerpsMarket, PerpsSigner, Position, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType } from '@lifi/perps-types';
|
|
1
|
+
import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, MarketRef, MarketSettings, Order, OrdersResponse, PerpsMarket, PerpsSigner, Position, PositionMarginConstraints, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType } from '@lifi/perps-types';
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
3
|
import type { PerpsBaseConfig, PerpsClientSigner, SDKRequestOptions } from './config.js';
|
|
4
|
+
import type { DepositFlow } from './deposit.js';
|
|
4
5
|
/**
|
|
5
6
|
* Low-level SDK client: resolved config, the optional end-user wallet, and the
|
|
6
7
|
* registered provider plugins. Returned by {@link createPerpsClient} and
|
|
@@ -126,6 +127,14 @@ export interface ProviderGetAccountParams {
|
|
|
126
127
|
export interface ProviderAccountExistsParams {
|
|
127
128
|
address: Address;
|
|
128
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Read params for {@link PerpsProviderPlugin.getDepositFlow}.
|
|
132
|
+
*
|
|
133
|
+
* @public
|
|
134
|
+
*/
|
|
135
|
+
export interface ProviderGetDepositFlowParams {
|
|
136
|
+
address: Address;
|
|
137
|
+
}
|
|
129
138
|
/**
|
|
130
139
|
* Read params for {@link PerpsProvider.getPositions}.
|
|
131
140
|
*
|
|
@@ -138,6 +147,17 @@ export interface ProviderGetPositionsParams {
|
|
|
138
147
|
limit?: number;
|
|
139
148
|
cursor?: string;
|
|
140
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Read params for {@link PerpsProviderPlugin.getMarketSettings}.
|
|
152
|
+
*
|
|
153
|
+
* @public
|
|
154
|
+
*/
|
|
155
|
+
export interface ProviderGetMarketSettingsParams {
|
|
156
|
+
address: Address;
|
|
157
|
+
/** The market's `id` and `categoryId`; the category identifies spot
|
|
158
|
+
* markets, which carry no venue leverage state. */
|
|
159
|
+
market: MarketRef;
|
|
160
|
+
}
|
|
141
161
|
/**
|
|
142
162
|
* Read params for {@link PerpsProvider.getOrders}.
|
|
143
163
|
*
|
|
@@ -267,7 +287,25 @@ export interface PerpsProviderPlugin {
|
|
|
267
287
|
* semantics. Used by `PerpsClient.checkSetup` to gate the deposit-first flow.
|
|
268
288
|
*/
|
|
269
289
|
accountExists(params: ProviderAccountExistsParams, options?: SDKRequestOptions): Promise<boolean>;
|
|
290
|
+
/**
|
|
291
|
+
* The deposit flow this venue offers `params.address`, resolved from the
|
|
292
|
+
* venue's own account and setup state — which collateral token a deposit must
|
|
293
|
+
* land in, whether the address first needs the account-opening pipeline, and
|
|
294
|
+
* whether venue setup gates naming a destination at all.
|
|
295
|
+
*
|
|
296
|
+
* Optional: a provider that cannot be funded through the SDK omits it, and
|
|
297
|
+
* `PerpsClient.getDepositFlow` then resolves `undefined`.
|
|
298
|
+
*/
|
|
299
|
+
getDepositFlow?(params: ProviderGetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow>;
|
|
270
300
|
getPositions(params: ProviderGetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
|
|
301
|
+
/**
|
|
302
|
+
* The user's current venue-side settings for one market — the margin mode
|
|
303
|
+
* and leverage the next order on it will use. Optional because venues
|
|
304
|
+
* expose this unevenly: Hyperliquid reads it directly (`activeAssetData`),
|
|
305
|
+
* Lighter only reports it on an account's position row. `undefined` means
|
|
306
|
+
* the venue has nothing to read for this market.
|
|
307
|
+
*/
|
|
308
|
+
getMarketSettings?(params: ProviderGetMarketSettingsParams, options?: SDKRequestOptions): Promise<MarketSettings | undefined>;
|
|
271
309
|
getOrders(params: ProviderGetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
|
|
272
310
|
getOrder(params: ProviderGetOrderParams, options?: SDKRequestOptions): Promise<Order>;
|
|
273
311
|
getFills(params: ProviderGetFillsParams, options?: SDKRequestOptions): Promise<FillsResponse>;
|
|
@@ -324,6 +362,15 @@ export interface PerpsProviderPlugin {
|
|
|
324
362
|
* lacks the margin metadata the model needs).
|
|
325
363
|
*/
|
|
326
364
|
estimateLiquidationPrice(market: PerpsMarket, params: LiquidationEstimateParams): number | undefined;
|
|
365
|
+
/**
|
|
366
|
+
* Exact venue-owned constraints for changing `position`'s dedicated margin.
|
|
367
|
+
* Pure — providers normalize raw venue quantities onto the position before
|
|
368
|
+
* returning these inputs.
|
|
369
|
+
*
|
|
370
|
+
* @returns `undefined` when this position has no individual margin
|
|
371
|
+
* adjustment (for example a cross position or a cross-only venue).
|
|
372
|
+
*/
|
|
373
|
+
positionMarginConstraints(position: Position): PositionMarginConstraints | undefined;
|
|
327
374
|
/**
|
|
328
375
|
* Project a typed {@link AccountConfig} against the provider's `setup`
|
|
329
376
|
* + `options` descriptors into `AccountConfigSetting[]`. Used by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,KAAK,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,26 +103,6 @@ export declare function effectiveLeverage(params: {
|
|
|
103
103
|
positionValueUsd: number;
|
|
104
104
|
marginUsd: number;
|
|
105
105
|
}): number;
|
|
106
|
-
/**
|
|
107
|
-
* Margin that can be removed from a position while keeping its leverage at or
|
|
108
|
-
* below the asset's maximum.
|
|
109
|
-
*
|
|
110
|
-
* The minimum margin to stay within `maxLeverage` is the required margin for
|
|
111
|
-
* the position's notional (see {@link calculateRequiredMargin}); anything above
|
|
112
|
-
* that is removable.
|
|
113
|
-
*
|
|
114
|
-
* @param marginUsed - Margin currently backing the position in USD
|
|
115
|
-
* @param positionValueUsd - Position notional value in USD
|
|
116
|
-
* @param maxLeverage - Maximum leverage allowed for the asset
|
|
117
|
-
* @returns Removable margin in USD (never negative); falls back to the full
|
|
118
|
-
* `marginUsed` when `maxLeverage` is zero (no constraint available)
|
|
119
|
-
* @public
|
|
120
|
-
*/
|
|
121
|
-
export declare function removableMargin(params: {
|
|
122
|
-
marginUsed: number;
|
|
123
|
-
positionValueUsd: number;
|
|
124
|
-
maxLeverage: number;
|
|
125
|
-
}): number;
|
|
126
106
|
/**
|
|
127
107
|
* Signed expected PnL for a trigger price — see {@link calculateExpectedPnl}.
|
|
128
108
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAA;AAG1B;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACb,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAMT;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,MAAM,CAMT;AAED
|
|
1
|
+
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { DeclaredDepositAsset } from '../types/deposit.js';
|
|
2
|
+
/**
|
|
3
|
+
* USDC on Ethereum mainnet — the collateral leg of Lighter's first-deposit
|
|
4
|
+
* pipeline, and the token Ondo's provisioned deposit address is funded in.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare const ETHEREUM_USDC: DeclaredDepositAsset;
|
|
9
|
+
/**
|
|
10
|
+
* Ether on Ethereum mainnet, to broadcast the first-deposit pipeline's legs
|
|
11
|
+
* with.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export declare const ETHEREUM_NATIVE_GAS: DeclaredDepositAsset;
|
|
16
|
+
/**
|
|
17
|
+
* USDC on the Hyperliquid venue chain: the 6-decimal perps contract. The same
|
|
18
|
+
* chain also lists an 8-decimal spot `USDC` at
|
|
19
|
+
* `0x6d1e7cde53bA9467B783Cb7c530CE05400000000`, so a deposit destination
|
|
20
|
+
* resolved by symbol lands on the wrong token and the wrong scale.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export declare const HYPERLIQUID_USDC: DeclaredDepositAsset;
|
|
25
|
+
/**
|
|
26
|
+
* USDC on the Lighter venue chain. The venue chain reuses the mainnet USDC
|
|
27
|
+
* address, so `chainId` is what distinguishes it from {@link ETHEREUM_USDC}.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export declare const LIGHTER_USDC: DeclaredDepositAsset;
|
|
32
|
+
/**
|
|
33
|
+
* USDG on Robinhood Chain — the collateral the Lighter Robinhood instance is
|
|
34
|
+
* funded in.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export declare const ROBINHOOD_USDG: DeclaredDepositAsset;
|
|
39
|
+
/**
|
|
40
|
+
* Ether on Robinhood Chain, to broadcast the Robinhood first-deposit pipeline's
|
|
41
|
+
* legs with.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare const ROBINHOOD_NATIVE_GAS: DeclaredDepositAsset;
|
|
46
|
+
//# sourceMappingURL=depositAssets.d.ts.map
|