@latticexyz/explorer 2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f → 2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95

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.
Files changed (40) hide show
  1. package/.next/standalone/packages/explorer/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/explorer/.next/app-build-manifest.json +42 -42
  3. package/.next/standalone/packages/explorer/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/packages/explorer/.next/build-manifest.json +2 -2
  5. package/.next/standalone/packages/explorer/.next/prerender-manifest.js +1 -1
  6. package/.next/standalone/packages/explorer/.next/prerender-manifest.json +1 -1
  7. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/decode/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/explore/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page.js +3 -3
  11. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/observe/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/[worldAddress]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/[chainName]/worlds/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/system-abis/route.js +2 -2
  16. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/system-abis/route.js.nft.json +1 -1
  17. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js +1 -1
  18. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js.nft.json +1 -1
  19. package/.next/standalone/packages/explorer/.next/server/app/(explorer)/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/packages/explorer/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/packages/explorer/.next/server/app/_not-found.html +1 -1
  22. package/.next/standalone/packages/explorer/.next/server/app/_not-found.rsc +1 -1
  23. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.html +1 -1
  25. package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.rsc +1 -1
  26. package/.next/standalone/packages/explorer/.next/server/app-paths-manifest.json +3 -3
  27. package/.next/standalone/packages/explorer/.next/server/chunks/1250.js +1 -0
  28. package/.next/standalone/packages/explorer/.next/server/chunks/2425.js +19 -0
  29. package/.next/standalone/packages/explorer/.next/server/middleware-build-manifest.js +1 -1
  30. package/.next/standalone/packages/explorer/.next/server/pages/404.html +1 -1
  31. package/.next/standalone/packages/explorer/.next/server/pages/500.html +1 -1
  32. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.js +1 -1
  33. package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.json +1 -1
  34. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page-7572d734233c2d34.js +1 -0
  35. package/package.json +10 -10
  36. package/.next/standalone/packages/explorer/.next/server/chunks/1522.js +0 -1
  37. package/.next/standalone/packages/explorer/.next/server/chunks/477.js +0 -19
  38. package/.next/standalone/packages/explorer/.next/static/chunks/app/(explorer)/[chainName]/worlds/[worldAddress]/interact/page-1e744e17feea5bb2.js +0 -1
  39. /package/.next/standalone/packages/explorer/.next/static/{2-921MOvqjHFPC49aio4h → zi8nyPCTf-u5S7c7AJSgG}/_buildManifest.js +0 -0
  40. /package/.next/standalone/packages/explorer/.next/static/{2-921MOvqjHFPC49aio4h → zi8nyPCTf-u5S7c7AJSgG}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"Tz5g5V5bkXljTjIS6cxD3zNxgYu6VCH3yEA0bCjQTn8=\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"E8GDoWN2WSQ/B3FomFKPbHFhs0FUT7CXpckGRcP4hC4=\"}"
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"Tz5g5V5bkXljTjIS6cxD3zNxgYu6VCH3yEA0bCjQTn8="}
1
+ {"node":{},"edge":{},"encryptionKey":"E8GDoWN2WSQ/B3FomFKPbHFhs0FUT7CXpckGRcP4hC4="}
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3027],{3099:function(e,s,t){Promise.resolve().then(t.bind(t,95005))},95005:function(e,s,t){"use strict";t.d(s,{InteractForm:function(){return eb}});var n,a,r=t(65140),i=t(67590),l=t(11650),c=t(6466),o=t(71360),u=t(48071),d=t(20566),m=t(93607),h=t(64920),f=t(77040);function p(e,s){return"".concat(s||"core","-").concat((0,f.r)(e))}var x=t(36120),j=t(30637),y=t(64683),v=t(92660);let g=v.fC,b=v.wy,w=v.Fw;var N=t(11375),I=t(60649),C=t(18304),S=t(98399),A=t(50546),k=t(83802),L=t(21015),E=t(86498),O=t(91524),R=t(51722),z=t(32291),F=t(82941),P=t(57429),Z=t(66684),_=t(64477),M=t(34246),V=t(19305),W=t(37153);function q(e){let{abi:s,systemId:t,functionName:n,args:a}=e;return[t,(0,E.R)({abi:s,functionName:function(e,s){let t=(0,o.IJ)(e),n=""!==t.namespace?"".concat(t.namespace,"__"):null;return null!=n&&s.startsWith(n)?(console.warn('Detected world function name "'.concat(s,'" used in call to system "').concat((0,o.qj)(t),"\".\n\nIt's recommended to use a system ABI and system function name with these methods instead.")),s.slice(n.length)):s}(t,n),args:a})]}t(49373),t(64163),t(20725),t(43609),t(26275);var U=t(80335),D=t(27406),J=t(47671),T=t(65880);function B(e){let{elementId:s,children:t,...n}=e,[a,l]=function(){let e=(0,c.useMemo)(()=>()=>window.location.hash.replace(/^#!?/,""),[]),s=(0,i.useRouter)(),t=(0,i.useParams)(),[n,a]=(0,c.useState)(e());(0,c.useEffect)(()=>{a(e())},[t]);let r=()=>{a(e())};return(0,c.useEffect)(()=>(window.addEventListener("hashchange",r),()=>{window.removeEventListener("hashchange",r)}),[]),[n,e=>{var t;let n=window.location.href;n=T.Z.stringifyUrl({url:null!==(t=n.split("#")[0])&&void 0!==t?t:"",fragmentIdentifier:e}),a(e),s.replace(n)}]}();return(0,c.useEffect)(()=>{if(a===s){var e;null===(e=document.getElementById(s))||void 0===e||e.scrollIntoView()}},[a,s]),(0,r.jsx)("a",{href:"#".concat(s),onClick:()=>{l(s)},...n,children:t})}var $=t(50354),G=t(9303),K=t(60323),H=t(69066),X=t(9994);let Y=c.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,r.jsx)("textarea",{className:(0,X.cn)("flex min-h-[80px] w-full","px-3 py-2","rounded-md border border-input ring-offset-background focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","bg-background text-base","text-base md:text-sm","placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50","focus-visible:outline-none",t),ref:s,...n})});Y.displayName="Textarea";var Q=t(24716),ee=t(11985),es=t(17396),et=t(85759),en=t(53333),ea=t(43482),er=t(72946);let ei=(0,Q.v)({chain:et.R,transport:(0,ee.d)()}),el=e=>{if(!("components"in e))return e.type;let s=e.components.map(e=>e.name||e.type).join(", ");return"tuple[]"===e.type?"[".concat(s,"][]"):"[".concat(s,"]")};function ec(e){let{fieldType:s,...t}=e;return"string"===s?(0,r.jsx)(Y,{...t}):(0,r.jsx)(d.I,{...t})}function eo(e){let{input:s,index:t}=e,n=(0,V.Gc)(),a=n.watch("inputs.".concat(t)),i=n.watch("resolvedAddresses.".concat(t)),{data:l,isLoading:o,error:u}=(0,ea.a)({queryKey:["ensAddress",a],queryFn:a&&/\w\.\w/.test(a)?async()=>{let e=(0,en.F)(a),s=await (0,es.O)(ei,{name:e});if(!s)throw Error("Invalid ENS name");return s}:er.CN,retry:1});(0,c.useEffect)(()=>{l!==i&&n.setValue("resolvedAddresses.".concat(t),l)},[l,i,n,t]);let d=(0,c.useCallback)(e=>{if("address"!==s.type){n.setValue("inputs.".concat(t),e);return}if((0,H.U)(e)){n.setValue("inputs.".concat(t),e),n.setValue("resolvedAddresses.".concat(t),e);return}n.setValue("inputs.".concat(t),e),n.setValue("resolvedAddresses.".concat(t),void 0)},[n,t,s.type]);return(0,r.jsx)(J.Wi,{control:n.control,name:"inputs.".concat(t),render:e=>{let{field:t}=e;return(0,r.jsx)(J.xJ,{className:"flex flex-col gap-2",children:(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[s.name&&(0,r.jsx)(J.lX,{className:"shrink-0 font-mono text-sm opacity-70",children:s.name}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)(J.NI,{children:(0,r.jsx)(ec,{className:"font-mono text-sm",placeholder:el(s),fieldType:s.type,value:t.value,onChange:e=>d(e.target.value)})}),(0,r.jsx)(J.zG,{}),"address"===s.type&&!(0,H.U)(a)&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(A.Z,{className:"h-3 w-3 animate-spin"}),(0,r.jsx)("span",{children:"Resolving ENS name..."})]}),u&&(0,r.jsx)("span",{className:"text-destructive",children:"Failed to resolve ENS"}),i&&!o&&(0,r.jsxs)("span",{className:"flex items-center gap-1 font-mono",children:[i," ",(0,r.jsx)(K.Z,{className:"h-4 w-4 text-green-500"})]})]})]})]})})}})}function eu(e,s){return e.map((e,t)=>{let n=s.inputs[t];return n&&e?n.type.includes("[]")||"tuple"===n.type?JSON.parse(e):"bool"===n.type?"true"===e:(n.type.startsWith("uint")||n.type.startsWith("int"))&&"string"==typeof e&&e.endsWith("n")?e.slice(0,-1):e:e})}(n=a||(a={}))[n.READ=0]="READ",n[n.WRITE=1]="WRITE";let ed=M.z.object({inputs:M.z.array(M.z.string()),value:M.z.string().optional(),resolvedAddresses:M.z.record(M.z.string().optional()).optional()}),em=e=>{if(!("components"in e))return e.name||e.type;if("tuple"===e.type);else if("tuple[]"===e.type)return"".concat(e.name,"[]");return e.name||e.type};function eh(e){var s;let{systemId:t,worldAbi:n,functionAbi:a,useSearchParamsArgs:l}=e,o=(0,i.useSearchParams)(),{id:u}=(0,$.A)(),m=(0,z.t)(),h="view"===a.stateMutability||"pure"===a.stateMutability?0:1,{openConnectModal:f}=(0,U.We)(),x=(0,F.Z)(),j=(0,P.m)(),{worldAddress:v}=(0,i.useParams)(),[g,b]=(0,c.useState)(!1),[w,M]=(0,c.useState)(),[T,K]=(0,c.useState)(),[H,X]=(0,c.useState)(),Y=(0,G.U)({hash:H,chainId:u}),Q=a.inputs.map(em),ee=(0,i.useRouter)(),es=(0,V.cI)({resolver:(0,W.F)(ed),defaultValues:{inputs:l?JSON.parse(o.get("args")||"[]"):[],value:l&&null!==(s=o.get("value"))&&void 0!==s?s:"",resolvedAddresses:{}}});(0,c.useEffect)(()=>{if(l){let e=new URLSearchParams(o.toString());e.delete("args"),e.delete("value"),ee.replace("?".concat(e.toString()).concat(window.location.hash))}},[l,o,ee]);let et=(0,c.useCallback)(()=>{var e;let s=es.watch(),n=new URLSearchParams(o.toString());(null===(e=s.inputs)||void 0===e?void 0:e.length)?n.set("args",JSON.stringify(s.inputs)):n.delete("args"),s.value?n.set("value",s.value):n.delete("value");let r=new URL(window.location.href);return r.hash=p(a,t),r.search=n.toString(),r.toString()},[es,a,o,t]),en=(0,c.useCallback)(async e=>{let s;if(!j.isConnected)return null==f?void 0:f();if(!m){L.A.error("Public client not found");return}b(!0);let i=e.inputs.map((e,s)=>es.getValues("resolvedAddresses.".concat(s))||e);try{if(0===h){let e;if(t){let s=q({abi:[a],functionName:a.name,args:eu(i,a),systemId:t}),{data:r}=await m.call({account:j.address,data:(0,E.R)({abi:[...n,a],functionName:"call",args:s}),to:v});e=r}else{let{data:s}=await m.call({account:j.address,data:(0,E.R)({abi:[...n,a],functionName:a.name,args:eu(i,a)}),to:v});e=s}M((0,O.P)(e,null,2).replace(/^"|"$/g,""))}else{let l;if(t){let s=q({abi:[a],functionName:a.name,args:eu(i,a),systemId:t});l=await (0,Z.n)(x,{abi:[...n,a],address:v,functionName:"call",args:s,...e.value&&{value:BigInt(e.value)},chainId:u})}else l=await (0,Z.n)(x,{abi:n,address:v,functionName:a.name,args:eu(i,a),...e.value&&{value:BigInt(e.value)},chainId:u});X(l);let c=await (0,_.e)(x,{hash:l}),o=null==c?void 0:c.logs.map(e=>(0,R.F)({...e,abi:n}));K(o),s=L.A.success((0,r.jsxs)("a",{href:(0,G.U)({hash:l,chainId:u}),target:"_blank",rel:"noopener noreferrer",children:["Transaction successful: ",l," ",(0,r.jsx)(N.Z,{className:"inline-block h-3 w-3"})]}))}}catch(e){console.error(e),L.A.error(e.message||"Something went wrong. Please try again.",{id:s})}finally{b(!1)}},[j.address,j.isConnected,u,a,f,h,m,t,x,n,v,es]);return(0,r.jsx)("div",{className:"pb-6",children:(0,r.jsx)(J.l0,{...es,children:(0,r.jsxs)("form",{onSubmit:es.handleSubmit(en),id:p(a,t),className:"space-y-4 rounded border border-white/10 bg-black/20 p-3 pb-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h3",{className:"font-semibold",children:(0,r.jsxs)(B,{elementId:p(a,t),className:"group inline-flex items-center hover:no-underline",children:[(0,r.jsx)("span",{className:"text-orange-500 group-hover:underline",children:a.name}),(0,r.jsxs)("span",{className:"opacity-50",children:[" (",Q.join(", "),")"]}),(0,r.jsxs)("span",{className:"ml-2 opacity-50",children:["payable"===a.stateMutability&&(0,r.jsx)(I.Z,{className:"mr-2 inline-block h-4 w-4"}),("view"===a.stateMutability||"pure"===a.stateMutability)&&(0,r.jsx)(C.Z,{className:"mr-2 inline-block h-4 w-4"}),"nonpayable"===a.stateMutability&&(0,r.jsx)(S.Z,{className:"mr-2 inline-block h-4 w-4"})]})]})}),(0,r.jsx)(D.q,{value:et(),className:"h-8 w-8"})]}),a.inputs.length>0&&(0,r.jsxs)("div",{className:"!mt-2 space-y-2",children:[a.inputs.map((e,s)=>(0,r.jsx)(eo,{input:e,index:s},s)),"payable"===a.stateMutability&&(0,r.jsx)(J.Wi,{control:es.control,name:"value",render:e=>{let{field:s}=e;return(0,r.jsxs)(J.xJ,{className:"flex items-center gap-4 space-y-0",children:[(0,r.jsxs)(J.lX,{className:"flex shrink-0 items-center gap-x-2 pt-1 font-mono text-sm opacity-70",children:["value ",(0,r.jsx)(I.Z,{className:"h-4 w-4"})]}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)(J.NI,{children:(0,r.jsx)(d.I,{placeholder:"uint256",...s,className:"font-mono text-sm"})}),(0,r.jsx)(J.zG,{})]})]})}})]}),(0,r.jsx)("div",{children:(0,r.jsxs)(y.z,{type:"submit",size:"sm",disabled:g||!j.isConnected,children:[g&&(0,r.jsx)(A.Z,{className:"-ml-1 mr-2 h-4 w-4 animate-spin"}),0===h?"Read":"Write"]})}),w&&(0,r.jsxs)("pre",{className:"text-md relative rounded border p-3 text-sm",children:[w,(0,r.jsx)(D.q,{value:w,className:"absolute right-1.5 top-1.5"})]}),T&&(0,r.jsxs)("div",{className:"relative flex-grow break-all rounded border border-white/20 p-2 pb-3",children:[(0,r.jsx)("ul",{children:T.map((e,s)=>(0,r.jsxs)("li",{children:[e.eventName&&(0,r.jsxs)("span",{className:"text-sm",children:[e.eventName,":"]}),e.args&&(0,r.jsx)("ul",{className:"list-inside",children:Object.entries(e.args).map(e=>{let[s,t]=e;return(0,r.jsxs)("li",{className:"mt-1 flex",children:[(0,r.jsxs)("span",{className:"text-sm text-white/60",children:[s,":"]})," ",(0,r.jsx)("span",{className:"text-sm",children:String(t)})]},s)})})]},s))}),(0,r.jsx)(D.q,{value:(0,O.P)(T,null,2),className:"absolute right-1.5 top-1.5"})]}),Y&&(0,r.jsxs)(k.default,{href:Y,target:"_blank",className:"flex items-center text-xs text-muted-foreground hover:underline",children:[(0,r.jsx)(N.Z,{className:"mr-2 h-3 w-3"})," View on block explorer"]})]})})})}function ef(e){let{name:s,systems:t,functions:n,worldAbi:a,isNamespace:i,initialFunctionHash:c}=e,[o,u]=(0,l.v1)("expanded",(0,l.S$)(l.Oi).withDefault([])),d=()=>{u(e=>e.includes(s)?e.filter(e=>e!==s):[...e,s])};return i&&t?(0,r.jsx)("div",{children:(0,r.jsxs)(g,{open:o.includes(s),onOpenChange:d,children:[(0,r.jsx)(b,{asChild:!0,children:(0,r.jsxs)("div",{className:"group flex w-full cursor-pointer items-center justify-between",children:[(0,r.jsx)("h4",{className:"mt-4 text-2xl font-semibold",children:s}),(0,r.jsx)(y.z,{size:"sm",variant:"ghost",children:(0,r.jsx)(j.Z,{className:"h-4 w-4"})})]})}),(0,r.jsx)(w,{children:t.map(e=>(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"my-4 text-xl font-semibold opacity-70",children:e.name}),e.functions.map(s=>(0,r.jsx)(eh,{systemId:e.systemId,worldAbi:a,functionAbi:s,useSearchParamsArgs:c===p(s,e.systemId)},p(s,e.systemId)))]},e.systemId))})]})}):n?(0,r.jsx)("div",{children:(0,r.jsxs)(g,{open:o.includes(s),onOpenChange:d,children:[(0,r.jsx)(b,{asChild:!0,children:(0,r.jsxs)("div",{className:"group flex w-full cursor-pointer items-center justify-between",children:[(0,r.jsx)("h4",{className:"my-4 text-2xl font-semibold",children:s}),(0,r.jsx)(y.z,{size:"sm",variant:"ghost",children:(0,r.jsx)(j.Z,{className:"h-4 w-4"})})]})}),(0,r.jsx)(w,{children:n.map(e=>(0,r.jsx)(eh,{worldAbi:a,functionAbi:e,useSearchParamsArgs:c===p(e)},p(e)))})]})}):null}function ep(e){let{worldAbi:s,filteredFunctions:t,isLoading:n}=e,a=(0,c.useRef)(window.location.hash.slice(1)).current;return(0,r.jsxs)("div",{className:"w-full overflow-y-auto pl-1 pr-1",children:[n&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)(x.O,{className:"h-[150px]"}),(0,r.jsx)(x.O,{className:"h-[150px]"}),(0,r.jsx)(x.O,{className:"h-[150px]"}),(0,r.jsx)(x.O,{className:"h-[150px]"}),(0,r.jsx)(x.O,{className:"h-[150px]"})]}),!n&&(0,r.jsxs)(r.Fragment,{children:[t.namespaces.map(e=>{let{namespace:t,systems:n}=e;return(0,r.jsx)(ef,{name:t,systems:n,worldAbi:s,initialFunctionHash:a,isNamespace:!0},t)}),t.core.map(e=>(0,r.jsx)(ef,{name:e.name,functions:e.functions,worldAbi:s,initialFunctionHash:a},e.systemId))]})]})}function ex(e){let{abi:s,systemId:t}=e;return(0,r.jsx)("li",{children:(0,r.jsxs)(B,{elementId:p(s,t),className:"whitespace-nowrap text-sm hover:text-orange-500 hover:underline",children:[(0,r.jsxs)("span",{className:"opacity-50",children:["payable"===s.stateMutability&&(0,r.jsx)(I.Z,{className:"mr-2 inline-block h-4 w-4"}),("view"===s.stateMutability||"pure"===s.stateMutability)&&(0,r.jsx)(C.Z,{className:"mr-2 inline-block h-4 w-4"}),"nonpayable"===s.stateMutability&&(0,r.jsx)(S.Z,{className:"mr-2 inline-block h-4 w-4"})]}),(0,r.jsx)("span",{children:s.name}),s.inputs.length>0&&(0,r.jsxs)("span",{className:"opacity-50",children:[" (",s.inputs.length,")"]})]})})}var ej=t(15015);function ey(e){let{systemId:s,name:t,children:n,functionCount:a,isNamespace:i}=e,[c,o]=(0,l.v1)("expanded",(0,l.S$)(l.Oi).withDefault([]));return(0,r.jsx)("li",{children:(0,r.jsxs)(g,{open:c.includes(s),onOpenChange:()=>{o(e=>e.includes(s)?e.filter(e=>e!==s):[...e,s])},children:[(0,r.jsx)(b,{asChild:!0,children:(0,r.jsxs)("div",{className:"group flex w-full cursor-pointer items-center justify-between space-x-1",children:[(0,r.jsx)("h4",{className:"truncate text-sm font-semibold",children:t}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[void 0!==a&&(0,r.jsx)(ej.C,{variant:"secondary",className:"h-5 min-w-[20px] rounded-full px-1.5",children:a}),(0,r.jsx)(y.z,{size:"sm",variant:"ghost",children:(0,r.jsx)(j.Z,{className:"h-4 w-4"})})]})]})}),(0,r.jsx)(w,{className:i?void 0:"space-y-1",children:n})]})})}function ev(e){let{filteredFunctions:s,filterValue:t,isLoading:n}=e,a=(0,i.useRouter)(),l=(0,i.useSearchParams)();return(0,c.useEffect)(()=>{let e=new URLSearchParams(l.toString());t?e.set("filter",t):e.delete("filter"),a.replace("?".concat(e.toString()).concat(window.location.hash))},[t,l,a]),(0,r.jsxs)("ul",{className:"py-4 pr-4",children:[n&&Array.from({length:6}).map((e,s)=>(0,r.jsx)("li",{className:"pt-2",children:(0,r.jsx)(x.O,{className:"h-[30px]"})},s)),!n&&(0,r.jsxs)(r.Fragment,{children:[s.namespaces.map(e=>{let{namespace:s,systems:t}=e;return(0,r.jsx)(ey,{systemId:s,name:s,isNamespace:!0,children:(0,r.jsx)("ul",{className:"pl-4",children:t.map(e=>(0,r.jsx)(ey,{systemId:e.systemId,name:e.name,functionCount:e.functions.length,children:(0,r.jsx)("ul",{className:"space-y-1 py-1",children:e.functions.map(s=>(0,r.jsx)(ex,{systemId:e.systemId,abi:s},(0,f.r)(s)))})},e.systemId))})},s)}),s.core.map(e=>(0,r.jsx)(ey,{systemId:e.systemId,name:e.name,functionCount:e.functions.length,children:(0,r.jsx)("ul",{children:e.functions.map(s=>(0,r.jsx)(ex,{systemId:e.systemId,abi:s},(0,f.r)(s)))})},e.systemId))]})]})}function eg(e){return"function"===e.type}function eb(){let e=(0,i.useSearchParams)(),[,s]=(0,l.v1)("expanded",(0,l.S$)(l.Oi).withDefault([])),t=(0,c.useRef)(!1),{data:n,isFetched:a}=(0,h.b)(),{data:f,isFetched:x}=(0,m.A)(),j=a&&x,[y,v]=(0,c.useState)(e.get("filter")||""),g=(0,c.useDeferredValue)(y),b=(0,c.useMemo)(()=>{if(!f)return{core:[],namespaces:[]};let e=g.toLowerCase(),s=u.filter(s=>!!eg(s)&&"core_core_".concat(s.name).toLowerCase().includes(e));return{core:s.length>0?[{systemId:"core",name:"core",namespace:"",functions:s}]:[],namespaces:Object.entries(Object.entries(f).reduce((s,t)=>{let[n,a]=t,{namespace:r,name:i}=(0,o.IJ)(n),l=r||"root",c=a.filter(s=>!!eg(s)&&"".concat(l,"_").concat(i,"_").concat(s.name).toLowerCase().includes(e));if(0===c.length)return s;s[l]||(s[l]=[]);let u=s[l];return u&&u.push({systemId:n,namespace:l,name:i,functions:c}),s},{})).map(e=>{let[s,t]=e;return{namespace:s,systems:t}})}},[f,g]);return(0,c.useEffect)(()=>{if(j&&!t.current){let e=window.location.hash.slice(1);if(e){for(let{namespace:n,systems:a}of b.namespaces)for(let r of a)for(let a of r.functions)if(e===p(a,r.systemId)){s([n,r.systemId]),t.current=!0;return}for(let n of b.core)for(let a of n.functions)if(e===p(a,n.systemId)){s(["core",n.systemId]),t.current=!0;return}}let n=b.namespaces[0];n&&(s([n.namespace]),t.current=!0)}},[j,b,s]),(0,c.useEffect)(()=>{if(j&&g){let e=[];for(let{namespace:s,systems:t}of b.namespaces)t.some(e=>e.name.toLowerCase().includes(g.toLowerCase())||e.functions.some(e=>e.name.toLowerCase().includes(g.toLowerCase())))&&(e.push(s),t.forEach(s=>{(s.name.toLowerCase().includes(g.toLowerCase())||s.functions.some(e=>e.name.toLowerCase().includes(g.toLowerCase())))&&e.push(s.systemId)}));for(let s of b.core)(s.name.toLowerCase().includes(g.toLowerCase())||s.functions.some(e=>e.name.toLowerCase().includes(g.toLowerCase())))&&e.push(s.systemId);s(e)}},[j,g,b,s]),(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"-mr-1g -ml-1 flex gap-x-4 overflow-y-hidden",children:[(0,r.jsxs)("div",{className:"w-[320px] flex-shrink-0 overflow-y-auto border-r pl-1",children:[(0,r.jsxs)("div",{className:"pr-4",children:[(0,r.jsx)("h4",{className:"py-4 text-xs font-semibold uppercase opacity-70",children:"Jump to:"}),(0,r.jsx)(d.I,{type:"search",placeholder:"Filter functions…",value:y,onChange:e=>v(e.target.value)})]}),(0,r.jsx)(ev,{filteredFunctions:b,filterValue:g,isLoading:!j})]}),(0,r.jsx)(ep,{worldAbi:null==n?void 0:n.abi,filteredFunctions:b,isLoading:!j})]})})}},93607:function(e,s,t){"use strict";t.d(s,{A:function(){return i}});var n=t(67590),a=t(43482),r=t(50354);function i(){let{worldAddress:e,chainName:s}=(0,n.useParams)(),{id:t}=(0,r.A)();return(0,a.a)({queryKey:["systemAbis",e,s],queryFn:async()=>{let s=await fetch("/api/system-abis?".concat(new URLSearchParams({chainId:t.toString(),worldAddress:e})));return await s.json()},select:e=>e.abis,retry:!1})}},64920:function(e,s,t){"use strict";t.d(s,{b:function(){return i}});var n=t(67590),a=t(43482),r=t(92593);function i(){let{chainName:e,worldAddress:s}=(0,n.useParams)();(0,r.Yx)(e);let{id:t}=r.df[e];return(0,a.a)({queryKey:["worldAbi",e,s],queryFn:async()=>{let e=await fetch("/api/world-abi?".concat(new URLSearchParams({chainId:t.toString(),worldAddress:s})));return await e.json()},select:e=>({abi:e.abi||[],isWorldDeployed:e.isWorldDeployed}),refetchInterval:5e3})}},27406:function(e,s,t){"use strict";t.d(s,{q:function(){return o}});var n=t(65140),a=t(60323),r=t(71852),i=t(6466),l=t(9994),c=t(64683);function o(e){let{className:s,variant:t="outline",value:o,...u}=e,[d,m]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{d&&setTimeout(()=>{m(!1)},2e3)},[d]),(0,n.jsxs)(c.z,{size:"icon",variant:t,className:(0,l.cn)("relative z-10 h-6 w-6 border-white/15 bg-transparent text-zinc-50 hover:bg-secondary hover:text-zinc-50 [&_svg]:h-3 [&_svg]:w-3",s),onClick:()=>{navigator.clipboard.writeText(o),m(!0)},...u,children:[(0,n.jsx)("span",{className:"sr-only",children:"Copy"}),d?(0,n.jsx)(a.Z,{}):(0,n.jsx)(r.Z,{})]})}},15015:function(e,s,t){"use strict";t.d(s,{C:function(){return l}});var n=t(65140),a=t(25183);t(6466);var r=t(9994);let i=(0,a.j)((0,r.cn)("inline-flex items-center px-2.5 py-0.5","rounded-md border","text-xs font-semibold transition-colors","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2"),{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",tertiary:"border-transparent bg-tertiary text-tertiary-foreground hover:bg-tertiary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:s,variant:t,...a}=e;return(0,n.jsx)("div",{className:(0,r.cn)(i({variant:t}),s),...a})}},36120:function(e,s,t){"use strict";t.d(s,{O:function(){return r}});var n=t(65140),a=t(9994);function r(e){let{className:s,...t}=e;return(0,n.jsx)("div",{className:(0,a.cn)("animate-pulse rounded-md bg-muted",s),...t})}}},function(e){e.O(0,[3696,587,1720,824,8425,4536,65,3498,3802,806,3194,492,7080,1015,3278,1866,4421,3361,3341,3164,1744],function(){return e(e.s=3099)}),_N_E=e.O()}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latticexyz/explorer",
3
- "version": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
3
+ "version": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
4
4
  "description": "World Explorer is a tool for visually exploring and manipulating the state of worlds",
5
5
  "type": "module",
6
6
  "exports": {
@@ -61,15 +61,15 @@
61
61
  "yargs": "^17.7.1",
62
62
  "zod": "3.23.8",
63
63
  "zustand": "^4.3.7",
64
- "@latticexyz/block-logs-stream": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
65
- "@latticexyz/common": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
66
- "@latticexyz/config": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
67
- "@latticexyz/protocol-parser": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
68
- "@latticexyz/schema-type": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
69
- "@latticexyz/store": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
70
- "@latticexyz/store-indexer": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
71
- "@latticexyz/store-sync": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f",
72
- "@latticexyz/world": "2.2.23-e1c2958b99c9fe4c7189ab24938e0978ff85a75f"
64
+ "@latticexyz/block-logs-stream": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
65
+ "@latticexyz/common": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
66
+ "@latticexyz/config": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
67
+ "@latticexyz/protocol-parser": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
68
+ "@latticexyz/schema-type": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
69
+ "@latticexyz/store": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
70
+ "@latticexyz/store-indexer": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
71
+ "@latticexyz/store-sync": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95",
72
+ "@latticexyz/world": "2.2.23-e9e21c9f1f7d164af1b19f327d798ed2f2d0fd95"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@trivago/prettier-plugin-sort-imports": "^4.3.0",
@@ -1 +0,0 @@
1
- "use strict";exports.id=1522,exports.ids=[1522],exports.modules={36053:(e,t,n)=>{n.d(t,{s:()=>i});var s=n(26594),r=n(78465),a=n(30426);async function i(e){let t=a.df[a.is[e]];return(0,s.e)({chain:t,transport:(0,r.d)()})}},14489:(e,t,n)=>{n.d(t,{h:()=>r});var s=n(30426);function r(e){let t=s.df[s.is[e]];return"indexerUrl"in t?t.indexerUrl:void 0}},30426:(e,t,n)=>{n.d(t,{is:()=>b,df:()=>d,wG:()=>m});var s=n(44341),r=n(2948),a=n(12488),i=n(36700),o=n(52514);r.t;var c={...a.g,iconUrls:["https://redstone.xyz/chain-icons/redstone.png"],indexerUrl:"https://indexer.mud.redstonechain.com"},l={...i.T,rpcUrls:{...i.T.rpcUrls,bundler:i.T.rpcUrls.default},contracts:{...i.T.contracts,quarryPaymaster:{address:"0x2d70F1eFFbFD865764CAF19BE2A01a72F3CE774f"}},iconUrls:["https://redstone.xyz/chain-icons/garnet.png"],indexerUrl:"https://indexer.mud.garnetchain.com"},u={http:["https://rpc.pyropechain.com"],webSocket:["wss://rpc.pyropechain.com"]},y={...o.i,name:"Pyrope Testnet",testnet:!0,id:695569,sourceId:11155111,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:u,bundler:u},contracts:{...o.i.contracts,l1StandardBridge:{11155111:{address:"0xC24932c31D9621aE9e792576152B7ef010cFC2F8"}},quarryPaymaster:{address:"0x2d70F1eFFbFD865764CAF19BE2A01a72F3CE774f"}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.pyropechain.com"},worldsExplorer:{name:"MUD Worlds Explorer",url:"https://explorer.mud.dev/pyrope/worlds"}},iconUrls:["https://lattice.xyz/brand/color/pyrope.svg"],indexerUrl:"https://indexer.mud.pyropechain.com"};let d={anvil:s.O,redstone:c,garnet:l,pyrope:y},b=Object.fromEntries(Object.entries(d).map(([e,t])=>[t.id,e]));function m(e){if(!("number"==typeof e&&e in b))throw Error(`Invalid chain ID. Supported chains are: ${Object.keys(b).join(", ")}.`)}},99935:(e,t,n)=>{n.d(t,{D:()=>w});var s=n(30953),r=n(47525),a=n(54146),i=n(14546),o=n(10479),c=n(11447),l=n(21996),u=n(23079),y=n(20520),d=n(26594),b=n(78465),m=n(93065),p=o("mud:block-events-stream"),f=o("mud:block-events-stream");async function g(e){let t={method:"eth_getLogs",params:[{address:e.address,topics:e.topics,fromBlock:(0,c.eC)(e.fromBlock),toBlock:(0,c.eC)(e.toBlock)}]};if(!e.internal_clientOptions?.validateBlockRange)return(await (e.publicClient??(0,d.e)({chain:e.internal_clientOptions.chain,transport:(0,b.d)(),pollingInterval:e.internal_clientOptions.pollingInterval})).request(t)).map(e=>(0,l.U)(e));let[n]=e.internal_clientOptions.chain.rpcUrls.default.http,s=(0,y.x)(n),r={method:"eth_getBlockByNumber",params:[(0,c.eC)(e.toBlock),!1]},[{error:i,result:o},{error:m,result:p}]=await s.request({body:[r,t]});if(i)throw new u.bs({body:r,error:i,url:n});if(m)throw new u.bs({body:t,error:m,url:n});if(!o)throw new a.f({blockNumber:e.toBlock});return p.map(e=>(0,l.U)(e))}p.log=console.debug.bind(console),f.log=console.error.bind(console);var h=["rate limit exceeded","over rate limit","sender is over rate limit"],v=["block range exceeded","block range is too large","block range greater than","query exceeds max block range","exceed maximum block range"],x=["block is out of range","backend response too large","query exceeds max results"],k=["block not found","unknown block","Unknown block"];async function*S({maxBlockRange:e=1000n,maxRetryCount:t=3,fromBlock:n,toBlock:o,...c}){let l=c.getLogs??(async e=>{let t=c.events?[c.events.map(e=>(0,s.n)(e))]:void 0,n=await g({...c,...e,topics:t});return c.events?(0,r.h)({logs:n,abi:c.events}):n}),u=n,y=(0,i.Ed)(e,o-u),d=0;for(;u<=o;){let n=u+(0,i._L)(0n,y-1n);p(`getting logs for blocks ${u}-${n} (${y} blocks, ${e} max)`);try{let t=await l({fromBlock:u,toBlock:n});yield{fromBlock:u,toBlock:n,logs:t},u=n+1n,y=(0,i.Ed)(e,o-u),d=0}catch(o){if(!(o instanceof Error))throw o;if(d<t&&h.some(e=>o.message.includes(e))){let e=2*d;p(`too many requests, retrying in ${e}s`),await (0,i.Dc)(1e3*e),d+=1;continue}let s=v.some(e=>o.message.includes(e)),r=x.some(e=>o.message.includes(e));if(s||r){if((y/=2n)<=0n)throw Error("can't reduce block range any further");s&&(e=y),p(`got block range error, retrying with ${y} blocks, ${e} max`);continue}if(d<t&&(k.some(e=>o.message.includes(e))||o.message===new a.f({blockNumber:n}).message)){let e=2*d;p(`missing block, retrying in ${e}s`),await (0,i.Dc)(1e3*e),d+=1;continue}throw o}}}async function w(e){return function(e,t){let n=Array.from(new Set(e.map(e=>e.blockNumber)));n.sort(i.iN);let s=e.slice().sort(m.vC),r=Array.from((0,i.vM)(s,e=>e.blockNumber).entries()).map(([e,t])=>({blockNumber:e,logs:t})).filter(e=>e.logs.length>0);return n.at(-1),r}((await (0,i.s$)(S(e))).flatMap(({logs:e})=>e))}},14546:(e,t,n)=>{function s(e,t){throw Error(t??`Unexpected value: ${e}`)}function r(...e){return e.reduce((e,t)=>t>e?t:e)}function a(...e){return e.reduce((e,t)=>t<e?t:e)}function i(e,t){return e<t?-1:e>t?1:0}function o(e,t){let n=new Map;for(let s of e){let e=t(s);n.has(e)||n.set(e,[]),n.get(e).push(s)}return n}function c(e){return void 0!==e}async function l(e){let t=[];for await(let n of e)t.push(n);return t}function u(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n,e)]))}function y(e){return new Promise(t=>setTimeout(()=>t(),e))}n.d(t,{$K:()=>c,Dc:()=>y,Ed:()=>a,Xc:()=>u,_L:()=>r,iN:()=>i,nt:()=>s,s$:()=>l,vM:()=>o})},93065:(e,t,n)=>{n.d(t,{IJ:()=>p,IY:()=>h,vC:()=>f,ak:()=>g,Xj:()=>d,qj:()=>b,z8:()=>v});var s=n(10479),r=s("mud:common"),a=s("mud:common");r.log=console.debug.bind(console),a.log=console.error.bind(console),n(60654),n(63943),r.extend("createNonceManager");r.extend("sendTransaction"),r.extend("writeContract");var i=n(74603),o=n(11447),c=n(65087),l=n(95024),u=["table","offchainTable","namespace","system"],y={table:"tb",offchainTable:"ot",namespace:"ns",system:"sy"};function d(e){let t=y[e.type];if(e.namespace.length>14)throw Error(`Namespaces must fit into \`bytes14\`, but "${e.namespace}" is too long.`);return(0,i.SM)([(0,o.$G)(t,{size:2}),(0,o.$G)(e.namespace,{size:14}),(0,o.$G)(e.name.slice(0,16),{size:16})])}function b({namespace:e,name:t}){return""===e?t:`${e}__${t}`}var m=Object.fromEntries(Object.entries(y).map(([e,t])=>[t,e]));function p(e){let t=(0,c.rR)((0,l.p5)(e,0,2)).replace(/\0+$/,""),n=function(e){let t=m[e];if(u.includes(t))return t}(t),s=(0,c.rR)((0,l.p5)(e,2,16)).replace(/\0+$/,""),r=(0,c.rR)((0,l.p5)(e,16,32)).replace(/\0+$/,"");if(!n)throw Error(`Unknown type (${t}) for resource (${b({namespace:s,name:r})})`);return{resourceId:e,type:n,namespace:s,name:r}}function f(e,t){return e.blockNumber===t.blockNumber?e.logIndex===t.logIndex?0:null==e.logIndex?1:null==t.logIndex?-1:e.logIndex-t.logIndex:null==e.blockNumber?1:null==t.blockNumber?-1:e.blockNumber>t.blockNumber?1:e.blockNumber<t.blockNumber?-1:0}function g(e,t,n){return`0x${e.replace(/^0x/,"").slice(2*t,null!=n?2*n:void 0).padEnd(((n??t)-t)*2,"0")}`}function h(e){return"ok"in e}function v(e,t,n=0,s="0x"){return(0,i.SM)([g(e,0,t),s,g(e,t+n)])}s("mud:benchmark").log=console.info.bind(console),r.extend("transportObserver")},55550:(e,t,n)=>{n.d(t,{Tn:()=>w,oG:()=>E,z:()=>j,hS:()=>$,Si:()=>A,h9:()=>C,Fd:()=>R,Kf:()=>F,Cy:()=>N,SE:()=>D});var s=n(18332),r=n(65087),a=n(95024),i=n(14546),o=n(17313),c=class extends Error{constructor(){super(...arguments),this.name="MUDError"}},l=n(27854),u=n(93065),y=n(74603),d=n(80150),b=n(93116),m=n(12824),p=n(16592),f=class extends c{constructor(e){super(`Hex value "${e}" is an odd length (${e.length-2}). It must be an even length.`),this.name="InvalidHexValueError"}},g=class extends c{constructor(e){super(`Hex value "${e}" has length of ${e.length-2}, but expected length of 64 for encoded lengths.`),this.name="InvalidHexLengthForEncodedLengthsError"}},h=class extends c{constructor(e,t){super(`Hex value "${t}" has length of ${t.length-2}, but expected length of ${2*s.qS[e]} for ${e} type.`),this.name="InvalidHexLengthForStaticFieldError"}},v=class extends c{constructor(e,t){super(`Hex value "${t}" has length of ${t.length-2}, but expected a multiple of ${2*s.qS[e]} for ${e}[] type.`),this.name="InvalidHexLengthForArrayFieldError"}},x=class extends c{constructor(e,t,n){super(`EncodedLengths "${e}" total bytes length (${t}) did not match the summed length of all field byte lengths (${n}).`),this.name="EncodedLengthsLengthMismatchError"}};function k(e,t){if(t.length>3&&t.length%2!=0)throw new f(t);if((t.length-2)/2!==s.qS[e])throw new h(e,t);switch(e){case"uint8":case"uint16":case"uint24":case"uint32":case"uint40":case"uint48":case"uint56":case"uint64":case"uint72":case"uint80":case"uint88":case"uint96":case"uint104":case"uint112":case"uint120":case"uint128":case"uint136":case"uint144":case"uint152":case"uint160":case"uint168":case"uint176":case"uint184":case"uint192":case"uint200":case"uint208":case"uint216":case"uint224":case"uint232":case"uint240":case"uint248":case"uint256":case"int8":case"int16":case"int24":case"int32":case"int40":case"int48":case"int56":case"int64":case"int72":case"int80":case"int88":case"int96":case"int104":case"int112":case"int120":case"int128":case"int136":case"int144":case"int152":case"int160":case"int168":case"int176":case"int184":case"int192":case"int200":case"int208":case"int216":case"int224":case"int232":case"int240":case"int248":case"int256":{let n=(0,r.y_)(t,{signed:e.startsWith("int")}),a=typeof s.sD[e];if("number"===a)return Number(n);if("bigint"===a)return n;throw Error(`Unexpected default value type (${a}) for ABI type (${e})`)}case"bytes1":case"bytes2":case"bytes3":case"bytes4":case"bytes5":case"bytes6":case"bytes7":case"bytes8":case"bytes9":case"bytes10":case"bytes11":case"bytes12":case"bytes13":case"bytes14":case"bytes15":case"bytes16":case"bytes17":case"bytes18":case"bytes19":case"bytes20":case"bytes21":case"bytes22":case"bytes23":case"bytes24":case"bytes25":case"bytes26":case"bytes27":case"bytes28":case"bytes29":case"bytes30":case"bytes31":case"bytes32":return t;case"bool":return(0,r.XA)(t);case"address":return(0,o.K)(t)}return(0,i.nt)(e,`Unsupported static ABI type: ${e}`)}function S(e,t){if("bytes"===e)return t;if("string"===e)return(0,r.rR)(t);if(t.length>3&&t.length%2!=0)throw new f(t);let n=(t.length-2)/2;switch(e){case"uint8[]":case"uint16[]":case"uint24[]":case"uint32[]":case"uint40[]":case"uint48[]":case"uint56[]":case"uint64[]":case"uint72[]":case"uint80[]":case"uint88[]":case"uint96[]":case"uint104[]":case"uint112[]":case"uint120[]":case"uint128[]":case"uint136[]":case"uint144[]":case"uint152[]":case"uint160[]":case"uint168[]":case"uint176[]":case"uint184[]":case"uint192[]":case"uint200[]":case"uint208[]":case"uint216[]":case"uint224[]":case"uint232[]":case"uint240[]":case"uint248[]":case"uint256[]":case"int8[]":case"int16[]":case"int24[]":case"int32[]":case"int40[]":case"int48[]":case"int56[]":case"int64[]":case"int72[]":case"int80[]":case"int88[]":case"int96[]":case"int104[]":case"int112[]":case"int120[]":case"int128[]":case"int136[]":case"int144[]":case"int152[]":case"int160[]":case"int168[]":case"int176[]":case"int184[]":case"int192[]":case"int200[]":case"int208[]":case"int216[]":case"int224[]":case"int232[]":case"int240[]":case"int248[]":case"int256[]":case"bytes1[]":case"bytes2[]":case"bytes3[]":case"bytes4[]":case"bytes5[]":case"bytes6[]":case"bytes7[]":case"bytes8[]":case"bytes9[]":case"bytes10[]":case"bytes11[]":case"bytes12[]":case"bytes13[]":case"bytes14[]":case"bytes15[]":case"bytes16[]":case"bytes17[]":case"bytes18[]":case"bytes19[]":case"bytes20[]":case"bytes21[]":case"bytes22[]":case"bytes23[]":case"bytes24[]":case"bytes25[]":case"bytes26[]":case"bytes27[]":case"bytes28[]":case"bytes29[]":case"bytes30[]":case"bytes31[]":case"bytes32[]":case"bool[]":case"address[]":{let r=(0,s._X)(e),i=s.qS[r];if(n%i!=0)throw new v(r,t);return Array(n/i).fill(void 0).map((e,n)=>k(r,(0,a.p5)(t,n*i,(n+1)*i)))}}return(0,i.nt)(e,`Unsupported dynamic ABI type: ${e}`)}function w(e,t){let n=function(e,t){if(e.staticFields.length!==t.length)throw Error(`key tuple length ${t.length} does not match key schema length ${e.staticFields.length}`);return t.map((t,n)=>(0,l.r)([{type:e.staticFields[n]}],t)[0])}({staticFields:Object.values(e),dynamicFields:[]},t);return Object.fromEntries(Object.keys(e).map((e,t)=>[e,n[t]]))}function I(e){return e.reduce((e,t)=>e+s.qS[t],0)}function E(e,{staticData:t,encodedLengths:n,dynamicData:r}){return function(e,t){let n=function(e,t){let n=[],r=0;e.staticFields.forEach(e=>{let a=s.qS[e],i=k(e,(0,u.ak)(t,r,r+a));r+=a,n.push(i)});let a=I(e.staticFields),i=r;if(i!==a&&console.warn("Decoded static data length does not match value schema's expected static data length. Data may get corrupted. Is `getStaticByteLength` outdated?",{expectedLength:a,actualLength:i,bytesOffset:r}),e.dynamicFields.length>0){let a=function(e){if(66!==e.length)throw new g(e);let t=k("uint56",(0,u.ak)(e,25,32)),n=Object.freeze([...S("uint40[]",(0,u.ak)(e,0,25))].reverse()),s=BigInt(n.reduce((e,t)=>e+t,0));if(s!==t)throw new x(e,t,s);return{totalByteLength:t,fieldByteLengths:n}}((0,u.ak)(t,r,r+32));r+=32,e.dynamicFields.forEach((e,i)=>{let o=a.fieldByteLengths[i];if(o>0){let s=S(e,(0,u.ak)(t,r,r+o));r+=o,n.push(s)}else n.push(s.mi[e])});let o=r-32-i;BigInt(o)!==a.totalByteLength&&console.warn("Decoded dynamic data length does not match data layout's expected data length. Data may get corrupted. Did the data layout change?",{expectedLength:a.totalByteLength,actualLength:o,bytesOffset:r})}return n}({staticFields:Object.values(e).filter(s.mH),dynamicFields:Object.values(e).filter(s.d)},t);return Object.fromEntries(Object.keys(e).map((e,t)=>[e,n[t]]))}(e,(0,y.SM)([(0,u.ak)(t,0,I(Object.values(e).filter(s.mH))),(0,d.gc)(n,{size:32}),r]))}function O(e,t){if((0,s.RW)(e)&&Array.isArray(t)){let n=(0,s._X)(e);return 0===t.length?"0x":(0,b._)(t.map(()=>n),t)}return(0,b._)([e],[t])}function j(e,t){var n;return n={staticFields:Object.values(e).filter(s.mH),dynamicFields:[]},Object.values(t).map((e,t)=>(0,m.E)([{type:n.staticFields[t]}],[e]))}function $(e,t){let n=Object.entries(e),r=n.filter(([,e])=>(0,s.mH)(e)),a=n.filter(([,e])=>(0,s.d)(e)),i=r.map(([e,n])=>O(n,t[e])),o=a.map(([e,n])=>O(n,t[e])),c=function(e){let t=e.map(p.d).reverse(),n=t.reduce((e,t)=>e+BigInt(t),0n);return(0,d.gc)((0,y.SM)([...t.map(e=>O("uint40",e)),O("uint56",n)]),{size:32,dir:"left"})}(o);return{staticData:(0,y.SM)(i),encodedLengths:c,dynamicData:(0,y.SM)(o)}}function L(e){let t=e.staticFields.map(e=>s.xg.indexOf(e)),n=e.dynamicFields.map(e=>s.xg.indexOf(e));return`0x${[I(e.staticFields).toString(16).padStart(4,"0"),e.staticFields.length.toString(16).padStart(2,"0"),e.dynamicFields.length.toString(16).padStart(2,"0"),...t.map(e=>e.toString(16).padStart(2,"0")),...n.map(e=>e.toString(16).padStart(2,"0"))].join("").padEnd(64,"0")}`}function F(e){return L({staticFields:Object.values(e).filter(s.mH),dynamicFields:[]})}function N(e){let t=Object.values(e).filter(s.mH),n=Object.values(e).filter(s.d),r=t.map(e=>s.qS[e]),a=r.reduce((e,t)=>e+t,0);return`0x${[a.toString(16).padStart(4,"0"),t.length.toString(16).padStart(2,"0"),n.length.toString(16).padStart(2,"0"),...r.map(e=>e.toString(16).padStart(2,"0"))].join("").padEnd(64,"0")}`}function D(e){return L({staticFields:Object.values(e).filter(s.mH),dynamicFields:Object.values(e).filter(s.d)})}function A(e){return Object.fromEntries(e.key.map(t=>[t,e.schema[t]]))}function R(e){return Object.fromEntries(Object.entries(e.schema).filter(([t])=>!e.key.includes(t)))}function C(e){return(0,i.Xc)(e,e=>e.type)}},18332:(e,t,n)=>{n.d(t,{D3:()=>p,Q8:()=>i,RW:()=>d,_X:()=>m,d:()=>g,li:()=>b,mH:()=>l,mi:()=>f,qS:()=>c,sD:()=>o,xg:()=>s});var s=["uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","bool","address","uint8[]","uint16[]","uint24[]","uint32[]","uint40[]","uint48[]","uint56[]","uint64[]","uint72[]","uint80[]","uint88[]","uint96[]","uint104[]","uint112[]","uint120[]","uint128[]","uint136[]","uint144[]","uint152[]","uint160[]","uint168[]","uint176[]","uint184[]","uint192[]","uint200[]","uint208[]","uint216[]","uint224[]","uint232[]","uint240[]","uint248[]","uint256[]","int8[]","int16[]","int24[]","int32[]","int40[]","int48[]","int56[]","int64[]","int72[]","int80[]","int88[]","int96[]","int104[]","int112[]","int120[]","int128[]","int136[]","int144[]","int152[]","int160[]","int168[]","int176[]","int184[]","int192[]","int200[]","int208[]","int216[]","int224[]","int232[]","int240[]","int248[]","int256[]","bytes1[]","bytes2[]","bytes3[]","bytes4[]","bytes5[]","bytes6[]","bytes7[]","bytes8[]","bytes9[]","bytes10[]","bytes11[]","bytes12[]","bytes13[]","bytes14[]","bytes15[]","bytes16[]","bytes17[]","bytes18[]","bytes19[]","bytes20[]","bytes21[]","bytes22[]","bytes23[]","bytes24[]","bytes25[]","bytes26[]","bytes27[]","bytes28[]","bytes29[]","bytes30[]","bytes31[]","bytes32[]","bool[]","address[]","bytes","string"],r=s.slice(0,98),a=s.slice(98);function i(e){return s.includes(e)}var o={uint8:0,uint16:0,uint24:0,uint32:0,uint40:0,uint48:0,uint56:0n,uint64:0n,uint72:0n,uint80:0n,uint88:0n,uint96:0n,uint104:0n,uint112:0n,uint120:0n,uint128:0n,uint136:0n,uint144:0n,uint152:0n,uint160:0n,uint168:0n,uint176:0n,uint184:0n,uint192:0n,uint200:0n,uint208:0n,uint216:0n,uint224:0n,uint232:0n,uint240:0n,uint248:0n,uint256:0n,int8:0,int16:0,int24:0,int32:0,int40:0,int48:0,int56:0n,int64:0n,int72:0n,int80:0n,int88:0n,int96:0n,int104:0n,int112:0n,int120:0n,int128:0n,int136:0n,int144:0n,int152:0n,int160:0n,int168:0n,int176:0n,int184:0n,int192:0n,int200:0n,int208:0n,int216:0n,int224:0n,int232:0n,int240:0n,int248:0n,int256:0n,bytes1:"0x00",bytes2:"0x0000",bytes3:"0x000000",bytes4:"0x00000000",bytes5:"0x0000000000",bytes6:"0x000000000000",bytes7:"0x00000000000000",bytes8:"0x0000000000000000",bytes9:"0x000000000000000000",bytes10:"0x00000000000000000000",bytes11:"0x0000000000000000000000",bytes12:"0x000000000000000000000000",bytes13:"0x00000000000000000000000000",bytes14:"0x0000000000000000000000000000",bytes15:"0x000000000000000000000000000000",bytes16:"0x00000000000000000000000000000000",bytes17:"0x0000000000000000000000000000000000",bytes18:"0x000000000000000000000000000000000000",bytes19:"0x00000000000000000000000000000000000000",bytes20:"0x0000000000000000000000000000000000000000",bytes21:"0x000000000000000000000000000000000000000000",bytes22:"0x00000000000000000000000000000000000000000000",bytes23:"0x0000000000000000000000000000000000000000000000",bytes24:"0x000000000000000000000000000000000000000000000000",bytes25:"0x00000000000000000000000000000000000000000000000000",bytes26:"0x0000000000000000000000000000000000000000000000000000",bytes27:"0x000000000000000000000000000000000000000000000000000000",bytes28:"0x00000000000000000000000000000000000000000000000000000000",bytes29:"0x0000000000000000000000000000000000000000000000000000000000",bytes30:"0x000000000000000000000000000000000000000000000000000000000000",bytes31:"0x00000000000000000000000000000000000000000000000000000000000000",bytes32:"0x0000000000000000000000000000000000000000000000000000000000000000",bool:!1,address:"0x0000000000000000000000000000000000000000"},c={uint8:1,uint16:2,uint24:3,uint32:4,uint40:5,uint48:6,uint56:7,uint64:8,uint72:9,uint80:10,uint88:11,uint96:12,uint104:13,uint112:14,uint120:15,uint128:16,uint136:17,uint144:18,uint152:19,uint160:20,uint168:21,uint176:22,uint184:23,uint192:24,uint200:25,uint208:26,uint216:27,uint224:28,uint232:29,uint240:30,uint248:31,uint256:32,int8:1,int16:2,int24:3,int32:4,int40:5,int48:6,int56:7,int64:8,int72:9,int80:10,int88:11,int96:12,int104:13,int112:14,int120:15,int128:16,int136:17,int144:18,int152:19,int160:20,int168:21,int176:22,int184:23,int192:24,int200:25,int208:26,int216:27,int224:28,int232:29,int240:30,int248:31,int256:32,bytes1:1,bytes2:2,bytes3:3,bytes4:4,bytes5:5,bytes6:6,bytes7:7,bytes8:8,bytes9:9,bytes10:10,bytes11:11,bytes12:12,bytes13:13,bytes14:14,bytes15:15,bytes16:16,bytes17:17,bytes18:18,bytes19:19,bytes20:20,bytes21:21,bytes22:22,bytes23:23,bytes24:24,bytes25:25,bytes26:26,bytes27:27,bytes28:28,bytes29:29,bytes30:30,bytes31:31,bytes32:32,bool:1,address:20};function l(e){return r.includes(e)}var u=/\[\]$/,y=/\[\d+\]$/;function d(e){return"string"==typeof e&&u.test(e)&&l(e.replace(u,""))}function b(e){return"string"==typeof e&&y.test(e)&&l(e.replace(y,""))}function m(e){return e.replace(u,"")}function p(e){return e.replace(y,"[]")}var f={"uint8[]":[],"uint16[]":[],"uint24[]":[],"uint32[]":[],"uint40[]":[],"uint48[]":[],"uint56[]":[],"uint64[]":[],"uint72[]":[],"uint80[]":[],"uint88[]":[],"uint96[]":[],"uint104[]":[],"uint112[]":[],"uint120[]":[],"uint128[]":[],"uint136[]":[],"uint144[]":[],"uint152[]":[],"uint160[]":[],"uint168[]":[],"uint176[]":[],"uint184[]":[],"uint192[]":[],"uint200[]":[],"uint208[]":[],"uint216[]":[],"uint224[]":[],"uint232[]":[],"uint240[]":[],"uint248[]":[],"uint256[]":[],"int8[]":[],"int16[]":[],"int24[]":[],"int32[]":[],"int40[]":[],"int48[]":[],"int56[]":[],"int64[]":[],"int72[]":[],"int80[]":[],"int88[]":[],"int96[]":[],"int104[]":[],"int112[]":[],"int120[]":[],"int128[]":[],"int136[]":[],"int144[]":[],"int152[]":[],"int160[]":[],"int168[]":[],"int176[]":[],"int184[]":[],"int192[]":[],"int200[]":[],"int208[]":[],"int216[]":[],"int224[]":[],"int232[]":[],"int240[]":[],"int248[]":[],"int256[]":[],"bytes1[]":[],"bytes2[]":[],"bytes3[]":[],"bytes4[]":[],"bytes5[]":[],"bytes6[]":[],"bytes7[]":[],"bytes8[]":[],"bytes9[]":[],"bytes10[]":[],"bytes11[]":[],"bytes12[]":[],"bytes13[]":[],"bytes14[]":[],"bytes15[]":[],"bytes16[]":[],"bytes17[]":[],"bytes18[]":[],"bytes19[]":[],"bytes20[]":[],"bytes21[]":[],"bytes22[]":[],"bytes23[]":[],"bytes24[]":[],"bytes25[]":[],"bytes26[]":[],"bytes27[]":[],"bytes28[]":[],"bytes29[]":[],"bytes30[]":[],"bytes31[]":[],"bytes32[]":[],"bool[]":[],"address[]":[],bytes:"0x",string:""};function g(e){return a.includes(e)}},1334:(e,t,n)=>{n.d(t,{E:()=>l,v:()=>y});var s=Object.create,r=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>function(){return t||(0,e[i(e)[0]])((t={exports:{}}).exports,t),t.exports},u=(e,t,n,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of i(t))c.call(e,o)||o===n||r(e,o,{get:()=>t[o],enumerable:!(s=a(t,o))||s.enumerable});return e},y=(e,t,n)=>(n=null!=e?s(o(e)):{},u(!t&&e&&e.__esModule?n:r(n,"default",{value:e,enumerable:!0}),e))},43094:(e,t,n)=>{n.d(t,{Q:()=>u});var s=n(28957),r=n(99935),a=n(68971),i=n(26594),o=n(78465),c=n(45162),l=n(25625);async function u(e){async function t(){if(e.indexerUrl&&e.chainId){(0,s.fF)("fetching records for",e.table.label,"via indexer from",e.indexerUrl);let t=await (0,s.vM)({chainId:e.chainId,address:e.worldAddress,indexerUrl:e.indexerUrl,filters:[{tableId:e.table.tableId}]});return t?.logs.filter(t=>t.args.tableId===e.table.tableId)??[]}{let t=e.client??(0,i.e)({transport:(0,o.d)(e.rpcUrl)});(0,s.fF)("fetching records for",e.table.label,"via RPC from",t.transport.url);let n=await (0,r.D)({fromBlock:e.fromBlock??0n,toBlock:e.toBlock??await (0,c.s)(t,l.z,"getBlockNumber")({}),maxBlockRange:100000n,getLogs:async({fromBlock:n,toBlock:s})=>(0,a.vB)(t,{address:e.worldAddress,fromBlock:n,toBlock:s,tableId:e.table.tableId})});return(0,a.dp)(n.flatMap(e=>e.logs))}}let n=await t(),u=n.map(t=>(0,a.kr)({log:t,table:e.table})),y=n.length>0?n[n.length-1].blockNumber??0n:0n;return(0,s.fF)("found",u.length,"records for table",e.table.label,"at block",y),{records:u,blockNumber:y}}},28957:(e,t,n)=>{n.d(t,{fF:()=>v,vU:()=>x,vM:()=>S,AZ:()=>p});var s=n(62181),r=n(85512),a=n(55550),i=(0,n(21623).Q_)({namespace:"store",codegen:{storeImportPath:"./src"},userTypes:{ResourceId:{filePath:"./src/ResourceId.sol",type:"bytes32"},FieldLayout:{filePath:"./src/FieldLayout.sol",type:"bytes32"},Schema:{filePath:"./src/Schema.sol",type:"bytes32"}},tables:{StoreHooks:{schema:{tableId:"ResourceId",hooks:"bytes21[]"},key:["tableId"]},Tables:{schema:{tableId:"ResourceId",fieldLayout:"FieldLayout",keySchema:"Schema",valueSchema:"Schema",abiEncodedKeyNames:"bytes",abiEncodedFieldNames:"bytes"},key:["tableId"]},ResourceIds:{schema:{resourceId:"ResourceId",exists:"bool"},key:["resourceId"]},Hooks:{schema:{resourceId:"ResourceId",hooks:"bytes21[]"},key:["resourceId"],codegen:{tableIdArgument:!0},deploy:{disabled:!0}}}}),o=n(53769),c=n(12824),l=n(64767),u=n(10479),y=n(64539),d=n(93065);function b(e){return Object.fromEntries(Object.values(e.namespaces).flatMap(e=>Object.values(e.tables)).map(e=>[e.label,e]))}var m={...b(i),...b(o.ZP)},p=Object.values(m).map(e=>e.tableId),f={...m.Tables,keySchema:(0,a.h9)((0,a.Si)(m.Tables)),valueSchema:(0,a.h9)((0,a.Fd)(m.Tables))};function g(e){return{eventName:"Store_SetRecord",address:e.address,args:{tableId:f.tableId,keyTuple:(0,a.z)(f.keySchema,{tableId:e.tableId}),...(0,a.hS)(f.valueSchema,{fieldLayout:(0,a.Cy)(e.valueSchema),keySchema:(0,a.Kf)(e.keySchema),valueSchema:(0,a.SE)(e.valueSchema),abiEncodedKeyNames:(0,c.E)((0,l.n)("string[]"),[Object.keys(e.keySchema)]),abiEncodedFieldNames:(0,c.E)((0,l.n)("string[]"),[Object.keys(e.valueSchema)])})}}}function h(e){return[...e.map(g),...e.flatMap(e=>e.records.map(t=>({eventName:"Store_SetRecord",address:e.address,args:{tableId:e.tableId,keyTuple:(0,a.z)((0,a.h9)((0,a.Si)(e)),t.key),...(0,a.hS)((0,a.h9)((0,a.Fd)(e)),t.value)}})))]}var v=u("mud:store-sync"),x=u("mud:store-sync");v.log=console.debug.bind(console),x.log=console.error.bind(console);var k=v.extend("getSnapshot");async function S({chainId:e,address:t,filters:n,initialState:a,initialBlockLogs:i,indexerUrl:o}){if(i&&a)throw Error("Only one of initialBlockLogs or initialState should be provided.");if(i)return i;if(a)return{blockNumber:a.blockNumber,logs:h(a.tables)};if(!o)return;let c=new URL(o).origin,l=(0,r.x3)({url:c}),u=(0,s.x)({url:`${c}/trpc`});k("fetching logs from indexer via get",o);let b=await l.getLogs({chainId:e,address:t,filters:n});if((0,d.IY)(b))return b.ok;console.warn(b.error);try{return k("fetching logs from indexer via trpc",o),await u.getLogs.query({chainId:e,address:t,filters:n})}catch(s){if(s instanceof y.ss){k("failed to fetch logs, fetching table records instead",o);let s=await u.findAll.query({chainId:e,address:t,filters:n});if(console.warn(`The indexer at ${o} appears to be outdated. Consider upgrading to a recent version for better performance.`),null==s.blockNumber)return;return{blockNumber:s.blockNumber,logs:h(s.tables)}}throw s}}},85512:(e,t,n)=>{n.d(t,{x3:()=>o});var s=n(86530),r=Symbol();async function a(e,t){let n;let a=s.parser(),i=null,o=[];a.onopenobject=function(e){o.push([i,{}]),i=null,null!=e&&a.onkey(e)},a.onkey=function(e){i=e},a.onvalue=function(e){let n=[...o.map(([e])=>e),i].map((e,t)=>null==e?0===t?"":"*":e).join("."),[,s]=o.at(-1);if(t?.(n,e)!==r){if(Array.isArray(s))s.push(e);else if(s){if(!i)throw Error("no key for value");s[i]=e}i=null}},a.onopenarray=function(){o.push([i,[]]),i=null},a.oncloseobject=a.onclosearray=function(){let[e,t]=o.pop();if(!o.length){n=t;return}i=e,this.onvalue(t)};let c=e.getReader(),l=new TextDecoder;for(;;){let{done:e,value:t}=await c.read();if(e)break;a.write(l.decode(t,{stream:!0}))}return a.close(),n}async function i(e,t){return a(e,(e,n)=>{if(".logs.*"===e)return t(n),r})}function o({url:e}){return{getLogs:async t=>{try{var n;let s=encodeURIComponent(JSON.stringify(t)),r=new URL(e).origin,a=await fetch(`${r}/api/logs?input=${s}`);if(!a.body)throw Error(`Indexer response (${a.ok}) had no body.`);let o=[],c=await i(a.body,e=>o.push(e));if(!(c&&"string"==typeof c.blockNumber&&Array.isArray(c.logs)))return{error:c};return{ok:{...n={...c,logs:o},blockNumber:BigInt(n.blockNumber)}}}catch(e){return{error:e}}}}}},63729:(e,t,n)=>{var s=n(60710),r=n(43130);r.z.object({chainId:r.z.number(),address:r.z.string().refine(s.v).optional(),filters:r.z.array(r.z.object({tableId:r.z.string().refine(s.v),key0:r.z.string().refine(s.v).optional(),key1:r.z.string().refine(s.v).optional()})).default([])})},62181:(e,t,n)=>{n.d(t,{x:()=>a}),n(63729),n(56637);var s=n(75176),r=n(64539);function a({url:e}){return(0,r.K5)({transformer:s.ZP,links:[(0,r.N8)({url:e})]})}},21623:(e,t,n)=>{n.d(t,{C6:()=>u,KH:()=>F,Kn:()=>l,L0:()=>c,L9:()=>k,Mk:()=>I,Q_:()=>N,U2:()=>o,YG:()=>j,Zf:()=>$,eg:()=>f,v8:()=>E,zP:()=>L});var s=n(18332),r=n(93065),a=n(14546),i=n(79580);function o(e,t){return"object"==typeof e&&null!=e&&c(e,t)?e[t]:void 0}function c(e,t){return"object"==typeof e&&null!==e&&e.hasOwnProperty(t)}function l(e){return null!=e&&"object"==typeof e}function u(e,t){return Object.fromEntries([...new Set([...Object.keys(e),...Object.keys(t)])].map(n=>[n,void 0===e[n]?t[n]:e[n]]))}var y={storeImportPath:"@latticexyz/store/src",userTypesFilename:"common.sol",outputDirectory:"codegen",indexFilename:"index.sol"},d={outputDirectory:"tables",tableIdArgument:!1,storeArgument:!1},b={disabled:!1},m={namespaceLabel:"",type:"table"},p={sourceDirectory:"src",namespace:""},f={types:Object.fromEntries(s.xg.map(e=>[e,e]))};function g(e,t){return{types:{...e.types,...t}}}function h(e,t=f){return"object"==typeof e&&null!=e&&Object.values(e).every(e=>(0,s.li)(e)||c(t.types,e))}function v(e,t=f,n={inStoreContext:!1}){if("object"!=typeof e||null==e)throw Error(`Expected full table config, got \`${JSON.stringify(e)}\``);if(!c(e,"schema"))throw Error("Missing schema input");if(function(e,t=f){if(!l(e))throw Error(`Expected schema, received ${JSON.stringify(e)}`);for(let n of Object.values(e))if(!(0,s.li)(n)&&!c(t.types,n))throw Error(`"${String(n)}" is not a valid type in this scope.`)}(e.schema,t),!c(e,"key")||!function(e,t,n=f){return Array.isArray(e)&&e.every(e=>c(t,e)&&c(n.types,t[e])&&(0,s.mH)(n.types[t[e]]))}(e.key,e.schema,t))throw Error(`Invalid key. Expected \`(${(function(e,t=f){return Object.entries(e).filter(([,e])=>c(t.types,e)&&(0,s.mH)(t.types[e])).map(([e])=>e)})(e.schema,t).map(e=>`"${String(e)}"`).join(" | ")})[]\`, received \`${c(e,"key")&&Array.isArray(e.key)?`[${e.key.map(e=>`"${e}"`).join(", ")}]`:String(o(e,"key"))}\``);if(c(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`Table \`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);if(c(e,"namespaceLabel")&&"string"==typeof e.namespaceLabel&&(!c(e,"namespace")||"string"!=typeof e.namespace)&&e.namespaceLabel.length>14)throw Error(`Table \`namespace\` defaults to \`namespaceLabel\`, but must fit into a \`bytes14\` and "${e.namespaceLabel}" is too long. Provide explicit \`namespace\` override.`);if(c(e,"name")&&"string"==typeof e.name&&e.name.length>16)throw Error(`Table \`name\` must fit into a \`bytes16\`, but "${e.name}" is too long.`);if(n.inStoreContext&&(c(e,"label")||c(e,"namespaceLabel")||c(e,"namespace")))throw Error("Overrides of `label`, `namespaceLabel`, and `namespace` are not allowed for tables in this context.")}function x(e,t=f){let n=e.namespaceLabel??m.namespaceLabel,a=e.namespace??n,i=e.label,c=e.name??i.slice(0,16),l=e.type??m.type,y=(0,r.Xj)({type:l,namespace:a,name:c});return{label:i,type:l,namespace:a,namespaceLabel:n,name:c,tableId:y,schema:function(e,t=f){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,{type:(0,s.li)(n)?(0,s.D3)(n):t.types[n],internalType:n}]))}(e.schema,t),key:e.key,codegen:function(e){let t=e.codegen;return{outputDirectory:o(t,"outputDirectory")??d.outputDirectory,tableIdArgument:o(t,"tableIdArgument")??d.tableIdArgument,storeArgument:o(t,"storeArgument")??d.storeArgument,dataStruct:o(t,"dataStruct")??Object.keys(e.schema).length-e.key.length>1}}(e),deploy:u(e.deploy??{},b)}}function k(e,t=f){return v(e,t),x(e,t)}function S(e,t){return"string"==typeof e?{schema:{id:"bytes32",value:e},key:["id"]}:h(e,t)?{schema:e,key:["id"]}:e}function w(e,t){if(l(e)){for(let n of Object.values(e))"string"==typeof n||l(n)&&Object.values(n).every(e=>"string"==typeof e)?function(e,t=f){if("string"==typeof e){if((0,s.li)(e)||c(t.types,e))return;throw Error(`Invalid ABI type. \`${e}\` not found in scope.`)}if("object"==typeof e&&null!==e){if(h(e,t)){if(c(e,"id")&&(0,s.mH)(t.types[e.id]))return;throw Error("Invalid schema. Expected an `id` field with a static ABI type or an explicit `key` option.")}throw Error("Invalid schema. Are you using invalid types or missing types in your scope?")}throw Error("Invalid table shorthand.")}(n,t):v(n,t,{inStoreContext:!0});return}throw Error(`Expected tables config, received ${JSON.stringify(e)}`)}function I(e,t){if(c(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`\`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);c(e,"tables")&&w(e.tables,t)}function E(e,t=f){let n=e.label,s=e.namespace??n.slice(0,14);return{label:n,namespace:s,tables:Object.fromEntries(Object.entries((0,i.Li)(e.tables??{},(e,r)=>[e,u(S(r,t),{namespace:s,namespaceLabel:n})])).map(([e,n])=>[e,x(u(S(n,t),{label:e}),t)]))}}function O(e,t){if(!l(e))throw Error(`Expected namespaces config, received ${JSON.stringify(e)}`);let n=(0,i.Li)(e,(e,n)=>[e,E(u(n,{label:e}),t)]),s=Array.from((0,a.vM)(Object.values(n),e=>e.namespace).entries()).filter(([,e])=>e.length>1).map(([e])=>e);if(s.length>0)throw Error(`Found namespaces defined more than once in config: ${s.join(", ")}`);return n}function j(e){return Object.fromEntries(Object.entries(e.namespaces).flatMap(([e,t])=>Object.entries(t.tables).map(([t,n])=>[""===e?t:`${e}__${t}`,n])))}function $(e){return function(e,t=f){return"object"==typeof e&&null!=e&&Object.values(e).every(e=>Array.isArray(e)&&e.every(e=>"string"==typeof e))?g(t,Object.fromEntries(Object.keys(e).map(e=>[e,"uint8"]))):t}(o(e,"enums"),function(e,t=f){return l(e)&&Object.values(e).every(e=>(0,s.Q8)(e.type))?g(t,(0,a.Xc)(e,e=>e.type)):t}(o(e,"userTypes")))}function L(e){let t=$(e);if(c(e,"namespaces")){if(c(e,"namespace")||c(e,"tables"))throw Error("Cannot use `namespaces` with `namespace` or `tables` keys.");(function(e,t){if(!l(e))throw Error(`Expected namespaces, received ${JSON.stringify(e)}`);for(let n of Object.values(e))I(n,t)})(e.namespaces,t)}if(c(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`\`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);c(e,"tables")&&w(e.tables,t),c(e,"userTypes")&&function(e){if(!l(e))throw Error(`Expected userTypes, received ${JSON.stringify(e)}`);for(let{type:t}of Object.values(e))if(!c(f.types,t))throw Error(`"${String(t)}" is not a valid ABI type.`)}(e.userTypes)}function F(e){var t,n;let s=$(e),r=e.namespace??p.namespace,a=e.namespaces?{multipleNamespaces:!0,namespace:null,namespaces:O(e.namespaces,s)}:{multipleNamespaces:!1,namespace:r,namespaces:O({[r]:e},s)},o=j(a);return{...a,tables:o,sourceDirectory:e.sourceDirectory??p.sourceDirectory,userTypes:e.userTypes??{},enums:e.enums??{},enumValues:(t=e.enums??{},(0,i.Li)(t,(e,t)=>[e,(0,i.Li)(t,(e,t)=>[t,e])])),codegen:l(n=e.codegen)?u(n,y):y}}function N(e){return L(e),F(e)}},80914:(e,t,n)=>{n.d(t,{K$:()=>r,WH:()=>a});var s=n(86376),r="event HelloStore(bytes32 indexed storeVersion)",a=(0,s.V)(["event Store_SetRecord(bytes32 indexed tableId, bytes32[] keyTuple, bytes staticData, bytes32 encodedLengths, bytes dynamicData)","event Store_SpliceStaticData(bytes32 indexed tableId, bytes32[] keyTuple, uint48 start, bytes data)","event Store_SpliceDynamicData(bytes32 indexed tableId, bytes32[] keyTuple, uint8 dynamicFieldIndex, uint48 start, uint40 deleteCount, bytes32 encodedLengths, bytes data)","event Store_DeleteRecord(bytes32 indexed tableId, bytes32[] keyTuple)"])},53964:(e,t,n)=>{n.d(t,{K$:()=>s.K$});var s=n(80914);n(21623)},68971:(e,t,n)=>{n.d(t,{C6:()=>r.C6,KH:()=>r.KH,Kn:()=>r.Kn,L0:()=>r.L0,L9:()=>r.L9,Mk:()=>r.Mk,U2:()=>r.U2,YG:()=>r.YG,Zf:()=>r.Zf,dp:()=>v,eg:()=>r.eg,kr:()=>x,v8:()=>r.v8,vB:()=>h,zP:()=>r.zP});var s=n(80914),r=n(21623),a=n(30953),i=n(11447),o=n(21996),c=n(47525),l=n(30233),u=n(93065),y=n(16592),d=n(55550),b=n(65087),m=n(4991),p=n(27577),f={staticData:"0x",encodedLengths:"0x",dynamicData:"0x"},g=l("mud:store");async function h(e,{address:t,tableId:n,fromBlock:r,toBlock:l}={}){let y=[s.WH.map(a.n),n??null],d=n?Array.isArray(n)?n:[n]:[],b=t?Array.isArray(t)?t:[t]:[];g(`getting store logs for ${d.length?d.map(u.IJ).map(u.qj).join(", "):"all tables"} at ${b.length?b.join(", "):"any address"}`);let m=(await e.request({method:"eth_getLogs",params:[{address:t,topics:y,fromBlock:"bigint"==typeof r?(0,i.eC)(r):r,toBlock:"bigint"==typeof l?(0,i.eC)(l):l}]})).map(e=>(0,o.U)(e));return(0,c.h)({abi:s.WH,args:{tableId:n},logs:m,strict:!0})}function v(e){let t=e.slice().sort(u.vC),n=new Map;for(let e of t){let t=[e.address,e.args.tableId,e.args.keyTuple.join(",")].join(":");if("Store_SetRecord"===e.eventName)n.delete(t),n.set(t,e);else if("Store_SpliceStaticData"===e.eventName){let s=n.get(t),{staticData:r,encodedLengths:a,dynamicData:i}=s?.args??f,o={...e,eventName:"Store_SetRecord",args:{tableId:e.args.tableId,keyTuple:e.args.keyTuple,staticData:(0,u.z8)(r,e.args.start,(0,y.d)(e.args.data),e.args.data),encodedLengths:a,dynamicData:i}};n.delete(t),n.set(t,o)}else if("Store_SpliceDynamicData"===e.eventName){let s=n.get(t),{staticData:r,dynamicData:a}=s?.args??f,i={...e,eventName:"Store_SetRecord",args:{tableId:e.args.tableId,keyTuple:e.args.keyTuple,staticData:r,encodedLengths:e.args.encodedLengths,dynamicData:(0,u.z8)(a,e.args.start,e.args.deleteCount,e.args.data)}};n.delete(t),n.set(t,i)}else"Store_DeleteRecord"===e.eventName&&n.delete(t)}return Array.from(n.values())}function x({table:e,log:t}){let n=(0,d.h9)((0,d.Si)(e)),s=(0,d.h9)((0,d.Fd)(e)),r=(0,d.Tn)(n,t.args.keyTuple),a=(0,d.oG)(s,t.args);return{...r,...a}}g.log=console.debug.bind(console),l("mud:store").log=console.error.bind(console),(0,b.y_)((0,m.w)((0,p.O0)("mud.store")))},71804:(e,t,n)=>{n.d(t,{Z:()=>s});var s=(0,n(31634).W9)({namespace:"metadata",codegen:{generateSystemLibraries:!0,systemLibrariesDirectory:"experimental/systems"},userTypes:{ResourceId:{filePath:"@latticexyz/store/src/ResourceId.sol",type:"bytes32"}},tables:{ResourceTag:{schema:{resource:"ResourceId",tag:"bytes32",value:"bytes"},key:["resource","tag"]}}})},62042:(e,t,n)=>{Object.create,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.prototype.hasOwnProperty},41994:(e,t,n)=>{n.d(t,{Mf:()=>o,Mk:()=>b,NV:()=>u,W2:()=>c,c$:()=>y,v8:()=>m,vf:()=>d,wC:()=>l});var s=n(68971),r=n(93065),a={disabled:!1,registerWorldFunctions:!0},i={namespaceLabel:"",openAccess:!0,accessList:[]},o={root:!1,useDelegation:!1,args:[],artifactPath:void 0},c={worldInterfaceName:"IWorld",worldgenDirectory:"world",systemLibrariesDirectory:"systems",generateSystemLibraries:!1,worldImportPath:"@latticexyz/world/src"},l={postDeployScript:"PostDeploy",deploysDirectory:"./deploys",worldsFile:"./worlds.json",upgradeableWorldImplementation:!1},u={systems:{},tables:{},excludeSystems:[],modules:[],codegen:c,deploy:l};function y(e){if((0,s.Kn)(e)){for(let t of Object.values(e))(function(e,t={}){if("object"!=typeof e||null==e)throw Error(`Expected full system config, got \`${JSON.stringify(e)}\``);if(t.inNamespace&&((0,s.L0)(e,"label")||(0,s.L0)(e,"namespaceLabel")||(0,s.L0)(e,"namespace")))throw Error("Overrides of `label`, `namespaceLabel`, and `namespace` are not allowed for systems in this context.");if((0,s.L0)(e,"namespaceLabel")&&"string"==typeof e.namespaceLabel&&(!(0,s.L0)(e,"namespace")||"string"!=typeof e.namespace)&&e.namespaceLabel.length>14)throw Error(`System \`namespace\` defaults to \`namespaceLabel\`, but must fit into a \`bytes14\` and "${e.namespaceLabel}" is too long. Provide explicit \`namespace\` override.`);if((0,s.L0)(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`System \`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);if((0,s.L0)(e,"name")&&"string"==typeof e.name&&e.name.length>16)throw Error(`System \`name\` must fit into a \`bytes16\`, but "${e.name}" is too long.`)})(t,{inNamespace:!0});return}throw Error(`Expected system config, received ${JSON.stringify(e)}`)}function d(e,t,n){return Object.fromEntries(Object.entries(e).map(([e,o])=>[e,function(e){let t=e.namespaceLabel??i.namespaceLabel,n=e.namespace??t,o=e.label,c=e.name??o.slice(0,16),l=(0,r.Xj)({type:"system",namespace:n,name:c});return(0,s.C6)({...e,label:o,namespaceLabel:t,namespace:n,name:c,systemId:l,deploy:(0,s.C6)(e.deploy??{},a)},i)}({...o,label:e,namespaceLabel:t,namespace:n})]))}function b(e,t){(0,s.L0)(e,"systems")&&y(e.systems),(0,s.Mk)(e,t)}function m(e,t=s.eg){let n=(0,s.v8)(e,t),r=d(e.systems??{},n.label,n.namespace);return{...n,systems:r}}},17073:(e,t,n)=>{n.d(t,{W9:()=>c});var s=n(41994),r=n(79580),a=n(14546),i=n(68971);function o(e,t){if(!(0,i.Kn)(e))throw Error(`Expected namespaces config, received ${JSON.stringify(e)}`);let n=(0,r.Li)(e,(e,n)=>[e,(0,s.v8)((0,i.C6)(n,{label:e}),t)]),o=Array.from((0,a.vM)(Object.values(n),e=>e.namespace).entries()).filter(([,e])=>e.length>1).map(([e])=>e);if(o.length>0)throw Error(`Found namespaces defined more than once in config: ${o.join(", ")}`);return n}function c(e){return function(e){let t=(0,i.Zf)(e);if((0,i.L0)(e,"namespaces")){if((0,i.L0)(e,"namespace")||(0,i.L0)(e,"tables")||(0,i.L0)(e,"systems"))throw Error("Cannot use `namespaces` with `namespace`, `tables`, or `systems` keys.");(function(e,t){if(!(0,i.Kn)(e))throw Error(`Expected namespaces, received ${JSON.stringify(e)}`);for(let n of Object.values(e))(0,s.Mk)(n,t)})(e.namespaces,t)}(0,i.L0)(e,"systems")&&(0,s.c$)(e.systems),(0,i.zP)(e)}(e),function(e){var t,n;let r=(0,i.Zf)(e),a=(0,i.KH)(e),c=e.namespaces?o(e.namespaces,r):o({[a.namespace]:e},r),l=(0,i.YG)({namespaces:c}),u=(e.modules??s.NV.modules).map(e=>(0,i.C6)(e,s.Mf));return(0,i.C6)({...a,namespaces:c,tables:l,systems:!a.multipleNamespaces&&e.systems?(0,s.vf)(e.systems,a.namespace,a.namespace):s.NV.systems,excludeSystems:(0,i.U2)(e,"excludeSystems"),codegen:(0,i.C6)(a.codegen,(t=e.codegen,(0,i.Kn)(t)?(0,i.C6)(t,s.W2):s.W2)),deploy:(n=e.deploy,(0,i.Kn)(n)?(0,i.C6)(n,s.wC):s.wC),modules:u},s.NV)}(e)}},31634:(e,t,n)=>{n.d(t,{IR:()=>r,W9:()=>s.W9});var s=n(17073);n(41994),n(62042);var r="event HelloWorld(bytes32 indexed worldVersion)"},53769:(e,t,n)=>{n.d(t,{ZP:()=>a});var s=n(17073),r=(0,s.W9)({namespace:"world",userTypes:{ResourceId:{filePath:"@latticexyz/store/src/ResourceId.sol",type:"bytes32"}},tables:{NamespaceOwner:{schema:{namespaceId:"ResourceId",owner:"address"},key:["namespaceId"]},ResourceAccess:{schema:{resourceId:"ResourceId",caller:"address",access:"bool"},key:["resourceId","caller"]},InstalledModules:{schema:{moduleAddress:"address",argumentsHash:"bytes32",isInstalled:"bool"},key:["moduleAddress","argumentsHash"]},UserDelegationControl:{schema:{delegator:"address",delegatee:"address",delegationControlId:"ResourceId"},key:["delegator","delegatee"]},NamespaceDelegationControl:{schema:{namespaceId:"ResourceId",delegationControlId:"ResourceId"},key:["namespaceId"]},Balances:{schema:{namespaceId:"ResourceId",balance:"uint256"},key:["namespaceId"]},Systems:{schema:{systemId:"ResourceId",system:"address",publicAccess:"bool"},key:["systemId"],codegen:{dataStruct:!1}},SystemRegistry:{schema:{system:"address",systemId:"ResourceId"},key:["system"]},SystemHooks:{schema:{systemId:"ResourceId",value:"bytes21[]"},key:["systemId"]},FunctionSelectors:{schema:{worldFunctionSelector:"bytes4",systemId:"ResourceId",systemFunctionSelector:"bytes4"},key:["worldFunctionSelector"],codegen:{dataStruct:!1}},FunctionSignatures:{type:"offchainTable",schema:{functionSelector:"bytes4",functionSignature:"string"},key:["functionSelector"]},InitModuleAddress:{schema:{value:"address"},key:[]}}});(0,s.W9)({namespace:"",codegen:{worldImportPath:"./src",worldgenDirectory:"interfaces",worldInterfaceName:"IBaseWorld",generateSystemLibraries:!0,systemLibrariesDirectory:"experimental/systems"},systems:{AccessManagementSystem:{name:"AccessManagement"},BalanceTransferSystem:{name:"BalanceTransfer"},BatchCallSystem:{name:"BatchCall"},RegistrationSystem:{name:"Registration"},ModuleInstallationSystem:{name:"Registration"},StoreRegistrationSystem:{name:"Registration"},WorldRegistrationSystem:{name:"Registration"}}});var a=r;n(41994),n(62042)}};