lpsignal 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,15 +28,17 @@ try {
28
28
  | Method | Endpoint | Key |
29
29
  |---|---|---|
30
30
  | `health()` · `chains()` | `/v1/health` · `/v1/chains` | – |
31
- | `pools({ chain, class, window, minTvlUsd, limit, offset })` | `GET /v1/pools` | – |
31
+ | `pools({ chain, class, window, minTvlUsd, limit, offset, sort, order })` | `GET /v1/pools` — `sort`: `netApr` (default) · `feeApr` · `ilApr` · `inRange` · `emissionApr` · `tvl` · `fee`; `order`: `desc` (default) · `asc`; the page carries `total` | – |
32
+ | `iteratePools({ …, sort, order })` | every page, in that order (best effort: none twice; one whose place changes meanwhile may be missed) | – |
32
33
  | `pool(chain, address)` · `poolHours(chain, address, { hours })` | `GET /v1/pools/:chain/:address[/hours]` | – |
33
34
  | `backtest(chain, address, { rangePct, days })` | `GET …/backtest` | – |
34
- | `signals({ kind, limit, before })` · `signal(id)` | `GET /v1/signals[/:id]` | optional |
35
+ | `signals({ kind, kinds, source, limit, before, sort, order, offset })` · `signal(id)` | `GET /v1/signals[/:id]` — newest first by `before`; or `sort`: `return` (APR at firing) · `outcome` (realised 7-day result), paged by `offset` with `total` | optional |
35
36
  | `signalStats({ days })` | `GET /v1/signals/stats` — the public track record | – |
36
37
  | `iterateSignals({ kind })` | every page, newest first | optional |
37
38
  | `signalsAfter(id)` | everything newer than `id`, oldest first | optional |
38
- | `smartLps({ windowDays, chain, limit })` | `GET /v1/smart-lps` | optional |
39
- | `walletPositions(owner)` | `GET /v1/smart-lps/:owner/positions` | Pro |
39
+ | `smartLps({ windowDays, chain, limit, offset, sort, order })` | `GET /v1/smart-lps` — `sort`: `rank` (default, = pnl rank) · `pnl` · `return` · `capital` · `closes` · `wins`; `rank` stays the pnl rank whatever the sort; `total` | optional |
40
+ | `iterateSmartLps({ …, sort, order })` | every wallet on the board, in that order | optional |
41
+ | `walletPositions(owner, { limit, openOffset, openSort, openOrder, closedOffset, closedSort, closedOrder })` | `GET /v1/smart-lps/:owner/positions` — each list pages and sorts on its own (`openSort`: `lastEvent` · `openedAt` · `entryUsd`; `closedSort`: `closedAt` · `openedAt` · `capitalUsd` · `pnlUsd`); `openTotal` / `closedTotal` | Pro |
40
42
  | `follows()` · `follow(owner)` · `unfollow(owner)` | `/v1/me/follows` | Pro |
41
43
  | `me()` · `setWebhook(url)` · `deleteWebhook()` · `telegramLink()` | `/v1/me…` | yes |
42
44
  | `createApiKey({ replace })` | `POST /v1/me/api-key` — replaces the key (or `replace: false`: only if none), returned once | yes |
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Backtest, BillingStatus, Chain, ChainStatus, Follow, Health, Leaderboard, Me, PairClass, PoolDetail, PoolHour, PoolsPage, Rule, RuleInput, RulesPage, Signal, SignalKind, SignalsPage, SignalStats, TelegramLink, CryptoBilling, CryptoMonths, CryptoOrder, WalletPositions, WebhookRegistration, WindowHours } from './types.js';
1
+ import type { Backtest, BillingStatus, Chain, ChainStatus, Follow, Health, Leaderboard, Me, PairClass, PoolDetail, PoolHour, PoolsPage, Rule, RuleInput, RulesPage, Signal, SignalKind, SignalsPage, SignalStats, TelegramLink, CryptoBilling, CryptoMonths, CryptoOrder, WalletPositions, WebhookRegistration, WindowHours, BoardSort, ClosedSort, LeaderboardWallet, OpenSort, Order, PoolSort, RankedPool, SignalSort } from './types.js';
2
2
  export declare const DEFAULT_BASE_URL = "https://api.lpsignal.app";
3
3
  /** A non-2xx answer from the API. `code` is the API's stable `error` field (e.g. `rate_limited`, `pro_required`). */
4
4
  export declare class LPSignalError extends Error {
@@ -28,10 +28,41 @@ export interface PoolsQuery {
28
28
  class?: PairClass;
29
29
  /** default 168 (7 days) */
30
30
  window?: WindowHours;
31
+ /** pools under this TVL are left out; default 10000 (0 = every pool: near-empty ones show meaningless APRs) */
31
32
  minTvlUsd?: number;
32
33
  /** 1..100, default 50 */
33
34
  limit?: number;
34
35
  offset?: number;
36
+ /** default netApr */
37
+ sort?: PoolSort;
38
+ /** default desc */
39
+ order?: Order;
40
+ }
41
+ export interface SmartLpsQuery {
42
+ windowDays?: 30 | 90;
43
+ chain?: Chain;
44
+ /** 1..100, default 20 */
45
+ limit?: number;
46
+ offset?: number;
47
+ /** default rank (the pnl rank) */
48
+ sort?: BoardSort;
49
+ /** default asc for rank, desc otherwise */
50
+ order?: Order;
51
+ }
52
+ /** the open and the closed list page and sort independently; `limit` is shared */
53
+ export interface WalletPositionsQuery {
54
+ /** 1..100, default 50 */
55
+ limit?: number;
56
+ openOffset?: number;
57
+ /** default lastEvent */
58
+ openSort?: OpenSort;
59
+ /** default desc */
60
+ openOrder?: Order;
61
+ closedOffset?: number;
62
+ /** default closedAt */
63
+ closedSort?: ClosedSort;
64
+ /** default desc */
65
+ closedOrder?: Order;
35
66
  }
36
67
  export interface SignalsQuery {
37
68
  kind?: SignalKind;
@@ -46,6 +77,15 @@ export interface SignalsQuery {
46
77
  source?: 'default' | 'rules' | 'subscribed';
47
78
  /** several kinds at once (sent as kinds=a,b) */
48
79
  kinds?: SignalKind[];
80
+ /**
81
+ * time (default) = newest first, paged by `before`; return = the APR at firing; outcome = the realised 7-day
82
+ * result — these two page by `offset` and carry `total` (signals without that figure come last)
83
+ */
84
+ sort?: SignalSort;
85
+ /** return / outcome only: desc (default) or asc */
86
+ order?: Order;
87
+ /** return / outcome only */
88
+ offset?: number;
49
89
  }
50
90
  /** REST client for the LPSignal API. */
51
91
  export declare class LPSignal {
@@ -64,8 +104,14 @@ export declare class LPSignal {
64
104
  health(): Promise<Health>;
65
105
  /** Scan progress per chain. */
66
106
  chains(): Promise<ChainStatus[]>;
67
- /** Active pools ranked by their best range's net APR over `window` hours. */
107
+ /** Active pools with their best range over `window` hours; by net APR unless `sort` says otherwise. */
68
108
  pools(query?: PoolsQuery): Promise<PoolsPage>;
109
+ /**
110
+ * The pools matching `query`, in its order, page by page (`limit` = page size, default 100). Best effort: pages are
111
+ * read one after another, so a pool whose place changes meanwhile (metrics update hourly) may be missed; none is
112
+ * yielded twice.
113
+ */
114
+ iteratePools(query?: Omit<PoolsQuery, 'offset'>): AsyncGenerator<RankedPool>;
69
115
  /** One pool with every (window, range) metric. `address` is the pool id for Uniswap v4. */
70
116
  pool(chain: Chain, address: string): Promise<PoolDetail>;
71
117
  /** Hourly aggregates, oldest first (at most 720 hours). */
@@ -85,23 +131,25 @@ export declare class LPSignal {
85
131
  kind?: 'net_apr' | 'burst';
86
132
  }): Promise<SignalStats>;
87
133
  signal(id: string): Promise<Signal>;
88
- /** Every signal matching `query`, newest first, following the `next` cursor page by page. */
89
- iterateSignals(query?: Omit<SignalsQuery, 'before'>): AsyncGenerator<Signal>;
134
+ /**
135
+ * Every signal matching `query`, newest first, following the `next` cursor page by page. Only the filters are used
136
+ * (a sort, order, offset or before in a reused query object is ignored: this walk is always newest first, complete).
137
+ */
138
+ iterateSignals(query?: Omit<SignalsQuery, 'before' | 'sort' | 'order' | 'offset'>): AsyncGenerator<Signal>;
90
139
  /**
91
140
  * Every signal visible to this key with an id greater than `afterId`, oldest first. This is how a consumer that was
92
141
  * offline catches up (the stream itself only replays the last 24 hours).
93
142
  */
94
143
  signalsAfter(afterId: string, opts?: Pick<SignalsQuery, 'source' | 'kind' | 'kinds'>): Promise<Signal[]>;
95
- /** Wallets ranked by LP pnl versus holding. Without Pro: the top 10 with masked addresses. */
96
- smartLps(query?: {
97
- windowDays?: 30 | 90;
98
- chain?: Chain;
99
- limit?: number;
100
- }): Promise<Leaderboard>;
101
- /** A wallet's open and closed positions (Pro). */
102
- walletPositions(owner: string, opts?: {
103
- limit?: number;
104
- }): Promise<WalletPositions>;
144
+ /** Wallets ranked by LP pnl versus holding (sortable; `rank` stays the pnl rank). Without Pro: the top 10, masked. */
145
+ smartLps(query?: SmartLpsQuery): Promise<Leaderboard>;
146
+ /**
147
+ * The wallets on the board, in `query`'s order, page by page (`limit` = page size, default 100). Best effort like
148
+ * `iteratePools`: a wallet whose place changes meanwhile may be missed; none is yielded twice.
149
+ */
150
+ iterateSmartLps(query?: Omit<SmartLpsQuery, 'offset'>): AsyncGenerator<LeaderboardWallet>;
151
+ /** A wallet's open and closed positions (Pro), each list paged and sorted on its own. */
152
+ walletPositions(owner: string, opts?: WalletPositionsQuery): Promise<WalletPositions>;
105
153
  /** Wallets you follow (Pro). */
106
154
  follows(): Promise<Follow[]>;
107
155
  /** Follow a wallet: its new positions of $10k+ become smart_lp signals for you (Pro, up to 50). */
package/dist/client.js CHANGED
@@ -85,10 +85,31 @@ export class LPSignal {
85
85
  return (await this.request('GET', '/v1/chains')).chains;
86
86
  }
87
87
  // ── pools ────────────────────────────────────────────────────────────────
88
- /** Active pools ranked by their best range's net APR over `window` hours. */
88
+ /** Active pools with their best range over `window` hours; by net APR unless `sort` says otherwise. */
89
89
  pools(query = {}) {
90
90
  return this.request('GET', '/v1/pools', { query: { ...query } });
91
91
  }
92
+ /**
93
+ * The pools matching `query`, in its order, page by page (`limit` = page size, default 100). Best effort: pages are
94
+ * read one after another, so a pool whose place changes meanwhile (metrics update hourly) may be missed; none is
95
+ * yielded twice.
96
+ */
97
+ async *iteratePools(query = {}) {
98
+ const seen = new Set();
99
+ for (let offset = 0;;) {
100
+ const page = await this.pools({ ...query, limit: query.limit ?? 100, offset });
101
+ for (const p of page.pools) {
102
+ const id = `${p.chain}:${p.address}`;
103
+ if (!seen.has(id)) {
104
+ seen.add(id);
105
+ yield p;
106
+ }
107
+ }
108
+ offset += page.pools.length;
109
+ if (!page.pools.length || offset >= page.total)
110
+ return;
111
+ }
112
+ }
92
113
  /** One pool with every (window, range) metric. `address` is the pool id for Uniswap v4. */
93
114
  pool(chain, address) {
94
115
  return this.request('GET', `/v1/pools/${enc(chain)}/${enc(address)}`);
@@ -114,11 +135,15 @@ export class LPSignal {
114
135
  signal(id) {
115
136
  return this.request('GET', `/v1/signals/${enc(id)}`);
116
137
  }
117
- /** Every signal matching `query`, newest first, following the `next` cursor page by page. */
138
+ /**
139
+ * Every signal matching `query`, newest first, following the `next` cursor page by page. Only the filters are used
140
+ * (a sort, order, offset or before in a reused query object is ignored: this walk is always newest first, complete).
141
+ */
118
142
  async *iterateSignals(query = {}) {
143
+ const { kind, kinds, source, limit } = query;
119
144
  let before;
120
145
  for (;;) {
121
- const page = await this.signals({ ...query, limit: query.limit ?? 100, ...(before ? { before } : {}) });
146
+ const page = await this.signals({ kind, kinds, source, limit: limit ?? 100, ...(before ? { before } : {}) });
122
147
  for (const s of page.signals)
123
148
  yield s;
124
149
  if (!page.next)
@@ -133,7 +158,8 @@ export class LPSignal {
133
158
  async signalsAfter(afterId, opts = {}) {
134
159
  const after = BigInt(afterId);
135
160
  const newer = [];
136
- for await (const s of this.iterateSignals(opts)) {
161
+ // (only the filters: the early stop below relies on the newest-first order)
162
+ for await (const s of this.iterateSignals({ kind: opts.kind, kinds: opts.kinds, source: opts.source })) {
137
163
  if (BigInt(s.id) <= after)
138
164
  break;
139
165
  newer.push(s);
@@ -141,13 +167,32 @@ export class LPSignal {
141
167
  return newer.reverse();
142
168
  }
143
169
  // ── smart LPs ────────────────────────────────────────────────────────────
144
- /** Wallets ranked by LP pnl versus holding. Without Pro: the top 10 with masked addresses. */
170
+ /** Wallets ranked by LP pnl versus holding (sortable; `rank` stays the pnl rank). Without Pro: the top 10, masked. */
145
171
  smartLps(query = {}) {
146
172
  return this.request('GET', '/v1/smart-lps', { query: { ...query } });
147
173
  }
148
- /** A wallet's open and closed positions (Pro). */
174
+ /**
175
+ * The wallets on the board, in `query`'s order, page by page (`limit` = page size, default 100). Best effort like
176
+ * `iteratePools`: a wallet whose place changes meanwhile may be missed; none is yielded twice.
177
+ */
178
+ async *iterateSmartLps(query = {}) {
179
+ const seen = new Set();
180
+ for (let offset = 0;;) {
181
+ const page = await this.smartLps({ ...query, limit: query.limit ?? 100, offset });
182
+ for (const w of page.wallets) {
183
+ if (!seen.has(w.owner)) {
184
+ seen.add(w.owner);
185
+ yield w;
186
+ }
187
+ }
188
+ offset += page.wallets.length;
189
+ if (!page.wallets.length || offset >= page.total)
190
+ return;
191
+ }
192
+ }
193
+ /** A wallet's open and closed positions (Pro), each list paged and sorted on its own. */
149
194
  walletPositions(owner, opts = {}) {
150
- return this.request('GET', `/v1/smart-lps/${enc(owner)}/positions`, { query: opts });
195
+ return this.request('GET', `/v1/smart-lps/${enc(owner)}/positions`, { query: { ...opts } });
151
196
  }
152
197
  /** Wallets you follow (Pro). */
153
198
  async follows() {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { LPSignal, LPSignalError, DEFAULT_BASE_URL } from './client.js';
2
- export type { LPSignalOptions, PoolsQuery, SignalsQuery } from './client.js';
2
+ export type { LPSignalOptions, PoolsQuery, SignalsQuery, SmartLpsQuery, WalletPositionsQuery } from './client.js';
3
3
  export { SignalStream, MemoryLastIdStore, FileLastIdStore } from './stream.js';
4
4
  export type { LastIdStore, SignalMeta, SignalStreamOptions, StreamEvent, SocketFactory, SocketLike } from './stream.js';
5
5
  export { verifyWebhook, WebhookVerificationError } from './webhook.js';
package/dist/types.d.ts CHANGED
@@ -57,10 +57,18 @@ export interface RankedPool {
57
57
  tvlAt: string | null;
58
58
  best: BestRange;
59
59
  }
60
+ export type Order = 'asc' | 'desc';
61
+ /** what `pools` can sort by: the best range's figures, the pool's TVL or fee tier */
62
+ export type PoolSort = 'netApr' | 'feeApr' | 'ilApr' | 'inRange' | 'emissionApr' | 'tvl' | 'fee';
63
+ /** what `signals` can sort by: time (newest first, cursor), return (APR at firing), outcome (realised result) */
64
+ export type SignalSort = 'time' | 'return' | 'outcome';
60
65
  export interface PoolsPage {
61
66
  pools: RankedPool[];
62
67
  limit: number;
63
68
  offset: number;
69
+ total: number;
70
+ sort: PoolSort;
71
+ order: Order;
64
72
  }
65
73
  export interface Pool {
66
74
  id: string;
@@ -241,8 +249,13 @@ export interface SmartLpSignal extends SignalBase {
241
249
  export type Signal = NetAprSignal | BurstSignal | TvlOutflowSignal | DepegSignal | SmartLpSignal;
242
250
  export interface SignalsPage {
243
251
  signals: Signal[];
244
- /** pass as `before` for the next (older) page; null on the last page */
252
+ /** pass as `before` for the next (older) page; null on the last page (and always when sorted) */
245
253
  next: string | null;
254
+ /** sorted by return / outcome only */
255
+ total?: number;
256
+ offset?: number;
257
+ sort?: SignalSort;
258
+ order?: Order;
246
259
  }
247
260
  export interface LeaderboardWallet {
248
261
  rank: number;
@@ -261,7 +274,15 @@ export interface Leaderboard {
261
274
  /** false = top 10 with masked addresses (not Pro) */
262
275
  full: boolean;
263
276
  wallets: LeaderboardWallet[];
277
+ /** wallets on the board for this caller (non-Pro: at most 10) */
278
+ total: number;
279
+ limit: number;
280
+ offset: number;
281
+ sort: BoardSort;
282
+ order: Order;
264
283
  }
284
+ /** what `smartLps` can sort by; `rank` (the pnl rank) stays the wallet's rank whatever the sort */
285
+ export type BoardSort = 'rank' | 'pnl' | 'return' | 'capital' | 'closes' | 'wins';
265
286
  interface PositionPool {
266
287
  chain: Chain;
267
288
  pool: string;
@@ -293,7 +314,14 @@ export interface WalletPositions {
293
314
  owner: string;
294
315
  open: OpenPosition[];
295
316
  closed: ClosedPosition[];
317
+ openTotal: number;
318
+ closedTotal: number;
319
+ limit: number;
320
+ openOffset: number;
321
+ closedOffset: number;
296
322
  }
323
+ export type OpenSort = 'lastEvent' | 'openedAt' | 'entryUsd';
324
+ export type ClosedSort = 'closedAt' | 'openedAt' | 'capitalUsd' | 'pnlUsd';
297
325
  export interface Me {
298
326
  id: string;
299
327
  tier: Tier;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lpsignal",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Official LPSignal SDK: net-of-IL APR signals for concentrated-liquidity pools, a WebSocket stream that never misses a signal, webhook verification and the REST API.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",