@lifi/perps-sdk-provider-lighter 34.0.0 → 35.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/LighterProvider.d.ts +0 -1
- package/dist/cjs/LighterProvider.d.ts.map +1 -1
- package/dist/cjs/LighterProvider.js +50 -44
- package/dist/cjs/LighterProvider.js.map +1 -1
- package/dist/cjs/accountSummary.d.ts.map +1 -1
- package/dist/cjs/accountSummary.js +3 -6
- package/dist/cjs/accountSummary.js.map +1 -1
- package/dist/cjs/signers/createAuthToken.d.ts.map +1 -1
- package/dist/cjs/signers/createAuthToken.js.map +1 -1
- package/dist/cjs/utils/settlementPool.d.ts +6 -0
- package/dist/cjs/utils/settlementPool.d.ts.map +1 -0
- package/dist/cjs/utils/settlementPool.js +21 -0
- package/dist/cjs/utils/settlementPool.js.map +1 -0
- package/dist/esm/LighterProvider.d.ts +7 -11
- package/dist/esm/LighterProvider.d.ts.map +1 -1
- package/dist/esm/LighterProvider.js +60 -51
- package/dist/esm/LighterProvider.js.map +1 -1
- package/dist/esm/accountSummary.d.ts +2 -1
- package/dist/esm/accountSummary.d.ts.map +1 -1
- package/dist/esm/accountSummary.js +5 -7
- package/dist/esm/accountSummary.js.map +1 -1
- package/dist/esm/signers/createAuthToken.d.ts +1 -2
- package/dist/esm/signers/createAuthToken.d.ts.map +1 -1
- package/dist/esm/signers/createAuthToken.js +1 -2
- package/dist/esm/signers/createAuthToken.js.map +1 -1
- package/dist/esm/utils/settlementPool.d.ts +14 -0
- package/dist/esm/utils/settlementPool.d.ts.map +1 -0
- package/dist/esm/utils/settlementPool.js +23 -0
- package/dist/esm/utils/settlementPool.js.map +1 -0
- package/dist/types/LighterProvider.d.ts +7 -11
- package/dist/types/LighterProvider.d.ts.map +1 -1
- package/dist/types/accountSummary.d.ts +2 -1
- package/dist/types/accountSummary.d.ts.map +1 -1
- package/dist/types/signers/createAuthToken.d.ts +1 -2
- package/dist/types/signers/createAuthToken.d.ts.map +1 -1
- package/dist/types/utils/settlementPool.d.ts +14 -0
- package/dist/types/utils/settlementPool.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/LighterProvider.ts +98 -90
- package/src/accountSummary.ts +10 -10
- package/src/signers/createAuthToken.ts +1 -2
- package/src/utils/settlementPool.ts +36 -0
|
@@ -9,11 +9,9 @@ import { type LighterDeployment } from './constants.js';
|
|
|
9
9
|
* manager are created per plugin instance.
|
|
10
10
|
*
|
|
11
11
|
* Auth-token resolution order for the auth-gated reads:
|
|
12
|
-
* 1.
|
|
13
|
-
* 2. Constructor `authToken` (string or async factory)
|
|
14
|
-
* 3. Persisted long-lived read-only token, keyed on the resolved Lighter
|
|
12
|
+
* 1. Persisted long-lived read-only token, keyed on the resolved Lighter
|
|
15
13
|
* `accountIndex`
|
|
16
|
-
*
|
|
14
|
+
* 2. Fresh 1h create via this instance's WASM signer + the user's registered
|
|
17
15
|
* API key
|
|
18
16
|
*
|
|
19
17
|
* Status reads report the account's state and do not throw for a missing
|
|
@@ -27,9 +25,9 @@ import { type LighterDeployment } from './constants.js';
|
|
|
27
25
|
* - `SetupRequired` when none of these sources yields a token. The SDK
|
|
28
26
|
* sends no venue request. `getOrders`, `getOrder`, `getFills`,
|
|
29
27
|
* `getPortfolioHistory` and `getActivity` need a token.
|
|
30
|
-
* - `Unauthorized` when Lighter rejects the token that was sent.
|
|
31
|
-
*
|
|
32
|
-
*
|
|
28
|
+
* - `Unauthorized` when Lighter rejects the token that was sent. A
|
|
29
|
+
* read-only token that Lighter reports as revoked is replaced and the
|
|
30
|
+
* read retried once first.
|
|
33
31
|
* - `AccountNotFound` when the wallet has no Lighter account. This also
|
|
34
32
|
* applies to `getPositions`, `getWithdrawableBalances` and
|
|
35
33
|
* `getAvailableToTrade`, which need no token. `getAvailableToTrade`
|
|
@@ -52,8 +50,6 @@ export interface LighterProviderOptions {
|
|
|
52
50
|
* instance's signer and read-only token manager follow this URL.
|
|
53
51
|
*/
|
|
54
52
|
restUrl?: string;
|
|
55
|
-
/** Pre-created Lighter read-only bearer, bypassing SDK token resolution. */
|
|
56
|
-
authToken?: string | (() => string | Promise<string>);
|
|
57
53
|
/** Token lifetime for on-demand standard-token creates (Lighter caps at 8h). Default 1h. */
|
|
58
54
|
tokenLifetimeSeconds?: number;
|
|
59
55
|
/** Re-create when the cached standard token's remaining life is below this. Default 60s. */
|
|
@@ -71,8 +67,8 @@ export interface LighterProviderOptions {
|
|
|
71
67
|
export interface LighterPerpsProvider extends PerpsProviderPlugin {
|
|
72
68
|
/**
|
|
73
69
|
* Resolve a Lighter auth token for `address`, following the resolution order
|
|
74
|
-
* documented on {@link LighterProviderOptions}
|
|
75
|
-
*
|
|
70
|
+
* documented on {@link LighterProviderOptions}. Returns `undefined` when no
|
|
71
|
+
* source can produce a token.
|
|
76
72
|
*/
|
|
77
73
|
resolveAuthToken(address: Address): Promise<string | undefined>;
|
|
78
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LighterProvider.d.ts","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,mBAAmB,EAqBxB,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAA;AAmCxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,OAAO,EAUL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"LighterProvider.d.ts","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,mBAAmB,EAqBxB,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAA;AAmCxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,OAAO,EAUL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;AAiLvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,4FAA4F;IAC5F,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAcD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAChE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,iBAAiB,EAC7B,UAAS,sBAA2B,KACnC,oBAwgDF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAS,sBAA2B,KACnC,oBACyD,CAAA;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,sBAA2B,KACnC,oBAA6E,CAAA;AAEhF;;;;GAIG;AACH,eAAO,MAAM,OAAO,aA7BT,sBAAsB,KAC9B,oBA4BmC,CAAA"}
|
|
@@ -11,12 +11,13 @@ import { LighterKeyStore, } from './signers/LighterKeyStore.js';
|
|
|
11
11
|
import { LighterReadOnlyTokenManager } from './signers/LighterReadOnlyTokenManager.js';
|
|
12
12
|
import { LighterSigner } from './signers/LighterSigner.js';
|
|
13
13
|
import { createLighterApiKeyFreshness, lighterSignActions, } from './signers/signActions.js';
|
|
14
|
-
import { LT_ACCOUNT_TRADING_MODE_SIMPLE, LT_MARGIN_MODE_CROSS, LT_MARGIN_MODE_ISOLATED, } from './types/index.js';
|
|
14
|
+
import { LT_ACCOUNT_TRADING_MODE_SIMPLE, LT_ACCOUNT_TRADING_MODE_UNIFIED, LT_MARGIN_MODE_CROSS, LT_MARGIN_MODE_ISOLATED, } from './types/index.js';
|
|
15
15
|
import { decodeActivityCursor, encodeActivityCursor, } from './utils/activityCursor.js';
|
|
16
16
|
import { LIGHTER_RETRY_DEFAULTS, LighterApiClient, LighterAuthRejectedError, LighterTokenRevokedError, } from './utils/apiClient.js';
|
|
17
17
|
import { isAssetMarginEnabled } from './utils/assetCollateral.js';
|
|
18
18
|
import { estimateLiquidationPrice, fetchDetailedAccount, leverageFromImf, lighterAsset, lighterWithdrawableBalances, mapFill, mapOpenPositions, mapOrder, mapPortfolioHistory, positionRemovableMargin, snapOrderPrice, snapOrderSize, toBigOrNull, toIsoFromMs, toIsoFromSeconds, toRequiredBig, } from './utils/index.js';
|
|
19
19
|
import { fetchRegisteredApiKey, normalizeLighterPublicKey, } from './utils/registeredApiKey.js';
|
|
20
|
+
import { collateralSpotBalance, pooledSettlementSpendable, pooledSettlementUnits, } from './utils/settlementPool.js';
|
|
20
21
|
import { spotPriceByAssetId, spotValuation } from './utils/spotPrice.js';
|
|
21
22
|
import { isPlaceholderTxHash } from './utils/txHash.js';
|
|
22
23
|
import { wireList } from './utils/wireList.js';
|
|
@@ -105,11 +106,6 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
105
106
|
const explorerTxBaseUrl = deployment.explorerTxBaseUrl;
|
|
106
107
|
const bridgeChainId = deployment.bridgeChainId;
|
|
107
108
|
const collateral = deployment.collateral;
|
|
108
|
-
const authTokenSource = typeof options.authToken === 'function'
|
|
109
|
-
? options.authToken
|
|
110
|
-
: options.authToken !== undefined
|
|
111
|
-
? () => options.authToken
|
|
112
|
-
: undefined;
|
|
113
109
|
const storage = options.storage ?? localStorageAdapter;
|
|
114
110
|
const signer = new LighterSigner({
|
|
115
111
|
apiUrl: restUrl,
|
|
@@ -168,28 +164,17 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
168
164
|
};
|
|
169
165
|
/**
|
|
170
166
|
* Resolve the bearer token for auth-gated reads. Priority:
|
|
171
|
-
* 1.
|
|
172
|
-
* 2. Constructor-supplied token source.
|
|
173
|
-
* 3. A stored read-only token — preferred for reads: it is read-only, so
|
|
167
|
+
* 1. A stored read-only token — preferred for reads: it is read-only, so
|
|
174
168
|
* forwarding it (incl. to the backend) cannot authorise writes.
|
|
175
|
-
*
|
|
169
|
+
* 2. A read-only token created on first use (via signer + registered API
|
|
176
170
|
* key) and persisted for reuse.
|
|
177
|
-
*
|
|
171
|
+
* 3. A standard auth token (read+write, 8h max) as a last resort — used
|
|
178
172
|
* as the credential that authorises read-only token creation, and as
|
|
179
173
|
* the fallback while creation is failing, bounded by the
|
|
180
174
|
* creation-retry backoff.
|
|
181
175
|
* Returns `undefined` when no source can produce a token.
|
|
182
176
|
*/
|
|
183
|
-
const resolveAuthToken = async (
|
|
184
|
-
if (opts?.lighterAuthToken !== undefined) {
|
|
185
|
-
return opts.lighterAuthToken;
|
|
186
|
-
}
|
|
187
|
-
if (authTokenSource !== undefined) {
|
|
188
|
-
return authTokenSource();
|
|
189
|
-
}
|
|
190
|
-
if (address === undefined) {
|
|
191
|
-
return undefined;
|
|
192
|
-
}
|
|
177
|
+
const resolveAuthToken = async (address, knownApiKey) => {
|
|
193
178
|
const apiKey = knownApiKey ?? (await keyStore.get(address));
|
|
194
179
|
if (apiKey === null) {
|
|
195
180
|
return undefined;
|
|
@@ -255,12 +240,11 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
255
240
|
return attempt;
|
|
256
241
|
};
|
|
257
242
|
/** {@link resolveAuthToken}, throwing `SetupRequired` when no source yields a token. */
|
|
258
|
-
const requireAuthToken = async (read,
|
|
259
|
-
const token = await resolveAuthToken(
|
|
243
|
+
const requireAuthToken = async (read, address, knownApiKey) => {
|
|
244
|
+
const token = await resolveAuthToken(address, knownApiKey);
|
|
260
245
|
if (token === undefined) {
|
|
261
|
-
throw new PerpsError(PerpsErrorCode.SetupRequired, `Lighter ${read} requires an auth token.
|
|
262
|
-
'
|
|
263
|
-
'forward `options.lighterAuthToken` on the call.');
|
|
246
|
+
throw new PerpsError(PerpsErrorCode.SetupRequired, `Lighter ${read} requires an auth token. Register an API key + signer ` +
|
|
247
|
+
'for on-demand creation.');
|
|
264
248
|
}
|
|
265
249
|
return token;
|
|
266
250
|
};
|
|
@@ -307,13 +291,12 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
307
291
|
}
|
|
308
292
|
}
|
|
309
293
|
};
|
|
310
|
-
const retryOnRevoked = async (
|
|
294
|
+
const retryOnRevoked = async (address, token, run) => {
|
|
311
295
|
try {
|
|
312
296
|
return await run(token);
|
|
313
297
|
}
|
|
314
298
|
catch (err) {
|
|
315
|
-
|
|
316
|
-
if (!(err instanceof LighterTokenRevokedError) || !sdkOwnsToken) {
|
|
299
|
+
if (!(err instanceof LighterTokenRevokedError)) {
|
|
317
300
|
throw err;
|
|
318
301
|
}
|
|
319
302
|
const fresh = await replaceRevokedReadOnlyToken(address, token);
|
|
@@ -439,6 +422,16 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
439
422
|
const setup = await setupPromise;
|
|
440
423
|
return setup.find((descriptor) => descriptor.type === action);
|
|
441
424
|
};
|
|
425
|
+
/**
|
|
426
|
+
* Refuse a SEND_ASSET for a unified account. Its settlement asset is one pool
|
|
427
|
+
* across both routes, so a perps↔spot transfer has nothing to move.
|
|
428
|
+
*/
|
|
429
|
+
const assertSendAssetMode = async (address) => {
|
|
430
|
+
const account = await fetchDetailedAccount(apiClient(), address);
|
|
431
|
+
if (account.account_trading_mode === LT_ACCOUNT_TRADING_MODE_UNIFIED) {
|
|
432
|
+
throw new PerpsError(PerpsErrorCode.PooledCategoryTransfer, 'Lighter unified accounts pool the settlement asset across perps and spot; a transfer between them has nothing to move');
|
|
433
|
+
}
|
|
434
|
+
};
|
|
442
435
|
/**
|
|
443
436
|
* Refuse an order signature for a tier no ACCOUNT_TYPE option binds. An
|
|
444
437
|
* unreadable descriptor or tier fails open: the venue itself
|
|
@@ -464,10 +457,10 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
464
457
|
}
|
|
465
458
|
let userTierName;
|
|
466
459
|
try {
|
|
467
|
-
const token = await resolveAuthToken(
|
|
460
|
+
const token = await resolveAuthToken(address, localKey);
|
|
468
461
|
const limits = token === undefined
|
|
469
462
|
? undefined
|
|
470
|
-
: await retryOnRevoked(
|
|
463
|
+
: await retryOnRevoked(address, token, (resolvedToken) => fetchAccountLimits(apiClient(), localKey.accountIndex, resolvedToken));
|
|
471
464
|
userTierName = limits?.user_tier_name;
|
|
472
465
|
}
|
|
473
466
|
catch (err) {
|
|
@@ -490,7 +483,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
490
483
|
boundClient = client;
|
|
491
484
|
},
|
|
492
485
|
resolveAuthToken(address) {
|
|
493
|
-
return resolveAuthToken(
|
|
486
|
+
return resolveAuthToken(address);
|
|
494
487
|
},
|
|
495
488
|
async getAccount(params, opts) {
|
|
496
489
|
const client = apiClient(opts);
|
|
@@ -509,7 +502,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
509
502
|
normalizeLighterPublicKey(registeredKey.public_key);
|
|
510
503
|
// Status read: a missing or stale credential reports `apiKeyRegistered: false`, not a throw.
|
|
511
504
|
const token = apiKeyRegistered
|
|
512
|
-
? await resolveAuthToken(
|
|
505
|
+
? await resolveAuthToken(params.address, localKey)
|
|
513
506
|
: undefined;
|
|
514
507
|
const registry = getMarketRegistry(requireClient(), providerKey);
|
|
515
508
|
const assetRegistry = getAssetRegistry(requireClient(), providerKey);
|
|
@@ -520,7 +513,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
520
513
|
getMarketsContext(requireClient(), { provider: providerKey }, opts),
|
|
521
514
|
token === undefined
|
|
522
515
|
? Promise.resolve(undefined)
|
|
523
|
-
: retryOnRevoked(
|
|
516
|
+
: retryOnRevoked(params.address, token, (resolvedToken) => fetchAccountLimits(client, account.index, resolvedToken)),
|
|
524
517
|
apiKeyRegistered
|
|
525
518
|
? readOnlyTokenManager.get(params.address, localKey.accountIndex)
|
|
526
519
|
: Promise.resolve(undefined),
|
|
@@ -534,9 +527,15 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
534
527
|
const availableBalance = toRequiredBig(account.available_balance, 'available_balance');
|
|
535
528
|
// Each asset has a spot route (`balance`) and a perps route
|
|
536
529
|
// (`margin_balance`). The instance's settlement asset is valued 1:1; an
|
|
537
|
-
// asset no spot market prices keeps a zero USD value.
|
|
538
|
-
|
|
539
|
-
const
|
|
530
|
+
// asset no spot market prices keeps a zero USD value. A unified account
|
|
531
|
+
// pools both settlement routes into one spot row.
|
|
532
|
+
const isPooled = (asset) => account.account_trading_mode === LT_ACCOUNT_TRADING_MODE_UNIFIED &&
|
|
533
|
+
asset.asset_id === collateral.assetIndex;
|
|
534
|
+
const heldAssets = account.assets.filter((asset) => (isPooled(asset)
|
|
535
|
+
? pooledSettlementUnits(asset)
|
|
536
|
+
: toRequiredBig(asset.balance, 'balance')).gt(0));
|
|
537
|
+
const marginAssets = account.assets.filter((asset) => !isPooled(asset) &&
|
|
538
|
+
toRequiredBig(asset.margin_balance, 'margin_balance').gt(0));
|
|
540
539
|
const spotPrices = spotPriceByAssetId(registry.markets, LIGHTER_SPOT_CATEGORY_ID, prices, new Set([...heldAssets, ...marginAssets]
|
|
541
540
|
.filter((a) => a.asset_id !== collateral.assetIndex)
|
|
542
541
|
.map((a) => String(a.asset_id))));
|
|
@@ -569,6 +568,13 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
569
568
|
};
|
|
570
569
|
});
|
|
571
570
|
const balances = heldAssets.map((a) => {
|
|
571
|
+
if (isPooled(a)) {
|
|
572
|
+
const units = pooledSettlementUnits(a).toFixed();
|
|
573
|
+
return {
|
|
574
|
+
...toBalance(a, LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), units),
|
|
575
|
+
transferable: calculateTransferable(pooledSettlementSpendable(a, availableBalance).toFixed(), units),
|
|
576
|
+
};
|
|
577
|
+
}
|
|
572
578
|
const balance = toRequiredBig(a.balance, 'balance');
|
|
573
579
|
return {
|
|
574
580
|
...toBalance(a, LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), isDecimalString(a.balance) ? a.balance : balance.toFixed()),
|
|
@@ -595,6 +601,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
595
601
|
crossAssetValue: account.cross_asset_value,
|
|
596
602
|
crossInitialMarginRequirement: account.cross_initial_margin_requirement,
|
|
597
603
|
totalAssetValue: account.total_asset_value,
|
|
604
|
+
collateralSpotBalance: collateralSpotBalance(account.assets, collateral.assetIndex),
|
|
598
605
|
userTierName: limitsResult?.user_tier_name,
|
|
599
606
|
accountTradingMode: account.account_trading_mode ?? LT_ACCOUNT_TRADING_MODE_SIMPLE,
|
|
600
607
|
assetCollateral,
|
|
@@ -701,7 +708,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
701
708
|
if (statuses.size === 0) {
|
|
702
709
|
return empty;
|
|
703
710
|
}
|
|
704
|
-
const token = await requireAuthToken('orders read',
|
|
711
|
+
const token = await requireAuthToken('orders read', params.address);
|
|
705
712
|
const client = apiClient(opts);
|
|
706
713
|
const registry = getMarketRegistry(requireClient(), providerKey);
|
|
707
714
|
const [account] = await Promise.all([
|
|
@@ -721,7 +728,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
721
728
|
terminal = true;
|
|
722
729
|
}
|
|
723
730
|
}
|
|
724
|
-
const [activeResponse, inactiveResponse] = await retryOnRevoked(
|
|
731
|
+
const [activeResponse, inactiveResponse] = await retryOnRevoked(params.address, token, (t) => Promise.all([
|
|
725
732
|
active && params.cursor === undefined
|
|
726
733
|
? fetchActiveOrders(client, t, account.index, marketId)
|
|
727
734
|
: undefined,
|
|
@@ -775,7 +782,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
775
782
|
* `order_index`.
|
|
776
783
|
*/
|
|
777
784
|
async getOrder(params, opts) {
|
|
778
|
-
const token = await requireAuthToken('order lookup',
|
|
785
|
+
const token = await requireAuthToken('order lookup', params.address);
|
|
779
786
|
const client = apiClient(opts);
|
|
780
787
|
const registry = getMarketRegistry(requireClient(), providerKey);
|
|
781
788
|
const [account] = await Promise.all([
|
|
@@ -801,7 +808,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
801
808
|
throw new PerpsError(PerpsErrorCode.SDKError, `Lighter order id "${params.id}" names a client order index, but ` +
|
|
802
809
|
`"${clientOrderIndex}" is not a decimal integer.`);
|
|
803
810
|
}
|
|
804
|
-
const orders = await retryOnRevoked(
|
|
811
|
+
const orders = await retryOnRevoked(params.address, token, (t) => fetchOrdersByClientOrderIndex(client, t, account.index, clientOrderIndex));
|
|
805
812
|
// `accountOrders` reaches active and inactive rows alike, so a reused
|
|
806
813
|
// client order index can match more than one row. Prefer the live one.
|
|
807
814
|
const matches = orders
|
|
@@ -814,12 +821,12 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
814
821
|
return hit;
|
|
815
822
|
}
|
|
816
823
|
const byOrderIndex = (o) => String(o.order_index) === params.id;
|
|
817
|
-
const active = await retryOnRevoked(
|
|
824
|
+
const active = await retryOnRevoked(params.address, token, (t) => fetchActiveOrders(client, t, account.index, LIGHTER_ALL_MARKETS_WILDCARD));
|
|
818
825
|
const activeHit = active.orders.find(byOrderIndex);
|
|
819
826
|
if (activeHit !== undefined) {
|
|
820
827
|
return detail(activeHit);
|
|
821
828
|
}
|
|
822
|
-
const inactive = await retryOnRevoked(
|
|
829
|
+
const inactive = await retryOnRevoked(params.address, token, (t) => client.getAuthed('/api/v1/accountInactiveOrders', t, {
|
|
823
830
|
account_index: account.index,
|
|
824
831
|
market_id: LIGHTER_ALL_MARKETS_WILDCARD,
|
|
825
832
|
limit: INACTIVE_ORDERS_LOOKUP_LIMIT,
|
|
@@ -831,7 +838,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
831
838
|
return detail(inactiveHit);
|
|
832
839
|
},
|
|
833
840
|
async getFills(params, opts) {
|
|
834
|
-
const token = await requireAuthToken('fills read',
|
|
841
|
+
const token = await requireAuthToken('fills read', params.address);
|
|
835
842
|
const client = apiClient(opts);
|
|
836
843
|
const registry = getMarketRegistry(requireClient(), providerKey);
|
|
837
844
|
const [account] = await Promise.all([
|
|
@@ -847,7 +854,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
847
854
|
if (params.cursor !== undefined) {
|
|
848
855
|
queryParams.cursor = params.cursor;
|
|
849
856
|
}
|
|
850
|
-
const response = await retryOnRevoked(
|
|
857
|
+
const response = await retryOnRevoked(params.address, token, (tok) => client.getAuthed('/api/v1/trades', tok, queryParams));
|
|
851
858
|
// `get`, not `require`: a market id the backend list no longer carries
|
|
852
859
|
// drops only its own row instead of rejecting the whole page. The
|
|
853
860
|
// registry warns once per unresolved id. A delisted market still
|
|
@@ -870,9 +877,8 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
870
877
|
};
|
|
871
878
|
},
|
|
872
879
|
async getPortfolioHistory(params, opts) {
|
|
873
|
-
const
|
|
874
|
-
const
|
|
875
|
-
const token = await requireAuthToken('portfolio history read', opts, params.address, apiKey ?? undefined);
|
|
880
|
+
const apiKey = await keyStore.get(params.address);
|
|
881
|
+
const token = await requireAuthToken('portfolio history read', params.address, apiKey ?? undefined);
|
|
876
882
|
const client = apiClient(opts);
|
|
877
883
|
const account = await plugin.getAccount({ address: params.address }, opts);
|
|
878
884
|
const window = PNL_WINDOWS[params.range];
|
|
@@ -894,7 +900,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
894
900
|
// fallback sits outside `retryOnRevoked`, so a revocation the standard
|
|
895
901
|
// token reports never replaces the read-only one. The key is re-read at
|
|
896
902
|
// retry time because `REGISTER_API_KEY` can rotate it.
|
|
897
|
-
const response = await retryOnRevoked(
|
|
903
|
+
const response = await retryOnRevoked(params.address, token, read).catch(async (err) => {
|
|
898
904
|
if (!(err instanceof LighterAuthRejectedError) || apiKey === null) {
|
|
899
905
|
throw err;
|
|
900
906
|
}
|
|
@@ -907,7 +913,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
907
913
|
return mapPortfolioHistory(params.range, wireList(response.pnl), new Big(getAccountSummary(account, account.positions).portfolioValue));
|
|
908
914
|
},
|
|
909
915
|
async getActivity(params, opts) {
|
|
910
|
-
const token = await requireAuthToken('activity read',
|
|
916
|
+
const token = await requireAuthToken('activity read', params.address);
|
|
911
917
|
const inputCursor = decodeActivityCursor(params.cursor);
|
|
912
918
|
const client = apiClient(opts);
|
|
913
919
|
const account = await fetchDetailedAccount(client, params.address);
|
|
@@ -916,7 +922,7 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
916
922
|
// Markets identify funding and liquidation rows; assets identify ledger
|
|
917
923
|
// rows. A request for one surface must not pull the other's registry.
|
|
918
924
|
const [history] = await Promise.all([
|
|
919
|
-
retryOnRevoked(
|
|
925
|
+
retryOnRevoked(params.address, token, (t) => fetchAllHistory(client, t, account.index, params.address, params.type, inputCursor)),
|
|
920
926
|
wantsAnyType(params.type, MARKET_BEARING_TYPES)
|
|
921
927
|
? marketRegistry.sync()
|
|
922
928
|
: Promise.resolve(),
|
|
@@ -1104,6 +1110,9 @@ export const createLighterProvider = (deployment, options = {}) => {
|
|
|
1104
1110
|
if (steps.some((step) => ORDER_PLACEMENT_ACTIONS.has(step.action))) {
|
|
1105
1111
|
await assertOrderTier(address);
|
|
1106
1112
|
}
|
|
1113
|
+
if (steps.some((step) => step.action === ActionType.SEND_ASSET)) {
|
|
1114
|
+
await assertSendAssetMode(address);
|
|
1115
|
+
}
|
|
1107
1116
|
return lighterSignActions({
|
|
1108
1117
|
signer,
|
|
1109
1118
|
keyStore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LighterProvider.js","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LighterProvider.js","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,8 @@ export declare const lighterConfig: (account: AccountResponse) => LighterAccount
|
|
|
12
12
|
export declare const lighterPortfolioValue: (perpsEquity: Big, holdingValuesUsd: readonly string[]) => Big;
|
|
13
13
|
/**
|
|
14
14
|
* Roll up settlement equity, spot holdings and non-settlement margin holdings.
|
|
15
|
-
*
|
|
15
|
+
* The settlement asset counts as `totalAssetValue` plus its spot-route balance,
|
|
16
|
+
* so a row that pools both routes is not counted again.
|
|
16
17
|
*
|
|
17
18
|
* @throws {PerpsError} `SDKError` when the account is not a Lighter one.
|
|
18
19
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AASxB;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,eAAe,KACvB,oBAYF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,GAAG,EAChB,kBAAkB,SAAS,MAAM,EAAE,KAClC,GAIA,CAAA;AAEH
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AASxB;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,eAAe,KACvB,oBAYF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,GAAG,EAChB,kBAAkB,SAAS,MAAM,EAAE,KAClC,GAIA,CAAA;AAEH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAkChB"}
|
|
@@ -23,7 +23,8 @@ export const lighterConfig = (account) => {
|
|
|
23
23
|
export const lighterPortfolioValue = (perpsEquity, holdingValuesUsd) => holdingValuesUsd.reduce((sum, valueUsd) => sum.plus(toRequiredBig(valueUsd, 'valueUsd')), perpsEquity);
|
|
24
24
|
/**
|
|
25
25
|
* Roll up settlement equity, spot holdings and non-settlement margin holdings.
|
|
26
|
-
*
|
|
26
|
+
* The settlement asset counts as `totalAssetValue` plus its spot-route balance,
|
|
27
|
+
* so a row that pools both routes is not counted again.
|
|
27
28
|
*
|
|
28
29
|
* @throws {PerpsError} `SDKError` when the account is not a Lighter one.
|
|
29
30
|
* @public
|
|
@@ -31,11 +32,8 @@ export const lighterPortfolioValue = (perpsEquity, holdingValuesUsd) => holdingV
|
|
|
31
32
|
export function getAccountSummary(account, positions) {
|
|
32
33
|
const config = lighterConfig(account);
|
|
33
34
|
const settlement = LIGHTER_COLLATERAL_ASSETS[config.provider];
|
|
34
|
-
const holdings = [
|
|
35
|
-
|
|
36
|
-
...account.collateralBalances.filter(({ asset }) => asset.id !== String(settlement.assetIndex) &&
|
|
37
|
-
asset.id !== settlement.displaySymbol),
|
|
38
|
-
];
|
|
35
|
+
const holdings = [...account.balances, ...account.collateralBalances].filter(({ asset }) => asset.id !== String(settlement.assetIndex) &&
|
|
36
|
+
asset.id !== settlement.displaySymbol);
|
|
39
37
|
let marginUsed = new Big(0);
|
|
40
38
|
let unrealizedPnl = new Big(0);
|
|
41
39
|
for (const position of positions) {
|
|
@@ -43,7 +41,7 @@ export function getAccountSummary(account, positions) {
|
|
|
43
41
|
unrealizedPnl = unrealizedPnl.plus(position.unrealizedPnl);
|
|
44
42
|
}
|
|
45
43
|
return {
|
|
46
|
-
portfolioValue: lighterPortfolioValue(toRequiredBig(config.totalAssetValue, 'totalAssetValue'), holdings.map((balance) => balance.valueUsd)).toFixed(),
|
|
44
|
+
portfolioValue: lighterPortfolioValue(toRequiredBig(config.totalAssetValue, 'totalAssetValue').plus(toRequiredBig(config.collateralSpotBalance, 'collateralSpotBalance')), holdings.map((balance) => balance.valueUsd)).toFixed(),
|
|
47
45
|
availableMargin: atLeastZero(toRequiredBig(config.crossAssetValue, 'crossAssetValue').minus(toRequiredBig(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement'))).toFixed(),
|
|
48
46
|
marginUsed: marginUsed.toFixed(),
|
|
49
47
|
unrealizedPnl: unrealizedPnl.toFixed(),
|