@openmarketsai/order-sheet 0.1.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/LICENSE +201 -0
- package/NOTICE +5 -0
- package/README.md +183 -0
- package/dist/auth.d.ts +24 -0
- package/dist/auth.js +36 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +158 -0
- package/dist/client.js +253 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +34 -0
- package/dist/errors.js +34 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/contract.d.ts +28 -0
- package/dist/generated/contract.js +176 -0
- package/dist/generated/contract.js.map +1 -0
- package/dist/http.d.ts +19 -0
- package/dist/http.js +58 -0
- package/dist/http.js.map +1 -0
- package/dist/index.cjs +1742 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/math.d.ts +22 -0
- package/dist/math.js +55 -0
- package/dist/math.js.map +1 -0
- package/dist/messages.d.ts +21 -0
- package/dist/messages.js +97 -0
- package/dist/messages.js.map +1 -0
- package/dist/odds.d.ts +12 -0
- package/dist/odds.js +33 -0
- package/dist/odds.js.map +1 -0
- package/dist/quote.d.ts +20 -0
- package/dist/quote.js +117 -0
- package/dist/quote.js.map +1 -0
- package/dist/react.cjs +2137 -0
- package/dist/react.d.ts +157 -0
- package/dist/react.js +297 -0
- package/dist/react.js.map +1 -0
- package/dist/sheet.d.ts +77 -0
- package/dist/sheet.js +648 -0
- package/dist/sheet.js.map +1 -0
- package/dist/stream.d.ts +71 -0
- package/dist/stream.js +160 -0
- package/dist/stream.js.map +1 -0
- package/dist/types.d.ts +287 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/styles.css +284 -0
- package/dist/ui/theme.d.ts +108 -0
- package/dist/ui/theme.js +180 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui.cjs +2606 -0
- package/dist/ui.d.ts +124 -0
- package/dist/ui.js +154 -0
- package/dist/ui.js.map +1 -0
- package/dist/validate.d.ts +20 -0
- package/dist/validate.js +126 -0
- package/dist/validate.js.map +1 -0
- package/dist/venues.d.ts +19 -0
- package/dist/venues.js +103 -0
- package/dist/venues.js.map +1 -0
- package/dist/wire.d.ts +382 -0
- package/dist/wire.js +2 -0
- package/dist/wire.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.js","sourceRoot":"","sources":["../src/sheet.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Flow stream, for the two private channels a sheet follows: `orders`
|
|
3
|
+
* (order.update / order.settled) and `balance` (balance.update).
|
|
4
|
+
*
|
|
5
|
+
* Contract the server holds us to:
|
|
6
|
+
* - auth is `?api_key=` on the URL — a JWT session has no stream (poll instead)
|
|
7
|
+
* - subscribe with NO `account_ids` for your own account (sending your own is refused)
|
|
8
|
+
* - `orders` is changes-only with no replay: on every `connected`, refetch
|
|
9
|
+
* GET /orders/resting/me — the client wires that through `onConnected`
|
|
10
|
+
* - `balance.update` carries `balance_version`; drop out-of-order frames
|
|
11
|
+
* - `{ action: 'ping' }` → `{ type: 'pong' }`
|
|
12
|
+
*
|
|
13
|
+
* Zero-dependency: uses the global WebSocket (browser, Node 22+) or one you inject.
|
|
14
|
+
*/
|
|
15
|
+
import type { StreamBalanceUpdate, StreamOrderSettled, StreamOrderUpdate, StreamServerMessage } from './wire.js';
|
|
16
|
+
export type WebSocketCtor = new (url: string) => WebSocketLike;
|
|
17
|
+
export interface WebSocketLike {
|
|
18
|
+
readyState: number;
|
|
19
|
+
send(data: string): void;
|
|
20
|
+
close(code?: number, reason?: string): void;
|
|
21
|
+
onopen: ((ev: unknown) => void) | null;
|
|
22
|
+
onclose: ((ev: unknown) => void) | null;
|
|
23
|
+
onerror: ((ev: unknown) => void) | null;
|
|
24
|
+
onmessage: ((ev: {
|
|
25
|
+
data: unknown;
|
|
26
|
+
}) => void) | null;
|
|
27
|
+
}
|
|
28
|
+
export type StreamStatus = 'idle' | 'connecting' | 'open' | 'closed';
|
|
29
|
+
export interface StreamEvents {
|
|
30
|
+
'order.update': StreamOrderUpdate;
|
|
31
|
+
'order.settled': StreamOrderSettled;
|
|
32
|
+
'balance.update': StreamBalanceUpdate;
|
|
33
|
+
connected: {
|
|
34
|
+
server_time: string | null;
|
|
35
|
+
};
|
|
36
|
+
disconnected: {
|
|
37
|
+
willRetry: boolean;
|
|
38
|
+
};
|
|
39
|
+
error: {
|
|
40
|
+
code: string;
|
|
41
|
+
message: string;
|
|
42
|
+
};
|
|
43
|
+
status: StreamStatus;
|
|
44
|
+
}
|
|
45
|
+
export interface OrderStreamOptions {
|
|
46
|
+
url: string;
|
|
47
|
+
getApiKey: () => Promise<string | null> | string | null;
|
|
48
|
+
WebSocket?: WebSocketCtor;
|
|
49
|
+
channels?: Array<'orders' | 'balance'>;
|
|
50
|
+
/** Reconnect back-off (ms). Set `maxAttempts: 0` to never retry. */
|
|
51
|
+
backoff?: {
|
|
52
|
+
initialMs?: number;
|
|
53
|
+
maxMs?: number;
|
|
54
|
+
maxAttempts?: number;
|
|
55
|
+
};
|
|
56
|
+
pingIntervalMs?: number;
|
|
57
|
+
/** For tests: replace setTimeout / clearTimeout. */
|
|
58
|
+
timers?: {
|
|
59
|
+
set: typeof setTimeout;
|
|
60
|
+
clear: typeof clearTimeout;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export interface OrderStream {
|
|
64
|
+
connect(): Promise<void>;
|
|
65
|
+
disconnect(): void;
|
|
66
|
+
readonly status: StreamStatus;
|
|
67
|
+
on<K extends keyof StreamEvents>(event: K, handler: (payload: StreamEvents[K]) => void): () => void;
|
|
68
|
+
/** Feed a frame in by hand (tests, or a host that owns the socket). */
|
|
69
|
+
ingest(frame: StreamServerMessage): void;
|
|
70
|
+
}
|
|
71
|
+
export declare function createOrderStream(options: OrderStreamOptions): OrderStream;
|
package/dist/stream.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
export function createOrderStream(options) {
|
|
2
|
+
const channels = options.channels ?? ['orders', 'balance'];
|
|
3
|
+
const timers = options.timers ?? { set: setTimeout, clear: clearTimeout };
|
|
4
|
+
const backoff = { initialMs: 1000, maxMs: 30000, maxAttempts: Infinity, ...(options.backoff ?? {}) };
|
|
5
|
+
const handlers = new Map();
|
|
6
|
+
const balanceVersions = new Map();
|
|
7
|
+
let ws = null;
|
|
8
|
+
let status = 'idle';
|
|
9
|
+
let attempts = 0;
|
|
10
|
+
let wantOpen = false;
|
|
11
|
+
let reconnectTimer = null;
|
|
12
|
+
let pingTimer = null;
|
|
13
|
+
const emit = (event, payload) => {
|
|
14
|
+
for (const h of handlers.get(event) ?? []) {
|
|
15
|
+
try {
|
|
16
|
+
h(payload);
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
console.error('[order-sheet] stream handler threw', e);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const setStatus = (s) => { if (s !== status) {
|
|
24
|
+
status = s;
|
|
25
|
+
emit('status', s);
|
|
26
|
+
} };
|
|
27
|
+
const stopPing = () => { if (pingTimer) {
|
|
28
|
+
timers.clear(pingTimer);
|
|
29
|
+
pingTimer = null;
|
|
30
|
+
} };
|
|
31
|
+
const schedulePing = () => {
|
|
32
|
+
stopPing();
|
|
33
|
+
const every = options.pingIntervalMs ?? 25000;
|
|
34
|
+
if (!(every > 0))
|
|
35
|
+
return;
|
|
36
|
+
pingTimer = timers.set(() => {
|
|
37
|
+
if (ws && ws.readyState === 1) {
|
|
38
|
+
try {
|
|
39
|
+
ws.send(JSON.stringify({ action: 'ping' }));
|
|
40
|
+
}
|
|
41
|
+
catch { /* closed */ }
|
|
42
|
+
}
|
|
43
|
+
schedulePing();
|
|
44
|
+
}, every);
|
|
45
|
+
};
|
|
46
|
+
function ingest(frame) {
|
|
47
|
+
switch (frame.type) {
|
|
48
|
+
case 'connected': {
|
|
49
|
+
attempts = 0;
|
|
50
|
+
for (const channel of channels)
|
|
51
|
+
ws?.send(JSON.stringify({ action: 'subscribe', channel }));
|
|
52
|
+
emit('connected', { server_time: frame.server_time ?? null });
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
case 'order.update':
|
|
56
|
+
emit('order.update', frame);
|
|
57
|
+
return;
|
|
58
|
+
case 'order.settled':
|
|
59
|
+
emit('order.settled', frame);
|
|
60
|
+
return;
|
|
61
|
+
case 'balance.update': {
|
|
62
|
+
const f = frame;
|
|
63
|
+
const last = balanceVersions.get(f.account_partner_id);
|
|
64
|
+
if (last != null && typeof f.balance_version === 'number' && f.balance_version <= last)
|
|
65
|
+
return; // out of order
|
|
66
|
+
if (typeof f.balance_version === 'number')
|
|
67
|
+
balanceVersions.set(f.account_partner_id, f.balance_version);
|
|
68
|
+
emit('balance.update', f);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
case 'error': {
|
|
72
|
+
const f = frame;
|
|
73
|
+
emit('error', { code: f.code ?? 'stream_error', message: f.message ?? 'stream error' });
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
default: return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function open() {
|
|
80
|
+
const Ctor = options.WebSocket ?? globalThis.WebSocket;
|
|
81
|
+
if (!Ctor) {
|
|
82
|
+
emit('error', { code: 'stream_unavailable', message: 'No WebSocket implementation available.' });
|
|
83
|
+
setStatus('closed');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const key = await options.getApiKey();
|
|
87
|
+
if (!key) {
|
|
88
|
+
emit('error', { code: 'no_credential', message: 'The stream needs an API key.' });
|
|
89
|
+
setStatus('closed');
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const sep = options.url.includes('?') ? '&' : '?';
|
|
93
|
+
setStatus('connecting');
|
|
94
|
+
const socket = new Ctor(`${options.url}${sep}api_key=${encodeURIComponent(key)}`);
|
|
95
|
+
ws = socket;
|
|
96
|
+
socket.onopen = () => { setStatus('open'); schedulePing(); };
|
|
97
|
+
socket.onmessage = (ev) => {
|
|
98
|
+
let frame = null;
|
|
99
|
+
try {
|
|
100
|
+
frame = JSON.parse(String(ev.data));
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (frame && typeof frame === 'object' && typeof frame.type === 'string')
|
|
106
|
+
ingest(frame);
|
|
107
|
+
};
|
|
108
|
+
socket.onerror = () => { };
|
|
109
|
+
socket.onclose = () => {
|
|
110
|
+
if (ws !== socket)
|
|
111
|
+
return;
|
|
112
|
+
ws = null;
|
|
113
|
+
stopPing();
|
|
114
|
+
const willRetry = wantOpen && attempts < backoff.maxAttempts;
|
|
115
|
+
setStatus('closed');
|
|
116
|
+
emit('disconnected', { willRetry });
|
|
117
|
+
if (willRetry) {
|
|
118
|
+
const delay = Math.min(backoff.maxMs, backoff.initialMs * Math.pow(2, attempts));
|
|
119
|
+
attempts += 1;
|
|
120
|
+
reconnectTimer = timers.set(() => { reconnectTimer = null; if (wantOpen)
|
|
121
|
+
void open(); }, delay);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
get status() { return status; },
|
|
127
|
+
async connect() {
|
|
128
|
+
wantOpen = true;
|
|
129
|
+
if (ws)
|
|
130
|
+
return;
|
|
131
|
+
await open();
|
|
132
|
+
},
|
|
133
|
+
disconnect() {
|
|
134
|
+
wantOpen = false;
|
|
135
|
+
if (reconnectTimer) {
|
|
136
|
+
timers.clear(reconnectTimer);
|
|
137
|
+
reconnectTimer = null;
|
|
138
|
+
}
|
|
139
|
+
stopPing();
|
|
140
|
+
const s = ws;
|
|
141
|
+
ws = null; // the socket's own onclose is now a no-op (guarded on identity)
|
|
142
|
+
try {
|
|
143
|
+
s?.close(1000, 'client disconnect');
|
|
144
|
+
}
|
|
145
|
+
catch { /* already closed */ }
|
|
146
|
+
setStatus('closed');
|
|
147
|
+
if (s)
|
|
148
|
+
emit('disconnected', { willRetry: false });
|
|
149
|
+
},
|
|
150
|
+
on(event, handler) {
|
|
151
|
+
if (!handlers.has(event))
|
|
152
|
+
handlers.set(event, new Set());
|
|
153
|
+
const set = handlers.get(event);
|
|
154
|
+
set.add(handler);
|
|
155
|
+
return () => { set.delete(handler); };
|
|
156
|
+
},
|
|
157
|
+
ingest,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SDK's public vocabulary — what an app renders. camelCase, derived from the
|
|
3
|
+
* wire shapes in ./wire.ts. Every enum is either generated from the server
|
|
4
|
+
* contract (IssueCode, IssueFix) or a small closed union declared here.
|
|
5
|
+
*/
|
|
6
|
+
import type { IssueCode, IssueFix } from './generated/contract.js';
|
|
7
|
+
import type { OrderSheetError } from './errors.js';
|
|
8
|
+
import type { OddsFormat } from './odds.js';
|
|
9
|
+
import type { AccountConstraints, BuyLegStatus, BuyResponse, FeeDirection, FeePacket, MoneyMode, OrderType, Position, PreflightLegResult, StakeUnit, VenueConstraints, IssueSeverity, IssueScope } from './wire.js';
|
|
10
|
+
export type { IssueCode, IssueFix, MoneyMode, OrderType, StakeUnit, OddsFormat, IssueSeverity, IssueScope };
|
|
11
|
+
/** Issues the sheet raises on its own, before or beside the server's. */
|
|
12
|
+
export type ClientIssueCode = 'no_venue' | 'no_stake' | 'no_quote' | 'paper_limit_unsupported' | 'order_type_unsupported' | 'mode_unavailable' | 'real_money_disabled' | 'not_paper_bettable' | 'stale_quote' | 'better_price_available' | 'constraints_stale' | 'confirm_required' | 'confirm_expired' | 'not_ready';
|
|
13
|
+
export type SheetIssueCode = IssueCode | ClientIssueCode;
|
|
14
|
+
/** One reason, before or after placement — the same shape everywhere in the sheet. */
|
|
15
|
+
export interface Issue {
|
|
16
|
+
code: SheetIssueCode;
|
|
17
|
+
severity: IssueSeverity;
|
|
18
|
+
/** Plain language, user-facing. Server-authored when the server answered; local otherwise. */
|
|
19
|
+
message: string;
|
|
20
|
+
/** The developer-facing reason, when there is one. */
|
|
21
|
+
detail: string | null;
|
|
22
|
+
fix: IssueFix;
|
|
23
|
+
scope: IssueScope;
|
|
24
|
+
source: 'local' | 'server';
|
|
25
|
+
}
|
|
26
|
+
/** Numbers a message can name. `currency` switches money formatting (USD vs the practice currency). */
|
|
27
|
+
export interface IssueContext {
|
|
28
|
+
venue?: string;
|
|
29
|
+
amount?: number;
|
|
30
|
+
price?: number;
|
|
31
|
+
max_price?: number;
|
|
32
|
+
min?: number;
|
|
33
|
+
max?: number;
|
|
34
|
+
contracts?: number;
|
|
35
|
+
min_contracts?: number;
|
|
36
|
+
available?: number;
|
|
37
|
+
balance?: number;
|
|
38
|
+
required?: number;
|
|
39
|
+
increment?: number;
|
|
40
|
+
tick?: number;
|
|
41
|
+
detail?: string;
|
|
42
|
+
currency?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface Validation {
|
|
45
|
+
/** No blocking issue. */
|
|
46
|
+
ok: boolean;
|
|
47
|
+
blocking: Issue[];
|
|
48
|
+
warnings: Issue[];
|
|
49
|
+
info: Issue[];
|
|
50
|
+
all: Issue[];
|
|
51
|
+
}
|
|
52
|
+
export interface VenueAccount {
|
|
53
|
+
connected: boolean;
|
|
54
|
+
status: 'active' | 'inactive' | null;
|
|
55
|
+
credentialStatus: 'pending' | 'failed' | 'connected' | null;
|
|
56
|
+
currency: string | null;
|
|
57
|
+
/** Venue-reported snapshot. */
|
|
58
|
+
balance: number | null;
|
|
59
|
+
/** Net of holds — what the venue can fund right now. Prefer it. */
|
|
60
|
+
expectedBalance: number | null;
|
|
61
|
+
stale: boolean;
|
|
62
|
+
scopeTradeExecute: boolean;
|
|
63
|
+
}
|
|
64
|
+
/** One venue quoting this position, joined with the account's constraints for it. */
|
|
65
|
+
export interface VenueOption {
|
|
66
|
+
partnerId: string;
|
|
67
|
+
name: string;
|
|
68
|
+
logoUrl: string | null;
|
|
69
|
+
liquidityHash: string | null;
|
|
70
|
+
buyId: string | null;
|
|
71
|
+
/** Probability 0–1 before fees; null when the venue has nothing on the book. */
|
|
72
|
+
price: number | null;
|
|
73
|
+
americanOdds: string | null;
|
|
74
|
+
/** USD buyable at `price`; null when unknown. */
|
|
75
|
+
available: number | null;
|
|
76
|
+
actionable: boolean;
|
|
77
|
+
feePacket: FeePacket | null;
|
|
78
|
+
account: VenueAccount;
|
|
79
|
+
supports: {
|
|
80
|
+
orderTypes: OrderType[];
|
|
81
|
+
cancel: boolean;
|
|
82
|
+
modes: MoneyMode[];
|
|
83
|
+
};
|
|
84
|
+
/** For the sheet's CURRENT mode and order type. */
|
|
85
|
+
eligibility: {
|
|
86
|
+
status: 'ok' | 'warn' | 'blocked';
|
|
87
|
+
issues: Issue[];
|
|
88
|
+
};
|
|
89
|
+
/** The server-served rules — the SDK evaluates these and adds nothing of its own. */
|
|
90
|
+
constraints: VenueConstraints | null;
|
|
91
|
+
/** Cheapest actionable price of the list. Display only — never auto-selected. */
|
|
92
|
+
best: boolean;
|
|
93
|
+
selected: boolean;
|
|
94
|
+
display: {
|
|
95
|
+
price: string;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface QuoteFee {
|
|
99
|
+
taker: number;
|
|
100
|
+
maker: number;
|
|
101
|
+
direction: FeeDirection | null;
|
|
102
|
+
/** true = scaled from the venue's canonical fee packet; false = the server's exact fee (preflight). */
|
|
103
|
+
estimated: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface Quote {
|
|
106
|
+
venuePartnerId: string;
|
|
107
|
+
mode: MoneyMode;
|
|
108
|
+
orderType: OrderType;
|
|
109
|
+
stake: {
|
|
110
|
+
unit: StakeUnit;
|
|
111
|
+
value: number;
|
|
112
|
+
};
|
|
113
|
+
/** Reference fill price (market) or the limit price (limit). */
|
|
114
|
+
price: number;
|
|
115
|
+
/** The ceiling that will be sent, snapped to the venue's tick and band. */
|
|
116
|
+
maxPrice: number;
|
|
117
|
+
/** Whole on whole-contract venues (epsilon-safe), fractional elsewhere. */
|
|
118
|
+
contracts: number;
|
|
119
|
+
/** USD (or practice currency) that would actually book. */
|
|
120
|
+
cost: number;
|
|
121
|
+
/** Gross payout if the position wins (contracts × $1). */
|
|
122
|
+
payout: number;
|
|
123
|
+
/** Un-buyable remainder of the stake. */
|
|
124
|
+
leftover: number;
|
|
125
|
+
/** The stake in currency terms. */
|
|
126
|
+
notional: number;
|
|
127
|
+
fee: QuoteFee | null;
|
|
128
|
+
/** Cost per contract including the taker fee, when known. */
|
|
129
|
+
effectivePrice: number | null;
|
|
130
|
+
/** payout − cost − taker fee. */
|
|
131
|
+
profit: number;
|
|
132
|
+
expectedFill: {
|
|
133
|
+
allocated: number;
|
|
134
|
+
unfilled: number;
|
|
135
|
+
fillPrice: number;
|
|
136
|
+
} | null;
|
|
137
|
+
/** Limit orders: the book is above the limit, so the order would rest. */
|
|
138
|
+
wouldRest: boolean;
|
|
139
|
+
currency: string;
|
|
140
|
+
freshness: 'quote' | 'preflight' | 'stale';
|
|
141
|
+
display: {
|
|
142
|
+
price: string;
|
|
143
|
+
maxPrice: string;
|
|
144
|
+
cost: string;
|
|
145
|
+
payout: string;
|
|
146
|
+
profit: string;
|
|
147
|
+
fee: string;
|
|
148
|
+
effectivePrice: string;
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
export interface PreflightSnapshot {
|
|
152
|
+
/** Hash of the inputs it was computed for; the sheet drops it when they change. */
|
|
153
|
+
inputKey: string;
|
|
154
|
+
at: number;
|
|
155
|
+
leg: PreflightLegResult;
|
|
156
|
+
haltedAtIndex: number | null;
|
|
157
|
+
}
|
|
158
|
+
export type SheetPhase = 'idle' | 'loading' | 'ready' | 'blocked' | 'confirming' | 'placing' | 'filled' | 'partial' | 'resting' | 'pending' | 'failed' | 'cancelled' | 'settled';
|
|
159
|
+
export interface PlaceLeg {
|
|
160
|
+
index: number;
|
|
161
|
+
status: BuyLegStatus;
|
|
162
|
+
/** The venue you named. */
|
|
163
|
+
partnerId: string | null;
|
|
164
|
+
/** The venue(s) it actually booked on. A paper leg books on the internal book — benign. */
|
|
165
|
+
routedPartnerIds: string[];
|
|
166
|
+
/** A REAL leg booked somewhere other than the venue named — report it. */
|
|
167
|
+
substituted: boolean;
|
|
168
|
+
routerOrderIds: string[];
|
|
169
|
+
fill: {
|
|
170
|
+
notional: number;
|
|
171
|
+
shares: number;
|
|
172
|
+
avgPrice: number | null;
|
|
173
|
+
unfilled: number;
|
|
174
|
+
};
|
|
175
|
+
issue: Issue | null;
|
|
176
|
+
sorDecisionId: string | null;
|
|
177
|
+
}
|
|
178
|
+
export type PlaceSummary = 'filled' | 'partial' | 'resting' | 'pending' | 'failed';
|
|
179
|
+
export interface PlaceResult {
|
|
180
|
+
summary: PlaceSummary;
|
|
181
|
+
legs: PlaceLeg[];
|
|
182
|
+
opportunityId: string | null;
|
|
183
|
+
idempotencyKey: string;
|
|
184
|
+
placedAt: number;
|
|
185
|
+
raw: BuyResponse;
|
|
186
|
+
}
|
|
187
|
+
export type PlaceOutcome = {
|
|
188
|
+
status: 'placed';
|
|
189
|
+
result: PlaceResult;
|
|
190
|
+
} | {
|
|
191
|
+
status: 'confirm_required';
|
|
192
|
+
issues: Issue[];
|
|
193
|
+
} | {
|
|
194
|
+
status: 'blocked';
|
|
195
|
+
issues: Issue[];
|
|
196
|
+
};
|
|
197
|
+
export interface TrackedOrder {
|
|
198
|
+
routerOrderId: string;
|
|
199
|
+
partnerId: string;
|
|
200
|
+
status: string;
|
|
201
|
+
fillStatus: string;
|
|
202
|
+
filledAmt: number;
|
|
203
|
+
unfilledAmt: number;
|
|
204
|
+
avgPrice: number | null;
|
|
205
|
+
settled: {
|
|
206
|
+
result: 'win' | 'lose' | 'push';
|
|
207
|
+
winnings: number;
|
|
208
|
+
netWinnings: number;
|
|
209
|
+
} | null;
|
|
210
|
+
updatedAt: string;
|
|
211
|
+
}
|
|
212
|
+
export interface AccountFacts {
|
|
213
|
+
routerAccountId: string | null;
|
|
214
|
+
environment: 'live' | 'test' | null;
|
|
215
|
+
canExecute: boolean;
|
|
216
|
+
canPractice: boolean;
|
|
217
|
+
moneyModes: MoneyMode[];
|
|
218
|
+
practiceOnly: boolean;
|
|
219
|
+
isFiduciary: boolean;
|
|
220
|
+
issues: Issue[];
|
|
221
|
+
practiceWallet: {
|
|
222
|
+
partnerId: string | null;
|
|
223
|
+
currency: string;
|
|
224
|
+
balance: number | null;
|
|
225
|
+
};
|
|
226
|
+
policy: AccountConstraints['policy'] | null;
|
|
227
|
+
constraintsVersion: string | null;
|
|
228
|
+
}
|
|
229
|
+
/** How a sheet names its position. A full position (from GET /contests/:id/liquidity) skips a fetch. */
|
|
230
|
+
export type PositionRef = {
|
|
231
|
+
position: Position;
|
|
232
|
+
partnerId?: string;
|
|
233
|
+
} | {
|
|
234
|
+
liquidityHash: string;
|
|
235
|
+
} | {
|
|
236
|
+
positionHash: string;
|
|
237
|
+
partnerId?: string;
|
|
238
|
+
};
|
|
239
|
+
export interface BetterPriceHint {
|
|
240
|
+
code: 'better_price_available';
|
|
241
|
+
venue: VenueOption;
|
|
242
|
+
message: string;
|
|
243
|
+
}
|
|
244
|
+
export interface SheetState {
|
|
245
|
+
phase: SheetPhase;
|
|
246
|
+
position: Position | null;
|
|
247
|
+
venues: VenueOption[];
|
|
248
|
+
venue: VenueOption | null;
|
|
249
|
+
mode: MoneyMode;
|
|
250
|
+
orderType: OrderType;
|
|
251
|
+
stake: {
|
|
252
|
+
unit: StakeUnit;
|
|
253
|
+
value: number | null;
|
|
254
|
+
};
|
|
255
|
+
/** The ceiling to send. Auto-derived (quote + slippage, snapped) until the user sets one. */
|
|
256
|
+
maxPrice: number | null;
|
|
257
|
+
maxPriceIsAuto: boolean;
|
|
258
|
+
slippage: number;
|
|
259
|
+
oddsFormat: OddsFormat;
|
|
260
|
+
quote: Quote | null;
|
|
261
|
+
validation: Validation;
|
|
262
|
+
preflight: PreflightSnapshot | null;
|
|
263
|
+
preflightStatus: 'idle' | 'pending' | 'done' | 'error';
|
|
264
|
+
result: PlaceResult | null;
|
|
265
|
+
orders: TrackedOrder[];
|
|
266
|
+
error: OrderSheetError | null;
|
|
267
|
+
account: AccountFacts | null;
|
|
268
|
+
canPlace: boolean;
|
|
269
|
+
/** "Place practice order · $20" / "Confirm real order · $20 on Kalshi". */
|
|
270
|
+
confirmLabel: string;
|
|
271
|
+
/** A cheaper venue exists (display only — the user switches, the SDK never does). */
|
|
272
|
+
hint: BetterPriceHint | null;
|
|
273
|
+
loading: boolean;
|
|
274
|
+
updatedAt: number;
|
|
275
|
+
}
|
|
276
|
+
export interface SheetPatch {
|
|
277
|
+
stake?: {
|
|
278
|
+
amount: number;
|
|
279
|
+
} | {
|
|
280
|
+
shares: number;
|
|
281
|
+
} | null;
|
|
282
|
+
maxPrice?: number | null;
|
|
283
|
+
orderType?: OrderType;
|
|
284
|
+
mode?: MoneyMode;
|
|
285
|
+
oddsFormat?: OddsFormat;
|
|
286
|
+
slippage?: number;
|
|
287
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|