From d28ad481c9895dbe7b6f099e365702533c83213a Mon Sep 17 00:00:00 2001 From: karooolis Date: Thu, 22 Aug 2024 10:43:52 +0300 Subject: [PATCH] add explorer + indexer to all templates --- templates/phaser/indexer.db | Bin 0 -> 262144 bytes templates/phaser/mprocs.yaml | 8 ++++++++ templates/phaser/package.json | 2 ++ .../phaser/packages/contracts/worlds.json | 2 +- templates/react-ecs/indexer.db | Bin 0 -> 262144 bytes templates/react-ecs/mprocs.yaml | 8 ++++++++ templates/react-ecs/package.json | 2 ++ .../react-ecs/packages/contracts/worlds.json | 2 +- templates/react/indexer.db | Bin 0 -> 270336 bytes templates/react/mprocs.yaml | 8 ++++++++ templates/react/package.json | 2 ++ templates/react/packages/contracts/worlds.json | 2 +- templates/threejs/indexer.db | Bin 0 -> 266240 bytes templates/threejs/mprocs.yaml | 8 ++++++++ templates/threejs/package.json | 2 ++ .../threejs/packages/contracts/worlds.json | 2 +- templates/vanilla/indexer.db | Bin 0 -> 262144 bytes templates/vanilla/mprocs.yaml | 8 ++++++++ templates/vanilla/package.json | 2 ++ .../vanilla/packages/contracts/worlds.json | 2 +- 20 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 templates/phaser/indexer.db create mode 100644 templates/react-ecs/indexer.db create mode 100644 templates/react/indexer.db create mode 100644 templates/threejs/indexer.db create mode 100644 templates/vanilla/indexer.db diff --git a/templates/phaser/indexer.db b/templates/phaser/indexer.db new file mode 100644 index 0000000000000000000000000000000000000000..6261d6932b4678e14b9c2af7b8681c1d0663da1e GIT binary patch literal 262144 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 literal 0 HcmV?d00001 diff --git a/templates/phaser/mprocs.yaml b/templates/phaser/mprocs.yaml index 3f9ca198e3..404b536f2d 100644 --- a/templates/phaser/mprocs.yaml +++ b/templates/phaser/mprocs.yaml @@ -8,3 +8,11 @@ procs: anvil: cwd: packages/contracts shell: anvil --base-fee 0 --block-time 2 + indexer: + shell: rimraf $SQLITE_FILENAME && pnpm sqlite-indexer + env: + RPC_HTTP_URL: "http://127.0.0.1:8545" + FOLLOW_BLOCK_TAG: "latest" + SQLITE_FILENAME: "indexer.db" + explorer: + shell: pnpm explorer --worldsFile packages/contracts/worlds.json diff --git a/templates/phaser/package.json b/templates/phaser/package.json index 2e076feba7..33b712f7cf 100644 --- a/templates/phaser/package.json +++ b/templates/phaser/package.json @@ -14,6 +14,8 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@latticexyz/common": "link:../../packages/common", + "@latticexyz/explorer": "link:../../packages/explorer", + "@latticexyz/store-indexer": "link:../../packages/store-indexer", "@types/debug": "4.1.7", "@typescript-eslint/eslint-plugin": "7.1.1", "@typescript-eslint/parser": "7.1.1", diff --git a/templates/phaser/packages/contracts/worlds.json b/templates/phaser/packages/contracts/worlds.json index 43a5a6f4e5..6fed600155 100644 --- a/templates/phaser/packages/contracts/worlds.json +++ b/templates/phaser/packages/contracts/worlds.json @@ -1,5 +1,5 @@ { "31337": { - "address": "0x4f4ddafbc93cf8d11a253f21ddbcf836139efdec" + "address": "0x8d8b6b8414e1e3dcfd4168561b9be6bd3bf6ec4b" } } \ No newline at end of file diff --git a/templates/react-ecs/indexer.db b/templates/react-ecs/indexer.db new file mode 100644 index 0000000000000000000000000000000000000000..611f2f09230bb54fff8b78f2668558fe03f8e642 GIT binary patch literal 262144 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

uOUNbX@t1z@&S z9M>NT2P@o>3@)74dcENb(Do*d`XZer=6ND!M8x2-O z>`X!2VbA^BQRu`pp zNLR7;*9G{G8xlYQNB{{S0VIF~kN^@u0!RP}AOR%sz!6wp+$?b;(*M6u{dQs1y7b2v>rNBaL4sy~4F|FzKrkeBIMkv;Om+LT`yuYe-Z{|>PQrZ@+yBDDX% zxLsI32fuKO5%}m}bBja`$-kf9`~ZHx4?q8O(~D6>UT+u-$4p*4FK~uC493doymSBbj2llO0( zE?OE`h%&FBoY&cllZPXP*+iYT1?0~^G@XnF1ep((oQ37xVZGtdQY{%E+U3CM`Vv-8 zVkehBX+Pq<-Xr|f$uiKVZHJ78gq{d$L$CyIhI}*EQyCv0T?>;%A?Eut`yrnD#|P)U z`p&Ue-}#zf-4|!>9xEQ$Bq^7xuhU zK}|crOn}+W+1p(KJIZUz)9|GK-p)%WY{y=C8_BfR>Dys?QWMW)w!`~AAMhM$|6eS8 zr%-EG|84cBD&MYD%5QJ{@y1K*-(A00dVlTD*Ir-!SF4{|`Nr~(mi49ITap%kd2wZ- zSNx;m=i#Dzw~fzV+!$|`#+&EK8V0bqsRirP&!{d>eBQw?=OBUOVO{I<7eacmk0@f7 zVC(f*STDvf(_9=T;q}Otrx#g%lRn28Rf^yvo47v*2^?P^Kk{fuE%Fd1-p=_l`GukE z5;$HNKXN{kTI2;vP=yY>X)BV5#CMM-OQ32!l36Vpr?l+XY&fqf5f#N5yOm0<*%GK) z4`)*=@O~J0FB`mwiZni8EFbt4GO)~!5=RJzJ_g^lGFbvu>!FZZ#N^?9L@l6TD0%7* z)a2PDP_;JWYLQS7Q7lgw!&Zw)0#)l=Osx>}tRJXaSuYBmKcZ^YLTZt){j5hoM?Av2 zRfF&Q3%<KF)98B{;7xa-rPEW`R-y!| z)_Nwjf|e0_cy4CO^bjXYplX$}sRiCF_?D-j&!(CstCc8$s#gOQiE8{q?Sxrk!9y6y#Ip?9Zps&SprpSC6ijjokFSUyhIhuJ>*!yRuUg#vIMHu zayGTd>nq8diag2^VUl_-I#wUkY*xMg^60!(M}6Ra~LfvU9_S8GQ34-O*os^thV zo0fN$>o@$r$r7kq3)$3)X72{P0zF>%%u*{+0#&P+O)c*&%OPca7|FB}C4gGA|G)YN zh1xCng&Pt;0!RP}AOR$R1dsp{Kmter2_S*{guwXxC%k61x5UGYj$#PV!>g(xgabe1 zZ!n7K#7f8_5s|a}RyYi0iX4keusdWQ59>ubWFuDwr6!LZ2W=T85WPtIzgYbb1^AB} z5Wf^G9m`~KVZQeP&77L$ZeqiCdn%=U(e g1s(PUaR7O8v_PoCAVnC2NCrT`CJ094bA#vpf7KEQg8%>k literal 0 HcmV?d00001 diff --git a/templates/react-ecs/mprocs.yaml b/templates/react-ecs/mprocs.yaml index 3f9ca198e3..404b536f2d 100644 --- a/templates/react-ecs/mprocs.yaml +++ b/templates/react-ecs/mprocs.yaml @@ -8,3 +8,11 @@ procs: anvil: cwd: packages/contracts shell: anvil --base-fee 0 --block-time 2 + indexer: + shell: rimraf $SQLITE_FILENAME && pnpm sqlite-indexer + env: + RPC_HTTP_URL: "http://127.0.0.1:8545" + FOLLOW_BLOCK_TAG: "latest" + SQLITE_FILENAME: "indexer.db" + explorer: + shell: pnpm explorer --worldsFile packages/contracts/worlds.json diff --git a/templates/react-ecs/package.json b/templates/react-ecs/package.json index 741c071f75..f5d5d40724 100644 --- a/templates/react-ecs/package.json +++ b/templates/react-ecs/package.json @@ -14,6 +14,8 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@latticexyz/common": "link:../../packages/common", + "@latticexyz/explorer": "link:../../packages/explorer", + "@latticexyz/store-indexer": "link:../../packages/store-indexer", "@types/debug": "4.1.7", "@typescript-eslint/eslint-plugin": "7.1.1", "@typescript-eslint/parser": "7.1.1", diff --git a/templates/react-ecs/packages/contracts/worlds.json b/templates/react-ecs/packages/contracts/worlds.json index 43a5a6f4e5..6fed600155 100644 --- a/templates/react-ecs/packages/contracts/worlds.json +++ b/templates/react-ecs/packages/contracts/worlds.json @@ -1,5 +1,5 @@ { "31337": { - "address": "0x4f4ddafbc93cf8d11a253f21ddbcf836139efdec" + "address": "0x8d8b6b8414e1e3dcfd4168561b9be6bd3bf6ec4b" } } \ No newline at end of file diff --git a/templates/react/indexer.db b/templates/react/indexer.db new file mode 100644 index 0000000000000000000000000000000000000000..873ec99869b722e6f4d17f164b27799adc62cc1a GIT binary patch literal 270336 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 literal 0 HcmV?d00001 diff --git a/templates/vanilla/mprocs.yaml b/templates/vanilla/mprocs.yaml index 3f9ca198e3..404b536f2d 100644 --- a/templates/vanilla/mprocs.yaml +++ b/templates/vanilla/mprocs.yaml @@ -8,3 +8,11 @@ procs: anvil: cwd: packages/contracts shell: anvil --base-fee 0 --block-time 2 + indexer: + shell: rimraf $SQLITE_FILENAME && pnpm sqlite-indexer + env: + RPC_HTTP_URL: "http://127.0.0.1:8545" + FOLLOW_BLOCK_TAG: "latest" + SQLITE_FILENAME: "indexer.db" + explorer: + shell: pnpm explorer --worldsFile packages/contracts/worlds.json diff --git a/templates/vanilla/package.json b/templates/vanilla/package.json index 09b9d29c5f..39512b882b 100644 --- a/templates/vanilla/package.json +++ b/templates/vanilla/package.json @@ -14,6 +14,8 @@ "devDependencies": { "@latticexyz/cli": "link:../../packages/cli", "@latticexyz/common": "link:../../packages/common", + "@latticexyz/explorer": "link:../../packages/explorer", + "@latticexyz/store-indexer": "link:../../packages/store-indexer", "@types/debug": "4.1.7", "@typescript-eslint/eslint-plugin": "7.1.1", "@typescript-eslint/parser": "7.1.1", diff --git a/templates/vanilla/packages/contracts/worlds.json b/templates/vanilla/packages/contracts/worlds.json index 43a5a6f4e5..6fed600155 100644 --- a/templates/vanilla/packages/contracts/worlds.json +++ b/templates/vanilla/packages/contracts/worlds.json @@ -1,5 +1,5 @@ { "31337": { - "address": "0x4f4ddafbc93cf8d11a253f21ddbcf836139efdec" + "address": "0x8d8b6b8414e1e3dcfd4168561b9be6bd3bf6ec4b" } } \ No newline at end of file