MCPcopy Create free account
hub / github.com/AmazingAng/PolyWorld / load

Function load

src/components/OrderForm.tsx:283–300  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

281 if (!tradeSession?.sessionToken || !tokenId) { setLockedShares(0); setLockedUsdc(0); return; }
282 let cancelled = false;
283 const load = async () => {
284 try {
285 const orders = await fetchOpenOrders(tradeSession.sessionToken);
286 let sellLocked = 0;
287 let buyLocked = 0;
288 for (const o of orders) {
289 const remaining = (parseFloat(o.original_size) || 0) - (parseFloat(o.size_matched) || 0);
290 if (remaining <= 0) continue;
291 if (o.asset_id === tokenId && o.side === "SELL") {
292 sellLocked += remaining;
293 }
294 if (o.side === "BUY") {
295 buyLocked += remaining * (parseFloat(o.price) || 0);
296 }
297 }
298 if (!cancelled) { setLockedShares(sellLocked); setLockedUsdc(buyLocked); }
299 } catch { /* ignore */ }
300 };
301 void load();
302 const onOrderPlaced = () => { void load(); };
303 window.addEventListener("polyworld:order-placed", onOrderPlaced);

Callers 3

PortfolioPanelFunction · 0.85
OrderFormFunction · 0.85
onOrderPlacedFunction · 0.85

Calls 1

fetchOpenOrdersFunction · 0.90

Tested by

no test coverage detected