lpsignal 0.1.1 → 0.3.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/client.d.ts +24 -2
- package/dist/client.js +26 -3
- package/dist/client.js.map +1 -1
- package/dist/stream.d.ts +4 -1
- package/dist/stream.js +7 -3
- package/dist/stream.js.map +1 -1
- package/dist/types.d.ts +88 -4
- package/package.json +1 -1
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, 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 } 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 {
|
|
@@ -39,6 +39,13 @@ export interface SignalsQuery {
|
|
|
39
39
|
limit?: number;
|
|
40
40
|
/** only signals with a smaller id (the `next` of the previous page) */
|
|
41
41
|
before?: string;
|
|
42
|
+
/**
|
|
43
|
+
* default = global signals only; rules = your custom-rule matches only; subscribed = exactly what your push
|
|
44
|
+
* channels deliver (global opportunities only while the default signals are on). Omitted = global + your matches.
|
|
45
|
+
*/
|
|
46
|
+
source?: 'default' | 'rules' | 'subscribed';
|
|
47
|
+
/** several kinds at once (sent as kinds=a,b) */
|
|
48
|
+
kinds?: SignalKind[];
|
|
42
49
|
}
|
|
43
50
|
/** REST client for the LPSignal API. */
|
|
44
51
|
export declare class LPSignal {
|
|
@@ -75,6 +82,7 @@ export declare class LPSignal {
|
|
|
75
82
|
/** The public track record over the last `days` (7..365, default 30). */
|
|
76
83
|
signalStats(opts?: {
|
|
77
84
|
days?: number;
|
|
85
|
+
kind?: 'net_apr' | 'burst';
|
|
78
86
|
}): Promise<SignalStats>;
|
|
79
87
|
signal(id: string): Promise<Signal>;
|
|
80
88
|
/** Every signal matching `query`, newest first, following the `next` cursor page by page. */
|
|
@@ -83,7 +91,7 @@ export declare class LPSignal {
|
|
|
83
91
|
* Every signal visible to this key with an id greater than `afterId`, oldest first. This is how a consumer that was
|
|
84
92
|
* offline catches up (the stream itself only replays the last 24 hours).
|
|
85
93
|
*/
|
|
86
|
-
signalsAfter(afterId: string): Promise<Signal[]>;
|
|
94
|
+
signalsAfter(afterId: string, opts?: Pick<SignalsQuery, 'source' | 'kind' | 'kinds'>): Promise<Signal[]>;
|
|
87
95
|
/** Wallets ranked by LP pnl versus holding. Without Pro: the top 10 with masked addresses. */
|
|
88
96
|
smartLps(query?: {
|
|
89
97
|
windowDays?: 30 | 90;
|
|
@@ -103,6 +111,20 @@ export declare class LPSignal {
|
|
|
103
111
|
}>;
|
|
104
112
|
unfollow(owner: string): Promise<void>;
|
|
105
113
|
me(): Promise<Me>;
|
|
114
|
+
/** Your custom alert rules, the plan's limit and today's match count. */
|
|
115
|
+
rules(): Promise<RulesPage>;
|
|
116
|
+
/** Create a rule (paid plans; 403 `paid_plan_required`, 400 `rule_limit` when the plan's limit is reached). */
|
|
117
|
+
createRule(rule: RuleInput): Promise<Rule>;
|
|
118
|
+
/** Replace a rule (its kind may change too). */
|
|
119
|
+
updateRule(id: string, rule: RuleInput): Promise<Rule>;
|
|
120
|
+
deleteRule(id: string): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* The kinds of global signal pushed to you on Telegram, webhook and WebSocket (core events by default; add 'burst'
|
|
123
|
+
* for short-term opportunities). Custom-rule matches always arrive.
|
|
124
|
+
*/
|
|
125
|
+
setSubscriptions(kinds: SignalKind[]): Promise<{
|
|
126
|
+
subscriptions: SignalKind[];
|
|
127
|
+
}>;
|
|
106
128
|
/** Set or replace the webhook. The signing secret is returned only here. */
|
|
107
129
|
setWebhook(url: string): Promise<WebhookRegistration>;
|
|
108
130
|
deleteWebhook(): Promise<void>;
|
package/dist/client.js
CHANGED
|
@@ -104,7 +104,8 @@ export class LPSignal {
|
|
|
104
104
|
// ── signals ──────────────────────────────────────────────────────────────
|
|
105
105
|
/** One page of signals, newest first. Without a paid key, opportunities appear once they are 24h old. */
|
|
106
106
|
signals(query = {}) {
|
|
107
|
-
|
|
107
|
+
const { kinds, ...rest } = query;
|
|
108
|
+
return this.request('GET', '/v1/signals', { query: { ...rest, ...(kinds?.length ? { kinds: kinds.join(',') } : {}) } });
|
|
108
109
|
}
|
|
109
110
|
/** The public track record over the last `days` (7..365, default 30). */
|
|
110
111
|
signalStats(opts = {}) {
|
|
@@ -129,10 +130,10 @@ export class LPSignal {
|
|
|
129
130
|
* Every signal visible to this key with an id greater than `afterId`, oldest first. This is how a consumer that was
|
|
130
131
|
* offline catches up (the stream itself only replays the last 24 hours).
|
|
131
132
|
*/
|
|
132
|
-
async signalsAfter(afterId) {
|
|
133
|
+
async signalsAfter(afterId, opts = {}) {
|
|
133
134
|
const after = BigInt(afterId);
|
|
134
135
|
const newer = [];
|
|
135
|
-
for await (const s of this.iterateSignals()) {
|
|
136
|
+
for await (const s of this.iterateSignals(opts)) {
|
|
136
137
|
if (BigInt(s.id) <= after)
|
|
137
138
|
break;
|
|
138
139
|
newer.push(s);
|
|
@@ -163,6 +164,28 @@ export class LPSignal {
|
|
|
163
164
|
me() {
|
|
164
165
|
return this.request('GET', '/v1/me');
|
|
165
166
|
}
|
|
167
|
+
/** Your custom alert rules, the plan's limit and today's match count. */
|
|
168
|
+
rules() {
|
|
169
|
+
return this.request('GET', '/v1/me/rules');
|
|
170
|
+
}
|
|
171
|
+
/** Create a rule (paid plans; 403 `paid_plan_required`, 400 `rule_limit` when the plan's limit is reached). */
|
|
172
|
+
createRule(rule) {
|
|
173
|
+
return this.request('POST', '/v1/me/rules', { body: rule });
|
|
174
|
+
}
|
|
175
|
+
/** Replace a rule (its kind may change too). */
|
|
176
|
+
updateRule(id, rule) {
|
|
177
|
+
return this.request('PUT', `/v1/me/rules/${enc(id)}`, { body: rule });
|
|
178
|
+
}
|
|
179
|
+
async deleteRule(id) {
|
|
180
|
+
await this.request('DELETE', `/v1/me/rules/${enc(id)}`);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* The kinds of global signal pushed to you on Telegram, webhook and WebSocket (core events by default; add 'burst'
|
|
184
|
+
* for short-term opportunities). Custom-rule matches always arrive.
|
|
185
|
+
*/
|
|
186
|
+
setSubscriptions(kinds) {
|
|
187
|
+
return this.request('PUT', '/v1/me/subscriptions', { body: { kinds } });
|
|
188
|
+
}
|
|
166
189
|
/** Set or replace the webhook. The signing secret is returned only here. */
|
|
167
190
|
setWebhook(url) {
|
|
168
191
|
return this.request('PUT', '/v1/me/webhook', { body: { url } });
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAE3D,qHAAqH;AACrH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAG3B;IACA;IAEA;IALF,IAAI,CAAgB;IAC7B,YACW,MAAc,EACd,IAAa;IACtB,+EAA+E;IACtE,YAA2B,IAAI;QAExC,MAAM,IAAI,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAA4B,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,IAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpJ,KAAK,CAAC,gBAAgB,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QANxJ,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAS;QAEb,cAAS,GAAT,SAAS,CAAsB;QAIxC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import WebSocket, { type ClientOptions } from 'ws';
|
|
2
2
|
import { type LPSignal } from './client.js';
|
|
3
|
-
import type { Signal } from './types.js';
|
|
3
|
+
import type { Signal, SignalKind } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Where the stream is: the id of the last signal handled. Persist it to resume after a restart.
|
|
6
6
|
*
|
|
@@ -90,6 +90,8 @@ export interface SignalStreamOptions {
|
|
|
90
90
|
store?: LastIdStore;
|
|
91
91
|
/** start after this signal id when the store is empty (default: after the newest signal at start) */
|
|
92
92
|
since?: string;
|
|
93
|
+
/** only these kinds on this stream (default: the kinds your account subscribes to, plus your rule matches) */
|
|
94
|
+
kinds?: SignalKind[];
|
|
93
95
|
pingIntervalMs?: number;
|
|
94
96
|
/** give up on a connection that has not opened after this long, default 15 s */
|
|
95
97
|
openTimeoutMs?: number;
|
|
@@ -137,6 +139,7 @@ export declare class SignalStream {
|
|
|
137
139
|
private emit;
|
|
138
140
|
private fatal;
|
|
139
141
|
private loop;
|
|
142
|
+
private kindsQuery;
|
|
140
143
|
/** Establish a position (first run) or fetch everything after it over REST. */
|
|
141
144
|
private catchUp;
|
|
142
145
|
/** One connection's life. Resolves when it closes; true when it went live. */
|
package/dist/stream.js
CHANGED
|
@@ -149,11 +149,14 @@ export class SignalStream {
|
|
|
149
149
|
this.wake = null;
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
+
kindsQuery() {
|
|
153
|
+
return this.opts.kinds?.length ? { kinds: this.opts.kinds } : {};
|
|
154
|
+
}
|
|
152
155
|
/** Establish a position (first run) or fetch everything after it over REST. */
|
|
153
156
|
async catchUp() {
|
|
154
157
|
if (this.lastId === null) {
|
|
155
158
|
// nothing is consumed until the starting point is saved: a restart must resume from this same point
|
|
156
|
-
this.anchor ??= (await this.opts.client.signals({ limit: 1 })).signals[0]?.id ?? '0';
|
|
159
|
+
this.anchor ??= (await this.opts.client.signals({ limit: 1, source: 'subscribed', ...this.kindsQuery() })).signals[0]?.id ?? '0';
|
|
157
160
|
await this.store.save(this.anchor);
|
|
158
161
|
this.lastId = this.anchor;
|
|
159
162
|
this.emit({ type: 'anchored', lastId: this.lastId });
|
|
@@ -162,7 +165,8 @@ export class SignalStream {
|
|
|
162
165
|
// whatever was created meanwhile must come from REST too, or the socket would skip it
|
|
163
166
|
let delivered = 0;
|
|
164
167
|
for (;;) {
|
|
165
|
-
|
|
168
|
+
// exactly what the socket would deliver (your rule matches; global opportunities only while the defaults are on)
|
|
169
|
+
const batch = await this.opts.client.signalsAfter(this.lastId, { source: 'subscribed', ...this.kindsQuery() });
|
|
166
170
|
if (!batch.length || !this.running)
|
|
167
171
|
break;
|
|
168
172
|
for (const s of batch) {
|
|
@@ -178,7 +182,7 @@ export class SignalStream {
|
|
|
178
182
|
/** One connection's life. Resolves when it closes; true when it went live. */
|
|
179
183
|
connectOnce() {
|
|
180
184
|
return new Promise((resolve) => {
|
|
181
|
-
const url = `${this.opts.client.streamUrl}?since=${this.lastId}`;
|
|
185
|
+
const url = `${this.opts.client.streamUrl}?since=${this.lastId}${this.opts.kinds?.length ? `&kinds=${this.opts.kinds.join(',')}` : ''}`;
|
|
182
186
|
this.emit({ type: 'connecting', url });
|
|
183
187
|
let ws;
|
|
184
188
|
try {
|
package/dist/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
/** Chains scanned today. The API may add more, so any string is accepted. */
|
|
12
12
|
export type Chain = 'ethereum' | 'bsc' | 'base' | 'arbitrum' | 'optimism' | 'polygon' | (string & {});
|
|
13
13
|
export type PairClass = 'stable' | 'correlated' | 'volatile';
|
|
14
|
-
export type WindowHours = 24 | 168 | 720;
|
|
14
|
+
export type WindowHours = 3 | 24 | 168 | 720;
|
|
15
15
|
export type Tier = 'free' | 'basic' | 'pro';
|
|
16
|
-
export type SignalKind = 'net_apr' | 'tvl_outflow' | 'depeg' | 'smart_lp';
|
|
16
|
+
export type SignalKind = 'net_apr' | 'burst' | 'tvl_outflow' | 'depeg' | 'smart_lp';
|
|
17
17
|
export interface Health {
|
|
18
18
|
ok: boolean;
|
|
19
19
|
}
|
|
@@ -170,6 +170,11 @@ interface SignalBase {
|
|
|
170
170
|
tickUpper: number;
|
|
171
171
|
/** only opportunities are scored; null until 7 days have passed (and always null for other kinds) */
|
|
172
172
|
outcome: SignalOutcome | null;
|
|
173
|
+
/** set when one of your custom rules produced this signal (private to you, never scored); null otherwise */
|
|
174
|
+
rule: {
|
|
175
|
+
id: string;
|
|
176
|
+
name: string;
|
|
177
|
+
} | null;
|
|
173
178
|
}
|
|
174
179
|
/** An opportunity: the recommended position is `tickLower..tickUpper`. */
|
|
175
180
|
export interface NetAprSignal extends SignalBase {
|
|
@@ -184,6 +189,23 @@ export interface NetAprSignal extends SignalBase {
|
|
|
184
189
|
inRange7d: number;
|
|
185
190
|
stakedEmissionApr?: number;
|
|
186
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* A short-term opportunity: a very high net APR over the last `windowHours` (3) that is still earning in the latest
|
|
194
|
+
* hour. Noisier than `net_apr`; scored on the 24 hours after it fires. Pushed only to accounts subscribed to `burst`.
|
|
195
|
+
*/
|
|
196
|
+
export interface BurstSignal extends SignalBase {
|
|
197
|
+
kind: 'burst';
|
|
198
|
+
tvlUsd: number;
|
|
199
|
+
windowHours: number;
|
|
200
|
+
net3h: number;
|
|
201
|
+
fee3h: number;
|
|
202
|
+
il3h: number;
|
|
203
|
+
inRange3h: number;
|
|
204
|
+
/** context, exact values only (null when not exact) */
|
|
205
|
+
net24h: number | null;
|
|
206
|
+
net7d: number | null;
|
|
207
|
+
stakedEmissionApr?: number;
|
|
208
|
+
}
|
|
187
209
|
/** Liquidity fell by `drop` within `windowHours`, valued at current prices. */
|
|
188
210
|
export interface TvlOutflowSignal extends SignalBase {
|
|
189
211
|
kind: 'tvl_outflow';
|
|
@@ -214,7 +236,7 @@ export interface SmartLpSignal extends SignalBase {
|
|
|
214
236
|
returnPct: number;
|
|
215
237
|
} | null;
|
|
216
238
|
}
|
|
217
|
-
export type Signal = NetAprSignal | TvlOutflowSignal | DepegSignal | SmartLpSignal;
|
|
239
|
+
export type Signal = NetAprSignal | BurstSignal | TvlOutflowSignal | DepegSignal | SmartLpSignal;
|
|
218
240
|
export interface SignalsPage {
|
|
219
241
|
signals: Signal[];
|
|
220
242
|
/** pass as `before` for the next (older) page; null on the last page */
|
|
@@ -279,10 +301,72 @@ export interface Me {
|
|
|
279
301
|
/** the wallet the account signs in with on lpsignal.app (null for API-key-only accounts) */
|
|
280
302
|
walletAddress: string | null;
|
|
281
303
|
hasApiKey: boolean;
|
|
304
|
+
/**
|
|
305
|
+
* kinds of global signal pushed to this account (Telegram, webhook, WebSocket without `kinds`): the core events
|
|
306
|
+
* net_apr, tvl_outflow, depeg, smart_lp by default; burst only when added. Custom-rule matches always arrive.
|
|
307
|
+
*/
|
|
308
|
+
subscriptions: SignalKind[];
|
|
309
|
+
}
|
|
310
|
+
/** Custom alert rules (Basic: 3, Pro: 20). Thresholds are fractions: 0.15 = 15%. */
|
|
311
|
+
export type RuleKind = 'net_apr' | 'depeg' | 'tvl_outflow';
|
|
312
|
+
interface RuleCommon {
|
|
313
|
+
/** 1..60 characters */
|
|
314
|
+
name: string;
|
|
315
|
+
/** default true */
|
|
316
|
+
enabled?: boolean;
|
|
317
|
+
/** only these chains; empty/omitted = all */
|
|
318
|
+
chains?: Chain[];
|
|
319
|
+
/** only these pool types; empty/omitted = all (depeg: stable and correlated only) */
|
|
320
|
+
pairClasses?: PairClass[];
|
|
321
|
+
/** only these pools, "<chain>:<address>" (up to 50); empty/omitted = all */
|
|
322
|
+
pools?: string[];
|
|
323
|
+
/** ≥ 100,000; default 1,000,000 */
|
|
324
|
+
minTvlUsd?: number;
|
|
325
|
+
/** quiet period per pool after the rule fires, 24..720; default 24 */
|
|
326
|
+
cooldownHours?: number;
|
|
327
|
+
}
|
|
328
|
+
export interface NetAprRuleInput extends RuleCommon {
|
|
329
|
+
kind: 'net_apr';
|
|
330
|
+
minNet7d: number;
|
|
331
|
+
/** default = minNet7d */
|
|
332
|
+
minNet24h?: number;
|
|
333
|
+
/** default 0.8 */
|
|
334
|
+
minInRange7d?: number;
|
|
335
|
+
}
|
|
336
|
+
export interface DepegRuleInput extends RuleCommon {
|
|
337
|
+
kind: 'depeg';
|
|
338
|
+
/** 0.001..0.5 */
|
|
339
|
+
minDeviation: number;
|
|
340
|
+
}
|
|
341
|
+
export interface TvlOutflowRuleInput extends RuleCommon {
|
|
342
|
+
kind: 'tvl_outflow';
|
|
343
|
+
/** 0.05..0.95 */
|
|
344
|
+
minDrop: number;
|
|
345
|
+
/** 1..24, default 3 */
|
|
346
|
+
windowHours?: number;
|
|
347
|
+
}
|
|
348
|
+
export type RuleInput = NetAprRuleInput | DepegRuleInput | TvlOutflowRuleInput;
|
|
349
|
+
/** A stored rule: every default filled in. */
|
|
350
|
+
export type Rule = Required<RuleInput> & {
|
|
351
|
+
id: string;
|
|
352
|
+
/** enabled and within the plan's rule limit: it runs every hour */
|
|
353
|
+
active: boolean;
|
|
354
|
+
createdAt: string;
|
|
355
|
+
updatedAt: string;
|
|
356
|
+
};
|
|
357
|
+
export interface RulesPage {
|
|
358
|
+
rules: Rule[];
|
|
359
|
+
/** rules this plan may have (0 on the free plan) */
|
|
360
|
+
limit: number;
|
|
361
|
+
/** matches per account per 24 hours */
|
|
362
|
+
dailyCap: number;
|
|
363
|
+
matchesToday: number;
|
|
282
364
|
}
|
|
283
|
-
/** Track record of opportunity signals with a known
|
|
365
|
+
/** Track record of one opportunity kind (signals with a known outcome) over the last `days`. */
|
|
284
366
|
export interface SignalStats {
|
|
285
367
|
days: number;
|
|
368
|
+
/** net_apr (scored on the 7 days after firing) or burst (the 24 hours after) */
|
|
369
|
+
kind: 'net_apr' | 'burst';
|
|
286
370
|
/** exact outcomes (the only ones in the numbers below) */
|
|
287
371
|
scored: number;
|
|
288
372
|
/** evaluated without exact fees: never counted as a result */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lpsignal",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.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",
|