@bloxbean/yaci-viewer
Version:
A Cardano blockchain data viewer for developers. It works with the Yaci-Store backend, supporting both a local devnet and public networks.
2 lines (1 loc) • 1.15 kB
JavaScript
import{w as l}from"./index.DQ_X5mOz.js";const b=globalThis.__sveltekit_15ovqsz.env,r=l({}),a=l({}),i=l({});let o=[],n=[];const c=new WebSocket(b.PUBLIC_INDEXER_WS_URL);c.addEventListener("open",function(t){console.log("It's open !!!"),g(3e4)});c.addEventListener("close",function(t){console.log("It's close. try to reopen !!!")});c.addEventListener("message",function(t){try{const e=JSON.parse(t.data);e.res_type=="INIT_DATA"?(console.log("Inside init data"),e.blocks.forEach(s=>r.set(s)),e.recent_txs.forEach(s=>i.set(s)),e.aggregateData&&a.set(e.aggregateData)):e.res_type=="BLOCK_DATA"?r.set(e):e.res_type=="AGGR_DATA"?a.set(e):e.res_type=="RECENT_TXS_DATA"&&(console.log(e),e.recent_txs.forEach(s=>i.set(s))),console.log(e)}catch{}});r.subscribe(t=>{o.length>30?o=[t,...o.slice(0,30)]:o=[t,...o]});i.subscribe(t=>{n.length>30?n=[t,...n.slice(0,30)]:n=[t,...n]});const _=t=>{c.readyState<=1&&c.send(t)},d=()=>{r.subscribe()},p=()=>{a.subscribe()};function g(t=2e4){_("PING"),setTimeout(g,t)}export{a as aggregateStore,o as blocksCache,r as blocksStore,i as recentTxStore,_ as sendMessage,p as subscribeAggregates,d as subscribeBlocks,n as txCache};