@lifi/perps-sdk-provider-lighter 17.0.0 → 17.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAyK1B,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
1
+ {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AA2K1B,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
@@ -61,6 +61,7 @@ function projectLighterDescriptor(descriptor, config) {
61
61
  ],
62
62
  };
63
63
  case perps_types_1.ActionType.APPROVE_AGENT:
64
+ case perps_types_1.ActionType.REVOKE_AGENT:
64
65
  case perps_types_1.ActionType.APPROVE_BUILDER_FEE:
65
66
  case perps_types_1.ActionType.SEND_ASSET:
66
67
  case perps_types_1.ActionType.WITHDRAWAL:
@@ -80,6 +81,7 @@ function projectLighterDescriptor(descriptor, config) {
80
81
  case perps_types_1.ActionType.UPDATE_ASSET_COLLATERAL:
81
82
  case perps_types_1.ActionType.DEPOSIT:
82
83
  case perps_types_1.ActionType.META_ACCEPT_TERMS:
84
+ case perps_types_1.ActionType.SYNC_FEE_ATTRIBUTION:
83
85
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Lighter account-config mapper has no projection for ` +
84
86
  `descriptor type '${descriptor.type}' — this ActionType is not ` +
85
87
  `valid on Provider.setup / Provider.options for Lighter.`);
@@ -1 +1 @@
1
- {"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,14 @@ export interface LighterReadOnlyToken {
7
7
  expiry: number;
8
8
  scope: 'single' | 'all';
9
9
  accountIndex: number;
10
+ tokenId?: number;
10
11
  }
11
12
  export interface LighterCreateTokenResponse {
12
13
  api_token: string;
13
14
  account_index: number;
14
15
  expiry: number;
15
16
  scopes: string;
17
+ token_id: number;
16
18
  }
17
19
  export type LighterTokenFetcher = (params: {
18
20
  url: string;
@@ -23,11 +25,45 @@ export type LighterTokenFetcher = (params: {
23
25
  subAccountAccess: boolean;
24
26
  scopes: string;
25
27
  }) => Promise<LighterCreateTokenResponse>;
28
+ export interface LighterApiToken {
29
+ token_id: number;
30
+ api_token: string;
31
+ name: string;
32
+ account_index: number;
33
+ expiry: number;
34
+ sub_account_access: boolean;
35
+ revoked: boolean;
36
+ scopes: string;
37
+ }
38
+ export interface LighterListTokensResponse {
39
+ code: number;
40
+ message?: string;
41
+ api_tokens: LighterApiToken[];
42
+ }
43
+ export interface LighterRevokeTokenResponse {
44
+ code: number;
45
+ message?: string;
46
+ token_id: number;
47
+ revoked: boolean;
48
+ }
49
+ export type LighterTokenListFetcher = (params: {
50
+ url: string;
51
+ authorization: string;
52
+ accountIndex: number;
53
+ }) => Promise<LighterListTokensResponse>;
54
+ export type LighterTokenRevokeFetcher = (params: {
55
+ url: string;
56
+ authorization: string;
57
+ tokenId: number;
58
+ accountIndex: number;
59
+ }) => Promise<LighterRevokeTokenResponse>;
26
60
  export interface LighterReadOnlyTokenManagerOptions {
27
61
  storage?: StorageAdapter;
28
62
  providerKey?: LighterProviderKey;
29
63
  lighterApiUrl?: string;
30
64
  fetcher?: LighterTokenFetcher;
65
+ listFetcher?: LighterTokenListFetcher;
66
+ revokeFetcher?: LighterTokenRevokeFetcher;
31
67
  now?: () => number;
32
68
  }
33
69
  export interface ApproveReadOnlyTokenInputs extends ApproveReadOnlyTokenParams {
@@ -42,16 +78,22 @@ export declare class LighterReadOnlyTokenManager {
42
78
  private readonly providerKey;
43
79
  private readonly lighterApiUrl;
44
80
  private readonly fetcher;
81
+ private readonly listFetcher;
82
+ private readonly revokeFetcher;
45
83
  private readonly now;
46
84
  private readonly cache;
47
85
  constructor(options?: LighterReadOnlyTokenManagerOptions);
48
86
  private storageKey;
49
87
  private isExpired;
88
+ private readStoredToken;
50
89
  get(address: Address, accountIndex: number): Promise<LighterReadOnlyToken | undefined>;
51
90
  isReadOnlyTokenExpiringSoon(address: Address, accountIndex: number, thresholdDays?: number): Promise<boolean>;
52
91
  set(address: Address, accountIndex: number, token: LighterReadOnlyToken): Promise<void>;
53
92
  remove(address: Address, accountIndex: number): Promise<void>;
54
93
  approve(authorization: string, inputs: ApproveReadOnlyTokenInputs): Promise<ApproveReadOnlyTokenResult>;
94
+ private revokeStaleOwnTokens;
55
95
  }
56
96
  export declare const defaultLighterTokenFetcher: LighterTokenFetcher;
97
+ export declare const defaultLighterTokenListFetcher: LighterTokenListFetcher;
98
+ export declare const defaultLighterTokenRevokeFetcher: LighterTokenRevokeFetcher;
57
99
  //# sourceMappingURL=LighterReadOnlyTokenManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LighterReadOnlyTokenManager.d.ts","sourceRoot":"","sources":["../../../src/signers/LighterReadOnlyTokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AASnC,eAAO,MAAM,4BAA4B,gBAAgB,CAAA;AASzD,MAAM,WAAW,oBAAoB;IAEnC,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,EAAE,MAAM,CAAA;IAEd,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAA;IAEvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAQD,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AASD,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;CACf,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;AASzC,MAAM,WAAW,kCAAkC;IACjD,OAAO,CAAC,EAAE,cAAc,CAAA;IAOxB,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAEhC,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAE7B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAQD,MAAM,WAAW,0BAA2B,SAAQ,0BAA0B;IAE5E,OAAO,EAAE,OAAO,CAAA;CACjB;AAQD,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,oBAAoB,CAAA;IAE3B,MAAM,EAAE,IAAI,CACV,oBAAoB,EAClB,UAAU,GACV,cAAc,GACd,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,CACvB,CAAA;CACF;AA4CD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;gBAEpD,OAAO,GAAE,kCAAuC;IAQ5D,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IASX,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAwBtC,2BAA2B,CAC/B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EACpB,aAAa,SAAK,GACjB,OAAO,CAAC,OAAO,CAAC;IAoBb,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B7D,OAAO,CACX,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;CAmCvC;AASD,eAAO,MAAM,0BAA0B,EAAE,mBA+BxC,CAAA"}
1
+ {"version":3,"file":"LighterReadOnlyTokenManager.d.ts","sourceRoot":"","sources":["../../../src/signers/LighterReadOnlyTokenManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultLighterTokenFetcher = exports.LighterReadOnlyTokenManager = exports.DEFAULT_READ_ONLY_TOKEN_NAME = void 0;
3
+ exports.defaultLighterTokenRevokeFetcher = exports.defaultLighterTokenListFetcher = exports.defaultLighterTokenFetcher = exports.LighterReadOnlyTokenManager = exports.DEFAULT_READ_ONLY_TOKEN_NAME = void 0;
4
4
  const perps_sdk_1 = require("@lifi/perps-sdk");
5
5
  const perps_types_1 = require("@lifi/perps-types");
6
6
  const constants_js_1 = require("../constants.js");
@@ -10,20 +10,26 @@ const isLighterReadOnlyToken = (value) => {
10
10
  if (typeof value !== 'object' || value === null) {
11
11
  return false;
12
12
  }
13
- const { token, expiry, scope, accountIndex } = value;
13
+ const { token, expiry, scope, accountIndex, tokenId } = value;
14
14
  return (typeof token === 'string' &&
15
15
  token.length > 0 &&
16
16
  typeof expiry === 'number' &&
17
17
  Number.isFinite(expiry) &&
18
18
  (scope === 'single' || scope === 'all') &&
19
19
  typeof accountIndex === 'number' &&
20
- Number.isFinite(accountIndex));
20
+ Number.isFinite(accountIndex) &&
21
+ (tokenId === undefined ||
22
+ (typeof tokenId === 'number' && Number.isFinite(tokenId))));
21
23
  };
24
+ const isLiveRow = (row, live) => live !== undefined &&
25
+ (row.token_id === live.tokenId || row.api_token === live.token);
22
26
  class LighterReadOnlyTokenManager {
23
27
  storage;
24
28
  providerKey;
25
29
  lighterApiUrl;
26
30
  fetcher;
31
+ listFetcher;
32
+ revokeFetcher;
27
33
  now;
28
34
  cache = new Map();
29
35
  constructor(options = {}) {
@@ -31,6 +37,9 @@ class LighterReadOnlyTokenManager {
31
37
  this.providerKey = options.providerKey ?? constants_js_1.LIGHTER_PROVIDER_KEY;
32
38
  this.lighterApiUrl = options.lighterApiUrl ?? constants_js_1.DEFAULT_LIGHTER_REST_URL;
33
39
  this.fetcher = options.fetcher ?? exports.defaultLighterTokenFetcher;
40
+ this.listFetcher = options.listFetcher ?? exports.defaultLighterTokenListFetcher;
41
+ this.revokeFetcher =
42
+ options.revokeFetcher ?? exports.defaultLighterTokenRevokeFetcher;
34
43
  this.now = options.now ?? (() => Date.now());
35
44
  }
36
45
  storageKey(address, accountIndex) {
@@ -39,6 +48,12 @@ class LighterReadOnlyTokenManager {
39
48
  isExpired(token) {
40
49
  return token.expiry * 1000 <= this.now();
41
50
  }
51
+ async readStoredToken(address, accountIndex) {
52
+ const key = this.storageKey(address, accountIndex);
53
+ return (this.cache.get(key) ??
54
+ (await (0, perps_sdk_1.readValidatedRecord)(this.storage, key, isLighterReadOnlyToken)) ??
55
+ undefined);
56
+ }
42
57
  async get(address, accountIndex) {
43
58
  const key = this.storageKey(address, accountIndex);
44
59
  const cached = this.cache.get(key);
@@ -53,9 +68,7 @@ class LighterReadOnlyTokenManager {
53
68
  return parsed;
54
69
  }
55
70
  async isReadOnlyTokenExpiringSoon(address, accountIndex, thresholdDays = 30) {
56
- const key = this.storageKey(address, accountIndex);
57
- const token = this.cache.get(key) ??
58
- (await (0, perps_sdk_1.readValidatedRecord)(this.storage, key, isLighterReadOnlyToken));
71
+ const token = await this.readStoredToken(address, accountIndex);
59
72
  if (!token) {
60
73
  return false;
61
74
  }
@@ -77,6 +90,7 @@ class LighterReadOnlyTokenManager {
77
90
  }
78
91
  async approve(authorization, inputs) {
79
92
  const { address, accountIndex, expirySeconds, scope } = inputs;
93
+ await this.revokeStaleOwnTokens(authorization, address, accountIndex);
80
94
  const response = await this.fetcher({
81
95
  url: `${this.lighterApiUrl}/api/v1/tokens/create`,
82
96
  authorization,
@@ -91,6 +105,9 @@ class LighterReadOnlyTokenManager {
91
105
  expiry: response.expiry,
92
106
  scope,
93
107
  accountIndex,
108
+ tokenId: Number.isFinite(response.token_id)
109
+ ? response.token_id
110
+ : undefined,
94
111
  };
95
112
  await this.set(address, token.accountIndex, token);
96
113
  return {
@@ -104,6 +121,38 @@ class LighterReadOnlyTokenManager {
104
121
  },
105
122
  };
106
123
  }
124
+ async revokeStaleOwnTokens(authorization, address, accountIndex) {
125
+ try {
126
+ const live = await this.readStoredToken(address, accountIndex);
127
+ const { api_tokens: rows } = await this.listFetcher({
128
+ url: `${this.lighterApiUrl}/api/v1/tokens`,
129
+ authorization,
130
+ accountIndex,
131
+ });
132
+ const nowSeconds = Math.floor(this.now() / 1000);
133
+ const stale = rows
134
+ .filter((row) => row.name === exports.DEFAULT_READ_ONLY_TOKEN_NAME)
135
+ .filter((row) => !row.revoked)
136
+ .filter((row) => row.expiry <= nowSeconds || !isLiveRow(row, live))
137
+ .sort((a, b) => a.token_id - b.token_id);
138
+ for (const row of stale) {
139
+ try {
140
+ await this.revokeFetcher({
141
+ url: `${this.lighterApiUrl}/api/v1/tokens/revoke`,
142
+ authorization,
143
+ tokenId: row.token_id,
144
+ accountIndex,
145
+ });
146
+ }
147
+ catch (err) {
148
+ console.warn(`[lighter] could not revoke stale read-only token ${row.token_id}; continuing.`, err);
149
+ }
150
+ }
151
+ }
152
+ catch (err) {
153
+ console.warn('[lighter] could not clean up stale read-only tokens; creating the new one anyway.', err);
154
+ }
155
+ }
107
156
  }
108
157
  exports.LighterReadOnlyTokenManager = LighterReadOnlyTokenManager;
109
158
  const defaultLighterTokenFetcher = async ({ url, authorization, name, accountIndex, expiry, subAccountAccess, scopes, }) => {
@@ -125,4 +174,36 @@ const defaultLighterTokenFetcher = async ({ url, authorization, name, accountInd
125
174
  return (await response.json());
126
175
  };
127
176
  exports.defaultLighterTokenFetcher = defaultLighterTokenFetcher;
177
+ const defaultLighterTokenListFetcher = async ({ url, authorization, accountIndex, }) => {
178
+ const query = new URLSearchParams({ account_index: String(accountIndex) });
179
+ const response = await fetch(`${url}?${query.toString()}`, {
180
+ headers: { authorization },
181
+ });
182
+ if (!response.ok) {
183
+ const body = await response.text();
184
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ServerError, `Lighter tokens returned ${response.status}: ${body || '<empty>'}`);
185
+ }
186
+ return (await response.json());
187
+ };
188
+ exports.defaultLighterTokenListFetcher = defaultLighterTokenListFetcher;
189
+ const defaultLighterTokenRevokeFetcher = async ({ url, authorization, tokenId, accountIndex }) => {
190
+ const form = new URLSearchParams({
191
+ token_id: String(tokenId),
192
+ account_index: String(accountIndex),
193
+ });
194
+ const response = await fetch(url, {
195
+ method: 'POST',
196
+ headers: {
197
+ authorization,
198
+ 'content-type': 'application/x-www-form-urlencoded',
199
+ },
200
+ body: form,
201
+ });
202
+ if (!response.ok) {
203
+ const body = await response.text();
204
+ throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ServerError, `Lighter tokens/revoke returned ${response.status}: ${body || '<empty>'}`);
205
+ }
206
+ return (await response.json());
207
+ };
208
+ exports.defaultLighterTokenRevokeFetcher = defaultLighterTokenRevokeFetcher;
128
209
  //# sourceMappingURL=LighterReadOnlyTokenManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LighterReadOnlyTokenManager.js","sourceRoot":"","sources":["../../../src/signers/LighterReadOnlyTokenManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LighterReadOnlyTokenManager.js","sourceRoot":"","sources":["../../../src/signers/LighterReadOnlyTokenManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AA8J1B;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
1
+ {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAgK1B;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
@@ -109,6 +109,7 @@ function projectLighterDescriptor(descriptor, config) {
109
109
  ],
110
110
  };
111
111
  case ActionType.APPROVE_AGENT:
112
+ case ActionType.REVOKE_AGENT:
112
113
  case ActionType.APPROVE_BUILDER_FEE:
113
114
  case ActionType.SEND_ASSET:
114
115
  case ActionType.WITHDRAWAL:
@@ -128,6 +129,7 @@ function projectLighterDescriptor(descriptor, config) {
128
129
  case ActionType.UPDATE_ASSET_COLLATERAL:
129
130
  case ActionType.DEPOSIT:
130
131
  case ActionType.META_ACCEPT_TERMS:
132
+ case ActionType.SYNC_FEE_ATTRIBUTION:
131
133
  throw new PerpsError(PerpsErrorCode.SDKError, `Lighter account-config mapper has no projection for ` +
132
134
  `descriptor type '${descriptor.type}' — this ActionType is not ` +
133
135
  `valid on Provider.setup / Provider.options for Lighter.`);
@@ -1 +1 @@
1
- {"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { Address } from 'viem';
5
5
  * Default token name persisted alongside Lighter's `tokens/create` row.
6
6
  * Lighter requires a non-empty `name` form field; the literal here is what
7
7
  * surfaces in Lighter's UI listing under `app.lighter.xyz/read-only-tokens`.
8
- * @public
8
+ * @internal
9
9
  */
10
10
  export declare const DEFAULT_READ_ONLY_TOKEN_NAME = "LI.FI Perps";
11
11
  /**
@@ -13,7 +13,7 @@ export declare const DEFAULT_READ_ONLY_TOKEN_NAME = "LI.FI Perps";
13
13
  * Lighter's opaque `ro:{accountIndex}:{scope}:{expiry}:{rand}` bearer; the
14
14
  * SDK never parses it — `expiry`/`scope`/`accountIndex` are create-time inputs
15
15
  * we keep alongside so consumers can render expiry UX without re-fetching.
16
- * @public
16
+ * @internal
17
17
  */
18
18
  export interface LighterReadOnlyToken {
19
19
  /** Opaque bearer string — never parse client-side. */
@@ -24,25 +24,33 @@ export interface LighterReadOnlyToken {
24
24
  scope: 'single' | 'all';
25
25
  /** Lighter L2 account index the token authorises. */
26
26
  accountIndex: number;
27
+ /**
28
+ * Lighter's monotonic registry row id. Optional: a record persisted without
29
+ * it stays valid, and the cleanup pass then identifies its row by the
30
+ * bearer string instead.
31
+ */
32
+ tokenId?: number;
27
33
  }
28
34
  /**
29
- * Lighter `POST /api/v1/tokens/create` response shape (subset). Lighter's
30
- * OpenAPI documents additional fields (`token_id`, `name`, `revoked`, etc.)
31
- * we don't need client-side.
32
- * @public
35
+ * Lighter `POST /api/v1/tokens/create` response shape — the subset of
36
+ * Lighter's `RespPostApiToken` the SDK consumes. Lighter documents further
37
+ * fields (`name`, `revoked`, `sub_account_access`) the SDK does not need.
38
+ * @internal
33
39
  */
34
40
  export interface LighterCreateTokenResponse {
35
41
  api_token: string;
36
42
  account_index: number;
37
43
  expiry: number;
38
44
  scopes: string;
45
+ /** Monotonic registry row id Lighter assigns to the new row. */
46
+ token_id: number;
39
47
  }
40
48
  /**
41
49
  * Function injected for the HTTP boundary against Lighter's `tokens/create`
42
50
  * endpoint. Returning a parsed {@link LighterCreateTokenResponse} keeps the
43
51
  * create code free of fetch/multipart plumbing and lets tests drop a fixture
44
52
  * in without spinning a mock server.
45
- * @public
53
+ * @internal
46
54
  */
47
55
  export type LighterTokenFetcher = (params: {
48
56
  url: string;
@@ -53,12 +61,71 @@ export type LighterTokenFetcher = (params: {
53
61
  subAccountAccess: boolean;
54
62
  scopes: string;
55
63
  }) => Promise<LighterCreateTokenResponse>;
64
+ /**
65
+ * One row of Lighter's read-only token registry, matching Lighter's
66
+ * `ApiToken`. `name` carries the label supplied at create time, which is how
67
+ * the SDK recognises a row it owns.
68
+ * @internal
69
+ */
70
+ export interface LighterApiToken {
71
+ token_id: number;
72
+ api_token: string;
73
+ name: string;
74
+ account_index: number;
75
+ expiry: number;
76
+ sub_account_access: boolean;
77
+ revoked: boolean;
78
+ scopes: string;
79
+ }
80
+ /**
81
+ * Lighter `GET /api/v1/tokens` response shape, matching `RespGetApiTokens`.
82
+ * @internal
83
+ */
84
+ export interface LighterListTokensResponse {
85
+ code: number;
86
+ message?: string;
87
+ api_tokens: LighterApiToken[];
88
+ }
89
+ /**
90
+ * Lighter `POST /api/v1/tokens/revoke` response shape, matching Lighter's
91
+ * `RespRevokeApiToken`.
92
+ * @internal
93
+ */
94
+ export interface LighterRevokeTokenResponse {
95
+ code: number;
96
+ message?: string;
97
+ token_id: number;
98
+ revoked: boolean;
99
+ }
100
+ /**
101
+ * Function injected for the HTTP boundary against Lighter's
102
+ * `GET /api/v1/tokens` endpoint. Injected for the same reason as
103
+ * {@link LighterTokenFetcher}: a unit spec supplies a registry fixture
104
+ * without a mock server.
105
+ * @internal
106
+ */
107
+ export type LighterTokenListFetcher = (params: {
108
+ url: string;
109
+ authorization: string;
110
+ accountIndex: number;
111
+ }) => Promise<LighterListTokensResponse>;
112
+ /**
113
+ * Function injected for the HTTP boundary against Lighter's
114
+ * `POST /api/v1/tokens/revoke` endpoint.
115
+ * @internal
116
+ */
117
+ export type LighterTokenRevokeFetcher = (params: {
118
+ url: string;
119
+ authorization: string;
120
+ tokenId: number;
121
+ accountIndex: number;
122
+ }) => Promise<LighterRevokeTokenResponse>;
56
123
  /**
57
124
  * Dependencies and overrides for {@link LighterReadOnlyTokenManager}.
58
125
  * Storage and token-fetching defaults target the browser's local storage and
59
126
  * Lighter's mainnet REST API.
60
127
  *
61
- * @public
128
+ * @internal
62
129
  */
63
130
  export interface LighterReadOnlyTokenManagerOptions {
64
131
  storage?: StorageAdapter;
@@ -73,6 +140,10 @@ export interface LighterReadOnlyTokenManagerOptions {
73
140
  lighterApiUrl?: string;
74
141
  /** Override the multipart POST. Defaults to a `fetch`-based implementation. */
75
142
  fetcher?: LighterTokenFetcher;
143
+ /** Override the registry list GET. Defaults to a `fetch`-based implementation. */
144
+ listFetcher?: LighterTokenListFetcher;
145
+ /** Override the revoke POST. Defaults to a `fetch`-based implementation. */
146
+ revokeFetcher?: LighterTokenRevokeFetcher;
76
147
  /** Clock injection for testing expiry logic. Defaults to `Date.now`. */
77
148
  now?: () => number;
78
149
  }
@@ -80,7 +151,7 @@ export interface LighterReadOnlyTokenManagerOptions {
80
151
  * Input to the read-only-token approval flow. Extends the shared approval
81
152
  * parameters with the L1 address whose wallet authorizes token creation.
82
153
  *
83
- * @public
154
+ * @internal
84
155
  */
85
156
  export interface ApproveReadOnlyTokenInputs extends ApproveReadOnlyTokenParams {
86
157
  /** L1 wallet address that signs the create message. */
@@ -90,7 +161,7 @@ export interface ApproveReadOnlyTokenInputs extends ApproveReadOnlyTokenParams {
90
161
  * Result of approving or creating a Lighter read-only token. `config` is the
91
162
  * account-state projection callers can persist alongside the token.
92
163
  *
93
- * @public
164
+ * @internal
94
165
  */
95
166
  export interface ApproveReadOnlyTokenResult {
96
167
  token: LighterReadOnlyToken;
@@ -114,18 +185,22 @@ export interface ApproveReadOnlyTokenResult {
114
185
  * a fully compromised page — a same-origin script can still drive this manager
115
186
  * to decrypt. Blast radius is limited to reads: the token cannot sign orders
116
187
  * or move funds.
117
- * @public
188
+ * @internal
118
189
  */
119
190
  export declare class LighterReadOnlyTokenManager {
120
191
  private readonly storage;
121
192
  private readonly providerKey;
122
193
  private readonly lighterApiUrl;
123
194
  private readonly fetcher;
195
+ private readonly listFetcher;
196
+ private readonly revokeFetcher;
124
197
  private readonly now;
125
198
  private readonly cache;
126
199
  constructor(options?: LighterReadOnlyTokenManagerOptions);
127
200
  private storageKey;
128
201
  private isExpired;
202
+ /** Stored record for the pair, whether or not it is past its `expiry`. */
203
+ private readStoredToken;
129
204
  /**
130
205
  * Return the stored token for the `(address, accountIndex)` pair, or
131
206
  * `undefined` if absent or past its `expiry`. Never surfaces an expired
@@ -157,6 +232,9 @@ export declare class LighterReadOnlyTokenManager {
157
232
  * and persists the returned `ro:` bearer alongside its
158
233
  * `expiry`/`scope`/`accountIndex`.
159
234
  *
235
+ * Before the create call, the flow revokes this SDK's own stale registry
236
+ * rows. That pass is best-effort: a failure is logged and the create runs.
237
+ *
160
238
  * `authorization` MUST be a **standard** Lighter auth token — one created by
161
239
  * the account's API key (`createAuthToken` / the WASM signer), NOT an L1
162
240
  * wallet signature. Lighter authenticates the create request with that token
@@ -175,13 +253,35 @@ export declare class LighterReadOnlyTokenManager {
175
253
  * @param inputs Token-create parameters plus the owning `address`.
176
254
  */
177
255
  approve(authorization: string, inputs: ApproveReadOnlyTokenInputs): Promise<ApproveReadOnlyTokenResult>;
256
+ /**
257
+ * Revoke the registry rows this SDK owns and no longer needs. Lighter's
258
+ * `tokens/create` appends a row on every call, so without this pass the
259
+ * user's registry grows on every rotation.
260
+ */
261
+ private revokeStaleOwnTokens;
178
262
  }
179
263
  /**
180
264
  * Default fetcher: posts a multipart/form-data request to Lighter's
181
265
  * `tokens/create` endpoint and returns the parsed response. Throws a
182
266
  * {@link PerpsError} with the Lighter-side body when the response is
183
267
  * non-2xx.
184
- * @public
268
+ * @internal
185
269
  */
186
270
  export declare const defaultLighterTokenFetcher: LighterTokenFetcher;
271
+ /**
272
+ * Default list fetcher: `GET /api/v1/tokens` with `account_index` as a query
273
+ * parameter. Lighter's OpenAPI defines no request body for this route. Throws
274
+ * a {@link PerpsError} with the Lighter-side body when the response is
275
+ * non-2xx.
276
+ * @internal
277
+ */
278
+ export declare const defaultLighterTokenListFetcher: LighterTokenListFetcher;
279
+ /**
280
+ * Default revoke fetcher: posts `application/x-www-form-urlencoded` to
281
+ * Lighter's `tokens/revoke` endpoint, which is the content type Lighter's
282
+ * OpenAPI declares for that route. Throws a {@link PerpsError} with the
283
+ * Lighter-side body when the response is non-2xx.
284
+ * @internal
285
+ */
286
+ export declare const defaultLighterTokenRevokeFetcher: LighterTokenRevokeFetcher;
187
287
  //# sourceMappingURL=LighterReadOnlyTokenManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LighterReadOnlyTokenManager.d.ts","sourceRoot":"","sources":["../../../src/signers/LighterReadOnlyTokenManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LighterReadOnlyTokenManager.d.ts","sourceRoot":"","sources":["../../../src/signers/LighterReadOnlyTokenManager.ts"],"names":[],"mappings":"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"}