UNPKG

@dojoengine/sdk

Version:

Dojo SDK: Build onchain and provable apps faster

2 lines 3 kB
import{A as f,B as w,D as C,E as h,F as P,H as R,j as p,l as b,t as S,u,v as g,w as d,x as l,y as k,z as m}from"./chunk-OFVRBHAO.js";import*as T from"@dojoengine/torii-wasm";import{err as D,ok as M}from"neverthrow";import{ok as E}from"neverthrow";import{ToriiGrpcClient as U}from"@dojoengine/grpc";function B({client:i,config:a,sendMessage:o,sendMessageBatch:y}){let c=new U({toriiUrl:a.client.toriiUrl??"http://localhost:8080",worldAddress:a.client.worldAddress});return{client:i,subscribeEntityQuery:async({query:e,callback:s})=>{let t=e.build(),r=await i.getEntities(t),n=g(r.items);return[u.fromQuery(e,r.next_cursor).withItems(n),await i.onEntityUpdated(t.clause,d(s))]},subscribeEventQuery:async({query:e,callback:s})=>{let t=e.build(),r=await c.getEventMessages(t),n=g(r.items);return[u.fromQuery(e,r.next_cursor).withItems(n),await c.onEventMessageUpdated(t.clause,d(s))]},subscribeTokenBalance:async e=>await h(i,e),getEntities:async({query:e})=>{let s=e.build(),t=await i.getEntities(s);return u.fromQuery(e,t.next_cursor).withItems(g(t.items))},getEventMessages:async({query:e})=>{let s=e.build(),t=await i.getEventMessages(s);return u.fromQuery(e,t.next_cursor).withItems(g(t.items))},generateTypedData:(e,s,t,r)=>b(e,s,a.domain,t,r),sendMessage:o,sendMessageBatch:y,sendSignedMessageBatch:async e=>{try{return E(await i.publishMessageBatch(e))}catch(s){throw console.error("Failed to send signed message batch:",s),s}},getTokens:async e=>await f(i,e),getTokenBalances:async e=>await w(i,e),onTokenBalanceUpdated:async e=>{let{contractAddresses:s,accountAddresses:t,tokenIds:r}=m(e);return await c.onTokenBalanceUpdated(s??[],t??[],r??[],l(e.callback,k))},onTokenUpdated:async e=>{let{contractAddresses:s,tokenIds:t}=m(e);return await c.onTokenUpdated(s??[],t??[],l(e.callback,P))},updateTokenBalanceSubscription:async e=>await C(i,e),updateEntitySubscription:async(e,s)=>await i.updateEntitySubscription(e,s),updateEventMessageSubscription:async(e,s)=>await i.updateEventMessageSubscription(e,s),getControllers:async(e,s,t=S)=>await i.getControllers({contract_addresses:e,usernames:s,pagination:t}),subscribeToken:async e=>await R(i,e)}}async function _(i){return await new T.ToriiClient(i)}var x={toriiUrl:"http://localhost:8080"};async function N(i){let a={...x,...i.client},o=await new T.ToriiClient(a);return B({client:o,config:i,sendMessage:async(e,s)=>{if(!s)return D(p);try{let t=await s.signMessage(e),r=JSON.stringify(e);return M(await o.publishMessage({message:r,signature:Array.isArray(t)?t:[t.r.toString(),t.s.toString()]}))}catch(t){throw console.error("Failed to send message:",t),t}},sendMessageBatch:async(e,s)=>{if(!s)return D(p);try{let t=[];for(let r of e){let n=await s.signMessage(r),A=JSON.stringify(r);t.push({message:A,signature:Array.isArray(n)?n:[n.r.toString(),n.s.toString()]})}return M(await o.publishMessageBatch(t))}catch(t){throw console.error("Failed to send message batch:",t),t}}})}export{_ as a,x as b,N as c}; //# sourceMappingURL=chunk-MEB2H75U.js.map