@lightconexyz/lightcone-sdk 0.2.41 → 0.2.42
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/domain/orderbook/state.d.ts +14 -4
- package/dist/domain/orderbook/state.d.ts.map +1 -1
- package/dist/domain/orderbook/state.js +66 -26
- package/dist/domain/orderbook/state.js.map +1 -1
- package/dist/domain/trade/state.d.ts +3 -1
- package/dist/domain/trade/state.d.ts.map +1 -1
- package/dist/domain/trade/state.js +33 -12
- package/dist/domain/trade/state.js.map +1 -1
- package/dist/prelude.d.ts +1 -1
- package/dist/prelude.d.ts.map +1 -1
- package/dist/prelude.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type OrderBookId } from "../../shared";
|
|
2
2
|
import type { OrderBook } from "./wire";
|
|
3
|
+
export interface ApplyResult {
|
|
4
|
+
isSnapshot: boolean;
|
|
5
|
+
gap: number;
|
|
6
|
+
stale: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type StaleCallback = (orderbookId: OrderBookId, expectedSeq: number, receivedSeq: number) => void;
|
|
3
9
|
export declare class OrderbookSnapshot {
|
|
4
10
|
readonly orderbookId: OrderBookId;
|
|
5
11
|
seq: number;
|
|
6
12
|
private readonly bidsMap;
|
|
7
13
|
private readonly asksMap;
|
|
8
|
-
private
|
|
9
|
-
private
|
|
14
|
+
private trackedBestBid;
|
|
15
|
+
private trackedBestAsk;
|
|
16
|
+
private _stale;
|
|
17
|
+
private _onStale;
|
|
10
18
|
constructor(orderbookId: OrderBookId);
|
|
11
|
-
apply(book: OrderBook):
|
|
19
|
+
apply(book: OrderBook): ApplyResult;
|
|
12
20
|
bids(): ReadonlyMap<string, string>;
|
|
13
21
|
asks(): ReadonlyMap<string, string>;
|
|
14
22
|
bestBid(): string | undefined;
|
|
@@ -16,6 +24,8 @@ export declare class OrderbookSnapshot {
|
|
|
16
24
|
midPrice(): string | undefined;
|
|
17
25
|
spread(): string | undefined;
|
|
18
26
|
isEmpty(): boolean;
|
|
27
|
+
isStale(): boolean;
|
|
28
|
+
onStale(callback: StaleCallback | null): void;
|
|
19
29
|
clear(): void;
|
|
20
30
|
}
|
|
21
31
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzG,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,WAAW,EAAE,WAAW;IAWpC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW;IAmDnC,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAInC,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAInC,OAAO,IAAI,MAAM,GAAG,SAAS;IAiB7B,OAAO,IAAI,MAAM,GAAG,SAAS;IAiB7B,QAAQ,IAAI,MAAM,GAAG,SAAS;IAU9B,MAAM,IAAI,MAAM,GAAG,SAAS;IAU5B,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;IAIlB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAI7C,KAAK,IAAI,IAAI;CAQd"}
|
|
@@ -5,45 +5,73 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.OrderbookSnapshot = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
|
+
const shared_1 = require("../../shared");
|
|
8
9
|
class OrderbookSnapshot {
|
|
9
10
|
orderbookId;
|
|
10
11
|
seq;
|
|
11
12
|
bidsMap;
|
|
12
13
|
asksMap;
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
trackedBestBid;
|
|
15
|
+
trackedBestAsk;
|
|
16
|
+
_stale;
|
|
17
|
+
_onStale;
|
|
15
18
|
constructor(orderbookId) {
|
|
16
19
|
this.orderbookId = orderbookId;
|
|
17
20
|
this.seq = 0;
|
|
18
21
|
this.bidsMap = new Map();
|
|
19
22
|
this.asksMap = new Map();
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
23
|
+
this.trackedBestBid = undefined;
|
|
24
|
+
this.trackedBestAsk = undefined;
|
|
25
|
+
this._stale = false;
|
|
26
|
+
this._onStale = null;
|
|
22
27
|
}
|
|
23
28
|
apply(book) {
|
|
24
|
-
|
|
29
|
+
const isSnapshot = book.is_snapshot === true;
|
|
30
|
+
let gap = 0;
|
|
31
|
+
if (isSnapshot) {
|
|
25
32
|
this.bidsMap.clear();
|
|
26
33
|
this.asksMap.clear();
|
|
34
|
+
this.trackedBestBid = undefined;
|
|
35
|
+
this.trackedBestAsk = undefined;
|
|
36
|
+
this._stale = false;
|
|
37
|
+
}
|
|
38
|
+
else if (book.seq !== undefined && this.seq > 0 && book.seq > this.seq + 1) {
|
|
39
|
+
gap = book.seq - (this.seq + 1);
|
|
40
|
+
this._stale = true;
|
|
41
|
+
if (this._onStale) {
|
|
42
|
+
this._onStale(this.orderbookId, this.seq + 1, book.seq);
|
|
43
|
+
}
|
|
27
44
|
}
|
|
28
45
|
this.seq = book.seq ?? this.seq;
|
|
29
46
|
for (const level of book.bids) {
|
|
30
|
-
if (
|
|
47
|
+
if ((0, shared_1.isZero)(level.size)) {
|
|
48
|
+
if (this.trackedBestBid === level.price) {
|
|
49
|
+
this.trackedBestBid = undefined;
|
|
50
|
+
}
|
|
31
51
|
this.bidsMap.delete(level.price);
|
|
32
52
|
}
|
|
33
53
|
else {
|
|
34
54
|
this.bidsMap.set(level.price, level.size);
|
|
55
|
+
if (this.trackedBestBid === undefined || new decimal_js_1.default(level.price).greaterThan(this.trackedBestBid)) {
|
|
56
|
+
this.trackedBestBid = level.price;
|
|
57
|
+
}
|
|
35
58
|
}
|
|
36
59
|
}
|
|
37
60
|
for (const level of book.asks) {
|
|
38
|
-
if (
|
|
61
|
+
if ((0, shared_1.isZero)(level.size)) {
|
|
62
|
+
if (this.trackedBestAsk === level.price) {
|
|
63
|
+
this.trackedBestAsk = undefined;
|
|
64
|
+
}
|
|
39
65
|
this.asksMap.delete(level.price);
|
|
40
66
|
}
|
|
41
67
|
else {
|
|
42
68
|
this.asksMap.set(level.price, level.size);
|
|
69
|
+
if (this.trackedBestAsk === undefined || new decimal_js_1.default(level.price).lessThan(this.trackedBestAsk)) {
|
|
70
|
+
this.trackedBestAsk = level.price;
|
|
71
|
+
}
|
|
43
72
|
}
|
|
44
73
|
}
|
|
45
|
-
this.
|
|
46
|
-
this.cachedBestAsk = null;
|
|
74
|
+
return { isSnapshot, gap, stale: this._stale };
|
|
47
75
|
}
|
|
48
76
|
bids() {
|
|
49
77
|
return this.bidsMap;
|
|
@@ -52,31 +80,36 @@ class OrderbookSnapshot {
|
|
|
52
80
|
return this.asksMap;
|
|
53
81
|
}
|
|
54
82
|
bestBid() {
|
|
55
|
-
if (this.
|
|
56
|
-
return this.
|
|
83
|
+
if (this.trackedBestBid !== undefined) {
|
|
84
|
+
return this.trackedBestBid;
|
|
57
85
|
}
|
|
58
86
|
if (this.bidsMap.size === 0) {
|
|
59
|
-
this.cachedBestBid = undefined;
|
|
60
87
|
return undefined;
|
|
61
88
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
.
|
|
65
|
-
|
|
66
|
-
|
|
89
|
+
let best;
|
|
90
|
+
for (const price of this.bidsMap.keys()) {
|
|
91
|
+
if (best === undefined || new decimal_js_1.default(price).greaterThan(best)) {
|
|
92
|
+
best = price;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
this.trackedBestBid = best;
|
|
96
|
+
return best;
|
|
67
97
|
}
|
|
68
98
|
bestAsk() {
|
|
69
|
-
if (this.
|
|
70
|
-
return this.
|
|
99
|
+
if (this.trackedBestAsk !== undefined) {
|
|
100
|
+
return this.trackedBestAsk;
|
|
71
101
|
}
|
|
72
102
|
if (this.asksMap.size === 0) {
|
|
73
|
-
this.cachedBestAsk = undefined;
|
|
74
103
|
return undefined;
|
|
75
104
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
105
|
+
let best;
|
|
106
|
+
for (const price of this.asksMap.keys()) {
|
|
107
|
+
if (best === undefined || new decimal_js_1.default(price).lessThan(best)) {
|
|
108
|
+
best = price;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
this.trackedBestAsk = best;
|
|
112
|
+
return best;
|
|
80
113
|
}
|
|
81
114
|
midPrice() {
|
|
82
115
|
const bid = this.bestBid();
|
|
@@ -97,12 +130,19 @@ class OrderbookSnapshot {
|
|
|
97
130
|
isEmpty() {
|
|
98
131
|
return this.bidsMap.size === 0 && this.asksMap.size === 0;
|
|
99
132
|
}
|
|
133
|
+
isStale() {
|
|
134
|
+
return this._stale;
|
|
135
|
+
}
|
|
136
|
+
onStale(callback) {
|
|
137
|
+
this._onStale = callback;
|
|
138
|
+
}
|
|
100
139
|
clear() {
|
|
101
140
|
this.bidsMap.clear();
|
|
102
141
|
this.asksMap.clear();
|
|
103
142
|
this.seq = 0;
|
|
104
|
-
this.
|
|
105
|
-
this.
|
|
143
|
+
this.trackedBestBid = undefined;
|
|
144
|
+
this.trackedBestAsk = undefined;
|
|
145
|
+
this._stale = false;
|
|
106
146
|
}
|
|
107
147
|
}
|
|
108
148
|
exports.OrderbookSnapshot = OrderbookSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/orderbook/state.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAiC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/orderbook/state.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from \"decimal.js\";\nimport { isZero, type OrderBookId } from \"../../shared\";\nimport type { OrderBook } from \"./wire\";\n\nexport interface ApplyResult {\n isSnapshot: boolean;\n gap: number;\n stale: boolean;\n}\n\nexport type StaleCallback = (orderbookId: OrderBookId, expectedSeq: number, receivedSeq: number) => void;\n\nexport class OrderbookSnapshot {\n readonly orderbookId: OrderBookId;\n seq: number;\n private readonly bidsMap: Map<string, string>;\n private readonly asksMap: Map<string, string>;\n private trackedBestBid: string | undefined;\n private trackedBestAsk: string | undefined;\n private _stale: boolean;\n private _onStale: StaleCallback | null;\n\n constructor(orderbookId: OrderBookId) {\n this.orderbookId = orderbookId;\n this.seq = 0;\n this.bidsMap = new Map();\n this.asksMap = new Map();\n this.trackedBestBid = undefined;\n this.trackedBestAsk = undefined;\n this._stale = false;\n this._onStale = null;\n }\n\n apply(book: OrderBook): ApplyResult {\n const isSnapshot = book.is_snapshot === true;\n let gap = 0;\n\n if (isSnapshot) {\n this.bidsMap.clear();\n this.asksMap.clear();\n this.trackedBestBid = undefined;\n this.trackedBestAsk = undefined;\n this._stale = false;\n } else if (book.seq !== undefined && this.seq > 0 && book.seq > this.seq + 1) {\n gap = book.seq - (this.seq + 1);\n this._stale = true;\n if (this._onStale) {\n this._onStale(this.orderbookId, this.seq + 1, book.seq);\n }\n }\n\n this.seq = book.seq ?? this.seq;\n\n for (const level of book.bids) {\n if (isZero(level.size)) {\n if (this.trackedBestBid === level.price) {\n this.trackedBestBid = undefined;\n }\n this.bidsMap.delete(level.price);\n } else {\n this.bidsMap.set(level.price, level.size);\n if (this.trackedBestBid === undefined || new Decimal(level.price).greaterThan(this.trackedBestBid)) {\n this.trackedBestBid = level.price;\n }\n }\n }\n\n for (const level of book.asks) {\n if (isZero(level.size)) {\n if (this.trackedBestAsk === level.price) {\n this.trackedBestAsk = undefined;\n }\n this.asksMap.delete(level.price);\n } else {\n this.asksMap.set(level.price, level.size);\n if (this.trackedBestAsk === undefined || new Decimal(level.price).lessThan(this.trackedBestAsk)) {\n this.trackedBestAsk = level.price;\n }\n }\n }\n\n return { isSnapshot, gap, stale: this._stale };\n }\n\n bids(): ReadonlyMap<string, string> {\n return this.bidsMap;\n }\n\n asks(): ReadonlyMap<string, string> {\n return this.asksMap;\n }\n\n bestBid(): string | undefined {\n if (this.trackedBestBid !== undefined) {\n return this.trackedBestBid;\n }\n if (this.bidsMap.size === 0) {\n return undefined;\n }\n let best: string | undefined;\n for (const price of this.bidsMap.keys()) {\n if (best === undefined || new Decimal(price).greaterThan(best)) {\n best = price;\n }\n }\n this.trackedBestBid = best;\n return best;\n }\n\n bestAsk(): string | undefined {\n if (this.trackedBestAsk !== undefined) {\n return this.trackedBestAsk;\n }\n if (this.asksMap.size === 0) {\n return undefined;\n }\n let best: string | undefined;\n for (const price of this.asksMap.keys()) {\n if (best === undefined || new Decimal(price).lessThan(best)) {\n best = price;\n }\n }\n this.trackedBestAsk = best;\n return best;\n }\n\n midPrice(): string | undefined {\n const bid = this.bestBid();\n const ask = this.bestAsk();\n if (!bid || !ask) {\n return undefined;\n }\n\n return new Decimal(bid).plus(ask).div(2).toString();\n }\n\n spread(): string | undefined {\n const bid = this.bestBid();\n const ask = this.bestAsk();\n if (!bid || !ask) {\n return undefined;\n }\n\n return new Decimal(ask).minus(bid).toString();\n }\n\n isEmpty(): boolean {\n return this.bidsMap.size === 0 && this.asksMap.size === 0;\n }\n\n isStale(): boolean {\n return this._stale;\n }\n\n onStale(callback: StaleCallback | null): void {\n this._onStale = callback;\n }\n\n clear(): void {\n this.bidsMap.clear();\n this.asksMap.clear();\n this.seq = 0;\n this.trackedBestBid = undefined;\n this.trackedBestAsk = undefined;\n this._stale = false;\n }\n}\n"]}
|
|
@@ -3,7 +3,9 @@ import type { Trade } from "./index";
|
|
|
3
3
|
export declare class TradeHistory {
|
|
4
4
|
readonly orderbookId: OrderBookId;
|
|
5
5
|
private readonly maxSize;
|
|
6
|
-
private readonly
|
|
6
|
+
private readonly ring;
|
|
7
|
+
private head;
|
|
8
|
+
private count;
|
|
7
9
|
constructor(orderbookId: OrderBookId, maxSize: number);
|
|
8
10
|
push(trade: Trade): void;
|
|
9
11
|
replace(trades: Trade[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/domain/trade/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,YAAY;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/domain/trade/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,YAAY;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAS;gBAEV,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAQrD,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQxB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAS9B,MAAM,IAAI,SAAS,KAAK,EAAE;IAY1B,MAAM,IAAI,KAAK,GAAG,SAAS;IAO3B,KAAK,IAAI,IAAI;IAKb,GAAG,IAAI,MAAM;IAIb,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -4,36 +4,57 @@ exports.TradeHistory = void 0;
|
|
|
4
4
|
class TradeHistory {
|
|
5
5
|
orderbookId;
|
|
6
6
|
maxSize;
|
|
7
|
-
|
|
7
|
+
ring;
|
|
8
|
+
head;
|
|
9
|
+
count;
|
|
8
10
|
constructor(orderbookId, maxSize) {
|
|
9
11
|
this.orderbookId = orderbookId;
|
|
10
12
|
this.maxSize = maxSize;
|
|
11
|
-
this.
|
|
13
|
+
this.ring = new Array(maxSize);
|
|
14
|
+
this.head = 0;
|
|
15
|
+
this.count = 0;
|
|
12
16
|
}
|
|
13
17
|
push(trade) {
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
this.ring[this.head] = trade;
|
|
19
|
+
this.head = (this.head + 1) % this.maxSize;
|
|
20
|
+
if (this.count < this.maxSize) {
|
|
21
|
+
this.count++;
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
24
|
replace(trades) {
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
25
|
+
this.head = 0;
|
|
26
|
+
this.count = 0;
|
|
27
|
+
const toInsert = trades.length <= this.maxSize ? trades : trades.slice(0, this.maxSize);
|
|
28
|
+
for (let i = toInsert.length - 1; i >= 0; i--) {
|
|
29
|
+
this.push(toInsert[i]);
|
|
30
|
+
}
|
|
22
31
|
}
|
|
23
32
|
trades() {
|
|
24
|
-
|
|
33
|
+
if (this.count === 0) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
const result = new Array(this.count);
|
|
37
|
+
for (let i = 0; i < this.count; i++) {
|
|
38
|
+
const idx = (this.head - 1 - i + this.maxSize * 2) % this.maxSize;
|
|
39
|
+
result[i] = this.ring[idx];
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
25
42
|
}
|
|
26
43
|
latest() {
|
|
27
|
-
|
|
44
|
+
if (this.count === 0) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return this.ring[(this.head - 1 + this.maxSize) % this.maxSize];
|
|
28
48
|
}
|
|
29
49
|
clear() {
|
|
30
|
-
this.
|
|
50
|
+
this.head = 0;
|
|
51
|
+
this.count = 0;
|
|
31
52
|
}
|
|
32
53
|
len() {
|
|
33
|
-
return this.
|
|
54
|
+
return this.count;
|
|
34
55
|
}
|
|
35
56
|
isEmpty() {
|
|
36
|
-
return this.
|
|
57
|
+
return this.count === 0;
|
|
37
58
|
}
|
|
38
59
|
}
|
|
39
60
|
exports.TradeHistory = TradeHistory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/trade/state.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACd,WAAW,CAAc;IACjB,OAAO,CAAS;IAChB,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/trade/state.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACd,WAAW,CAAc;IACjB,OAAO,CAAS;IAChB,IAAI,CAAwB;IACrC,IAAI,CAAS;IACb,KAAK,CAAS;IAEtB,YAAY,WAAwB,EAAE,OAAe;QACnD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAoB,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAY;QACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAe;QACrB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxF,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAY,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAClE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;QAC9B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AA/DD,oCA+DC","sourcesContent":["import type { OrderBookId } from \"../../shared\";\nimport type { Trade } from \"./index\";\n\nexport class TradeHistory {\n readonly orderbookId: OrderBookId;\n private readonly maxSize: number;\n private readonly ring: (Trade | undefined)[];\n private head: number;\n private count: number;\n\n constructor(orderbookId: OrderBookId, maxSize: number) {\n this.orderbookId = orderbookId;\n this.maxSize = maxSize;\n this.ring = new Array<Trade | undefined>(maxSize);\n this.head = 0;\n this.count = 0;\n }\n\n push(trade: Trade): void {\n this.ring[this.head] = trade;\n this.head = (this.head + 1) % this.maxSize;\n if (this.count < this.maxSize) {\n this.count++;\n }\n }\n\n replace(trades: Trade[]): void {\n this.head = 0;\n this.count = 0;\n const toInsert = trades.length <= this.maxSize ? trades : trades.slice(0, this.maxSize);\n for (let i = toInsert.length - 1; i >= 0; i--) {\n this.push(toInsert[i]);\n }\n }\n\n trades(): readonly Trade[] {\n if (this.count === 0) {\n return [];\n }\n const result: Trade[] = new Array(this.count);\n for (let i = 0; i < this.count; i++) {\n const idx = (this.head - 1 - i + this.maxSize * 2) % this.maxSize;\n result[i] = this.ring[idx]!;\n }\n return result;\n }\n\n latest(): Trade | undefined {\n if (this.count === 0) {\n return undefined;\n }\n return this.ring[(this.head - 1 + this.maxSize) % this.maxSize];\n }\n\n clear(): void {\n this.head = 0;\n this.count = 0;\n }\n\n len(): number {\n return this.count;\n }\n\n isEmpty(): boolean {\n return this.count === 0;\n }\n}\n"]}
|
package/dist/prelude.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export { Referrals } from "./domain/referral";
|
|
|
17
17
|
export type { Market, Status, Outcome, ConditionalToken, DepositAsset, Token, TokenMetadata, ValidatedTokens, } from "./domain/market";
|
|
18
18
|
export type { OrderBook, OrderBookPair, OutcomeImpact, TickerData, WsBookLevel, } from "./domain/orderbook";
|
|
19
19
|
export { OrderBookValidationError } from "./domain/orderbook";
|
|
20
|
-
export { OrderbookSnapshot } from "./domain/orderbook/state";
|
|
20
|
+
export { OrderbookSnapshot, type ApplyResult, type StaleCallback } from "./domain/orderbook/state";
|
|
21
21
|
export type { CancelAllBody, CancelAllSuccess, CancelBody, CancelSuccess, CancelTriggerBody, CancelTriggerSuccess, ConditionalBalance, FillInfo, Order, OrderEvent, OrderStatus, OrderType, SubmitOrderResponse, TriggerOrder, TriggerOrderResponse, TriggerOrderUpdate, UserSnapshotBalance, UserSnapshotOrder, UserOrdersResponse, } from "./domain/order";
|
|
22
22
|
export type { UserOpenOrders, UserTriggerOrders } from "./domain/order/state";
|
|
23
23
|
export type { Portfolio, Position, PositionOutcome, WalletHolding, TokenBalance, TokenBalanceComputedBase, TokenBalanceTokenType, DepositAssetMetadata, DepositTokenBalance, } from "./domain/position";
|
package/dist/prelude.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,GACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,YAAY,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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"}
|
package/dist/prelude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":";;;AAAA,mCAgBkB;AAfhB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AAMnB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAA4D;AAAnD,0GAAA,eAAe,OAAA;AAAE,yGAAA,cAAc,OAAA;AAExC,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AAGxB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAGZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,0CAA0C;AAAjC,iGAAA,OAAO,OAAA;AAChB,gDAAgD;AAAvC,uGAAA,UAAU,OAAA;AACnB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAClB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,wDAA4D;AAAnD,mHAAA,kBAAkB,OAAA;AAC3B,sDAAsD;AAA7C,6GAAA,aAAa,OAAA;AACtB,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAoBlB,gDAA8D;AAArD,qHAAA,wBAAwB,OAAA;AACjC,
|
|
1
|
+
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":";;;AAAA,mCAgBkB;AAfhB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AAMnB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAA4D;AAAnD,0GAAA,eAAe,OAAA;AAAE,yGAAA,cAAc,OAAA;AAExC,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AAGxB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAGZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,0CAA0C;AAAjC,iGAAA,OAAO,OAAA;AAChB,gDAAgD;AAAvC,uGAAA,UAAU,OAAA;AACnB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAClB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,wDAA4D;AAAnD,mHAAA,kBAAkB,OAAA;AAC3B,sDAAsD;AAA7C,6GAAA,aAAa,OAAA;AACtB,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAoBlB,gDAA8D;AAArD,qHAAA,wBAAwB,OAAA;AACjC,kDAAmG;AAA1F,0GAAA,iBAAiB,OAAA;AAsC1B,8CAAoD;AAA3C,qGAAA,YAAY,OAAA;AAqBrB,wDAA8E;AAArE,kHAAA,iBAAiB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAW7C,qCAKmB;AAJjB,6GAAA,kBAAkB,OAAA;AAClB,+GAAA,oBAAoB,OAAA;AA4BtB,+BAGgB;AAFd,mGAAA,WAAW,OAAA","sourcesContent":["export {\n asOrderBookId,\n asPubkeyStr,\n DepositSource,\n deriveOrderbookId,\n OrderUpdateType,\n Resolution,\n Side,\n TimeInForce,\n TriggerResultStatus,\n TriggerStatus,\n TriggerType,\n TriggerUpdateType,\n type OrderBookId,\n type PubkeyStr,\n type SubmitOrderRequest,\n} from \"./shared\";\n\nexport { SdkError } from \"./error\";\nexport { DEFAULT_API_URL, DEFAULT_WS_URL } from \"./network\";\n\nexport {\n LightconeClient,\n LightconeClientBuilder,\n} from \"./client\";\n\nexport { Rpc } from \"./rpc\";\nexport type { ClientContext } from \"./context\";\n\nexport { Auth } from \"./auth\";\nexport { Admin } from \"./domain/admin\";\nexport { Markets } from \"./domain/market\";\nexport { Orderbooks } from \"./domain/orderbook\";\nexport { Orders } from \"./domain/order\";\nexport { Positions } from \"./domain/position\";\nexport { Trades } from \"./domain/trade\";\nexport { PriceHistoryClient } from \"./domain/price_history\";\nexport { Notifications } from \"./domain/notification\";\nexport { Referrals } from \"./domain/referral\";\n\nexport type {\n Market,\n Status,\n Outcome,\n ConditionalToken,\n DepositAsset,\n Token,\n TokenMetadata,\n ValidatedTokens,\n} from \"./domain/market\";\n\nexport type {\n OrderBook,\n OrderBookPair,\n OutcomeImpact,\n TickerData,\n WsBookLevel,\n} from \"./domain/orderbook\";\nexport { OrderBookValidationError } from \"./domain/orderbook\";\nexport { OrderbookSnapshot, type ApplyResult, type StaleCallback } from \"./domain/orderbook/state\";\n\nexport type {\n CancelAllBody,\n CancelAllSuccess,\n CancelBody,\n CancelSuccess,\n CancelTriggerBody,\n CancelTriggerSuccess,\n ConditionalBalance,\n FillInfo,\n Order,\n OrderEvent,\n OrderStatus,\n OrderType,\n SubmitOrderResponse,\n TriggerOrder,\n TriggerOrderResponse,\n TriggerOrderUpdate,\n UserSnapshotBalance,\n UserSnapshotOrder,\n UserOrdersResponse,\n} from \"./domain/order\";\nexport type { UserOpenOrders, UserTriggerOrders } from \"./domain/order/state\";\n\nexport type {\n Portfolio,\n Position,\n PositionOutcome,\n WalletHolding,\n TokenBalance,\n TokenBalanceComputedBase,\n TokenBalanceTokenType,\n DepositAssetMetadata,\n DepositTokenBalance,\n} from \"./domain/position\";\n\nexport type { Trade, WsTrade } from \"./domain/trade\";\nexport { TradeHistory } from \"./domain/trade/state\";\nexport type {\n DepositPrice,\n DepositPriceCandleUpdate,\n DepositPriceHistoryQuery,\n DepositPriceKey,\n DepositPriceSnapshot,\n DepositPriceTick,\n DepositTokenCandle,\n DepositTokenPriceHistoryResponse,\n LineData,\n MidpointPriceCandle,\n OhlcvPriceCandle,\n OrderbookPriceHistoryQuery,\n OrderbookPriceHistoryResponse,\n PriceCandle,\n PriceHistory,\n PriceHistoryRestResponse,\n PriceHistorySnapshot,\n PriceHistoryUpdate,\n} from \"./domain/price_history\";\nexport { DepositPriceState, PriceHistoryState } from \"./domain/price_history\";\n\nexport type {\n AuthCredentials,\n ChainType,\n EmbeddedWallet,\n LinkedAccount,\n LinkedAccountType,\n User,\n} from \"./auth\";\n\nexport {\n LimitOrderEnvelope,\n TriggerOrderEnvelope,\n type OrderEnvelope,\n type OrderPayload,\n} from \"./program\";\n\nexport type {\n ExportWalletRequest,\n ExportWalletResponse,\n PrivyOrderEnvelope,\n SignAndSendOrderRequest,\n SignAndSendTxRequest,\n SignAndSendTxResponse,\n} from \"./privy\";\n\nexport type {\n Notification,\n NotificationKind,\n MarketResolvedData,\n OrderFilledData,\n MarketData,\n} from \"./domain/notification\";\n\nexport type {\n RedeemResult,\n ReferralCodeInfo,\n ReferralStatus,\n} from \"./domain/referral\";\n\nexport {\n RetryPolicy,\n type RetryConfig,\n} from \"./http\";\n\nexport type {\n IWsClient,\n Kind,\n MessageIn,\n MessageOut,\n SubscribeParams,\n UnsubscribeParams,\n WsConfig,\n WsEvent,\n} from \"./ws\";\n\nexport type AuthClient = import(\"./auth\").Auth;\nexport type AdminClient = import(\"./domain/admin\").Admin;\nexport type MarketsClient = import(\"./domain/market\").Markets;\nexport type MarketsResult = import(\"./domain/market\").MarketsResult;\nexport type OrderbooksClient = import(\"./domain/orderbook\").Orderbooks;\nexport type OrdersClient = import(\"./domain/order\").Orders;\nexport type PositionsClient = import(\"./domain/position\").Positions;\nexport type TradesClient = import(\"./domain/trade\").Trades;\nexport type PriceHistorySubClient = import(\"./domain/price_history\").PriceHistoryClient;\nexport type NotificationsClient = import(\"./domain/notification\").Notifications;\nexport type ReferralsClient = import(\"./domain/referral\").Referrals;\nexport type RpcClient = import(\"./rpc\").Rpc;\n"]}
|