@latticexyz/explorer 2.2.22-a3645c819959efe97ff2e50f6f5b88ebe77fa980 → 2.2.22-ab837ceb49fa77cc29487bb9df0c487975b37afe
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/.next/standalone/packages/explorer/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/explorer/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/packages/explorer/.next/build-manifest.json +2 -2
- package/.next/standalone/packages/explorer/.next/prerender-manifest.json +1 -1
- package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js +1 -1
- package/.next/standalone/packages/explorer/.next/server/app/(explorer)/api/world-abi/route.js.nft.json +1 -1
- package/.next/standalone/packages/explorer/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/packages/explorer/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.html +1 -1
- package/.next/standalone/packages/explorer/.next/server/app/internal/observer-relay.rsc +1 -1
- package/.next/standalone/packages/explorer/.next/server/app-paths-manifest.json +1 -1
- package/.next/standalone/packages/explorer/.next/server/chunks/1468.js +1 -1
- package/.next/standalone/packages/explorer/.next/server/chunks/4736.js +3 -3
- package/.next/standalone/packages/explorer/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/packages/explorer/.next/server/pages/404.html +1 -1
- package/.next/standalone/packages/explorer/.next/server/pages/500.html +1 -1
- package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/explorer/.next/server/server-reference-manifest.json +1 -1
- package/package.json +10 -10
- /package/.next/standalone/packages/explorer/.next/static/{ROs6x6FhQLXjYIl3DaUxb → dmSpykvmWfCWef9ExW2Yb}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/explorer/.next/static/{ROs6x6FhQLXjYIl3DaUxb → dmSpykvmWfCWef9ExW2Yb}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=1468,exports.ids=[1468],exports.modules={79298:(e,t,n)=>{n.d(t,{s:()=>i});var s=n(67033),a=n(48004),r=n(20119);async function i(e){let t=r.df[r.is[e]];return(0,s.e)({chain:t,transport:(0,a.d)()})}},28052:(e,t,n)=>{n.d(t,{h:()=>a});var s=n(20119);function a(e){let t=s.df[s.is[e]];return"indexerUrl"in t?t.indexerUrl:void 0}},20119:(e,t,n)=>{n.d(t,{is:()=>p,df:()=>m,wG:()=>f});var s=n(20759),a=n(73702),r=n(65124),i=n(94913),c=n(19584);a.t;var o={...r.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},iconUrls:["https://redstone.xyz/chain-icons/garnet.png"],indexerUrl:"https://indexer.mud.garnetchain.com"},u={http:["https://rpc.rhodolitechain.com"],webSocket:["wss://rpc.rhodolitechain.com"]},d={...c.i,name:"Rhodolite Devnet",testnet:!0,id:17420,sourceId:17e3,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:u,bundler:u,quarryPassIssuer:u,wiresaw:u},contracts:{...c.i.contracts,l1StandardBridge:{17e3:{address:"0x6487446e0B9FAEa90F6a9772A6448cFa780E30F9"}},quarryPaymaster:{address:"0x7ca1b85aca23fccf2fbac14c02b5e8a6432639b9"}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.rhodolitechain.com"},worldsExplorer:{name:"MUD Worlds Explorer",url:"https://explorer.mud.dev/rhodolite/worlds"}},iconUrls:["https://redstone.xyz/chain-icons/rhodolite.png"],indexerUrl:"https://indexer.mud.rhodolitechain.com"},y={http:["https://rpc.pyropechain.com"],webSocket:["wss://rpc.pyropechain.com"]},b={...c.i,name:"Pyrope Testnet",testnet:!0,id:695569,sourceId:11155111,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:y,bundler:y},contracts:{...c.i.contracts,l1StandardBridge:{11155111:{address:"0xC24932c31D9621aE9e792576152B7ef010cFC2F8"}}},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 m={anvil:s.O,rhodolite:d,garnet:l,redstone:o,pyrope:b},p=Object.fromEntries(Object.entries(m).map(([e,t])=>[t.id,e]));function f(e){if(!("number"==typeof e&&e in p))throw Error(`Invalid chain ID. Supported chains are: ${Object.keys(p).join(", ")}.`)}},72507:(e,t,n)=>{n.d(t,{D:()=>w});var s=n(67465),a=n(45557),r=n(98261),i=n(7477),c=n(3741),o=n(38505),l=n(91252),u=n(7668),d=n(45252),y=n(67033),b=n(48004),m=n(48244),p=c("mud:block-events-stream"),f=c("mud:block-events-stream");async function g(e){let t={method:"eth_getLogs",params:[{address:e.address,topics:e.topics,fromBlock:(0,o.eC)(e.fromBlock),toBlock:(0,o.eC)(e.toBlock)}]};if(!e.internal_clientOptions?.validateBlockRange)return(await (e.publicClient??(0,y.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,d.x)(n),a={method:"eth_getBlockByNumber",params:[(0,o.eC)(e.toBlock),!1]},[{error:i,result:c},{error:m,result:p}]=await s.request({body:[a,t]});if(i)throw new u.bs({body:a,error:i,url:n});if(m)throw new u.bs({body:t,error:m,url:n});if(!c)throw new r.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:c,...o}){let l=o.getLogs??(async e=>{let t=o.events?[o.events.map(e=>(0,s.n)(e))]:void 0,n=await g({...o,...e,topics:t});return o.events?(0,a.h)({logs:n,abi:o.events}):n}),u=n,d=(0,i.Ed)(e,c-u),y=0;for(;u<=c;){let n=u+(0,i._L)(0n,d-1n);p(`getting logs for blocks ${u}-${n} (${d} blocks, ${e} max)`);try{let t=await l({fromBlock:u,toBlock:n});yield{fromBlock:u,toBlock:n,logs:t},u=n+1n,d=(0,i.Ed)(e,c-u),y=0}catch(c){if(!(c instanceof Error))throw c;if(y<t&&h.some(e=>c.message.includes(e))){let e=2*y;p(`too many requests, retrying in ${e}s`),await (0,i.Dc)(1e3*e),y+=1;continue}let s=v.some(e=>c.message.includes(e)),a=x.some(e=>c.message.includes(e));if(s||a){if((d/=2n)<=0n)throw Error("can't reduce block range any further");s&&(e=d),p(`got block range error, retrying with ${d} blocks, ${e} max`);continue}if(y<t&&(k.some(e=>c.message.includes(e))||c.message===new r.f({blockNumber:n}).message)){let e=2*y;p(`missing block, retrying in ${e}s`),await (0,i.Dc)(1e3*e),y+=1;continue}throw c}}}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),a=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),a}((await (0,i.s$)(S(e))).flatMap(({logs:e})=>e))}},7477:(e,t,n)=>{function s(e,t){throw Error(t??`Unexpected value: ${e}`)}function a(...e){return e.reduce((e,t)=>t>e?t:e)}function r(...e){return e.reduce((e,t)=>t<e?t:e)}function i(e,t){return e<t?-1:e>t?1:0}function c(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}async function o(e){let t=[];for await(let n of e)t.push(n);return t}function l(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n,e)]))}function u(e){return new Promise(t=>setTimeout(()=>t(),e))}n.d(t,{Dc:()=>u,Ed:()=>r,Xc:()=>l,_L:()=>a,iN:()=>i,nt:()=>s,s$:()=>o,vM:()=>c})},48244:(e,t,n)=>{n.d(t,{IJ:()=>p,IY:()=>h,vC:()=>f,ak:()=>g,Xj:()=>y,qj:()=>b,z8:()=>v});var s=n(3741),a=s("mud:common"),r=s("mud:common");a.log=console.debug.bind(console),r.log=console.error.bind(console),n(20079),n(43547),a.extend("createNonceManager");a.extend("sendTransaction"),a.extend("writeContract");var i=n(15013),c=n(38505),o=n(13435),l=n(30594),u=["table","offchainTable","namespace","system"],d={table:"tb",offchainTable:"ot",namespace:"ns",system:"sy"};function y(e){let t=d[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,c.$G)(t,{size:2}),(0,c.$G)(e.namespace,{size:14}),(0,c.$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(d).map(([e,t])=>[t,e]));function p(e){let t=(0,o.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,o.rR)((0,l.p5)(e,2,16)).replace(/\0+$/,""),a=(0,o.rR)((0,l.p5)(e,16,32)).replace(/\0+$/,"");if(!n)throw Error(`Unknown type (${t}) for resource (${b({namespace:s,name:a})})`);return{resourceId:e,type:n,namespace:s,name:a}}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),a.extend("transportObserver")},89394:(e,t,n)=>{n.d(t,{Tn:()=>w,oG:()=>E,z:()=>j,hS:()=>$,Si:()=>R,h9:()=>B,Fd:()=>A,Kf:()=>N,Cy:()=>F,SE:()=>D});var s=n(50354),a=n(13435),r=n(30594),i=n(7477),c=n(96230),o=class extends Error{constructor(){super(...arguments),this.name="MUDError"}},l=n(41766),u=n(48244),d=n(15013),y=n(90931),b=n(58554),m=n(95496),p=n(60551),f=class extends o{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 o{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 o{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 o{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 o{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,a.y_)(t,{signed:e.startsWith("int")}),r=typeof s.sD[e];if("number"===r)return Number(n);if("bigint"===r)return n;throw Error(`Unexpected default value type (${r}) 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,a.XA)(t);case"address":return(0,c.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,a.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 a=(0,s._X)(e),i=s.qS[a];if(n%i!=0)throw new v(a,t);return Array(n/i).fill(void 0).map((e,n)=>k(a,(0,r.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:a}){return function(e,t){let n=function(e,t){let n=[],a=0;e.staticFields.forEach(e=>{let r=s.qS[e],i=k(e,(0,u.ak)(t,a,a+r));a+=r,n.push(i)});let r=I(e.staticFields),i=a;if(i!==r&&console.warn("Decoded static data length does not match value schema's expected static data length. Data may get corrupted. Is `getStaticByteLength` outdated?",{expectedLength:r,actualLength:i,bytesOffset:a}),e.dynamicFields.length>0){let r=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,a,a+32));a+=32,e.dynamicFields.forEach((e,i)=>{let c=r.fieldByteLengths[i];if(c>0){let s=S(e,(0,u.ak)(t,a,a+c));a+=c,n.push(s)}else n.push(s.mi[e])});let c=a-32-i;BigInt(c)!==r.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:r.totalByteLength,actualLength:c,bytesOffset:a})}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,d.SM)([(0,u.ak)(t,0,I(Object.values(e).filter(s.mH))),(0,y.gc)(n,{size:32}),a]))}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),a=n.filter(([,e])=>(0,s.mH)(e)),r=n.filter(([,e])=>(0,s.d)(e)),i=a.map(([e,n])=>O(n,t[e])),c=r.map(([e,n])=>O(n,t[e])),o=function(e){let t=e.map(p.d).reverse(),n=t.reduce((e,t)=>e+BigInt(t),0n);return(0,y.gc)((0,d.SM)([...t.map(e=>O("uint40",e)),O("uint56",n)]),{size:32,dir:"left"})}(c);return{staticData:(0,d.SM)(i),encodedLengths:o,dynamicData:(0,d.SM)(c)}}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 N(e){return L({staticFields:Object.values(e).filter(s.mH),dynamicFields:[]})}function F(e){let t=Object.values(e).filter(s.mH),n=Object.values(e).filter(s.d),a=t.map(e=>s.qS[e]),r=a.reduce((e,t)=>e+t,0);return`0x${[r.toString(16).padStart(4,"0"),t.length.toString(16).padStart(2,"0"),n.length.toString(16).padStart(2,"0"),...a.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 R(e){return Object.fromEntries(e.key.map(t=>[t,e.schema[t]]))}function A(e){return Object.fromEntries(Object.entries(e.schema).filter(([t])=>!e.key.includes(t)))}function B(e){return(0,i.Xc)(e,e=>e.type)}},50354:(e,t,n)=>{n.d(t,{D3:()=>p,Q8:()=>i,RW:()=>y,_X:()=>m,d:()=>g,li:()=>b,mH:()=>l,mi:()=>f,qS:()=>o,sD:()=>c,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"],a=s.slice(0,98),r=s.slice(98);function i(e){return s.includes(e)}var c={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"},o={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 a.includes(e)}var u=/\[\]$/,d=/\[\d+\]$/;function y(e){return"string"==typeof e&&u.test(e)&&l(e.replace(u,""))}function b(e){return"string"==typeof e&&d.test(e)&&l(e.replace(d,""))}function m(e){return e.replace(u,"")}function p(e){return e.replace(d,"[]")}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 r.includes(e)}},99186:(e,t,n)=>{n.d(t,{fF:()=>h,vM:()=>k,AZ:()=>m});var s=n(53860),a=n(89394),r=(0,n(54952).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}}}}),i=n(60483),c=n(95496),o=n(48664),l=n(3741),u=n(80193),d=n(48244);function y(e){return Object.fromEntries(Object.values(e.namespaces).flatMap(e=>Object.values(e.tables)).map(e=>[e.label,e]))}var b={...y(r),...y(i.ZP)},m=Object.values(b).map(e=>e.tableId),p={...b.Tables,keySchema:(0,a.h9)((0,a.Si)(b.Tables)),valueSchema:(0,a.h9)((0,a.Fd)(b.Tables))};function f(e){return{eventName:"Store_SetRecord",address:e.address,args:{tableId:p.tableId,keyTuple:(0,a.z)(p.keySchema,{tableId:e.tableId}),...(0,a.hS)(p.valueSchema,{fieldLayout:(0,a.Cy)(e.valueSchema),keySchema:(0,a.Kf)(e.keySchema),valueSchema:(0,a.SE)(e.valueSchema),abiEncodedKeyNames:(0,c.E)((0,o.n)("string[]"),[Object.keys(e.keySchema)]),abiEncodedFieldNames:(0,c.E)((0,o.n)("string[]"),[Object.keys(e.valueSchema)])})}}}function g(e){return[...e.map(f),...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 h=l("mud:store-sync"),v=l("mud:store-sync");h.log=console.debug.bind(console),v.log=console.error.bind(console);var x=h.extend("getSnapshot");async function k({chainId:e,address:t,filters:n,initialState:a,initialBlockLogs:r,indexerUrl:i}){if(r&&a)throw Error("Only one of initialBlockLogs or initialState should be provided.");if(r)return r;if(a)return{blockNumber:a.blockNumber,logs:g(a.tables)};if(!i)return;let c=new URL(i).origin,o=function({url:e}){return{getLogs:async t=>{try{let n=encodeURIComponent(JSON.stringify(t)),s=new URL(e).origin,a=await fetch(`${s}/api/logs?input=${n}`,{method:"GET"}),r=await a.json();if(!(r&&"string"==typeof r.blockNumber&&Array.isArray(r.logs)))return{error:r};return{ok:{...r,blockNumber:BigInt(r.blockNumber)}}}catch(e){return{error:e}}}}}({url:c}),l=(0,s.x)({url:`${c}/trpc`});x("fetching logs from indexer via get",i);let y=await o.getLogs({chainId:e,address:t,filters:n});if((0,d.IY)(y))return y.ok;console.warn(y.error);try{return x("fetching logs from indexer via trpc",i),await l.getLogs.query({chainId:e,address:t,filters:n})}catch(s){if(s instanceof u.ss){x("failed to fetch logs, fetching table records instead",i);let s=await l.findAll.query({chainId:e,address:t,filters:n});if(console.warn(`The indexer at ${i} appears to be outdated. Consider upgrading to a recent version for better performance.`),null==s.blockNumber)return;return{blockNumber:s.blockNumber,logs:g(s.tables)}}throw s}}},49225:(e,t,n)=>{var s=n(42072),a=n(66785);a.z.object({chainId:a.z.number(),address:a.z.string().refine(s.v).optional(),filters:a.z.array(a.z.object({tableId:a.z.string().refine(s.v),key0:a.z.string().refine(s.v).optional(),key1:a.z.string().refine(s.v).optional()})).default([])})},53860:(e,t,n)=>{n.d(t,{x:()=>r}),n(49225),n(42737);var s=n(11),a=n(80193);function r({url:e}){return(0,a.K5)({transformer:s.ZP,links:[(0,a.N8)({url:e})]})}},6162:(e,t,n)=>{n.d(t,{Q:()=>u});var s=n(99186),a=n(72507),r=n(84440),i=n(67033),c=n(48004),o=n(96774),l=n(63790);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,c.d)(e.rpcUrl)});(0,s.fF)("fetching records for",e.table.label,"via RPC from",t.transport.url);let n=await (0,a.D)({fromBlock:e.fromBlock??0n,toBlock:e.toBlock??await (0,o.s)(t,l.z,"getBlockNumber")({}),maxBlockRange:100000n,getLogs:async({fromBlock:n,toBlock:s})=>(0,r.vB)(t,{address:e.worldAddress,fromBlock:n,toBlock:s,tableId:e.table.tableId})});return(0,r.dp)(n.flatMap(e=>e.logs))}}let n=await t(),u=n.map(t=>(0,r.kr)({log:t,table:e.table})),d=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",d),{records:u,blockNumber:d}}},54952:(e,t,n)=>{n.d(t,{C6:()=>u,KH:()=>N,Kn:()=>l,L0:()=>o,L9:()=>k,Mk:()=>I,Q_:()=>F,U2:()=>c,YG:()=>j,Zf:()=>$,eg:()=>f,v8:()=>E,zP:()=>L});var s=n(50354),a=n(48244),r=n(7477),i=n(22841);function c(e,t){return"object"==typeof e&&null!=e&&o(e,t)?e[t]:void 0}function o(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 d={storeImportPath:"@latticexyz/store/src",userTypesFilename:"common.sol",outputDirectory:"codegen",indexFilename:"index.sol"},y={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)||o(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(!o(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)&&!o(t.types,n))throw Error(`"${String(n)}" is not a valid type in this scope.`)}(e.schema,t),!o(e,"key")||!function(e,t,n=f){return Array.isArray(e)&&e.every(e=>o(t,e)&&o(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])=>o(t.types,e)&&(0,s.mH)(t.types[e])).map(([e])=>e)})(e.schema,t).map(e=>`"${String(e)}"`).join(" | ")})[]\`, received \`${o(e,"key")&&Array.isArray(e.key)?`[${e.key.map(e=>`"${e}"`).join(", ")}]`:String(c(e,"key"))}\``);if(o(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(o(e,"namespaceLabel")&&"string"==typeof e.namespaceLabel&&(!o(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(o(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&&(o(e,"label")||o(e,"namespaceLabel")||o(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,r=e.namespace??n,i=e.label,o=e.name??i.slice(0,16),l=e.type??m.type,d=(0,a.Xj)({type:l,namespace:r,name:o});return{label:i,type:l,namespace:r,namespaceLabel:n,name:o,tableId:d,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:c(t,"outputDirectory")??y.outputDirectory,tableIdArgument:c(t,"tableIdArgument")??y.tableIdArgument,storeArgument:c(t,"storeArgument")??y.storeArgument,dataStruct:c(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)||o(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(o(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(o(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`\`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);o(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,a)=>[e,u(S(a,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,r.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}(c(e,"enums"),function(e,t=f){return l(e)&&Object.values(e).every(e=>(0,s.Q8)(e.type))?g(t,(0,r.Xc)(e,e=>e.type)):t}(c(e,"userTypes")))}function L(e){let t=$(e);if(o(e,"namespaces")){if(o(e,"namespace")||o(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(o(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`\`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);o(e,"tables")&&w(e.tables,t),o(e,"userTypes")&&function(e){if(!l(e))throw Error(`Expected userTypes, received ${JSON.stringify(e)}`);for(let{type:t}of Object.values(e))if(!o(f.types,t))throw Error(`"${String(t)}" is not a valid ABI type.`)}(e.userTypes)}function N(e){var t,n;let s=$(e),a=e.namespace??p.namespace,r=e.namespaces?{multipleNamespaces:!0,namespace:null,namespaces:O(e.namespaces,s)}:{multipleNamespaces:!1,namespace:a,namespaces:O({[a]:e},s)},c=j(r);return{...r,tables:c,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,d):d}}function F(e){return L(e),N(e)}},79461:(e,t,n)=>{n.d(t,{K$:()=>a,WH:()=>r});var s=n(41129),a="event HelloStore(bytes32 indexed storeVersion)",r=(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)"])},99945:(e,t,n)=>{n.d(t,{K$:()=>s.K$});var s=n(79461);n(54952)},84440:(e,t,n)=>{n.d(t,{C6:()=>a.C6,KH:()=>a.KH,Kn:()=>a.Kn,L0:()=>a.L0,L9:()=>a.L9,Mk:()=>a.Mk,U2:()=>a.U2,YG:()=>a.YG,Zf:()=>a.Zf,dp:()=>v,eg:()=>a.eg,kr:()=>x,v8:()=>a.v8,vB:()=>h,zP:()=>a.zP});var s=n(79461),a=n(54952),r=n(67465),i=n(38505),c=n(91252),o=n(45557),l=n(41772),u=n(48244),d=n(60551),y=n(89394),b=n(13435),m=n(84439),p=n(95586),f={staticData:"0x",encodedLengths:"0x",dynamicData:"0x"},g=l("mud:store");async function h(e,{address:t,tableId:n,fromBlock:a,toBlock:l}={}){let d=[s.WH.map(r.n),n??null],y=n?Array.isArray(n)?n:[n]:[],b=t?Array.isArray(t)?t:[t]:[];g(`getting store logs for ${y.length?y.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:d,fromBlock:"bigint"==typeof a?(0,i.eC)(a):a,toBlock:"bigint"==typeof l?(0,i.eC)(l):l}]})).map(e=>(0,c.U)(e));return(0,o.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:a,encodedLengths:r,dynamicData:i}=s?.args??f,c={...e,eventName:"Store_SetRecord",args:{tableId:e.args.tableId,keyTuple:e.args.keyTuple,staticData:(0,u.z8)(a,e.args.start,(0,d.d)(e.args.data),e.args.data),encodedLengths:r,dynamicData:i}};n.delete(t),n.set(t,c)}else if("Store_SpliceDynamicData"===e.eventName){let s=n.get(t),{staticData:a,dynamicData:r}=s?.args??f,i={...e,eventName:"Store_SetRecord",args:{tableId:e.args.tableId,keyTuple:e.args.keyTuple,staticData:a,encodedLengths:e.args.encodedLengths,dynamicData:(0,u.z8)(r,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,y.h9)((0,y.Si)(e)),s=(0,y.h9)((0,y.Fd)(e)),a=(0,y.Tn)(n,t.args.keyTuple),r=(0,y.oG)(s,t.args);return{...a,...r}}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")))},67261:(e,t,n)=>{n.d(t,{Z:()=>s});var s=(0,n(85165).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"]}}})},9367:(e,t,n)=>{Object.create,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.prototype.hasOwnProperty},31685:(e,t,n)=>{n.d(t,{Mf:()=>c,Mk:()=>b,NV:()=>u,W2:()=>o,c$:()=>d,v8:()=>m,vf:()=>y,wC:()=>l});var s=n(84440),a=n(48244),r={disabled:!1,registerWorldFunctions:!0},i={namespaceLabel:"",openAccess:!0,accessList:[]},c={root:!1,useDelegation:!1,args:[],artifactPath:void 0},o={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:o,deploy:l};function d(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 y(e,t,n){return Object.fromEntries(Object.entries(e).map(([e,c])=>[e,function(e){let t=e.namespaceLabel??i.namespaceLabel,n=e.namespace??t,c=e.label,o=e.name??c.slice(0,16),l=(0,a.Xj)({type:"system",namespace:n,name:o});return(0,s.C6)({...e,label:c,namespaceLabel:t,namespace:n,name:o,systemId:l,deploy:(0,s.C6)(e.deploy??{},r)},i)}({...c,label:e,namespaceLabel:t,namespace:n})]))}function b(e,t){(0,s.L0)(e,"systems")&&d(e.systems),(0,s.Mk)(e,t)}function m(e,t=s.eg){let n=(0,s.v8)(e,t),a=y(e.systems??{},n.label,n.namespace);return{...n,systems:a}}},47511:(e,t,n)=>{n.d(t,{W9:()=>o});var s=n(31685),a=n(22841),r=n(7477),i=n(84440);function c(e,t){if(!(0,i.Kn)(e))throw Error(`Expected namespaces config, received ${JSON.stringify(e)}`);let n=(0,a.Li)(e,(e,n)=>[e,(0,s.v8)((0,i.C6)(n,{label:e}),t)]),c=Array.from((0,r.vM)(Object.values(n),e=>e.namespace).entries()).filter(([,e])=>e.length>1).map(([e])=>e);if(c.length>0)throw Error(`Found namespaces defined more than once in config: ${c.join(", ")}`);return n}function o(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 a=(0,i.Zf)(e),r=(0,i.KH)(e),o=e.namespaces?c(e.namespaces,a):c({[r.namespace]:e},a),l=(0,i.YG)({namespaces:o}),u=(e.modules??s.NV.modules).map(e=>(0,i.C6)(e,s.Mf));return(0,i.C6)({...r,namespaces:o,tables:l,systems:!r.multipleNamespaces&&e.systems?(0,s.vf)(e.systems,r.namespace,r.namespace):s.NV.systems,excludeSystems:(0,i.U2)(e,"excludeSystems"),codegen:(0,i.C6)(r.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)}},85165:(e,t,n)=>{n.d(t,{IR:()=>a,W9:()=>s.W9});var s=n(47511);n(31685),n(9367);var a="event HelloWorld(bytes32 indexed worldVersion)"},60483:(e,t,n)=>{n.d(t,{ZP:()=>r});var s=n(47511),a=(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 r=a;n(31685),n(9367)}};
|
|
1
|
+
"use strict";exports.id=1468,exports.ids=[1468],exports.modules={79298:(e,t,n)=>{n.d(t,{s:()=>i});var s=n(67033),a=n(48004),r=n(20119);async function i(e){let t=r.df[r.is[e]];return(0,s.e)({chain:t,transport:(0,a.d)()})}},28052:(e,t,n)=>{n.d(t,{h:()=>a});var s=n(20119);function a(e){let t=s.df[s.is[e]];return"indexerUrl"in t?t.indexerUrl:void 0}},20119:(e,t,n)=>{n.d(t,{is:()=>p,df:()=>m,wG:()=>f});var s=n(20759),a=n(73702),r=n(65124),i=n(94913),c=n(19584);a.t;var o={...r.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},iconUrls:["https://redstone.xyz/chain-icons/garnet.png"],indexerUrl:"https://indexer.mud.garnetchain.com"},u={http:["https://rpc.rhodolitechain.com"],webSocket:["wss://rpc.rhodolitechain.com"]},d={...c.i,name:"Rhodolite Devnet",testnet:!0,id:17420,sourceId:17e3,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:u,bundler:u,quarryPassIssuer:u,wiresaw:u},contracts:{...c.i.contracts,l1StandardBridge:{17e3:{address:"0x6487446e0B9FAEa90F6a9772A6448cFa780E30F9"}},quarryPaymaster:{address:"0x7ca1b85aca23fccf2fbac14c02b5e8a6432639b9"}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.rhodolitechain.com"},worldsExplorer:{name:"MUD Worlds Explorer",url:"https://explorer.mud.dev/rhodolite/worlds"}},iconUrls:["https://redstone.xyz/chain-icons/rhodolite.png"],indexerUrl:"https://indexer.mud.rhodolitechain.com"},y={http:["https://rpc.pyropechain.com"],webSocket:["wss://rpc.pyropechain.com"]},b={...c.i,name:"Pyrope Testnet",testnet:!0,id:695569,sourceId:11155111,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:y,bundler:y},contracts:{...c.i.contracts,l1StandardBridge:{11155111:{address:"0xC24932c31D9621aE9e792576152B7ef010cFC2F8"}}},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 m={anvil:s.O,rhodolite:d,garnet:l,redstone:o,pyrope:b},p=Object.fromEntries(Object.entries(m).map(([e,t])=>[t.id,e]));function f(e){if(!("number"==typeof e&&e in p))throw Error(`Invalid chain ID. Supported chains are: ${Object.keys(p).join(", ")}.`)}},72507:(e,t,n)=>{n.d(t,{D:()=>w});var s=n(5905),a=n(45557),r=n(98261),i=n(7477),c=n(3741),o=n(38505),l=n(91252),u=n(7668),d=n(45252),y=n(67033),b=n(48004),m=n(48244),p=c("mud:block-events-stream"),f=c("mud:block-events-stream");async function g(e){let t={method:"eth_getLogs",params:[{address:e.address,topics:e.topics,fromBlock:(0,o.eC)(e.fromBlock),toBlock:(0,o.eC)(e.toBlock)}]};if(!e.internal_clientOptions?.validateBlockRange)return(await (e.publicClient??(0,y.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,d.x)(n),a={method:"eth_getBlockByNumber",params:[(0,o.eC)(e.toBlock),!1]},[{error:i,result:c},{error:m,result:p}]=await s.request({body:[a,t]});if(i)throw new u.bs({body:a,error:i,url:n});if(m)throw new u.bs({body:t,error:m,url:n});if(!c)throw new r.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:c,...o}){let l=o.getLogs??(async e=>{let t=o.events?[o.events.map(e=>(0,s.n)(e))]:void 0,n=await g({...o,...e,topics:t});return o.events?(0,a.h)({logs:n,abi:o.events}):n}),u=n,d=(0,i.Ed)(e,c-u),y=0;for(;u<=c;){let n=u+(0,i._L)(0n,d-1n);p(`getting logs for blocks ${u}-${n} (${d} blocks, ${e} max)`);try{let t=await l({fromBlock:u,toBlock:n});yield{fromBlock:u,toBlock:n,logs:t},u=n+1n,d=(0,i.Ed)(e,c-u),y=0}catch(c){if(!(c instanceof Error))throw c;if(y<t&&h.some(e=>c.message.includes(e))){let e=2*y;p(`too many requests, retrying in ${e}s`),await (0,i.Dc)(1e3*e),y+=1;continue}let s=v.some(e=>c.message.includes(e)),a=x.some(e=>c.message.includes(e));if(s||a){if((d/=2n)<=0n)throw Error("can't reduce block range any further");s&&(e=d),p(`got block range error, retrying with ${d} blocks, ${e} max`);continue}if(y<t&&(k.some(e=>c.message.includes(e))||c.message===new r.f({blockNumber:n}).message)){let e=2*y;p(`missing block, retrying in ${e}s`),await (0,i.Dc)(1e3*e),y+=1;continue}throw c}}}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),a=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),a}((await (0,i.s$)(S(e))).flatMap(({logs:e})=>e))}},7477:(e,t,n)=>{function s(e,t){throw Error(t??`Unexpected value: ${e}`)}function a(...e){return e.reduce((e,t)=>t>e?t:e)}function r(...e){return e.reduce((e,t)=>t<e?t:e)}function i(e,t){return e<t?-1:e>t?1:0}function c(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 o(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 d(e){return new Promise(t=>setTimeout(()=>t(),e))}n.d(t,{$K:()=>o,Dc:()=>d,Ed:()=>r,Xc:()=>u,_L:()=>a,iN:()=>i,nt:()=>s,s$:()=>l,vM:()=>c})},48244:(e,t,n)=>{n.d(t,{IJ:()=>p,IY:()=>h,vC:()=>f,ak:()=>g,Xj:()=>y,qj:()=>b,z8:()=>v});var s=n(3741),a=s("mud:common"),r=s("mud:common");a.log=console.debug.bind(console),r.log=console.error.bind(console),n(20079),n(43547),a.extend("createNonceManager");a.extend("sendTransaction"),a.extend("writeContract");var i=n(15013),c=n(38505),o=n(13435),l=n(30594),u=["table","offchainTable","namespace","system"],d={table:"tb",offchainTable:"ot",namespace:"ns",system:"sy"};function y(e){let t=d[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,c.$G)(t,{size:2}),(0,c.$G)(e.namespace,{size:14}),(0,c.$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(d).map(([e,t])=>[t,e]));function p(e){let t=(0,o.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,o.rR)((0,l.p5)(e,2,16)).replace(/\0+$/,""),a=(0,o.rR)((0,l.p5)(e,16,32)).replace(/\0+$/,"");if(!n)throw Error(`Unknown type (${t}) for resource (${b({namespace:s,name:a})})`);return{resourceId:e,type:n,namespace:s,name:a}}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),a.extend("transportObserver")},89394:(e,t,n)=>{n.d(t,{Tn:()=>w,oG:()=>E,z:()=>j,hS:()=>$,Si:()=>R,h9:()=>B,Fd:()=>A,Kf:()=>N,Cy:()=>F,SE:()=>D});var s=n(50354),a=n(13435),r=n(30594),i=n(7477),c=n(96230),o=class extends Error{constructor(){super(...arguments),this.name="MUDError"}},l=n(41766),u=n(48244),d=n(15013),y=n(90931),b=n(58554),m=n(95496),p=n(60551),f=class extends o{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 o{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 o{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 o{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 o{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,a.y_)(t,{signed:e.startsWith("int")}),r=typeof s.sD[e];if("number"===r)return Number(n);if("bigint"===r)return n;throw Error(`Unexpected default value type (${r}) 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,a.XA)(t);case"address":return(0,c.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,a.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 a=(0,s._X)(e),i=s.qS[a];if(n%i!=0)throw new v(a,t);return Array(n/i).fill(void 0).map((e,n)=>k(a,(0,r.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:a}){return function(e,t){let n=function(e,t){let n=[],a=0;e.staticFields.forEach(e=>{let r=s.qS[e],i=k(e,(0,u.ak)(t,a,a+r));a+=r,n.push(i)});let r=I(e.staticFields),i=a;if(i!==r&&console.warn("Decoded static data length does not match value schema's expected static data length. Data may get corrupted. Is `getStaticByteLength` outdated?",{expectedLength:r,actualLength:i,bytesOffset:a}),e.dynamicFields.length>0){let r=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,a,a+32));a+=32,e.dynamicFields.forEach((e,i)=>{let c=r.fieldByteLengths[i];if(c>0){let s=S(e,(0,u.ak)(t,a,a+c));a+=c,n.push(s)}else n.push(s.mi[e])});let c=a-32-i;BigInt(c)!==r.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:r.totalByteLength,actualLength:c,bytesOffset:a})}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,d.SM)([(0,u.ak)(t,0,I(Object.values(e).filter(s.mH))),(0,y.gc)(n,{size:32}),a]))}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),a=n.filter(([,e])=>(0,s.mH)(e)),r=n.filter(([,e])=>(0,s.d)(e)),i=a.map(([e,n])=>O(n,t[e])),c=r.map(([e,n])=>O(n,t[e])),o=function(e){let t=e.map(p.d).reverse(),n=t.reduce((e,t)=>e+BigInt(t),0n);return(0,y.gc)((0,d.SM)([...t.map(e=>O("uint40",e)),O("uint56",n)]),{size:32,dir:"left"})}(c);return{staticData:(0,d.SM)(i),encodedLengths:o,dynamicData:(0,d.SM)(c)}}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 N(e){return L({staticFields:Object.values(e).filter(s.mH),dynamicFields:[]})}function F(e){let t=Object.values(e).filter(s.mH),n=Object.values(e).filter(s.d),a=t.map(e=>s.qS[e]),r=a.reduce((e,t)=>e+t,0);return`0x${[r.toString(16).padStart(4,"0"),t.length.toString(16).padStart(2,"0"),n.length.toString(16).padStart(2,"0"),...a.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 R(e){return Object.fromEntries(e.key.map(t=>[t,e.schema[t]]))}function A(e){return Object.fromEntries(Object.entries(e.schema).filter(([t])=>!e.key.includes(t)))}function B(e){return(0,i.Xc)(e,e=>e.type)}},50354:(e,t,n)=>{n.d(t,{D3:()=>p,Q8:()=>i,RW:()=>y,_X:()=>m,d:()=>g,li:()=>b,mH:()=>l,mi:()=>f,qS:()=>o,sD:()=>c,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"],a=s.slice(0,98),r=s.slice(98);function i(e){return s.includes(e)}var c={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"},o={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 a.includes(e)}var u=/\[\]$/,d=/\[\d+\]$/;function y(e){return"string"==typeof e&&u.test(e)&&l(e.replace(u,""))}function b(e){return"string"==typeof e&&d.test(e)&&l(e.replace(d,""))}function m(e){return e.replace(u,"")}function p(e){return e.replace(d,"[]")}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 r.includes(e)}},99186:(e,t,n)=>{n.d(t,{fF:()=>h,vM:()=>k,AZ:()=>m});var s=n(53860),a=n(89394),r=(0,n(54952).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}}}}),i=n(60483),c=n(95496),o=n(48664),l=n(3741),u=n(80193),d=n(48244);function y(e){return Object.fromEntries(Object.values(e.namespaces).flatMap(e=>Object.values(e.tables)).map(e=>[e.label,e]))}var b={...y(r),...y(i.ZP)},m=Object.values(b).map(e=>e.tableId),p={...b.Tables,keySchema:(0,a.h9)((0,a.Si)(b.Tables)),valueSchema:(0,a.h9)((0,a.Fd)(b.Tables))};function f(e){return{eventName:"Store_SetRecord",address:e.address,args:{tableId:p.tableId,keyTuple:(0,a.z)(p.keySchema,{tableId:e.tableId}),...(0,a.hS)(p.valueSchema,{fieldLayout:(0,a.Cy)(e.valueSchema),keySchema:(0,a.Kf)(e.keySchema),valueSchema:(0,a.SE)(e.valueSchema),abiEncodedKeyNames:(0,c.E)((0,o.n)("string[]"),[Object.keys(e.keySchema)]),abiEncodedFieldNames:(0,c.E)((0,o.n)("string[]"),[Object.keys(e.valueSchema)])})}}}function g(e){return[...e.map(f),...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 h=l("mud:store-sync"),v=l("mud:store-sync");h.log=console.debug.bind(console),v.log=console.error.bind(console);var x=h.extend("getSnapshot");async function k({chainId:e,address:t,filters:n,initialState:a,initialBlockLogs:r,indexerUrl:i}){if(r&&a)throw Error("Only one of initialBlockLogs or initialState should be provided.");if(r)return r;if(a)return{blockNumber:a.blockNumber,logs:g(a.tables)};if(!i)return;let c=new URL(i).origin,o=function({url:e}){return{getLogs:async t=>{try{let n=encodeURIComponent(JSON.stringify(t)),s=new URL(e).origin,a=await fetch(`${s}/api/logs?input=${n}`,{method:"GET"}),r=await a.json();if(!(r&&"string"==typeof r.blockNumber&&Array.isArray(r.logs)))return{error:r};return{ok:{...r,blockNumber:BigInt(r.blockNumber)}}}catch(e){return{error:e}}}}}({url:c}),l=(0,s.x)({url:`${c}/trpc`});x("fetching logs from indexer via get",i);let y=await o.getLogs({chainId:e,address:t,filters:n});if((0,d.IY)(y))return y.ok;console.warn(y.error);try{return x("fetching logs from indexer via trpc",i),await l.getLogs.query({chainId:e,address:t,filters:n})}catch(s){if(s instanceof u.ss){x("failed to fetch logs, fetching table records instead",i);let s=await l.findAll.query({chainId:e,address:t,filters:n});if(console.warn(`The indexer at ${i} appears to be outdated. Consider upgrading to a recent version for better performance.`),null==s.blockNumber)return;return{blockNumber:s.blockNumber,logs:g(s.tables)}}throw s}}},49225:(e,t,n)=>{var s=n(42072),a=n(66785);a.z.object({chainId:a.z.number(),address:a.z.string().refine(s.v).optional(),filters:a.z.array(a.z.object({tableId:a.z.string().refine(s.v),key0:a.z.string().refine(s.v).optional(),key1:a.z.string().refine(s.v).optional()})).default([])})},53860:(e,t,n)=>{n.d(t,{x:()=>r}),n(49225),n(42737);var s=n(11),a=n(80193);function r({url:e}){return(0,a.K5)({transformer:s.ZP,links:[(0,a.N8)({url:e})]})}},6162:(e,t,n)=>{n.d(t,{Q:()=>u});var s=n(99186),a=n(72507),r=n(84440),i=n(67033),c=n(48004),o=n(96774),l=n(63790);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,c.d)(e.rpcUrl)});(0,s.fF)("fetching records for",e.table.label,"via RPC from",t.transport.url);let n=await (0,a.D)({fromBlock:e.fromBlock??0n,toBlock:e.toBlock??await (0,o.s)(t,l.z,"getBlockNumber")({}),maxBlockRange:100000n,getLogs:async({fromBlock:n,toBlock:s})=>(0,r.vB)(t,{address:e.worldAddress,fromBlock:n,toBlock:s,tableId:e.table.tableId})});return(0,r.dp)(n.flatMap(e=>e.logs))}}let n=await t(),u=n.map(t=>(0,r.kr)({log:t,table:e.table})),d=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",d),{records:u,blockNumber:d}}},54952:(e,t,n)=>{n.d(t,{C6:()=>u,KH:()=>N,Kn:()=>l,L0:()=>o,L9:()=>k,Mk:()=>I,Q_:()=>F,U2:()=>c,YG:()=>j,Zf:()=>$,eg:()=>f,v8:()=>E,zP:()=>L});var s=n(50354),a=n(48244),r=n(7477),i=n(22841);function c(e,t){return"object"==typeof e&&null!=e&&o(e,t)?e[t]:void 0}function o(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 d={storeImportPath:"@latticexyz/store/src",userTypesFilename:"common.sol",outputDirectory:"codegen",indexFilename:"index.sol"},y={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)||o(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(!o(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)&&!o(t.types,n))throw Error(`"${String(n)}" is not a valid type in this scope.`)}(e.schema,t),!o(e,"key")||!function(e,t,n=f){return Array.isArray(e)&&e.every(e=>o(t,e)&&o(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])=>o(t.types,e)&&(0,s.mH)(t.types[e])).map(([e])=>e)})(e.schema,t).map(e=>`"${String(e)}"`).join(" | ")})[]\`, received \`${o(e,"key")&&Array.isArray(e.key)?`[${e.key.map(e=>`"${e}"`).join(", ")}]`:String(c(e,"key"))}\``);if(o(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(o(e,"namespaceLabel")&&"string"==typeof e.namespaceLabel&&(!o(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(o(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&&(o(e,"label")||o(e,"namespaceLabel")||o(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,r=e.namespace??n,i=e.label,o=e.name??i.slice(0,16),l=e.type??m.type,d=(0,a.Xj)({type:l,namespace:r,name:o});return{label:i,type:l,namespace:r,namespaceLabel:n,name:o,tableId:d,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:c(t,"outputDirectory")??y.outputDirectory,tableIdArgument:c(t,"tableIdArgument")??y.tableIdArgument,storeArgument:c(t,"storeArgument")??y.storeArgument,dataStruct:c(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)||o(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(o(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(o(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`\`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);o(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,a)=>[e,u(S(a,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,r.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}(c(e,"enums"),function(e,t=f){return l(e)&&Object.values(e).every(e=>(0,s.Q8)(e.type))?g(t,(0,r.Xc)(e,e=>e.type)):t}(c(e,"userTypes")))}function L(e){let t=$(e);if(o(e,"namespaces")){if(o(e,"namespace")||o(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(o(e,"namespace")&&"string"==typeof e.namespace&&e.namespace.length>14)throw Error(`\`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);o(e,"tables")&&w(e.tables,t),o(e,"userTypes")&&function(e){if(!l(e))throw Error(`Expected userTypes, received ${JSON.stringify(e)}`);for(let{type:t}of Object.values(e))if(!o(f.types,t))throw Error(`"${String(t)}" is not a valid ABI type.`)}(e.userTypes)}function N(e){var t,n;let s=$(e),a=e.namespace??p.namespace,r=e.namespaces?{multipleNamespaces:!0,namespace:null,namespaces:O(e.namespaces,s)}:{multipleNamespaces:!1,namespace:a,namespaces:O({[a]:e},s)},c=j(r);return{...r,tables:c,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,d):d}}function F(e){return L(e),N(e)}},79461:(e,t,n)=>{n.d(t,{K$:()=>a,WH:()=>r});var s=n(41129),a="event HelloStore(bytes32 indexed storeVersion)",r=(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)"])},99945:(e,t,n)=>{n.d(t,{K$:()=>s.K$});var s=n(79461);n(54952)},84440:(e,t,n)=>{n.d(t,{C6:()=>a.C6,KH:()=>a.KH,Kn:()=>a.Kn,L0:()=>a.L0,L9:()=>a.L9,Mk:()=>a.Mk,U2:()=>a.U2,YG:()=>a.YG,Zf:()=>a.Zf,dp:()=>v,eg:()=>a.eg,kr:()=>x,v8:()=>a.v8,vB:()=>h,zP:()=>a.zP});var s=n(79461),a=n(54952),r=n(5905),i=n(38505),c=n(91252),o=n(45557),l=n(41772),u=n(48244),d=n(60551),y=n(89394),b=n(13435),m=n(84439),p=n(95586),f={staticData:"0x",encodedLengths:"0x",dynamicData:"0x"},g=l("mud:store");async function h(e,{address:t,tableId:n,fromBlock:a,toBlock:l}={}){let d=[s.WH.map(r.n),n??null],y=n?Array.isArray(n)?n:[n]:[],b=t?Array.isArray(t)?t:[t]:[];g(`getting store logs for ${y.length?y.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:d,fromBlock:"bigint"==typeof a?(0,i.eC)(a):a,toBlock:"bigint"==typeof l?(0,i.eC)(l):l}]})).map(e=>(0,c.U)(e));return(0,o.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:a,encodedLengths:r,dynamicData:i}=s?.args??f,c={...e,eventName:"Store_SetRecord",args:{tableId:e.args.tableId,keyTuple:e.args.keyTuple,staticData:(0,u.z8)(a,e.args.start,(0,d.d)(e.args.data),e.args.data),encodedLengths:r,dynamicData:i}};n.delete(t),n.set(t,c)}else if("Store_SpliceDynamicData"===e.eventName){let s=n.get(t),{staticData:a,dynamicData:r}=s?.args??f,i={...e,eventName:"Store_SetRecord",args:{tableId:e.args.tableId,keyTuple:e.args.keyTuple,staticData:a,encodedLengths:e.args.encodedLengths,dynamicData:(0,u.z8)(r,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,y.h9)((0,y.Si)(e)),s=(0,y.h9)((0,y.Fd)(e)),a=(0,y.Tn)(n,t.args.keyTuple),r=(0,y.oG)(s,t.args);return{...a,...r}}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")))},67261:(e,t,n)=>{n.d(t,{Z:()=>s});var s=(0,n(85165).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"]}}})},9367:(e,t,n)=>{Object.create,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.prototype.hasOwnProperty},31685:(e,t,n)=>{n.d(t,{Mf:()=>c,Mk:()=>b,NV:()=>u,W2:()=>o,c$:()=>d,v8:()=>m,vf:()=>y,wC:()=>l});var s=n(84440),a=n(48244),r={disabled:!1,registerWorldFunctions:!0},i={namespaceLabel:"",openAccess:!0,accessList:[]},c={root:!1,useDelegation:!1,args:[],artifactPath:void 0},o={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:o,deploy:l};function d(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 y(e,t,n){return Object.fromEntries(Object.entries(e).map(([e,c])=>[e,function(e){let t=e.namespaceLabel??i.namespaceLabel,n=e.namespace??t,c=e.label,o=e.name??c.slice(0,16),l=(0,a.Xj)({type:"system",namespace:n,name:o});return(0,s.C6)({...e,label:c,namespaceLabel:t,namespace:n,name:o,systemId:l,deploy:(0,s.C6)(e.deploy??{},r)},i)}({...c,label:e,namespaceLabel:t,namespace:n})]))}function b(e,t){(0,s.L0)(e,"systems")&&d(e.systems),(0,s.Mk)(e,t)}function m(e,t=s.eg){let n=(0,s.v8)(e,t),a=y(e.systems??{},n.label,n.namespace);return{...n,systems:a}}},47511:(e,t,n)=>{n.d(t,{W9:()=>o});var s=n(31685),a=n(22841),r=n(7477),i=n(84440);function c(e,t){if(!(0,i.Kn)(e))throw Error(`Expected namespaces config, received ${JSON.stringify(e)}`);let n=(0,a.Li)(e,(e,n)=>[e,(0,s.v8)((0,i.C6)(n,{label:e}),t)]),c=Array.from((0,r.vM)(Object.values(n),e=>e.namespace).entries()).filter(([,e])=>e.length>1).map(([e])=>e);if(c.length>0)throw Error(`Found namespaces defined more than once in config: ${c.join(", ")}`);return n}function o(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 a=(0,i.Zf)(e),r=(0,i.KH)(e),o=e.namespaces?c(e.namespaces,a):c({[r.namespace]:e},a),l=(0,i.YG)({namespaces:o}),u=(e.modules??s.NV.modules).map(e=>(0,i.C6)(e,s.Mf));return(0,i.C6)({...r,namespaces:o,tables:l,systems:!r.multipleNamespaces&&e.systems?(0,s.vf)(e.systems,r.namespace,r.namespace):s.NV.systems,excludeSystems:(0,i.U2)(e,"excludeSystems"),codegen:(0,i.C6)(r.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)}},85165:(e,t,n)=>{n.d(t,{IR:()=>a,W9:()=>s.W9});var s=n(47511);n(31685),n(9367);var a="event HelloWorld(bytes32 indexed worldVersion)"},60483:(e,t,n)=>{n.d(t,{ZP:()=>r});var s=n(47511),a=(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 r=a;n(31685),n(9367)}};
|