@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,117 @@
|
|
|
1
|
+
export interface UnifiedMetadataRequest {
|
|
2
|
+
markets?: MarketMetadataPayload[];
|
|
3
|
+
outcomes?: OutcomeMetadataPayload[];
|
|
4
|
+
conditional_tokens?: ConditionalTokenMetadataPayload[];
|
|
5
|
+
deposit_tokens?: DepositTokenMetadataPayload[];
|
|
6
|
+
}
|
|
7
|
+
export interface MarketMetadataPayload {
|
|
8
|
+
market_id: number;
|
|
9
|
+
market_name?: string;
|
|
10
|
+
slug?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
definition?: string;
|
|
13
|
+
banner_image_url?: string;
|
|
14
|
+
icon_url?: string;
|
|
15
|
+
category?: string;
|
|
16
|
+
subcategory?: string;
|
|
17
|
+
tags?: string[];
|
|
18
|
+
featured_rank?: number;
|
|
19
|
+
metadata_uri?: string;
|
|
20
|
+
s3_synced?: boolean;
|
|
21
|
+
s3_synced_at?: string;
|
|
22
|
+
s3_error?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface OutcomeMetadataPayload {
|
|
25
|
+
market_id: number;
|
|
26
|
+
outcome_index: number;
|
|
27
|
+
name?: string;
|
|
28
|
+
icon_url?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
metadata_uri?: string;
|
|
31
|
+
s3_synced?: boolean;
|
|
32
|
+
s3_synced_at?: string;
|
|
33
|
+
s3_error?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface ConditionalTokenMetadataPayload {
|
|
36
|
+
conditional_mint_id: number;
|
|
37
|
+
outcome_index?: number;
|
|
38
|
+
display_name?: string;
|
|
39
|
+
outcome?: string;
|
|
40
|
+
deposit_symbol?: string;
|
|
41
|
+
short_name?: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
icon_url?: string;
|
|
44
|
+
metadata_uri?: string;
|
|
45
|
+
decimals?: number;
|
|
46
|
+
s3_synced?: boolean;
|
|
47
|
+
s3_synced_at?: string;
|
|
48
|
+
s3_error?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface DepositTokenMetadataPayload {
|
|
51
|
+
deposit_asset: string;
|
|
52
|
+
display_name?: string;
|
|
53
|
+
symbol?: string;
|
|
54
|
+
token_symbol?: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
icon_url?: string;
|
|
57
|
+
metadata_uri?: string;
|
|
58
|
+
decimals?: number;
|
|
59
|
+
s3_synced?: boolean;
|
|
60
|
+
s3_synced_at?: string;
|
|
61
|
+
s3_error?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface UnifiedMetadataResponse {
|
|
64
|
+
status: string;
|
|
65
|
+
markets?: unknown[];
|
|
66
|
+
outcomes?: unknown[];
|
|
67
|
+
conditional_tokens?: unknown[];
|
|
68
|
+
deposit_tokens?: unknown[];
|
|
69
|
+
}
|
|
70
|
+
export type TargetSpec = "all" | {
|
|
71
|
+
user_id: string;
|
|
72
|
+
} | {
|
|
73
|
+
wallet_address: string;
|
|
74
|
+
} | {
|
|
75
|
+
code: string;
|
|
76
|
+
} | {
|
|
77
|
+
batch_id: string;
|
|
78
|
+
};
|
|
79
|
+
export interface AllocateCodesRequest {
|
|
80
|
+
target: TargetSpec;
|
|
81
|
+
batch_id?: string;
|
|
82
|
+
vanity_codes?: string[];
|
|
83
|
+
count?: number;
|
|
84
|
+
max_uses?: number;
|
|
85
|
+
}
|
|
86
|
+
export interface AllocateCodesResponse {
|
|
87
|
+
status: string;
|
|
88
|
+
users_count?: number;
|
|
89
|
+
codes_allocated?: number;
|
|
90
|
+
user_id?: string;
|
|
91
|
+
codes?: string[];
|
|
92
|
+
}
|
|
93
|
+
export interface WhitelistRequest {
|
|
94
|
+
wallet_addresses: string[];
|
|
95
|
+
allocate_codes?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface WhitelistResponse {
|
|
98
|
+
status: string;
|
|
99
|
+
wallets_added: number;
|
|
100
|
+
codes_allocated: number;
|
|
101
|
+
}
|
|
102
|
+
export interface RevokeRequest {
|
|
103
|
+
target: TargetSpec;
|
|
104
|
+
reason?: string;
|
|
105
|
+
}
|
|
106
|
+
export interface RevokeResponse {
|
|
107
|
+
revoked_count: number;
|
|
108
|
+
user_ids: string[];
|
|
109
|
+
}
|
|
110
|
+
export interface UnrevokeRequest {
|
|
111
|
+
target: TargetSpec;
|
|
112
|
+
}
|
|
113
|
+
export interface UnrevokeResponse {
|
|
114
|
+
restored_count: number;
|
|
115
|
+
user_ids: string[];
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/admin/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/admin/wire.ts"],"names":[],"mappings":"","sourcesContent":["export interface UnifiedMetadataRequest {\n markets?: MarketMetadataPayload[];\n outcomes?: OutcomeMetadataPayload[];\n conditional_tokens?: ConditionalTokenMetadataPayload[];\n deposit_tokens?: DepositTokenMetadataPayload[];\n}\n\nexport interface MarketMetadataPayload {\n market_id: number;\n market_name?: string;\n slug?: string;\n description?: string;\n definition?: string;\n banner_image_url?: string;\n icon_url?: string;\n category?: string;\n subcategory?: string;\n tags?: string[];\n featured_rank?: number;\n metadata_uri?: string;\n s3_synced?: boolean;\n s3_synced_at?: string;\n s3_error?: string;\n}\n\nexport interface OutcomeMetadataPayload {\n market_id: number;\n outcome_index: number;\n name?: string;\n icon_url?: string;\n description?: string;\n metadata_uri?: string;\n s3_synced?: boolean;\n s3_synced_at?: string;\n s3_error?: string;\n}\n\nexport interface ConditionalTokenMetadataPayload {\n conditional_mint_id: number;\n outcome_index?: number;\n display_name?: string;\n outcome?: string;\n deposit_symbol?: string;\n short_name?: string;\n description?: string;\n icon_url?: string;\n metadata_uri?: string;\n decimals?: number;\n s3_synced?: boolean;\n s3_synced_at?: string;\n s3_error?: string;\n}\n\nexport interface DepositTokenMetadataPayload {\n deposit_asset: string;\n display_name?: string;\n symbol?: string;\n token_symbol?: string;\n description?: string;\n icon_url?: string;\n metadata_uri?: string;\n decimals?: number;\n s3_synced?: boolean;\n s3_synced_at?: string;\n s3_error?: string;\n}\n\nexport interface UnifiedMetadataResponse {\n status: string;\n markets?: unknown[];\n outcomes?: unknown[];\n conditional_tokens?: unknown[];\n deposit_tokens?: unknown[];\n}\n\nexport type TargetSpec =\n | \"all\"\n | { user_id: string }\n | { wallet_address: string }\n | { code: string }\n | { batch_id: string };\n\nexport interface AllocateCodesRequest {\n target: TargetSpec;\n batch_id?: string;\n vanity_codes?: string[];\n count?: number;\n max_uses?: number;\n}\n\nexport interface AllocateCodesResponse {\n status: string;\n users_count?: number;\n codes_allocated?: number;\n user_id?: string;\n codes?: string[];\n}\n\nexport interface WhitelistRequest {\n wallet_addresses: string[];\n allocate_codes?: boolean;\n}\n\nexport interface WhitelistResponse {\n status: string;\n wallets_added: number;\n codes_allocated: number;\n}\n\nexport interface RevokeRequest {\n target: TargetSpec;\n reason?: string;\n}\n\nexport interface RevokeResponse {\n revoked_count: number;\n user_ids: string[];\n}\n\nexport interface UnrevokeRequest {\n target: TargetSpec;\n}\n\nexport interface UnrevokeResponse {\n restored_count: number;\n user_ids: string[];\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as admin from "./admin";
|
|
2
|
+
export * as market from "./market";
|
|
3
|
+
export * as order from "./order";
|
|
4
|
+
export * as orderbook from "./orderbook";
|
|
5
|
+
export * as position from "./position";
|
|
6
|
+
export * as priceHistory from "./price_history";
|
|
7
|
+
export * as referral from "./referral";
|
|
8
|
+
export * as trade from "./trade";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.trade = exports.referral = exports.priceHistory = exports.position = exports.orderbook = exports.order = exports.market = exports.admin = void 0;
|
|
37
|
+
exports.admin = __importStar(require("./admin"));
|
|
38
|
+
exports.market = __importStar(require("./market"));
|
|
39
|
+
exports.order = __importStar(require("./order"));
|
|
40
|
+
exports.orderbook = __importStar(require("./orderbook"));
|
|
41
|
+
exports.position = __importStar(require("./position"));
|
|
42
|
+
exports.priceHistory = __importStar(require("./price_history"));
|
|
43
|
+
exports.referral = __importStar(require("./referral"));
|
|
44
|
+
exports.trade = __importStar(require("./trade"));
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,mDAAmC;AACnC,iDAAiC;AACjC,yDAAyC;AACzC,uDAAuC;AACvC,gEAAgD;AAChD,uDAAuC;AACvC,iDAAiC","sourcesContent":["export * as admin from \"./admin\";\nexport * as market from \"./market\";\nexport * as order from \"./order\";\nexport * as orderbook from \"./orderbook\";\nexport * as position from \"./position\";\nexport * as priceHistory from \"./price_history\";\nexport * as referral from \"./referral\";\nexport * as trade from \"./trade\";\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LightconeHttp } from "../../http";
|
|
2
|
+
import { type Market } from "./index";
|
|
3
|
+
import type { MarketSearchResult } from "./wire";
|
|
4
|
+
export interface MarketsResult {
|
|
5
|
+
markets: Market[];
|
|
6
|
+
validationErrors: string[];
|
|
7
|
+
}
|
|
8
|
+
interface ClientContext {
|
|
9
|
+
http: LightconeHttp;
|
|
10
|
+
}
|
|
11
|
+
export declare class Markets {
|
|
12
|
+
private readonly client;
|
|
13
|
+
constructor(client: ClientContext);
|
|
14
|
+
get(cursor?: number, limit?: number): Promise<MarketsResult>;
|
|
15
|
+
getBySlug(slug: string): Promise<Market>;
|
|
16
|
+
getByPubkey(pubkey: string): Promise<Market>;
|
|
17
|
+
search(query: string, limit?: number): Promise<MarketSearchResult[]>;
|
|
18
|
+
featured(): Promise<MarketSearchResult[]>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/market/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAyC,MAAM,QAAQ,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAE5C,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA0B5D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAOpE,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAOhD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Markets = void 0;
|
|
4
|
+
const error_1 = require("../../error");
|
|
5
|
+
const http_1 = require("../../http");
|
|
6
|
+
const convert_1 = require("./convert");
|
|
7
|
+
const index_1 = require("./index");
|
|
8
|
+
class Markets {
|
|
9
|
+
client;
|
|
10
|
+
constructor(client) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
}
|
|
13
|
+
async get(cursor, limit) {
|
|
14
|
+
const search = new URLSearchParams();
|
|
15
|
+
if (cursor !== undefined)
|
|
16
|
+
search.set("cursor", String(cursor));
|
|
17
|
+
if (limit !== undefined)
|
|
18
|
+
search.set("limit", String(limit));
|
|
19
|
+
const suffix = search.size > 0 ? `?${search.toString()}` : "";
|
|
20
|
+
const url = `${this.client.http.baseUrl()}/api/markets${suffix}`;
|
|
21
|
+
const response = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
22
|
+
const markets = [];
|
|
23
|
+
const validationErrors = [];
|
|
24
|
+
for (const marketWire of response.markets) {
|
|
25
|
+
try {
|
|
26
|
+
const market = (0, convert_1.marketFromWire)(marketWire);
|
|
27
|
+
if (market.status === index_1.Status.Active || market.status === index_1.Status.Resolved) {
|
|
28
|
+
markets.push(market);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
validationErrors.push(error instanceof Error ? error.message : String(error));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { markets, validationErrors };
|
|
36
|
+
}
|
|
37
|
+
async getBySlug(slug) {
|
|
38
|
+
const url = `${this.client.http.baseUrl()}/api/markets/by-slug/${encodeURIComponent(slug)}`;
|
|
39
|
+
const response = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
40
|
+
try {
|
|
41
|
+
return (0, convert_1.marketFromWire)(response.market);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw error_1.SdkError.validation(error instanceof Error ? error.message : String(error));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async getByPubkey(pubkey) {
|
|
48
|
+
const url = `${this.client.http.baseUrl()}/api/markets/${encodeURIComponent(pubkey)}`;
|
|
49
|
+
const response = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
50
|
+
try {
|
|
51
|
+
return (0, convert_1.marketFromWire)(response.market);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
throw error_1.SdkError.validation(error instanceof Error ? error.message : String(error));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async search(query, limit) {
|
|
58
|
+
const encoded = encodeURIComponent(query);
|
|
59
|
+
const suffix = limit !== undefined ? `?limit=${limit}` : "";
|
|
60
|
+
const url = `${this.client.http.baseUrl()}/api/markets/search/by-query/${encoded}${suffix}`;
|
|
61
|
+
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
62
|
+
}
|
|
63
|
+
async featured() {
|
|
64
|
+
const url = `${this.client.http.baseUrl()}/api/markets/search/featured`;
|
|
65
|
+
const result = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
66
|
+
return result.filter((item) => item.market_status === index_1.Status.Active || item.market_status === index_1.Status.Resolved);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.Markets = Markets;
|
|
70
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/market/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { SdkError } from \"../../error\";\nimport { RetryPolicy } from \"../../http\";\nimport type { LightconeHttp } from \"../../http\";\nimport { marketFromWire } from \"./convert\";\nimport { Status, type Market } from \"./index\";\nimport type { MarketSearchResult, MarketsResponse, SingleMarketResponse } from \"./wire\";\n\nexport interface MarketsResult {\n markets: Market[];\n validationErrors: string[];\n}\n\ninterface ClientContext {\n http: LightconeHttp;\n}\n\nexport class Markets {\n constructor(private readonly client: ClientContext) {}\n\n async get(cursor?: number, limit?: number): Promise<MarketsResult> {\n const search = new URLSearchParams();\n if (cursor !== undefined) search.set(\"cursor\", String(cursor));\n if (limit !== undefined) search.set(\"limit\", String(limit));\n\n const suffix = search.size > 0 ? `?${search.toString()}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/markets${suffix}`;\n\n const response = await this.client.http.get<MarketsResponse>(url, RetryPolicy.Idempotent);\n const markets: Market[] = [];\n const validationErrors: string[] = [];\n\n for (const marketWire of response.markets) {\n try {\n const market = marketFromWire(marketWire);\n if (market.status === Status.Active || market.status === Status.Resolved) {\n markets.push(market);\n }\n } catch (error) {\n validationErrors.push(error instanceof Error ? error.message : String(error));\n }\n }\n\n return { markets, validationErrors };\n }\n\n async getBySlug(slug: string): Promise<Market> {\n const url = `${this.client.http.baseUrl()}/api/markets/by-slug/${encodeURIComponent(slug)}`;\n const response = await this.client.http.get<SingleMarketResponse>(url, RetryPolicy.Idempotent);\n\n try {\n return marketFromWire(response.market);\n } catch (error) {\n throw SdkError.validation(error instanceof Error ? error.message : String(error));\n }\n }\n\n async getByPubkey(pubkey: string): Promise<Market> {\n const url = `${this.client.http.baseUrl()}/api/markets/${encodeURIComponent(pubkey)}`;\n const response = await this.client.http.get<SingleMarketResponse>(url, RetryPolicy.Idempotent);\n\n try {\n return marketFromWire(response.market);\n } catch (error) {\n throw SdkError.validation(error instanceof Error ? error.message : String(error));\n }\n }\n\n async search(query: string, limit?: number): Promise<MarketSearchResult[]> {\n const encoded = encodeURIComponent(query);\n const suffix = limit !== undefined ? `?limit=${limit}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/markets/search/by-query/${encoded}${suffix}`;\n return this.client.http.get<MarketSearchResult[]>(url, RetryPolicy.Idempotent);\n }\n\n async featured(): Promise<MarketSearchResult[]> {\n const url = `${this.client.http.baseUrl()}/api/markets/search/featured`;\n const result = await this.client.http.get<MarketSearchResult[]>(url, RetryPolicy.Idempotent);\n return result.filter(\n (item) => item.market_status === Status.Active || item.market_status === Status.Resolved\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Market } from "./index";
|
|
2
|
+
import type { MarketResponse } from "./wire";
|
|
3
|
+
export declare function marketFromWire(source: MarketResponse): Market;
|
|
4
|
+
export declare function tryMarketFromWire(source: MarketResponse): {
|
|
5
|
+
market?: Market;
|
|
6
|
+
error?: string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/domain/market/convert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,MAAM,EAAiC,MAAM,SAAS,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA0E7D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAM7F"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.marketFromWire = marketFromWire;
|
|
4
|
+
exports.tryMarketFromWire = tryMarketFromWire;
|
|
5
|
+
const shared_1 = require("../../shared");
|
|
6
|
+
const convert_1 = require("../orderbook/convert");
|
|
7
|
+
const outcome_1 = require("./outcome");
|
|
8
|
+
const index_1 = require("./index");
|
|
9
|
+
const tokens_1 = require("./tokens");
|
|
10
|
+
function marketFromWire(source) {
|
|
11
|
+
const errors = [];
|
|
12
|
+
const outcomes = source.outcomes.flatMap((outcome) => {
|
|
13
|
+
try {
|
|
14
|
+
return [(0, outcome_1.outcomeFromWire)(outcome)];
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const depositAssets = [];
|
|
22
|
+
const conditionalTokens = [];
|
|
23
|
+
const tokenMetadata = {};
|
|
24
|
+
for (const depositAsset of source.deposit_assets) {
|
|
25
|
+
try {
|
|
26
|
+
const validated = (0, tokens_1.validatedTokensFromWire)(depositAsset);
|
|
27
|
+
depositAssets.push(validated.token);
|
|
28
|
+
conditionalTokens.push(...validated.conditionals);
|
|
29
|
+
Object.assign(tokenMetadata, validated.metadata);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const orderbookPairs = source.orderbooks.flatMap((orderbook) => {
|
|
36
|
+
try {
|
|
37
|
+
return [(0, convert_1.orderBookPairFromWire)(orderbook, conditionalTokens)];
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const status = (0, index_1.statusFromWire)(source.market_status);
|
|
45
|
+
if (!source.slug)
|
|
46
|
+
errors.push("Missing slug");
|
|
47
|
+
if (!source.market_name)
|
|
48
|
+
errors.push("Missing market name");
|
|
49
|
+
if (!status)
|
|
50
|
+
errors.push(`Invalid status: ${source.market_status}`);
|
|
51
|
+
if (!source.description)
|
|
52
|
+
errors.push("Missing description");
|
|
53
|
+
if (!source.definition)
|
|
54
|
+
errors.push("Missing definition");
|
|
55
|
+
if (!source.icon_url)
|
|
56
|
+
errors.push("Missing icon URL");
|
|
57
|
+
if (!source.banner_image_url)
|
|
58
|
+
errors.push("Missing banner image URL");
|
|
59
|
+
if (errors.length > 0) {
|
|
60
|
+
throw new index_1.MarketValidationError(source.market_pubkey, errors);
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
id: source.market_id,
|
|
64
|
+
pubkey: (0, shared_1.asPubkeyStr)(source.market_pubkey),
|
|
65
|
+
name: source.market_name ?? "",
|
|
66
|
+
bannerImageUrl: source.banner_image_url ?? "",
|
|
67
|
+
iconUrl: source.icon_url ?? "",
|
|
68
|
+
featuredRank: source.featured_rank,
|
|
69
|
+
volume: "0",
|
|
70
|
+
slug: source.slug ?? "",
|
|
71
|
+
status: status ?? index_1.Status.Pending,
|
|
72
|
+
createdAt: new Date(source.created_at),
|
|
73
|
+
activatedAt: source.activated_at ? new Date(source.activated_at) : undefined,
|
|
74
|
+
settledAt: source.settled_at ? new Date(source.settled_at) : undefined,
|
|
75
|
+
winningOutcome: source.winning_outcome,
|
|
76
|
+
description: source.description ?? "",
|
|
77
|
+
definition: source.definition ?? "",
|
|
78
|
+
category: source.category,
|
|
79
|
+
tags: source.tags ?? [],
|
|
80
|
+
depositAssets,
|
|
81
|
+
conditionalTokens,
|
|
82
|
+
outcomes,
|
|
83
|
+
orderbookPairs,
|
|
84
|
+
orderbookIds: orderbookPairs.map((pair) => pair.orderbookId),
|
|
85
|
+
tokenMetadata,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function tryMarketFromWire(source) {
|
|
89
|
+
try {
|
|
90
|
+
return { market: marketFromWire(source) };
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
return { error: error instanceof Error ? error.message : String(error) };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/domain/market/convert.ts"],"names":[],"mappings":"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","sourcesContent":["import { asPubkeyStr } from \"../../shared\";\nimport { orderBookPairFromWire } from \"../orderbook/convert\";\nimport { outcomeFromWire } from \"./outcome\";\nimport { statusFromWire, type Market, MarketValidationError, Status } from \"./index\";\nimport { validatedTokensFromWire } from \"./tokens\";\nimport type { MarketResponse } from \"./wire\";\n\nexport function marketFromWire(source: MarketResponse): Market {\n const errors: string[] = [];\n\n const outcomes = source.outcomes.flatMap((outcome) => {\n try {\n return [outcomeFromWire(outcome)];\n } catch (error) {\n errors.push(error instanceof Error ? error.message : String(error));\n return [];\n }\n });\n\n const depositAssets = [] as Market[\"depositAssets\"];\n const conditionalTokens = [] as Market[\"conditionalTokens\"];\n const tokenMetadata: Market[\"tokenMetadata\"] = {};\n\n for (const depositAsset of source.deposit_assets) {\n try {\n const validated = validatedTokensFromWire(depositAsset);\n depositAssets.push(validated.token);\n conditionalTokens.push(...validated.conditionals);\n Object.assign(tokenMetadata, validated.metadata);\n } catch (error) {\n errors.push(error instanceof Error ? error.message : String(error));\n }\n }\n\n const orderbookPairs = source.orderbooks.flatMap((orderbook) => {\n try {\n return [orderBookPairFromWire(orderbook, conditionalTokens)];\n } catch (error) {\n errors.push(error instanceof Error ? error.message : String(error));\n return [];\n }\n });\n\n const status = statusFromWire(source.market_status);\n if (!source.slug) errors.push(\"Missing slug\");\n if (!source.market_name) errors.push(\"Missing market name\");\n if (!status) errors.push(`Invalid status: ${source.market_status}`);\n if (!source.description) errors.push(\"Missing description\");\n if (!source.definition) errors.push(\"Missing definition\");\n if (!source.icon_url) errors.push(\"Missing icon URL\");\n if (!source.banner_image_url) errors.push(\"Missing banner image URL\");\n\n if (errors.length > 0) {\n throw new MarketValidationError(source.market_pubkey, errors);\n }\n\n return {\n id: source.market_id,\n pubkey: asPubkeyStr(source.market_pubkey),\n name: source.market_name ?? \"\",\n bannerImageUrl: source.banner_image_url ?? \"\",\n iconUrl: source.icon_url ?? \"\",\n featuredRank: source.featured_rank,\n volume: \"0\",\n slug: source.slug ?? \"\",\n status: status ?? Status.Pending,\n createdAt: new Date(source.created_at),\n activatedAt: source.activated_at ? new Date(source.activated_at) : undefined,\n settledAt: source.settled_at ? new Date(source.settled_at) : undefined,\n winningOutcome: source.winning_outcome,\n description: source.description ?? \"\",\n definition: source.definition ?? \"\",\n category: source.category,\n tags: source.tags ?? [],\n depositAssets,\n conditionalTokens,\n outcomes,\n orderbookPairs,\n orderbookIds: orderbookPairs.map((pair) => pair.orderbookId),\n tokenMetadata,\n };\n}\n\nexport function tryMarketFromWire(source: MarketResponse): { market?: Market; error?: string } {\n try {\n return { market: marketFromWire(source) };\n } catch (error) {\n return { error: error instanceof Error ? error.message : String(error) };\n }\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { OrderBookId, PubkeyStr } from "../../shared";
|
|
2
|
+
import type { OrderBookPair } from "../orderbook";
|
|
3
|
+
import type { Outcome } from "./outcome";
|
|
4
|
+
import type { ConditionalToken, DepositAsset, TokenMetadata } from "./tokens";
|
|
5
|
+
export * from "./client";
|
|
6
|
+
export * from "./wire";
|
|
7
|
+
export * from "./outcome";
|
|
8
|
+
export * from "./tokens";
|
|
9
|
+
export { marketFromWire, tryMarketFromWire } from "./convert";
|
|
10
|
+
export declare enum Status {
|
|
11
|
+
Pending = "Pending",
|
|
12
|
+
Active = "Active",
|
|
13
|
+
Resolved = "Resolved",
|
|
14
|
+
Cancelled = "Cancelled"
|
|
15
|
+
}
|
|
16
|
+
export declare function statusFromWire(value: string): Status | undefined;
|
|
17
|
+
export interface Market {
|
|
18
|
+
id: number;
|
|
19
|
+
pubkey: PubkeyStr;
|
|
20
|
+
name: string;
|
|
21
|
+
bannerImageUrl: string;
|
|
22
|
+
iconUrl: string;
|
|
23
|
+
featuredRank?: number;
|
|
24
|
+
volume: string;
|
|
25
|
+
slug: string;
|
|
26
|
+
status: Status;
|
|
27
|
+
createdAt: Date;
|
|
28
|
+
activatedAt?: Date;
|
|
29
|
+
settledAt?: Date;
|
|
30
|
+
winningOutcome?: number;
|
|
31
|
+
description: string;
|
|
32
|
+
definition: string;
|
|
33
|
+
category?: string;
|
|
34
|
+
tags: string[];
|
|
35
|
+
depositAssets: DepositAsset[];
|
|
36
|
+
conditionalTokens: ConditionalToken[];
|
|
37
|
+
outcomes: Outcome[];
|
|
38
|
+
orderbookPairs: OrderBookPair[];
|
|
39
|
+
orderbookIds: OrderBookId[];
|
|
40
|
+
tokenMetadata: Record<string, TokenMetadata>;
|
|
41
|
+
}
|
|
42
|
+
export declare class MarketValidationError extends Error {
|
|
43
|
+
readonly marketPubkey: string;
|
|
44
|
+
readonly details: string[];
|
|
45
|
+
constructor(marketPubkey: string, details: string[]);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9E,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,oBAAY,MAAM;IAChB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAahE;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAEf,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;CAMpD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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.MarketValidationError = exports.Status = exports.tryMarketFromWire = exports.marketFromWire = void 0;
|
|
18
|
+
exports.statusFromWire = statusFromWire;
|
|
19
|
+
__exportStar(require("./client"), exports);
|
|
20
|
+
__exportStar(require("./wire"), exports);
|
|
21
|
+
__exportStar(require("./outcome"), exports);
|
|
22
|
+
__exportStar(require("./tokens"), exports);
|
|
23
|
+
var convert_1 = require("./convert");
|
|
24
|
+
Object.defineProperty(exports, "marketFromWire", { enumerable: true, get: function () { return convert_1.marketFromWire; } });
|
|
25
|
+
Object.defineProperty(exports, "tryMarketFromWire", { enumerable: true, get: function () { return convert_1.tryMarketFromWire; } });
|
|
26
|
+
var Status;
|
|
27
|
+
(function (Status) {
|
|
28
|
+
Status["Pending"] = "Pending";
|
|
29
|
+
Status["Active"] = "Active";
|
|
30
|
+
Status["Resolved"] = "Resolved";
|
|
31
|
+
Status["Cancelled"] = "Cancelled";
|
|
32
|
+
})(Status || (exports.Status = Status = {}));
|
|
33
|
+
function statusFromWire(value) {
|
|
34
|
+
switch (value) {
|
|
35
|
+
case Status.Pending:
|
|
36
|
+
return Status.Pending;
|
|
37
|
+
case Status.Active:
|
|
38
|
+
return Status.Active;
|
|
39
|
+
case Status.Resolved:
|
|
40
|
+
return Status.Resolved;
|
|
41
|
+
case Status.Cancelled:
|
|
42
|
+
return Status.Cancelled;
|
|
43
|
+
default:
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
class MarketValidationError extends Error {
|
|
48
|
+
marketPubkey;
|
|
49
|
+
details;
|
|
50
|
+
constructor(marketPubkey, details) {
|
|
51
|
+
super(`Market validation errors (${marketPubkey}): ${details.join("; ")}`);
|
|
52
|
+
this.name = "MarketValidationError";
|
|
53
|
+
this.marketPubkey = marketPubkey;
|
|
54
|
+
this.details = details;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.MarketValidationError = MarketValidationError;
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/market/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAkBA,wCAaC;AA1BD,2CAAyB;AACzB,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,qCAA8D;AAArD,yGAAA,cAAc,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAE1C,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,6BAAmB,CAAA;IACnB,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,iCAAuB,CAAA;AACzB,CAAC,EALW,MAAM,sBAAN,MAAM,QAKjB;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,OAAO;YACjB,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,KAAK,MAAM,CAAC,MAAM;YAChB,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM,CAAC,QAAQ;YAClB,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,KAAK,MAAM,CAAC,SAAS;YACnB,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AA4BD,MAAa,qBAAsB,SAAQ,KAAK;IACrC,YAAY,CAAS;IACrB,OAAO,CAAW;IAE3B,YAAY,YAAoB,EAAE,OAAiB;QACjD,KAAK,CAAC,6BAA6B,YAAY,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,sDAUC","sourcesContent":["import type { OrderBookId, PubkeyStr } from \"../../shared\";\nimport type { OrderBookPair } from \"../orderbook\";\nimport type { Outcome } from \"./outcome\";\nimport type { ConditionalToken, DepositAsset, TokenMetadata } from \"./tokens\";\n\nexport * from \"./client\";\nexport * from \"./wire\";\nexport * from \"./outcome\";\nexport * from \"./tokens\";\nexport { marketFromWire, tryMarketFromWire } from \"./convert\";\n\nexport enum Status {\n Pending = \"Pending\",\n Active = \"Active\",\n Resolved = \"Resolved\",\n Cancelled = \"Cancelled\",\n}\n\nexport function statusFromWire(value: string): Status | undefined {\n switch (value) {\n case Status.Pending:\n return Status.Pending;\n case Status.Active:\n return Status.Active;\n case Status.Resolved:\n return Status.Resolved;\n case Status.Cancelled:\n return Status.Cancelled;\n default:\n return undefined;\n }\n}\n\nexport interface Market {\n id: number;\n pubkey: PubkeyStr;\n name: string;\n bannerImageUrl: string;\n iconUrl: string;\n featuredRank?: number;\n volume: string;\n slug: string;\n status: Status;\n createdAt: Date;\n activatedAt?: Date;\n settledAt?: Date;\n winningOutcome?: number;\n description: string;\n definition: string;\n category?: string;\n tags: string[];\n depositAssets: DepositAsset[];\n conditionalTokens: ConditionalToken[];\n outcomes: Outcome[];\n orderbookPairs: OrderBookPair[];\n orderbookIds: OrderBookId[];\n tokenMetadata: Record<string, TokenMetadata>;\n}\n\nexport class MarketValidationError extends Error {\n readonly marketPubkey: string;\n readonly details: string[];\n\n constructor(marketPubkey: string, details: string[]) {\n super(`Market validation errors (${marketPubkey}): ${details.join(\"; \")}`);\n this.name = \"MarketValidationError\";\n this.marketPubkey = marketPubkey;\n this.details = details;\n }\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { OutcomeResponse } from "./wire";
|
|
2
|
+
export interface Outcome {
|
|
3
|
+
index: number;
|
|
4
|
+
iconUrl: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class OutcomeValidationError extends Error {
|
|
8
|
+
readonly details: string[];
|
|
9
|
+
constructor(name: string, details: string[]);
|
|
10
|
+
}
|
|
11
|
+
export declare function outcomeFromWire(source: OutcomeResponse): Outcome;
|
|
12
|
+
//# sourceMappingURL=outcome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../../src/domain/market/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBAEf,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;CAK5C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAehE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OutcomeValidationError = void 0;
|
|
4
|
+
exports.outcomeFromWire = outcomeFromWire;
|
|
5
|
+
class OutcomeValidationError extends Error {
|
|
6
|
+
details;
|
|
7
|
+
constructor(name, details) {
|
|
8
|
+
super(`Outcome validation errors (${name}): ${details.join("; ")}`);
|
|
9
|
+
this.name = "OutcomeValidationError";
|
|
10
|
+
this.details = details;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.OutcomeValidationError = OutcomeValidationError;
|
|
14
|
+
function outcomeFromWire(source) {
|
|
15
|
+
const errors = [];
|
|
16
|
+
if (!source.icon_url) {
|
|
17
|
+
errors.push("Missing thumbnail URL");
|
|
18
|
+
}
|
|
19
|
+
if (errors.length > 0) {
|
|
20
|
+
throw new OutcomeValidationError(source.name, errors);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
index: source.index,
|
|
24
|
+
iconUrl: source.icon_url ?? "",
|
|
25
|
+
name: source.name,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=outcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../../src/domain/market/outcome.ts"],"names":[],"mappings":";;;AAkBA,0CAeC;AAzBD,MAAa,sBAAuB,SAAQ,KAAK;IACtC,OAAO,CAAW;IAE3B,YAAY,IAAY,EAAE,OAAiB;QACzC,KAAK,CAAC,8BAA8B,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AARD,wDAQC;AAED,SAAgB,eAAe,CAAC,MAAuB;IACrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC","sourcesContent":["import type { OutcomeResponse } from \"./wire\";\n\nexport interface Outcome {\n index: number;\n iconUrl: string;\n name: string;\n}\n\nexport class OutcomeValidationError extends Error {\n readonly details: string[];\n\n constructor(name: string, details: string[]) {\n super(`Outcome validation errors (${name}): ${details.join(\"; \")}`);\n this.name = \"OutcomeValidationError\";\n this.details = details;\n }\n}\n\nexport function outcomeFromWire(source: OutcomeResponse): Outcome {\n const errors: string[] = [];\n if (!source.icon_url) {\n errors.push(\"Missing thumbnail URL\");\n }\n\n if (errors.length > 0) {\n throw new OutcomeValidationError(source.name, errors);\n }\n\n return {\n index: source.index,\n iconUrl: source.icon_url ?? \"\",\n name: source.name,\n };\n}\n"]}
|