@bze/bze-ui-kit 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +24 -1
- package/dist/index.d.ts +24 -1
- package/dist/index.js +110 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +109 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1419,6 +1419,114 @@ var isPoolSupportedByValidator = (baseDenom, quoteDenom) => {
|
|
|
1419
1419
|
return supportedDenoms.includes(baseDenom) || supportedDenoms.includes(quoteDenom);
|
|
1420
1420
|
};
|
|
1421
1421
|
|
|
1422
|
+
// src/utils/ws_rpc_client.ts
|
|
1423
|
+
var socket = null;
|
|
1424
|
+
var activeUrl = "";
|
|
1425
|
+
var socketConnected = false;
|
|
1426
|
+
var connectingPromise = null;
|
|
1427
|
+
var msgId = 0;
|
|
1428
|
+
var reconnectAttempts = 0;
|
|
1429
|
+
var reconnectTimeout = null;
|
|
1430
|
+
var MAX_RECONNECT_ATTEMPTS = 10;
|
|
1431
|
+
var activeSubscriptions = /* @__PURE__ */ new Map();
|
|
1432
|
+
var handleMessage = (event) => {
|
|
1433
|
+
var _a2;
|
|
1434
|
+
try {
|
|
1435
|
+
const msg = JSON.parse(event.data);
|
|
1436
|
+
const id = String((_a2 = msg == null ? void 0 : msg.id) != null ? _a2 : "");
|
|
1437
|
+
if (id && activeSubscriptions.has(id) && msg.result && Object.keys(msg.result).length > 0) {
|
|
1438
|
+
activeSubscriptions.get(id).handler(msg.result);
|
|
1439
|
+
}
|
|
1440
|
+
} catch (e) {
|
|
1441
|
+
}
|
|
1442
|
+
};
|
|
1443
|
+
var resubscribeAll = () => {
|
|
1444
|
+
for (const [id, sub] of activeSubscriptions) {
|
|
1445
|
+
socket.send(JSON.stringify({
|
|
1446
|
+
jsonrpc: "2.0",
|
|
1447
|
+
method: "subscribe",
|
|
1448
|
+
id,
|
|
1449
|
+
params: { query: sub.query }
|
|
1450
|
+
}));
|
|
1451
|
+
}
|
|
1452
|
+
};
|
|
1453
|
+
var scheduleReconnect = () => {
|
|
1454
|
+
if (reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
|
|
1455
|
+
console.error("[WS] Max reconnect attempts reached");
|
|
1456
|
+
return;
|
|
1457
|
+
}
|
|
1458
|
+
reconnectAttempts++;
|
|
1459
|
+
const delay = Math.min(1e3 * Math.pow(2, reconnectAttempts - 1), 3e4);
|
|
1460
|
+
reconnectTimeout = setTimeout(async () => {
|
|
1461
|
+
try {
|
|
1462
|
+
await openSocket(activeUrl);
|
|
1463
|
+
resubscribeAll();
|
|
1464
|
+
reconnectAttempts = 0;
|
|
1465
|
+
} catch (e) {
|
|
1466
|
+
scheduleReconnect();
|
|
1467
|
+
}
|
|
1468
|
+
}, delay);
|
|
1469
|
+
};
|
|
1470
|
+
var openSocket = (url) => {
|
|
1471
|
+
return new Promise((resolve, reject) => {
|
|
1472
|
+
const ws = new WebSocket(url);
|
|
1473
|
+
ws.onopen = () => {
|
|
1474
|
+
socket = ws;
|
|
1475
|
+
socketConnected = true;
|
|
1476
|
+
resolve();
|
|
1477
|
+
};
|
|
1478
|
+
ws.onmessage = handleMessage;
|
|
1479
|
+
ws.onclose = () => {
|
|
1480
|
+
socketConnected = false;
|
|
1481
|
+
scheduleReconnect();
|
|
1482
|
+
};
|
|
1483
|
+
ws.onerror = (err) => {
|
|
1484
|
+
socketConnected = false;
|
|
1485
|
+
reject(err);
|
|
1486
|
+
};
|
|
1487
|
+
});
|
|
1488
|
+
};
|
|
1489
|
+
var getOrCreateSocket = async (rpcEndpoint) => {
|
|
1490
|
+
const url = rpcEndpoint.replace(/\/?$/, "") + "/websocket";
|
|
1491
|
+
if (socket && socketConnected && activeUrl === url) return;
|
|
1492
|
+
if (connectingPromise && activeUrl === url) {
|
|
1493
|
+
return connectingPromise;
|
|
1494
|
+
}
|
|
1495
|
+
if (socket) {
|
|
1496
|
+
socket.onclose = null;
|
|
1497
|
+
socket.close(1e3, "Endpoint changed");
|
|
1498
|
+
socket = null;
|
|
1499
|
+
socketConnected = false;
|
|
1500
|
+
if (reconnectTimeout) {
|
|
1501
|
+
clearTimeout(reconnectTimeout);
|
|
1502
|
+
reconnectTimeout = null;
|
|
1503
|
+
}
|
|
1504
|
+
reconnectAttempts = 0;
|
|
1505
|
+
}
|
|
1506
|
+
activeUrl = url;
|
|
1507
|
+
connectingPromise = openSocket(url).finally(() => {
|
|
1508
|
+
connectingPromise = null;
|
|
1509
|
+
});
|
|
1510
|
+
return connectingPromise;
|
|
1511
|
+
};
|
|
1512
|
+
var subscribeToBlockchainEvents = async (rpcEndpoint, query, handler) => {
|
|
1513
|
+
await getOrCreateSocket(rpcEndpoint);
|
|
1514
|
+
const id = String(++msgId);
|
|
1515
|
+
activeSubscriptions.set(id, { query, handler });
|
|
1516
|
+
socket.send(JSON.stringify({ jsonrpc: "2.0", method: "subscribe", id, params: { query } }));
|
|
1517
|
+
return () => {
|
|
1518
|
+
activeSubscriptions.delete(id);
|
|
1519
|
+
if ((socket == null ? void 0 : socket.readyState) === WebSocket.OPEN) {
|
|
1520
|
+
socket.send(JSON.stringify({
|
|
1521
|
+
jsonrpc: "2.0",
|
|
1522
|
+
method: "unsubscribe",
|
|
1523
|
+
id: String(++msgId),
|
|
1524
|
+
params: { query }
|
|
1525
|
+
}));
|
|
1526
|
+
}
|
|
1527
|
+
};
|
|
1528
|
+
};
|
|
1529
|
+
|
|
1422
1530
|
// src/constants/market.ts
|
|
1423
1531
|
var EXCLUDED_MARKETS = {
|
|
1424
1532
|
"factory/bze1f0qgels0eu96ev6a67znu70q7rquy9eragn8nw/ucorey/factory/bze13gzq40che93tgfm9kzmkpjamah5nj0j73pyhqk/uvdl": true,
|
|
@@ -5452,6 +5560,7 @@ export {
|
|
|
5452
5560
|
shortNumberFormat,
|
|
5453
5561
|
sleep,
|
|
5454
5562
|
stringTruncateFromCenter,
|
|
5563
|
+
subscribeToBlockchainEvents,
|
|
5455
5564
|
toBigNumber,
|
|
5456
5565
|
toPercentage,
|
|
5457
5566
|
truncateAddress,
|