diff --git a/cmd/jsutils/getchainstatus.js b/cmd/jsutils/getchainstatus.js index 6b3b3ddbba..dc045008b6 100644 --- a/cmd/jsutils/getchainstatus.js +++ b/cmd/jsutils/getchainstatus.js @@ -247,7 +247,7 @@ const builderMap = new Map([ ["0xb49f86586a840AB9920D2f340a85586E50FD30a2", "inblock eu"], ["0x0F6D8b72F3687de6f2824903a83B3ba13c0e88A0", "inblock us"], // nodereal - ["0x79102dB16781ddDfF63F301C9Be557Fd1Dd48fA0", "nodereal ap x"], + ["0x79102dB16781ddDfF63F301C9Be557Fd1Dd48fA0", "nodereal ap"], ["0xd0d56b330a0dea077208b96910ce452fd77e1b6f", "nodereal eu"], ["0x4f24ce4cd03a6503de97cf139af2c26347930b99", "nodereal us"], // xzbuilder @@ -255,9 +255,15 @@ const builderMap = new Map([ // Chapel ["0x627fE6AFA2E84e461CB7AE7C2c46e8adf9a954a2", "txboost"], - ["0x5EC60f73f938e36400ec3CC3Ff4d7a7703F7c005", "nodereal ap y"], - // ["0x4827b423D03a349b7519Dda537e9A28d31ecBB48", "puissant y"], - ["0x0eAbBdE133fbF3c5eB2BEE6F7c8210deEAA0f7db", "blockrazor"], + ["0x5EC60f73f938e36400ec3CC3Ff4d7a7703F7c005", "nodereal ap"], + ["0x6C98EB21139F6E12db5b78a4AeD4d8eBA147FB7b", "nodereal eu"], + // ["0x79102dB16781ddDfF63F301C9Be557Fd1Dd48fA0", "nodereal us"], + ["0x4827b423D03a349b7519Dda537e9A28d31ecBB48", "club48 ap"], + ["0x48B2665E5E9a343409199D70F7495c8aB660BB48", "club48 eu"], + ["0x48B4bBEbF0655557A461e91B8905b85864B8BB48", "club48 us"], + ["0x0eAbBdE133fbF3c5eB2BEE6F7c8210deEAA0f7db", "blockrazor ap"], + ["0x95c8436143c82Ea4d3529A3ed8DDa9998F6daC5F", "blockrazor eu"], + ["0xb71Ba9e570ee20E983De1d5aE01baf5dCB4e4299", "blockrazor us"], ["0x7b3ee856c98b1bb3689ef7f90477df2927fcbdb6", "trustnet"], ["0xA8caEc0D68a90Ac971EA1aDEFA1747447e1f9871", "blockroute"], ]); @@ -751,17 +757,7 @@ async function getEip7623() { async function getMevStatus() { let counts = { local: 0, - blockrazor: 0, - puissant: 0, - blockroute: 0, - jetbldr: 0, - txboost: 0, - blockbus: 0, - darwin: 0, - inblock: 0, - nodereal: 0, - xzbuilder: 0, - trustnet: 0, + ...Object.fromEntries([...new Set(builderMap.values())].map(builder => [builder, 0])) }; // Get the latest block number @@ -816,11 +812,7 @@ async function getMevStatus() { for (const txData of txResults) { if (builderMap.has(txData.to)) { const builder = builderMap.get(txData.to); - const builderKey = Object.keys(counts).find(key => builder.includes(key)); - - if (builderKey) { - counts[builderKey]++; - } + counts[builder]++; mevBlock = true; console.log( @@ -847,10 +839,16 @@ async function getMevStatus() { console.log(`Range: [${startBlock}, ${endBlock}]`); console.log(`Total Blocks: ${total}`); console.log("\nBuilder Distribution:"); - Object.entries(counts).forEach(([key, value]) => { - const ratio = (value *100 / total).toFixed(2); - console.log(`${key.padEnd(10)}: ${value.toString().padStart(3)} blocks (${ratio}%)`); - }); + const localRatio = (counts.local * 100 / total).toFixed(2); + console.log(`${"local".padEnd(maxBuilderLength)}: ${counts.local.toString().padStart(3)} blocks (${localRatio}%)`); + + Object.entries(counts) + .filter(([key, value]) => key !== "local" && value > 0) + .sort(([a], [b]) => a.localeCompare(b)) + .forEach(([key, value]) => { + const ratio = (value * 100 / total).toFixed(2); + console.log(`${key.padEnd(maxBuilderLength)}: ${value.toString().padStart(3)} blocks (${ratio}%)`); + }); } // 11.cmd: "getLargeTxs", usage: