@lightconexyz/lightcone-sdk 0.1.0 → 0.2.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 +33 -206
- package/dist/auth/client.d.ts +25 -0
- package/dist/auth/client.d.ts.map +1 -0
- package/dist/auth/client.js +120 -0
- package/dist/auth/client.js.map +1 -0
- package/dist/auth/index.d.ts +73 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +42 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/native.d.ts +8 -0
- package/dist/auth/native.d.ts.map +1 -0
- package/dist/auth/native.js +19 -0
- package/dist/auth/native.js.map +1 -0
- package/dist/auth.d.ts +1 -79
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +15 -145
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +69 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +158 -0
- package/dist/client.js.map +1 -0
- package/dist/domain/admin/client.d.ts +17 -0
- package/dist/domain/admin/client.d.ts.map +1 -0
- package/dist/domain/admin/client.js +32 -0
- package/dist/domain/admin/client.js.map +1 -0
- package/dist/domain/admin/index.d.ts +7 -0
- package/dist/domain/admin/index.d.ts.map +1 -0
- package/dist/domain/admin/index.js +19 -0
- package/dist/domain/admin/index.js.map +1 -0
- package/dist/domain/admin/wire.d.ts +117 -0
- package/dist/domain/admin/wire.d.ts.map +1 -0
- package/dist/domain/admin/wire.js +3 -0
- package/dist/domain/admin/wire.js.map +1 -0
- package/dist/domain/index.d.ts +9 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +45 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/market/client.d.ts +21 -0
- package/dist/domain/market/client.d.ts.map +1 -0
- package/dist/domain/market/client.js +70 -0
- package/dist/domain/market/client.js.map +1 -0
- package/dist/domain/market/convert.d.ts +8 -0
- package/dist/domain/market/convert.d.ts.map +1 -0
- package/dist/domain/market/convert.js +96 -0
- package/dist/domain/market/convert.js.map +1 -0
- package/dist/domain/market/index.d.ts +47 -0
- package/dist/domain/market/index.d.ts.map +1 -0
- package/dist/domain/market/index.js +58 -0
- package/dist/domain/market/index.js.map +1 -0
- package/dist/domain/market/outcome.d.ts +12 -0
- package/dist/domain/market/outcome.d.ts.map +1 -0
- package/dist/domain/market/outcome.js +28 -0
- package/dist/domain/market/outcome.js.map +1 -0
- package/dist/domain/market/tokens.d.ts +42 -0
- package/dist/domain/market/tokens.d.ts.map +1 -0
- package/dist/domain/market/tokens.js +106 -0
- package/dist/domain/market/tokens.js.map +1 -0
- package/dist/domain/market/wire.d.ts +116 -0
- package/dist/domain/market/wire.d.ts.map +1 -0
- package/dist/domain/market/wire.js +3 -0
- package/dist/domain/market/wire.js.map +1 -0
- package/dist/domain/order/client.d.ts +187 -0
- package/dist/domain/order/client.d.ts.map +1 -0
- package/dist/domain/order/client.js +122 -0
- package/dist/domain/order/client.js.map +1 -0
- package/dist/domain/order/convert.d.ts +8 -0
- package/dist/domain/order/convert.d.ts.map +1 -0
- package/dist/domain/order/convert.js +80 -0
- package/dist/domain/order/convert.js.map +1 -0
- package/dist/domain/order/index.d.ts +48 -0
- package/dist/domain/order/index.d.ts.map +1 -0
- package/dist/domain/order/index.js +41 -0
- package/dist/domain/order/index.js.map +1 -0
- package/dist/domain/order/state.d.ts +26 -0
- package/dist/domain/order/state.d.ts.map +1 -0
- package/dist/domain/order/state.js +85 -0
- package/dist/domain/order/state.js.map +1 -0
- package/dist/domain/order/wire.d.ts +123 -0
- package/dist/domain/order/wire.d.ts.map +1 -0
- package/dist/domain/order/wire.js +3 -0
- package/dist/domain/order/wire.js.map +1 -0
- package/dist/domain/orderbook/client.d.ts +20 -0
- package/dist/domain/orderbook/client.d.ts.map +1 -0
- package/dist/domain/orderbook/client.js +30 -0
- package/dist/domain/orderbook/client.js.map +1 -0
- package/dist/domain/orderbook/convert.d.ts +5 -0
- package/dist/domain/orderbook/convert.d.ts.map +1 -0
- package/dist/domain/orderbook/convert.js +34 -0
- package/dist/domain/orderbook/convert.js.map +1 -0
- package/dist/domain/orderbook/index.d.ts +36 -0
- package/dist/domain/orderbook/index.d.ts.map +1 -0
- package/dist/domain/orderbook/index.js +63 -0
- package/dist/domain/orderbook/index.js.map +1 -0
- package/dist/domain/orderbook/state.d.ts +19 -0
- package/dist/domain/orderbook/state.d.ts.map +1 -0
- package/dist/domain/orderbook/state.js +86 -0
- package/dist/domain/orderbook/state.js.map +1 -0
- package/dist/domain/orderbook/ticker.d.ts +8 -0
- package/dist/domain/orderbook/ticker.d.ts.map +1 -0
- package/dist/domain/orderbook/ticker.js +3 -0
- package/dist/domain/orderbook/ticker.js.map +1 -0
- package/dist/domain/orderbook/wire.d.ts +61 -0
- package/dist/domain/orderbook/wire.d.ts.map +1 -0
- package/dist/domain/orderbook/wire.js +3 -0
- package/dist/domain/orderbook/wire.js.map +1 -0
- package/dist/domain/position/client.d.ts +13 -0
- package/dist/domain/position/client.d.ts.map +1 -0
- package/dist/domain/position/client.js +20 -0
- package/dist/domain/position/client.js.map +1 -0
- package/dist/domain/position/index.d.ts +66 -0
- package/dist/domain/position/index.d.ts.map +1 -0
- package/dist/domain/position/index.js +19 -0
- package/dist/domain/position/index.js.map +1 -0
- package/dist/domain/position/wire.d.ts +29 -0
- package/dist/domain/position/wire.d.ts.map +1 -0
- package/dist/domain/position/wire.js +3 -0
- package/dist/domain/position/wire.js.map +1 -0
- package/dist/domain/price_history/client.d.ts +12 -0
- package/dist/domain/price_history/client.d.ts.map +1 -0
- package/dist/domain/price_history/client.js +24 -0
- package/dist/domain/price_history/client.js.map +1 -0
- package/dist/domain/price_history/index.d.ts +14 -0
- package/dist/domain/price_history/index.d.ts.map +1 -0
- package/dist/domain/price_history/index.js +27 -0
- package/dist/domain/price_history/index.js.map +1 -0
- package/dist/domain/price_history/state.d.ts +11 -0
- package/dist/domain/price_history/state.d.ts.map +1 -0
- package/dist/domain/price_history/state.js +35 -0
- package/dist/domain/price_history/state.js.map +1 -0
- package/dist/domain/price_history/wire.d.ts +47 -0
- package/dist/domain/price_history/wire.d.ts.map +1 -0
- package/dist/domain/price_history/wire.js +3 -0
- package/dist/domain/price_history/wire.js.map +1 -0
- package/dist/domain/referral/client.d.ts +13 -0
- package/dist/domain/referral/client.d.ts.map +1 -0
- package/dist/domain/referral/client.js +34 -0
- package/dist/domain/referral/client.js.map +1 -0
- package/dist/domain/referral/index.d.ts +17 -0
- package/dist/domain/referral/index.d.ts.map +1 -0
- package/dist/domain/referral/index.js +19 -0
- package/dist/domain/referral/index.js.map +1 -0
- package/dist/domain/referral/wire.d.ts +22 -0
- package/dist/domain/referral/wire.d.ts.map +1 -0
- package/dist/domain/referral/wire.js +3 -0
- package/dist/domain/referral/wire.js.map +1 -0
- package/dist/domain/trade/client.d.ts +12 -0
- package/dist/domain/trade/client.d.ts.map +1 -0
- package/dist/domain/trade/client.js +27 -0
- package/dist/domain/trade/client.js.map +1 -0
- package/dist/domain/trade/convert.d.ts +5 -0
- package/dist/domain/trade/convert.d.ts.map +1 -0
- package/dist/domain/trade/convert.js +25 -0
- package/dist/domain/trade/convert.js.map +1 -0
- package/dist/domain/trade/index.d.ts +19 -0
- package/dist/domain/trade/index.d.ts.map +1 -0
- package/dist/domain/trade/index.js +24 -0
- package/dist/domain/trade/index.js.map +1 -0
- package/dist/domain/trade/state.d.ts +16 -0
- package/dist/domain/trade/state.d.ts.map +1 -0
- package/dist/domain/trade/state.js +40 -0
- package/dist/domain/trade/state.js.map +1 -0
- package/dist/domain/trade/wire.d.ts +34 -0
- package/dist/domain/trade/wire.d.ts.map +1 -0
- package/dist/domain/trade/wire.js +3 -0
- package/dist/domain/trade/wire.js.map +1 -0
- package/dist/error.d.ts +44 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +126 -0
- package/dist/error.js.map +1 -0
- package/dist/http/client.d.ts +16 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +146 -0
- package/dist/http/client.js.map +1 -0
- package/dist/http/index.d.ts +3 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +12 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/retry.d.ts +30 -0
- package/dist/http/retry.d.ts.map +1 -0
- package/dist/http/retry.js +48 -0
- package/dist/http/retry.js.map +1 -0
- package/dist/index.d.ts +13 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -68
- package/dist/index.js.map +1 -1
- package/dist/network.d.ts +4 -4
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js +4 -4
- package/dist/network.js.map +1 -1
- package/dist/prelude.d.ts +41 -0
- package/dist/prelude.d.ts.map +1 -0
- package/dist/prelude.js +55 -0
- package/dist/prelude.js.map +1 -0
- package/dist/privy/client.d.ts +17 -0
- package/dist/privy/client.d.ts.map +1 -0
- package/dist/privy/client.js +66 -0
- package/dist/privy/client.js.map +1 -0
- package/dist/privy/index.d.ts +57 -0
- package/dist/privy/index.d.ts.map +1 -0
- package/dist/privy/index.js +80 -0
- package/dist/privy/index.js.map +1 -0
- package/dist/program/accounts.d.ts +19 -2
- package/dist/program/accounts.d.ts.map +1 -1
- package/dist/program/accounts.js +52 -2
- package/dist/program/accounts.js.map +1 -1
- package/dist/program/builder.d.ts +15 -11
- package/dist/program/builder.d.ts.map +1 -1
- package/dist/program/builder.js +30 -22
- package/dist/program/builder.js.map +1 -1
- package/dist/program/client.d.ts +40 -1
- package/dist/program/client.d.ts.map +1 -1
- package/dist/program/client.js +87 -2
- package/dist/program/client.js.map +1 -1
- package/dist/program/constants.d.ts +10 -1
- package/dist/program/constants.d.ts.map +1 -1
- package/dist/program/constants.js +11 -2
- package/dist/program/constants.js.map +1 -1
- package/dist/program/envelope.d.ts +94 -0
- package/dist/program/envelope.d.ts.map +1 -0
- package/dist/program/envelope.js +258 -0
- package/dist/program/envelope.js.map +1 -0
- package/dist/program/error.d.ts +8 -0
- package/dist/program/error.d.ts.map +1 -0
- package/dist/program/error.js +20 -0
- package/dist/program/error.js.map +1 -0
- package/dist/program/index.d.ts +8 -5
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/index.js +29 -3
- package/dist/program/index.js.map +1 -1
- package/dist/program/instructions.d.ts +124 -1
- package/dist/program/instructions.d.ts.map +1 -1
- package/dist/program/instructions.js +439 -4
- package/dist/program/instructions.js.map +1 -1
- package/dist/program/orders.d.ts +26 -8
- package/dist/program/orders.d.ts.map +1 -1
- package/dist/program/orders.js +58 -31
- package/dist/program/orders.js.map +1 -1
- package/dist/program/pda.d.ts +19 -0
- package/dist/program/pda.d.ts.map +1 -1
- package/dist/program/pda.js +28 -0
- package/dist/program/pda.js.map +1 -1
- package/dist/program/types.d.ts +93 -9
- package/dist/program/types.d.ts.map +1 -1
- package/dist/program/types.js.map +1 -1
- package/dist/shared/fmt/decimal.d.ts +5 -0
- package/dist/shared/fmt/decimal.d.ts.map +1 -0
- package/dist/shared/fmt/decimal.js +54 -0
- package/dist/shared/fmt/decimal.js.map +1 -0
- package/dist/shared/fmt/index.d.ts +3 -0
- package/dist/shared/fmt/index.d.ts.map +1 -0
- package/dist/shared/fmt/index.js +39 -0
- package/dist/shared/fmt/index.js.map +1 -0
- package/dist/shared/fmt/num.d.ts +6 -0
- package/dist/shared/fmt/num.d.ts.map +1 -0
- package/dist/shared/fmt/num.js +44 -0
- package/dist/shared/fmt/num.js.map +1 -0
- package/dist/shared/index.d.ts +4 -7
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +19 -7
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/price.d.ts +5 -33
- package/dist/shared/price.d.ts.map +1 -1
- package/dist/shared/price.js +11 -39
- package/dist/shared/price.js.map +1 -1
- package/dist/shared/scaling.d.ts +17 -30
- package/dist/shared/scaling.d.ts.map +1 -1
- package/dist/shared/scaling.js +88 -57
- package/dist/shared/scaling.js.map +1 -1
- package/dist/shared/types.d.ts +66 -16
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +81 -17
- package/dist/shared/types.js.map +1 -1
- package/dist/ws/client.d.ts +35 -0
- package/dist/ws/client.d.ts.map +1 -0
- package/dist/ws/client.js +226 -0
- package/dist/ws/client.js.map +1 -0
- package/dist/ws/index.d.ts +109 -0
- package/dist/ws/index.d.ts.map +1 -0
- package/dist/ws/index.js +181 -0
- package/dist/ws/index.js.map +1 -0
- package/dist/ws/subscriptions.d.ts +51 -0
- package/dist/ws/subscriptions.d.ts.map +1 -0
- package/dist/ws/subscriptions.js +44 -0
- package/dist/ws/subscriptions.js.map +1 -0
- package/package.json +3 -11
- package/dist/api/client.d.ts +0 -225
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -452
- package/dist/api/client.js.map +0 -1
- package/dist/api/error.d.ts +0 -58
- package/dist/api/error.d.ts.map +0 -1
- package/dist/api/error.js +0 -98
- package/dist/api/error.js.map +0 -1
- package/dist/api/index.d.ts +0 -23
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -51
- package/dist/api/index.js.map +0 -1
- package/dist/api/types/admin.d.ts +0 -49
- package/dist/api/types/admin.d.ts.map +0 -1
- package/dist/api/types/admin.js +0 -13
- package/dist/api/types/admin.js.map +0 -1
- package/dist/api/types/index.d.ts +0 -14
- package/dist/api/types/index.d.ts.map +0 -1
- package/dist/api/types/index.js +0 -13
- package/dist/api/types/index.js.map +0 -1
- package/dist/api/types/market.d.ts +0 -186
- package/dist/api/types/market.d.ts.map +0 -1
- package/dist/api/types/market.js +0 -6
- package/dist/api/types/market.js.map +0 -1
- package/dist/api/types/order.d.ts +0 -190
- package/dist/api/types/order.d.ts.map +0 -1
- package/dist/api/types/order.js +0 -6
- package/dist/api/types/order.js.map +0 -1
- package/dist/api/types/orderbook.d.ts +0 -36
- package/dist/api/types/orderbook.d.ts.map +0 -1
- package/dist/api/types/orderbook.js +0 -6
- package/dist/api/types/orderbook.js.map +0 -1
- package/dist/api/types/position.d.ts +0 -60
- package/dist/api/types/position.d.ts.map +0 -1
- package/dist/api/types/position.js +0 -6
- package/dist/api/types/position.js.map +0 -1
- package/dist/api/types/price_history.d.ts +0 -68
- package/dist/api/types/price_history.d.ts.map +0 -1
- package/dist/api/types/price_history.js +0 -13
- package/dist/api/types/price_history.js.map +0 -1
- package/dist/api/types/trade.d.ts +0 -67
- package/dist/api/types/trade.d.ts.map +0 -1
- package/dist/api/types/trade.js +0 -13
- package/dist/api/types/trade.js.map +0 -1
- package/dist/api/validation.d.ts +0 -24
- package/dist/api/validation.d.ts.map +0 -1
- package/dist/api/validation.js +0 -53
- package/dist/api/validation.js.map +0 -1
- package/dist/websocket/client.d.ts +0 -238
- package/dist/websocket/client.d.ts.map +0 -1
- package/dist/websocket/client.js +0 -580
- package/dist/websocket/client.js.map +0 -1
- package/dist/websocket/error.d.ts +0 -47
- package/dist/websocket/error.d.ts.map +0 -1
- package/dist/websocket/error.js +0 -83
- package/dist/websocket/error.js.map +0 -1
- package/dist/websocket/handlers.d.ts +0 -97
- package/dist/websocket/handlers.d.ts.map +0 -1
- package/dist/websocket/handlers.js +0 -277
- package/dist/websocket/handlers.js.map +0 -1
- package/dist/websocket/index.d.ts +0 -38
- package/dist/websocket/index.d.ts.map +0 -1
- package/dist/websocket/index.js +0 -75
- package/dist/websocket/index.js.map +0 -1
- package/dist/websocket/state/index.d.ts +0 -7
- package/dist/websocket/state/index.d.ts.map +0 -1
- package/dist/websocket/state/index.js +0 -14
- package/dist/websocket/state/index.js.map +0 -1
- package/dist/websocket/state/orderbook.d.ts +0 -107
- package/dist/websocket/state/orderbook.d.ts.map +0 -1
- package/dist/websocket/state/orderbook.js +0 -293
- package/dist/websocket/state/orderbook.js.map +0 -1
- package/dist/websocket/state/price.d.ts +0 -108
- package/dist/websocket/state/price.d.ts.map +0 -1
- package/dist/websocket/state/price.js +0 -243
- package/dist/websocket/state/price.js.map +0 -1
- package/dist/websocket/state/user.d.ts +0 -83
- package/dist/websocket/state/user.d.ts.map +0 -1
- package/dist/websocket/state/user.js +0 -228
- package/dist/websocket/state/user.js.map +0 -1
- package/dist/websocket/subscriptions.d.ts +0 -143
- package/dist/websocket/subscriptions.d.ts.map +0 -1
- package/dist/websocket/subscriptions.js +0 -244
- package/dist/websocket/subscriptions.js.map +0 -1
- package/dist/websocket/types.d.ts +0 -417
- package/dist/websocket/types.d.ts.map +0 -1
- package/dist/websocket/types.js +0 -195
- package/dist/websocket/types.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PriceHistoryState = void 0;
|
|
4
|
+
class PriceHistoryState {
|
|
5
|
+
data;
|
|
6
|
+
constructor() {
|
|
7
|
+
this.data = new Map();
|
|
8
|
+
}
|
|
9
|
+
applySnapshot(orderbookId, resolution, prices) {
|
|
10
|
+
this.data.set(keyFor(orderbookId, resolution), prices);
|
|
11
|
+
}
|
|
12
|
+
applyUpdate(orderbookId, resolution, point) {
|
|
13
|
+
const key = keyFor(orderbookId, resolution);
|
|
14
|
+
const existing = this.data.get(key) ?? [];
|
|
15
|
+
const last = existing.at(-1);
|
|
16
|
+
if (last && last.time === point.time) {
|
|
17
|
+
last.value = point.value;
|
|
18
|
+
this.data.set(key, existing);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
existing.push(point);
|
|
22
|
+
this.data.set(key, existing);
|
|
23
|
+
}
|
|
24
|
+
get(orderbookId, resolution) {
|
|
25
|
+
return this.data.get(keyFor(orderbookId, resolution));
|
|
26
|
+
}
|
|
27
|
+
clear() {
|
|
28
|
+
this.data.clear();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.PriceHistoryState = PriceHistoryState;
|
|
32
|
+
function keyFor(orderbookId, resolution) {
|
|
33
|
+
return `${orderbookId}:${resolution}`;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/price_history/state.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IACX,IAAI,CAA0B;IAE/C;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,WAAwB,EAAE,UAAsB,EAAE,MAAkB;QAChF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,WAAwB,EAAE,UAAsB,EAAE,KAAe;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAE1C,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,WAAwB,EAAE,UAAsB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACF;AAjCD,8CAiCC;AAED,SAAS,MAAM,CAAC,WAAwB,EAAE,UAAsB;IAC9D,OAAO,GAAG,WAAW,IAAI,UAAU,EAAE,CAAC;AACxC,CAAC","sourcesContent":["import type { OrderBookId, Resolution } from \"../../shared\";\nimport type { LineData } from \"./index\";\n\nexport class PriceHistoryState {\n private readonly data: Map<string, LineData[]>;\n\n constructor() {\n this.data = new Map();\n }\n\n applySnapshot(orderbookId: OrderBookId, resolution: Resolution, prices: LineData[]): void {\n this.data.set(keyFor(orderbookId, resolution), prices);\n }\n\n applyUpdate(orderbookId: OrderBookId, resolution: Resolution, point: LineData): void {\n const key = keyFor(orderbookId, resolution);\n const existing = this.data.get(key) ?? [];\n\n const last = existing.at(-1);\n if (last && last.time === point.time) {\n last.value = point.value;\n this.data.set(key, existing);\n return;\n }\n\n existing.push(point);\n this.data.set(key, existing);\n }\n\n get(orderbookId: OrderBookId, resolution: Resolution): readonly LineData[] | undefined {\n return this.data.get(keyFor(orderbookId, resolution));\n }\n\n clear(): void {\n this.data.clear();\n }\n}\n\nfunction keyFor(orderbookId: OrderBookId, resolution: Resolution): string {\n return `${orderbookId}:${resolution}`;\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { OrderBookId, Resolution } from "../../shared";
|
|
2
|
+
export interface PriceCandle {
|
|
3
|
+
t: number;
|
|
4
|
+
m?: string;
|
|
5
|
+
o?: string;
|
|
6
|
+
h?: string;
|
|
7
|
+
l?: string;
|
|
8
|
+
c?: string;
|
|
9
|
+
v?: string;
|
|
10
|
+
bb?: string;
|
|
11
|
+
ba?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface PriceHistorySnapshot {
|
|
14
|
+
orderbook_id: OrderBookId;
|
|
15
|
+
resolution: Resolution;
|
|
16
|
+
prices: PriceCandle[];
|
|
17
|
+
last_timestamp?: number;
|
|
18
|
+
server_time?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface PriceHistoryUpdate {
|
|
21
|
+
orderbook_id: OrderBookId;
|
|
22
|
+
resolution: Resolution;
|
|
23
|
+
t: number;
|
|
24
|
+
m?: string;
|
|
25
|
+
o?: string;
|
|
26
|
+
h?: string;
|
|
27
|
+
l?: string;
|
|
28
|
+
c?: string;
|
|
29
|
+
v?: string;
|
|
30
|
+
bb?: string;
|
|
31
|
+
ba?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PriceHistoryHeartbeat {
|
|
34
|
+
server_time: number;
|
|
35
|
+
last_processed?: number;
|
|
36
|
+
}
|
|
37
|
+
export type PriceHistory = {
|
|
38
|
+
event_type: "snapshot";
|
|
39
|
+
payload: PriceHistorySnapshot;
|
|
40
|
+
} | {
|
|
41
|
+
event_type: "update";
|
|
42
|
+
payload: PriceHistoryUpdate;
|
|
43
|
+
} | {
|
|
44
|
+
event_type: "heartbeat";
|
|
45
|
+
payload: PriceHistoryHeartbeat;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/price_history/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACzD;IAAE,UAAU,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACrD;IAAE,UAAU,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/price_history/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, Resolution } from \"../../shared\";\n\nexport interface PriceCandle {\n t: number;\n m?: string;\n o?: string;\n h?: string;\n l?: string;\n c?: string;\n v?: string;\n bb?: string;\n ba?: string;\n}\n\nexport interface PriceHistorySnapshot {\n orderbook_id: OrderBookId;\n resolution: Resolution;\n prices: PriceCandle[];\n last_timestamp?: number;\n server_time?: number;\n}\n\nexport interface PriceHistoryUpdate {\n orderbook_id: OrderBookId;\n resolution: Resolution;\n t: number;\n m?: string;\n o?: string;\n h?: string;\n l?: string;\n c?: string;\n v?: string;\n bb?: string;\n ba?: string;\n}\n\nexport interface PriceHistoryHeartbeat {\n server_time: number;\n last_processed?: number;\n}\n\nexport type PriceHistory =\n | { event_type: \"snapshot\"; payload: PriceHistorySnapshot }\n | { event_type: \"update\"; payload: PriceHistoryUpdate }\n | { event_type: \"heartbeat\"; payload: PriceHistoryHeartbeat };\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LightconeHttp } from "../../http";
|
|
2
|
+
import type { RedeemResult, ReferralStatus } from "./index";
|
|
3
|
+
interface ClientContext {
|
|
4
|
+
http: LightconeHttp;
|
|
5
|
+
}
|
|
6
|
+
export declare class Referrals {
|
|
7
|
+
private readonly client;
|
|
8
|
+
constructor(client: ClientContext);
|
|
9
|
+
getStatus(): Promise<ReferralStatus>;
|
|
10
|
+
redeem(code: string): Promise<RedeemResult>;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/referral/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG5D,UAAU,aAAa;IACrB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAE5C,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAepC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAclD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Referrals = void 0;
|
|
4
|
+
const http_1 = require("../../http");
|
|
5
|
+
class Referrals {
|
|
6
|
+
client;
|
|
7
|
+
constructor(client) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
async getStatus() {
|
|
11
|
+
const url = `${this.client.http.baseUrl()}/api/referral/status`;
|
|
12
|
+
const response = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
13
|
+
return {
|
|
14
|
+
isBeta: response.is_beta,
|
|
15
|
+
source: response.source,
|
|
16
|
+
referralCodes: response.referral_codes.map((code) => ({
|
|
17
|
+
code: code.code,
|
|
18
|
+
maxUses: code.max_uses,
|
|
19
|
+
useCount: code.use_count,
|
|
20
|
+
})),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async redeem(code) {
|
|
24
|
+
const url = `${this.client.http.baseUrl()}/api/referral/redeem`;
|
|
25
|
+
const body = { code };
|
|
26
|
+
const response = await this.client.http.post(url, body, http_1.RetryPolicy.None);
|
|
27
|
+
return {
|
|
28
|
+
success: response.success,
|
|
29
|
+
isBeta: response.is_beta,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.Referrals = Referrals;
|
|
34
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/referral/client.ts"],"names":[],"mappings":";;;AAAA,qCAA6D;AAQ7D,MAAa,SAAS;IACS;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAyB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAEjG,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,OAAO;YACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;aACzB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;QAChE,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1C,GAAG,EACH,IAAI,EACJ,kBAAW,CAAC,IAAI,CACjB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;CACF;AAhCD,8BAgCC","sourcesContent":["import { RetryPolicy, type LightconeHttp } from \"../../http\";\nimport type { RedeemResult, ReferralStatus } from \"./index\";\nimport type { RedeemRequest, RedeemResponse, ReferralStatusResponse } from \"./wire\";\n\ninterface ClientContext {\n http: LightconeHttp;\n}\n\nexport class Referrals {\n constructor(private readonly client: ClientContext) {}\n\n async getStatus(): Promise<ReferralStatus> {\n const url = `${this.client.http.baseUrl()}/api/referral/status`;\n const response = await this.client.http.get<ReferralStatusResponse>(url, RetryPolicy.Idempotent);\n\n return {\n isBeta: response.is_beta,\n source: response.source,\n referralCodes: response.referral_codes.map((code) => ({\n code: code.code,\n maxUses: code.max_uses,\n useCount: code.use_count,\n })),\n };\n }\n\n async redeem(code: string): Promise<RedeemResult> {\n const url = `${this.client.http.baseUrl()}/api/referral/redeem`;\n const body: RedeemRequest = { code };\n const response = await this.client.http.post<RedeemResponse, RedeemRequest>(\n url,\n body,\n RetryPolicy.None\n );\n\n return {\n success: response.success,\n isBeta: response.is_beta,\n };\n }\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from "./client";
|
|
2
|
+
export * from "./wire";
|
|
3
|
+
export interface ReferralCodeInfo {
|
|
4
|
+
code: string;
|
|
5
|
+
maxUses: number;
|
|
6
|
+
useCount: number;
|
|
7
|
+
}
|
|
8
|
+
export interface ReferralStatus {
|
|
9
|
+
isBeta: boolean;
|
|
10
|
+
source?: string;
|
|
11
|
+
referralCodes: ReferralCodeInfo[];
|
|
12
|
+
}
|
|
13
|
+
export interface RedeemResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
isBeta: boolean;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/referral/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./client"), exports);
|
|
18
|
+
__exportStar(require("./wire"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/referral/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB","sourcesContent":["export * from \"./client\";\nexport * from \"./wire\";\n\nexport interface ReferralCodeInfo {\n code: string;\n maxUses: number;\n useCount: number;\n}\n\nexport interface ReferralStatus {\n isBeta: boolean;\n source?: string;\n referralCodes: ReferralCodeInfo[];\n}\n\nexport interface RedeemResult {\n success: boolean;\n isBeta: boolean;\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface ReferralCodeWire {
|
|
2
|
+
code: string;
|
|
3
|
+
max_uses: number;
|
|
4
|
+
use_count: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ReferralStatusResponse {
|
|
7
|
+
is_beta: boolean;
|
|
8
|
+
source?: string;
|
|
9
|
+
referral_codes: ReferralCodeWire[];
|
|
10
|
+
}
|
|
11
|
+
export interface RedeemRequest {
|
|
12
|
+
code: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RedeemResponse {
|
|
15
|
+
success: boolean;
|
|
16
|
+
is_beta: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface RedeemErrorResponse {
|
|
19
|
+
error: string;
|
|
20
|
+
code: string;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/referral/wire.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,gBAAgB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/referral/wire.ts"],"names":[],"mappings":"","sourcesContent":["export interface ReferralCodeWire {\n code: string;\n max_uses: number;\n use_count: number;\n}\n\nexport interface ReferralStatusResponse {\n is_beta: boolean;\n source?: string;\n referral_codes: ReferralCodeWire[];\n}\n\nexport interface RedeemRequest {\n code: string;\n}\n\nexport interface RedeemResponse {\n success: boolean;\n is_beta: boolean;\n}\n\nexport interface RedeemErrorResponse {\n error: string;\n code: string;\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type LightconeHttp } from "../../http";
|
|
2
|
+
import type { TradesPage } from "./index";
|
|
3
|
+
interface ClientContext {
|
|
4
|
+
http: LightconeHttp;
|
|
5
|
+
}
|
|
6
|
+
export declare class Trades {
|
|
7
|
+
private readonly client;
|
|
8
|
+
constructor(client: ClientContext);
|
|
9
|
+
get(orderbookId: string, limit?: number, before?: number): Promise<TradesPage>;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/trade/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,UAAU,aAAa;IACrB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAE5C,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAcrF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Trades = void 0;
|
|
4
|
+
const http_1 = require("../../http");
|
|
5
|
+
const convert_1 = require("./convert");
|
|
6
|
+
class Trades {
|
|
7
|
+
client;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
async get(orderbookId, limit, before) {
|
|
12
|
+
const params = new URLSearchParams({ orderbook_id: orderbookId });
|
|
13
|
+
if (limit !== undefined)
|
|
14
|
+
params.set("limit", String(limit));
|
|
15
|
+
if (before !== undefined)
|
|
16
|
+
params.set("before", String(before));
|
|
17
|
+
const url = `${this.client.http.baseUrl()}/api/trades?${params.toString()}`;
|
|
18
|
+
const response = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
19
|
+
return {
|
|
20
|
+
trades: response.trades.map(convert_1.tradeFromResponse),
|
|
21
|
+
nextCursor: response.next_cursor,
|
|
22
|
+
hasMore: response.has_more ?? false,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.Trades = Trades;
|
|
27
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/trade/client.ts"],"names":[],"mappings":";;;AAAA,qCAA6D;AAE7D,uCAA8C;AAO9C,MAAa,MAAM;IACY;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,KAAc,EAAE,MAAe;QAC5D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAiB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAEzF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,2BAAiB,CAAC;YAC9C,UAAU,EAAE,QAAQ,CAAC,WAAW;YAChC,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;SACpC,CAAC;IACJ,CAAC;CACF;AAjBD,wBAiBC","sourcesContent":["import { RetryPolicy, type LightconeHttp } from \"../../http\";\nimport type { TradesPage } from \"./index\";\nimport { tradeFromResponse } from \"./convert\";\nimport type { TradesResponse } from \"./wire\";\n\ninterface ClientContext {\n http: LightconeHttp;\n}\n\nexport class Trades {\n constructor(private readonly client: ClientContext) {}\n\n async get(orderbookId: string, limit?: number, before?: number): Promise<TradesPage> {\n const params = new URLSearchParams({ orderbook_id: orderbookId });\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (before !== undefined) params.set(\"before\", String(before));\n\n const url = `${this.client.http.baseUrl()}/api/trades?${params.toString()}`;\n const response = await this.client.http.get<TradesResponse>(url, RetryPolicy.Idempotent);\n\n return {\n trades: response.trades.map(tradeFromResponse),\n nextCursor: response.next_cursor,\n hasMore: response.has_more ?? false,\n };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/domain/trade/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,CAS9D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CASlD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tradeFromResponse = tradeFromResponse;
|
|
4
|
+
exports.tradeFromWs = tradeFromWs;
|
|
5
|
+
function tradeFromResponse(source) {
|
|
6
|
+
return {
|
|
7
|
+
orderbookId: source.orderbook_id,
|
|
8
|
+
tradeId: String(source.id),
|
|
9
|
+
timestamp: new Date(source.executed_at),
|
|
10
|
+
price: source.price,
|
|
11
|
+
size: source.size,
|
|
12
|
+
side: source.side,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function tradeFromWs(source) {
|
|
16
|
+
return {
|
|
17
|
+
orderbookId: source.orderbook_id,
|
|
18
|
+
tradeId: source.trade_id,
|
|
19
|
+
timestamp: new Date(source.timestamp),
|
|
20
|
+
price: source.price,
|
|
21
|
+
size: source.size,
|
|
22
|
+
side: source.side,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/domain/trade/convert.ts"],"names":[],"mappings":";;AAGA,8CASC;AAED,kCASC;AApBD,SAAgB,iBAAiB,CAAC,MAAqB;IACrD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,MAAe;IACzC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC","sourcesContent":["import type { Trade } from \"./index\";\nimport type { TradeResponse, WsTrade } from \"./wire\";\n\nexport function tradeFromResponse(source: TradeResponse): Trade {\n return {\n orderbookId: source.orderbook_id,\n tradeId: String(source.id),\n timestamp: new Date(source.executed_at),\n price: source.price,\n size: source.size,\n side: source.side,\n };\n}\n\nexport function tradeFromWs(source: WsTrade): Trade {\n return {\n orderbookId: source.orderbook_id,\n tradeId: source.trade_id,\n timestamp: new Date(source.timestamp),\n price: source.price,\n size: source.size,\n side: source.side,\n };\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OrderBookId, Side } from "../../shared";
|
|
2
|
+
export * from "./client";
|
|
3
|
+
export * from "./wire";
|
|
4
|
+
export * from "./state";
|
|
5
|
+
export { tradeFromResponse, tradeFromWs } from "./convert";
|
|
6
|
+
export interface Trade {
|
|
7
|
+
orderbookId: OrderBookId;
|
|
8
|
+
tradeId: string;
|
|
9
|
+
timestamp: Date;
|
|
10
|
+
price: string;
|
|
11
|
+
size: string;
|
|
12
|
+
side: Side;
|
|
13
|
+
}
|
|
14
|
+
export interface TradesPage {
|
|
15
|
+
trades: Trade[];
|
|
16
|
+
nextCursor?: number;
|
|
17
|
+
hasMore: boolean;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/trade/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtD,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.tradeFromWs = exports.tradeFromResponse = void 0;
|
|
18
|
+
__exportStar(require("./client"), exports);
|
|
19
|
+
__exportStar(require("./wire"), exports);
|
|
20
|
+
__exportStar(require("./state"), exports);
|
|
21
|
+
var convert_1 = require("./convert");
|
|
22
|
+
Object.defineProperty(exports, "tradeFromResponse", { enumerable: true, get: function () { return convert_1.tradeFromResponse; } });
|
|
23
|
+
Object.defineProperty(exports, "tradeFromWs", { enumerable: true, get: function () { return convert_1.tradeFromWs; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/trade/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,qCAA2D;AAAlD,4GAAA,iBAAiB,OAAA;AAAE,sGAAA,WAAW,OAAA","sourcesContent":["import type { OrderBookId, Side } from \"../../shared\";\n\nexport * from \"./client\";\nexport * from \"./wire\";\nexport * from \"./state\";\nexport { tradeFromResponse, tradeFromWs } from \"./convert\";\n\nexport interface Trade {\n orderbookId: OrderBookId;\n tradeId: string;\n timestamp: Date;\n price: string;\n size: string;\n side: Side;\n}\n\nexport interface TradesPage {\n trades: Trade[];\n nextCursor?: number;\n hasMore: boolean;\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { OrderBookId } from "../../shared";
|
|
2
|
+
import type { Trade } from "./index";
|
|
3
|
+
export declare class TradeHistory {
|
|
4
|
+
readonly orderbookId: OrderBookId;
|
|
5
|
+
private readonly maxSize;
|
|
6
|
+
private readonly buffer;
|
|
7
|
+
constructor(orderbookId: OrderBookId, maxSize: number);
|
|
8
|
+
push(trade: Trade): void;
|
|
9
|
+
replace(trades: Trade[]): void;
|
|
10
|
+
trades(): readonly Trade[];
|
|
11
|
+
latest(): Trade | undefined;
|
|
12
|
+
clear(): void;
|
|
13
|
+
len(): number;
|
|
14
|
+
isEmpty(): boolean;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +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,MAAM,CAAU;gBAErB,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAMrD,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOxB,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAK9B,MAAM,IAAI,SAAS,KAAK,EAAE;IAI1B,MAAM,IAAI,KAAK,GAAG,SAAS;IAI3B,KAAK,IAAI,IAAI;IAIb,GAAG,IAAI,MAAM;IAIb,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TradeHistory = void 0;
|
|
4
|
+
class TradeHistory {
|
|
5
|
+
orderbookId;
|
|
6
|
+
maxSize;
|
|
7
|
+
buffer;
|
|
8
|
+
constructor(orderbookId, maxSize) {
|
|
9
|
+
this.orderbookId = orderbookId;
|
|
10
|
+
this.maxSize = maxSize;
|
|
11
|
+
this.buffer = [];
|
|
12
|
+
}
|
|
13
|
+
push(trade) {
|
|
14
|
+
this.buffer.unshift(trade);
|
|
15
|
+
if (this.buffer.length > this.maxSize) {
|
|
16
|
+
this.buffer.pop();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
replace(trades) {
|
|
20
|
+
this.buffer.length = 0;
|
|
21
|
+
this.buffer.push(...trades.slice(0, this.maxSize));
|
|
22
|
+
}
|
|
23
|
+
trades() {
|
|
24
|
+
return this.buffer;
|
|
25
|
+
}
|
|
26
|
+
latest() {
|
|
27
|
+
return this.buffer[0];
|
|
28
|
+
}
|
|
29
|
+
clear() {
|
|
30
|
+
this.buffer.length = 0;
|
|
31
|
+
}
|
|
32
|
+
len() {
|
|
33
|
+
return this.buffer.length;
|
|
34
|
+
}
|
|
35
|
+
isEmpty() {
|
|
36
|
+
return this.buffer.length === 0;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.TradeHistory = TradeHistory;
|
|
40
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +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,MAAM,CAAU;IAEjC,YAAY,WAAwB,EAAE,OAAe;QACnD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,KAAY;QACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAe;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AA1CD,oCA0CC","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 buffer: Trade[];\n\n constructor(orderbookId: OrderBookId, maxSize: number) {\n this.orderbookId = orderbookId;\n this.maxSize = maxSize;\n this.buffer = [];\n }\n\n push(trade: Trade): void {\n this.buffer.unshift(trade);\n if (this.buffer.length > this.maxSize) {\n this.buffer.pop();\n }\n }\n\n replace(trades: Trade[]): void {\n this.buffer.length = 0;\n this.buffer.push(...trades.slice(0, this.maxSize));\n }\n\n trades(): readonly Trade[] {\n return this.buffer;\n }\n\n latest(): Trade | undefined {\n return this.buffer[0];\n }\n\n clear(): void {\n this.buffer.length = 0;\n }\n\n len(): number {\n return this.buffer.length;\n }\n\n isEmpty(): boolean {\n return this.buffer.length === 0;\n }\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { OrderBookId, Side } from "../../shared";
|
|
2
|
+
export interface TradeResponse {
|
|
3
|
+
id: number;
|
|
4
|
+
orderbook_id: OrderBookId;
|
|
5
|
+
taker_pubkey: string;
|
|
6
|
+
maker_pubkey: string;
|
|
7
|
+
side: Side;
|
|
8
|
+
size: string;
|
|
9
|
+
price: string;
|
|
10
|
+
taker_fee?: string;
|
|
11
|
+
maker_fee?: string;
|
|
12
|
+
executed_at: number;
|
|
13
|
+
}
|
|
14
|
+
export interface TradesDecimals {
|
|
15
|
+
price?: number;
|
|
16
|
+
size?: number;
|
|
17
|
+
fee?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface TradesResponse {
|
|
20
|
+
orderbook_id: OrderBookId;
|
|
21
|
+
trades: TradeResponse[];
|
|
22
|
+
next_cursor?: number;
|
|
23
|
+
has_more?: boolean;
|
|
24
|
+
decimals?: TradesDecimals;
|
|
25
|
+
}
|
|
26
|
+
export interface WsTrade {
|
|
27
|
+
orderbook_id: OrderBookId;
|
|
28
|
+
trade_id: string;
|
|
29
|
+
timestamp: string;
|
|
30
|
+
price: string;
|
|
31
|
+
size: string;
|
|
32
|
+
side: Side;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/trade/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/trade/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, Side } from \"../../shared\";\n\nexport interface TradeResponse {\n id: number;\n orderbook_id: OrderBookId;\n taker_pubkey: string;\n maker_pubkey: string;\n side: Side;\n size: string;\n price: string;\n taker_fee?: string;\n maker_fee?: string;\n executed_at: number;\n}\n\nexport interface TradesDecimals {\n price?: number;\n size?: number;\n fee?: number;\n}\n\nexport interface TradesResponse {\n orderbook_id: OrderBookId;\n trades: TradeResponse[];\n next_cursor?: number;\n has_more?: boolean;\n decimals?: TradesDecimals;\n}\n\nexport interface WsTrade {\n orderbook_id: OrderBookId;\n trade_id: string;\n timestamp: string;\n price: string;\n size: string;\n side: Side;\n}\n"]}
|
package/dist/error.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type HttpErrorVariant = "Request" | "ServerError" | "RateLimited" | "Unauthorized" | "NotFound" | "BadRequest" | "Timeout" | "MaxRetriesExceeded";
|
|
2
|
+
export declare class HttpError extends Error {
|
|
3
|
+
readonly variant: HttpErrorVariant;
|
|
4
|
+
readonly status?: number;
|
|
5
|
+
readonly body?: string;
|
|
6
|
+
readonly retryAfterMs?: number;
|
|
7
|
+
readonly attempts?: number;
|
|
8
|
+
constructor(params: {
|
|
9
|
+
variant: HttpErrorVariant;
|
|
10
|
+
message: string;
|
|
11
|
+
status?: number;
|
|
12
|
+
body?: string;
|
|
13
|
+
retryAfterMs?: number;
|
|
14
|
+
attempts?: number;
|
|
15
|
+
});
|
|
16
|
+
static request(message: string): HttpError;
|
|
17
|
+
static timeout(): HttpError;
|
|
18
|
+
static unauthorized(): HttpError;
|
|
19
|
+
static notFound(body: string): HttpError;
|
|
20
|
+
static badRequest(body: string): HttpError;
|
|
21
|
+
static rateLimited(retryAfterMs?: number): HttpError;
|
|
22
|
+
static serverError(status: number, body: string): HttpError;
|
|
23
|
+
static maxRetriesExceeded(attempts: number, lastError: string): HttpError;
|
|
24
|
+
}
|
|
25
|
+
export type WsErrorVariant = "NotConnected" | "ConnectionFailed" | "SendFailed" | "DeserializationError" | "ProtocolError" | "Closed";
|
|
26
|
+
export declare class WsError extends Error {
|
|
27
|
+
readonly variant: WsErrorVariant;
|
|
28
|
+
readonly code?: number;
|
|
29
|
+
constructor(variant: WsErrorVariant, message: string, code?: number);
|
|
30
|
+
}
|
|
31
|
+
export type AuthErrorVariant = "NotAuthenticated" | "LoginFailed" | "SignatureVerificationFailed" | "TokenExpired";
|
|
32
|
+
export declare class AuthError extends Error {
|
|
33
|
+
readonly variant: AuthErrorVariant;
|
|
34
|
+
constructor(variant: AuthErrorVariant, message: string);
|
|
35
|
+
}
|
|
36
|
+
export type SdkErrorVariant = "Http" | "Ws" | "Auth" | "Validation" | "Serde" | "Other";
|
|
37
|
+
export declare class SdkError extends Error {
|
|
38
|
+
readonly variant: SdkErrorVariant;
|
|
39
|
+
readonly causeError?: Error;
|
|
40
|
+
constructor(variant: SdkErrorVariant, message: string, causeError?: Error);
|
|
41
|
+
static from(error: unknown): SdkError;
|
|
42
|
+
static validation(message: string): SdkError;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,aAAa,GACb,aAAa,GACb,cAAc,GACd,UAAU,GACV,YAAY,GACZ,SAAS,GACT,oBAAoB,CAAC;AAEzB,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE;QAClB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAUD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAI1C,MAAM,CAAC,OAAO,IAAI,SAAS;IAI3B,MAAM,CAAC,YAAY,IAAI,SAAS;IAIhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IASxC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAS1C,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS;IAYpD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;IAS3D,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;CAO1E;AAED,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,kBAAkB,GAClB,YAAY,GACZ,sBAAsB,GACtB,eAAe,GACf,QAAQ,CAAC;AAEb,qBAAa,OAAQ,SAAQ,KAAK;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAMpE;AAED,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,aAAa,GACb,6BAA6B,GAC7B,cAAc,CAAC;AAEnB,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAEvB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAExF,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;gBAEhB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK;IAOzE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;IAsBrC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;CAG7C"}
|