{"meta":{"type":"db","canSave":false,"canEdit":false,"canAdmin":false,"canStar":true,"canDelete":false,"slug":"metagraph-subnet","url":"/d/subnet/metagraph-subnet","expires":"0001-01-01T00:00:00Z","created":"2024-04-08T09:04:19Z","updated":"2026-06-18T22:58:58Z","updatedBy":"pawel.polewicz@reef.pl","createdBy":"andreea.popescu@reef.pl","version":236,"hasAcl":false,"isFolder":false,"folderId":0,"folderUid":"","folderTitle":"General","folderUrl":"","provisioned":false,"provisionedExternalId":"","annotationsPermissions":{"dashboard":{"canAdd":false,"canEdit":false,"canDelete":false},"organization":{"canAdd":false,"canEdit":false,"canDelete":false}}},"dashboard":{"annotations":{"list":[{"builtIn":1,"datasource":{"type":"grafana","uid":"-- Grafana --"},"enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations \u0026 Alerts","type":"dashboard"}]},"editable":true,"fiscalYearStartMonth":0,"graphTooltip":1,"id":6,"links":[],"panels":[{"fieldConfig":{"defaults":{},"overrides":[]},"gridPos":{"h":2,"w":24,"x":0,"y":0},"id":12,"options":{"code":{"language":"plaintext","showLineNumbers":false,"showMiniMap":false},"content":"taostats: [metagraph](https://x.taostats.io/subnets/${subnet}#metagraph)\n| [hyperparams](https://x.taostats.io/subnets/${subnet}#hyperparams)\n| [registration](https://x.taostats.io/subnets/${subnet}#registration)\n| [distribution](https://x.taostats.io/subnets/${subnet}#distribution)\n|| [taomarketcap](https://taomarketcap.com/subnet/${subnet})\n|| bactensor: [validator](http://grafana.bactensor.io/validator/sn${subnet})\n| [miner](http://grafana.bactensor.io/miner/sn${subnet})\n| [opinions about this subnet](https://opinion-bot.bittensor.church/opinions/?netuid=${subnet})\n||\\\n|| [a nice link to share🔗](https://grafana.bactensor.io/subnet/sn${subnet}) | you can press `V` when hovering on a chart to toggle zoom ||","mode":"markdown"},"pluginVersion":"11.2.0","title":"","transparent":true,"type":"text"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"difference between current block and last block update","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineStyle":{"fill":"solid"},"lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"area"}},"mappings":[],"max":10000,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"#EAB839","value":1150},{"color":"red","value":2300}]}},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[7,7],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}},{"id":"custom.lineWidth","value":2}]}]},"gridPos":{"h":10,"w":24,"x":0,"y":2},"id":9,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.time_since_last_weight\nSELECT\n  COALESCE(\n    hl.name,\n    hk.hotkey\n  ) AS validator,\n  block.serial_number - mechsnap.last_update AS \" \",\n  block.created_at\nFROM\n  metagraph_dumper_neuron neuron\n  INNER JOIN metagraph_dumper_hotkey hk ON hk.id = neuron.hotkey_id\n  LEFT  JOIN metagraph_dumper_hotkeylabel hl ON hl.hotkey_id = hk.id\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot\n    ON snapshot.neuron_id = neuron.id\n    AND snapshot.block_id = block.serial_number\n  INNER JOIN metagraph_dumper_mechanismsnapshot mechsnap\n    ON mechsnap.metadata_snapshot_id = snapshot.id\n    AND mechsnap.mech_id = ${mech_id}\nWHERE\n  neuron.subnet_id = ${subnet}\n  AND snapshot.is_validator = true\n  AND snapshot.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Blocks since last weight set/reveal on sn${subnet}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":1800000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"percentunit"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[10,10],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"custom.showPoints","value":"auto"},{"id":"custom.lineWidth","value":2},{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":12},"id":3,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  snapshot.validator_trust AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\nWHERE\n  validator.subnet_id = ${subnet}\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Validators Trust for sn${subnet}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":1800000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[10,10],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"custom.showPoints","value":"auto"},{"id":"custom.lineWidth","value":2},{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":23},"id":33,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_dividend_to_trust_ratio\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  CASE \n    WHEN snapshot.total_stake = 0 THEN NULL \n    ELSE (1000*1000*1000*dividends.dividend / (snapshot.total_stake+0.001) / (snapshot.validator_trust +0.001))\nEND AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\n  INNER JOIN metagraph_dumper_dividends dividends\n    ON dividends.neuron_id = snapshot.neuron_id\n    AND dividends.block_id = snapshot.block_id\nWHERE\n  validator.subnet_id = ${subnet}\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND dividends.mech_id = '${mech_id}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Dividends to vtrust ratio for sn${subnet} mechid ${mech_id}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"color":{"fixedColor":"semi-dark-blue","mode":"fixed"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"max":1.4,"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"percentunit"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[10,10],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  OwlVentures"},"properties":[{"id":"custom.showPoints","value":"auto"}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":34},"id":28,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":false},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  SUM(snapshot.consensus) AS \" \",\n  block.created_at\nFROM\n  miner\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id AND snapshot.block_id = block.serial_number\nWHERE\n  miner.subnet_id = ${subnet}\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nGROUP BY\n  block.created_at,\n  snapshot.block_id\nORDER BY\n  snapshot.block_id DESC","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Consensus sum for sn${subnet}","type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"none"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[7,7],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"custom.lineWidth","value":2},{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":45},"id":18,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  CASE \n    WHEN snapshot.total_stake = 0 THEN NULL \n    ELSE (1000*1000*1000*dividends.dividend / snapshot.total_stake)\nEND AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\n  INNER JOIN metagraph_dumper_dividends dividends\n    ON dividends.neuron_id = snapshot.neuron_id\n    AND dividends.block_id = snapshot.block_id\nWHERE\n  validator.subnet_id = ${subnet}\n  AND dividends.mech_id = '${mech_id}'\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC\n\n/*\nOpentensorFoundation\nτaosτaτs\u0026Corcel\nFoundry\nBittensorGuruPodcast\nRoundTable21\nDatura\n5Dd8gaRNdhm1YP7G1hcB1N842ecAUQmbLjCRLqH5ycaTGrWv\nTAO-Validator.com\nFirstTensor\nTensorplex\n5Hp18g9P8hLGKp9W3ZDr4bvJwba6b6bY3P2u3VdYf8yMR8FM\nOwlVentures\n5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe\nRizzo\n5F27Eqz2PhyMtGMEce898x31DokNqRVxkm5AhDDe6rDGNvoY\n5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT\n5DM7CPqPKtMSADhFKYsstsCS4Tm4Kd6PMXoh6DdqY4MtxmtX\nNeuralInτerneτ\nPRvalidator\nAry van der Touw\n*/","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Dividends to stake ratio sn${subnet} mechid ${mech_id} (dashed line = weight copier)","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":1800000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"none"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[7,7],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"custom.lineWidth","value":2},{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":56},"id":31,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  --snapshot.emissions AS \" \",\n  emissions.emission AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\n  INNER JOIN emissions emissions\n    ON emissions.neuron_id = snapshot.neuron_id\n    AND emissions.block_id = snapshot.block_id\nWHERE\n  validator.subnet_id = ${subnet}\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND emissions.mech_id = '${mech_id}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC","refId":"B","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Emissions in sn${subnet} mechid ${mech_id} (dashed line = weight copier)","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"sishort"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[7,7],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":67},"id":21,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  snapshot.total_stake AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\nWHERE\n  validator.subnet_id = ${subnet}\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC\n\n/*\nOpentensorFoundation\nτaosτaτs\u0026Corcel\nFoundry\nBittensorGuruPodcast\nRoundTable21\nDatura\n5Dd8gaRNdhm1YP7G1hcB1N842ecAUQmbLjCRLqH5ycaTGrWv\nTAO-Validator.com\nFirstTensor\nTensorplex\n5Hp18g9P8hLGKp9W3ZDr4bvJwba6b6bY3P2u3VdYf8yMR8FM\nOwlVentures\n5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe\nRizzo\n5F27Eqz2PhyMtGMEce898x31DokNqRVxkm5AhDDe6rDGNvoY\n5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT\n5DM7CPqPKtMSADhFKYsstsCS4Tm4Kd6PMXoh6DdqY4MtxmtX\nNeuralInτerneτ\nPRvalidator\nAry van der Touw\n*/","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Total validator stake on sn${subnet} (dashed line = weight copier)","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"fixedColor":"orange","mode":"fixed"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"red","value":null},{"color":"orange","value":1350000},{"color":"#EAB839","value":1400000},{"color":"green","value":1450000}]},"unit":"sishort"},"overrides":[]},"gridPos":{"h":11,"w":24,"x":0,"y":78},"id":29,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":false},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  SUM(snapshot.total_stake) AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\nWHERE\n  validator.subnet_id = ${subnet}\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nGROUP BY\n  block.created_at\nORDER BY\n  block.created_at","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Sum of validator stake on sn${subnet}","type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":27,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"auto","spanNulls":false,"stacking":{"group":"A","mode":"percent"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]},"unit":"sishort"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[7,7],"fill":"dash"}}]},{"matcher":{"id":"byName","options":"  tao5"},"properties":[{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":89},"id":23,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  snapshot.total_stake AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\nWHERE\n  validator.subnet_id = ${subnet}\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC\n\n/*\nOpentensorFoundation\nτaosτaτs\u0026Corcel\nFoundry\nBittensorGuruPodcast\nRoundTable21\nDatura\n5Dd8gaRNdhm1YP7G1hcB1N842ecAUQmbLjCRLqH5ycaTGrWv\nTAO-Validator.com\nFirstTensor\nTensorplex\n5Hp18g9P8hLGKp9W3ZDr4bvJwba6b6bY3P2u3VdYf8yMR8FM\nOwlVentures\n5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe\nRizzo\n5F27Eqz2PhyMtGMEce898x31DokNqRVxkm5AhDDe6rDGNvoY\n5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT\n5DM7CPqPKtMSADhFKYsstsCS4Tm4Kd6PMXoh6DdqY4MtxmtX\nNeuralInτerneτ\nPRvalidator\nAry van der Touw\n*/","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Total validator stake on sn${subnet} (dashed line = weight copier)","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"auto","cellOptions":{"type":"auto"},"filterable":false,"inspect":false,"minWidth":70},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null}]}},"overrides":[{"matcher":{"id":"byName","options":"is_immune"},"properties":[{"id":"custom.cellOptions","value":{"mode":"gradient","type":"color-background"}},{"id":"custom.width","value":110},{"id":"filterable","value":true}]},{"matcher":{"id":"byName","options":"pos"},"properties":[{"id":"custom.width","value":30}]},{"matcher":{"id":"byName","options":"uid"},"properties":[{"id":"custom.width","value":30}]},{"matcher":{"id":"byName","options":"stake"},"properties":[{"id":"custom.width","value":80},{"id":"displayName","value":"Stake[t]"}]},{"matcher":{"id":"byName","options":"is_validator"},"properties":[{"id":"custom.cellOptions","value":{"applyToRow":false,"mode":"gradient","type":"color-background"}},{"id":"custom.width","value":60},{"id":"custom.filterable","value":true},{"id":"displayName","value":"Vali"}]},{"matcher":{"id":"byName","options":"emissions"},"properties":[{"id":"custom.width","value":92},{"id":"displayName","value":"emissions[t]"},{"id":"custom.hidden","value":true}]},{"matcher":{"id":"byName","options":"hotkey"},"properties":[{"id":"custom.inspect","value":true}]},{"matcher":{"id":"byName","options":"alias"},"properties":[{"id":"custom.width","value":180}]},{"matcher":{"id":"byName","options":"neuron version"},"properties":[{"id":"custom.width","value":120}]},{"matcher":{"id":"byName","options":"stake_normalized"},"properties":[{"id":"custom.width","value":80},{"id":"decimals","value":3},{"id":"unit","value":"percentunit"},{"id":"displayName","value":"Stake[%]"}]},{"matcher":{"id":"byRegexp","options":"/(dividends)|(incentives)/"},"properties":[{"id":"custom.width","value":90},{"id":"unit","value":"percentunit"}]},{"matcher":{"id":"byName","options":"div2stake"},"properties":[{"id":"custom.cellOptions","value":{"mode":"gradient","type":"gauge","valueDisplayMode":"color"}},{"id":"fieldMinMax","value":true},{"id":"color","value":{"fixedColor":"red","mode":"continuous-GrYlRd"}}]},{"matcher":{"id":"byName","options":"coldkey"},"properties":[{"id":"custom.inspect","value":true}]}]},"gridPos":{"h":20,"w":24,"x":0,"y":100},"id":10,"options":{"cellHeight":"sm","footer":{"countRows":false,"enablePagination":false,"fields":["emissions","stake"],"reducer":["sum"],"show":true},"showHeader":true,"sortBy":[{"desc":true,"displayName":"dividends"}]},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"-- id=subnet.neurons\nWITH latest_block_limit AS (\n  SELECT\n    serial_number AS block_id\n  FROM\n    metagraph_dumper_block\n  WHERE\n    created_at \u003c '${__to:date}'\n  ORDER BY\n    serial_number DESC \n  OFFSET 5 * 120 -- last 120m\n  LIMIT 1\n),\nstake_sums AS (\n  SELECT\n    SUM(snapshot.total_stake) AS total_stake_sum\n  FROM\n    validator\n  CROSS JOIN latest_block_limit\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot \n    ON validator.id = snapshot.neuron_id \n    AND validator.last_block = snapshot.block_id\n  WHERE\n    validator.last_block \u003e latest_block_limit.block_id\n    AND validator.subnet_id = ${subnet}\n),\nneuron_data AS (\n  SELECT\n    miner.coldkey AS coldkey,\n    miner.hotkey AS hotkey,\n    miner.label AS label,\n    miner.uid AS uid,\n    snapshot.neuron_version,\n    snapshot.emissions,\n    dividends.dividend AS dividends,\n    incentives.incentive AS incentives,\n    snapshot.total_stake,\n    --snapshot.vtrust,\n    snapshot.is_immune,\n    FALSE AS is_validator\n  FROM\n    miner\n  CROSS JOIN latest_block_limit\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot \n    ON miner.id = snapshot.neuron_id\n    AND miner.last_block = snapshot.block_id\n  INNER JOIN metagraph_dumper_incentives incentives\n    ON incentives.neuron_id = snapshot.neuron_id\n    AND incentives.block_id = snapshot.block_id\n  INNER JOIN metagraph_dumper_dividends dividends\n    ON dividends.neuron_id = snapshot.neuron_id\n    AND dividends.block_id = snapshot.block_id\n    AND dividends.mech_id = incentives.mech_id\n  WHERE\n    miner.last_block \u003e latest_block_limit.block_id\n    AND miner.subnet_id = ${subnet}\n    AND incentives.mech_id = '${mech_id}'\n    -- /Fix: EXCLUDE neurons that are also validators\n    AND NOT EXISTS (\n      SELECT 1 FROM validator v\n      WHERE v.id = miner.id\n        AND v.subnet_id = miner.subnet_id\n        AND v.last_block \u003e latest_block_limit.block_id\n    )\n    -- /Fix\n  UNION ALL\n  SELECT\n    validator.coldkey AS coldkey,\n    validator.hotkey AS hotkey,\n    validator.label AS label,\n    validator.uid AS uid,\n    snapshot.neuron_version,\n    snapshot.emissions,\n    dividends.dividend AS dividends,\n    incentives.incentive AS incentives,\n    snapshot.total_stake,\n    --snapshot.vtrust,\n    snapshot.is_immune,\n    TRUE AS is_validator\n  FROM\n    validator\n  CROSS JOIN latest_block_limit\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot \n    ON validator.id = snapshot.neuron_id\n    AND validator.last_block = snapshot.block_id\n  INNER JOIN metagraph_dumper_incentives incentives\n    ON incentives.neuron_id = snapshot.neuron_id\n    AND incentives.block_id = validator.last_block\n  INNER JOIN metagraph_dumper_dividends dividends\n    ON dividends.neuron_id = snapshot.neuron_id\n    AND dividends.block_id = snapshot.block_id\n    AND dividends.mech_id = incentives.mech_id\n  WHERE\n    validator.last_block \u003e latest_block_limit.block_id\n    AND validator.subnet_id = ${subnet}\n    AND incentives.mech_id = ${mech_id}\n)\nSELECT\n  ROW_NUMBER() OVER(ORDER BY emissions DESC) AS pos,\n  emissions,\n  dividends AS dividends,\n  incentives,\n  COALESCE(label, '-') AS alias,\n  hotkey,\n  coldkey,\n  uid,\n  total_stake AS stake,\n  total_stake / stake_sums.total_stake_sum AS stake_normalized,\n  1000000000000000 * dividends / GREATEST(1, total_stake) / GREATEST(1, stake_sums.total_stake_sum) AS div2stake,\n  --vtrust,\n  is_validator,\n  is_immune,\n  neuron_version AS \"neuron version\"\nFROM neuron_data, stake_sums\nORDER BY emissions DESC;","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Neurons in sn${subnet} mechid ${mech_id} in last 120m","type":"table"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"\u003c 0.005 are filtered out","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"noValue":"0","thresholds":{"mode":"absolute","steps":[{"color":"green","value":null}]}},"overrides":[{"matcher":{"id":"byName","options":"  5CLpYny5hRM2NFNBAge6cnVC1TmWE8LYWgefuEhjTquLxA9S"},"properties":[{"id":"custom.lineStyle","value":{"dash":[10,10],"fill":"dash"}},{"id":"displayName","value":"Cabal-5CLpYny"}]},{"matcher":{"id":"byName","options":"  5DoWAqN3uRH3es9HJsZB19F1nZcKf4yQKotGimokaNPHtSCv"},"properties":[{"id":"custom.lineStyle","value":{"dash":[10,10],"fill":"dash"}},{"id":"displayName","value":"Cabal-5DoWAqN"}]},{"matcher":{"id":"byName","options":"  5ETzyfe9HUs7onqK4Qxgbur1VMFqnbUDRiAHvripgtFWMHU3"},"properties":[{"id":"custom.lineStyle","value":{"dash":[0,7],"fill":"dot"}},{"id":"displayName","value":"F-5ETzyfe"},{"id":"custom.lineWidth","value":2}]},{"matcher":{"id":"byName","options":"  5DUcwkd4gQvvLiwVfvySzRdLZSS1zeZ1Uw7bz1mV6oJcF8JF"},"properties":[{"id":"custom.lineStyle","value":{"dash":[0,7],"fill":"dot"}},{"id":"displayName","value":"F-5DUcwkd"},{"id":"custom.lineWidth","value":2}]},{"matcher":{"id":"byName","options":"  5HSwsfL3J3zdgYF3a3b15QSSFsgEgLTg1wg84rbweSUFjf5c"},"properties":[{"id":"displayName","value":"X-5HSwsfL"},{"id":"custom.lineWidth","value":2},{"id":"custom.lineStyle","value":{"dash":[0,7],"fill":"dot"}}]},{"matcher":{"id":"byName","options":"  5HWaBqnsZfJPWjHvTqdpPTwdWV9tzW56F1a7SqJZ9fPv2WpT"},"properties":[{"id":"displayName","value":"X-5HWaBqn"},{"id":"custom.lineWidth","value":2},{"id":"custom.lineStyle","value":{"dash":[0,7],"fill":"dot"}}]},{"matcher":{"id":"byName","options":"  5FRQnF8n5NBKnUTeu2ecGcV6hRQSr8HTiwTTJdGSTjhHeCFD"},"properties":[{"id":"displayName","value":"P-5FRQnF8"},{"id":"custom.lineWidth","value":2},{"id":"custom.lineStyle","value":{"dash":[0,7],"fill":"dot"}}]},{"matcher":{"id":"byName","options":"  5GW9i9C8Vonkmfo9Aw7x2m37sHjymrocfQyXPaEqkmTAnW2v"},"properties":[{"id":"displayName","value":"h-5GW9i9C"},{"id":"custom.lineWidth","value":2},{"id":"custom.lineStyle","value":{"dash":[0,7],"fill":"dot"}}]},{"matcher":{"id":"byName","options":"  5FLLFh2wD4GWgHSmH5RqSvHUtemmN5iqcETiw4fQf1SqsvGz"},"properties":[{"id":"displayName","value":"dancer-A-5FLLFh2"}]},{"matcher":{"id":"byName","options":"  5GsoKoDzFYo4cR4DsJKXh67m7HrLADb3F2qSAQoZxHacrhtx"},"properties":[{"id":"displayName","value":"dancer-A-5GsoKoD"}]},{"matcher":{"id":"byName","options":"  5FbsjRTd8LfsgVhTRUWm3xwWEaXhk4XN5Q1XhFGWWhBAe8tW"},"properties":[{"id":"displayName","value":"dancer-A-5FbsjRT"}]},{"matcher":{"id":"byName","options":"  5DvzPYgJUvzMnvNmnBNYsxrrXLhWHzMjGdXWswu4Myejjcrj"},"properties":[{"id":"displayName","value":"dancer-A-5DvzPYg"}]},{"matcher":{"id":"byName","options":"  5FpxuvNFRyk4xJkqabx2swy4g1z1ii2Fq1u2FbJbTWtgnKJy"},"properties":[{"id":"displayName","value":"dancer-A-5FpxuvN"}]},{"matcher":{"id":"byName","options":"  5DRjJoaFZK4iEvaa2cosSUbD4RdeXEdQXeJqJqtcFUdAsyT1"},"properties":[{"id":"displayName","value":"dancer-A-5DRjJoa"}]},{"matcher":{"id":"byName","options":"  5G9swfhUrBmJYYdtG9oP9eRZ3tafuZbehvSX65Kdzk7xNc5x"},"properties":[{"id":"displayName","value":"adj-q-5G9swfh"}]},{"matcher":{"id":"byName","options":"  5CogaRHH5pKAX2swfnNbGukVHGSSqzCTJuSXhj9Lp7ufnqCd"},"properties":[{"id":"displayName","value":"adj-q-5CogaRH"}]},{"matcher":{"id":"byName","options":"  5HjbyryyMpULN69D1H9oaxrbj5cmFxWMDNob5aamvgQF3ugU"},"properties":[{"id":"displayName","value":"adj-q-5Hjbyry"}]},{"matcher":{"id":"byName","options":"  5HjivRKGf2y55eQNJXZXRmxKnQ4LsiswYoes9VuPdQDBTuZX"},"properties":[{"id":"displayName","value":"adj-q-5HjivRK"}]},{"matcher":{"id":"byName","options":"  5FHfABtAo5nfhbZLaUnC6obHBsAL7kANSTw3zuhFaHxYF2X1"},"properties":[{"id":"displayName","value":"adj-q-5FHfABt"}]},{"matcher":{"id":"byName","options":"  5F6fNZEUUt8pUvHhzzw8KK1qyc8Deh5Et9waYouZaNSiYrxL"},"properties":[{"id":"displayName","value":"r-5F6fNZE"}]},{"matcher":{"id":"byName","options":"  5DiNDMFkoxpzSnf1UkZjpBryxjM7YMcwzvB7PBSG1CNv4wWC"},"properties":[{"id":"displayName","value":"adj-q-5DiNDMF"}]},{"matcher":{"id":"byName","options":"  5HnN5D1dsXTdw98W6cfyKMSyTWyvbtbcWr1hypKor1Fh9MAy"},"properties":[{"id":"displayName","value":"adj-q-5HnN5D1"}]},{"matcher":{"id":"byName","options":"  5DQ19RXzk98oyp3o7cTMiXJKMpJxjEPrvRJrTgFAZNxKvsoj"},"properties":[{"id":"displayName","value":"unstable1-5DQ19RX"}]},{"matcher":{"id":"byName","options":"  5FYkhGZaMqfcc9kC4WaUHnu1DWBDSduZSeeTSZcw4AUp1LoY"},"properties":[{"id":"displayName","value":"unstable2-5FYkhGZ"}]},{"matcher":{"id":"byName","options":"  5FNUPmeYSTm8x68bECbzhCVTNjqp38AYSZjqbXGGX362jKGb"},"properties":[{"id":"displayName","value":"nostre-5FNUPme"}]},{"matcher":{"id":"byName","options":"  5DZytov3uHhpgBUX9aZdiMdn2TK4tsdMQVMSwPMmRJbz3pVo"},"properties":[{"id":"displayName","value":"nostre-5DZytov"}]},{"matcher":{"id":"byName","options":"  5EM5Y6b81eTtpD8N6fkdymdYAA9RH9mEBBLf25rfSQGhT3N6"},"properties":[{"id":"displayName","value":"nostre-5EM5Y6b"}]},{"matcher":{"id":"byName","options":"  5F2Ev7dh7ZiSJFapMHph4pps4McYspyxRunvopud6y3hQgGU"},"properties":[{"id":"displayName","value":"nostre-5F2Ev7d"}]},{"matcher":{"id":"byName","options":"  5FhLzgDH2ofz72ciBVR5ZNqqqF5FJL2PvSaPejUTx2D4PpoF"},"properties":[{"id":"displayName","value":"idle-5FhLzgD"}]},{"matcher":{"id":"byName","options":"  5FhLzgDH2ofz72ciBVR5ZNqqqF5FJL2PvSaPejUTx2D4PpoF"},"properties":[{"id":"displayName","value":"idle-5FhLzgD"}]},{"matcher":{"id":"byName","options":"  5CJJ7nPwHmZAcDfMJeQyWBckZ7pApaGY6StsRhGxP2FwHNHa"},"properties":[{"id":"displayName","value":"idle-5CJJ7nP"}]},{"matcher":{"id":"byName","options":"  5HHF68PgzMtLzr7WFko6TJQRFDyxnD5nX7tGeyXj997vpT9S"},"properties":[{"id":"displayName","value":"BacTensor-5HHF68P"}]},{"matcher":{"id":"byName","options":"  5G9swfhUrBmJYYdtG9oP9eRZ3tafuZbehvSX65Kdzk7xNc5x"},"properties":[{"id":"displayName","value":"adj-q-5G9swfh"}]},{"matcher":{"id":"byName","options":"  5CogaRHH5pKAX2swfnNbGukVHGSSqzCTJuSXhj9Lp7ufnqCd"},"properties":[{"id":"displayName","value":"adj-q-5CogaRH"}]},{"matcher":{"id":"byName","options":"  5HjbyryyMpULN69D1H9oaxrbj5cmFxWMDNob5aamvgQF3ugU"},"properties":[{"id":"displayName","value":"adj-q-5Hjbyry"}]},{"matcher":{"id":"byName","options":"  5HjivRKGf2y55eQNJXZXRmxKnQ4LsiswYoes9VuPdQDBTuZX"},"properties":[{"id":"displayName","value":"adj-q-5HjivRK"}]},{"matcher":{"id":"byName","options":"  5FHfABtAo5nfhbZLaUnC6obHBsAL7kANSTw3zuhFaHxYF2X1"},"properties":[{"id":"displayName","value":"adj-q-5FHfABt"}]},{"matcher":{"id":"byName","options":"  5F6fNZEUUt8pUvHhzzw8KK1qyc8Deh5Et9waYouZaNSiYrxL"},"properties":[{"id":"displayName","value":"adj-q-5F6fNZE"}]},{"matcher":{"id":"byName","options":"  5DiNDMFkoxpzSnf1UkZjpBryxjM7YMcwzvB7PBSG1CNv4wWC"},"properties":[{"id":"displayName","value":"adj-q-5DiNDMF"}]},{"matcher":{"id":"byName","options":"  5HnN5D1dsXTdw98W6cfyKMSyTWyvbtbcWr1hypKor1Fh9MAy"},"properties":[{"id":"displayName","value":"adj-q-5HnN5D1"}]},{"matcher":{"id":"byName","options":"  5Hfy8MFZSz7zW3a94CRLSiMYEuVDGm5CWSaJ6sRnr8q2Y9u5"},"properties":[{"id":"displayName","value":"r-5Hfy8MF"}]},{"matcher":{"id":"byName","options":"  5FQnYyVJunX4ynxAPPhx7LodyqQMUE64SxAUwk7cxb6MSv4j"},"properties":[{"id":"displayName","value":"10p-5FQnYyV"}]},{"matcher":{"id":"byName","options":"  5CS96ckqKnd2snQ4rQKAvUpMh2pikRmCHb4H7TDzEt2AM9ZB"},"properties":[{"id":"displayName","value":"4090-20p-5CS96ck"}]},{"matcher":{"id":"byName","options":"  5FmxNyrFYHkhTP1AATwT4EQk8P9etYnV2j1V9K8J4dPai2Lg"},"properties":[{"id":"displayName","value":"preloader-5FmxNyr"}]},{"matcher":{"id":"byName","options":"  5CUWX8siLybEXUbkbaU9fYTF4JpVPY4QpU5jm34r1o34n5UM"},"properties":[{"id":"displayName","value":"unstable3-5CUWX8s"}]},{"matcher":{"id":"byName","options":"  5GKHAxW8NJDQm8r3uLNXc3ez739tdDemgYRXTdVEi2vFKHQT"},"properties":[{"id":"displayName","value":"dancer-B-5GKHAxW"}]},{"matcher":{"id":"byName","options":"  5GuyhY3NTac25YazftsY6fdyJvTNbg9JCnPxCvjEv2ADAaEk"},"properties":[{"id":"displayName","value":"dancer-B-5GuyhY3"}]},{"matcher":{"id":"byName","options":"  5DMGdwTvWLr72Qjkjg6LjGkmjWy2GmPAoSWEVsA35vu1N9jz"},"properties":[{"id":"displayName","value":"dancer-B-5DMGdwT"}]},{"matcher":{"id":"byName","options":"  5C5fbdHSZLNKzZPGbVBAwPKwinAmEFX1rj8rbr4uRRXxyroM"},"properties":[{"id":"displayName","value":"dancer-B-5C5fbdH"}]},{"matcher":{"id":"byName","options":"  5GHo7xh6AUCWP5f5zawvWqgjbzdnTxEHFi9vH4R8BdgYETwV"},"properties":[{"id":"displayName","value":"dancer-B-5GHo7xh"}]},{"matcher":{"id":"byName","options":"  5FTwMecpXThbsZ72vh7Zy1rCT5cJWwkc27Ws7e6X1x2ifgfs"},"properties":[{"id":"displayName","value":"dancer-B-5FTwMec"}]},{"matcher":{"id":"byName","options":"  5EFJv7fyaEwuHtnevPEz8uXXxmkqBskYddeSasTPSRvhRfxa"},"properties":[{"id":"displayName","value":"dancer-B-5EFJv7f"}]},{"matcher":{"id":"byName","options":"  5CwTbZfFfqXDVY2pqS9MuRFuFdyqhKkivNbKvwXVAPiLFUuY"},"properties":[{"id":"displayName","value":"dancer-A-5CwTbZf"}]},{"matcher":{"id":"byName","options":"  5DqgPYGrMnYsNMvSrWSAdgzvzkEEpqvtoxTA9VP5w9rXMkaL"},"properties":[{"id":"displayName","value":"dancer-A-5DqgPYG"}]}]},"gridPos":{"h":15,"w":24,"x":0,"y":120},"id":20,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"single","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"SELECT\n    block.created_at as timestamp,\n    coldkey.coldkey AS label,\n    -- Add other columns you want to select\n    SUM(incentives.incentive) AS \" \"\nFROM\n    metagraph_dumper_metadatasnapshot snapshot\nINNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\nJOIN miner on miner.id = snapshot.neuron_id\nJOIN metagraph_dumper_hotkey hotkey on miner.hotkey = hotkey.hotkey\nJOIN metagraph_dumper_coldkey coldkey on coldkey.id = hotkey.coldkey_id\nINNER JOIN metagraph_dumper_incentives incentives\n  ON incentives.neuron_id = snapshot.neuron_id\n  AND incentives.block_id = snapshot.block_id\nWHERE\n  miner.subnet_id = ${subnet}\n  AND incentives.mech_id = '${mech_id}'\nAND snapshot.block_id BETWEEN (\n  SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n) AND (\n  SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n)\nGROUP BY\n    coldkey.id,\n    block.created_at\n-- Add any other grouping columns if needed\nHAVING SUM(incentives.incentive) \u003e 0.005\nORDER BY\n    timestamp;\n    ","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Coldkey total incentives in sn${subnet} mechid ${mech_id}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"The incentive curve of each new miner which had registered after __from_time, this is very useful on 30 day view. It can show that new miners do not survive immunity on a bad subnet.","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"auto","spanNulls":1800000,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[{"matcher":{"id":"byFrameRefID","options":"dereg zone"},"properties":[{"id":"custom.fillOpacity","value":20},{"id":"color","value":{"fixedColor":"#ff9600","mode":"fixed"}},{"id":"displayName","value":"deregistration zone[4]"},{"id":"custom.showPoints","value":"never"}]},{"matcher":{"id":"byFrameRefID","options":"dereg zone 8"},"properties":[{"id":"custom.fillOpacity","value":10},{"id":"color","value":{"fixedColor":"#fade2a","mode":"fixed"}},{"id":"displayName","value":"danger zone[8]"},{"id":"custom.showPoints","value":"never"},{"id":"custom.fillBelowTo","value":"deregistration zone"}]}]},"gridPos":{"h":9,"w":24,"x":0,"y":135},"id":16,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"-- id=miner.incentives\r\nSELECT\r\n  incentives.incentive AS \" \",\r\n  miner.hotkey,\r\n  block.dump_timestamp\r\nFROM\r\n  miner\r\n  CROSS JOIN metagraph_dumper_metadatasnapshot snapshot \r\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\n  INNER JOIN metagraph_dumper_incentives incentives\r\n    ON incentives.neuron_id = snapshot.neuron_id\r\n    AND incentives.block_id = snapshot.block_id\r\nWHERE\r\n  snapshot.neuron_id = miner.id\r\n  AND miner.subnet_id = ${subnet}\r\n  AND incentives.mech_id = '${mech_id}'\r\n  AND miner.block_at_registration \u003e (SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1)\r\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n    AND snapshot.block_id BETWEEN (\r\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.dump_timestamp \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n    ) AND (\r\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.dump_timestamp \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n    )\r\n--GROUP BY\r\n--  miner.hotkey","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"SELECT\r\n  inn.incentives AS \"deregistration zone\",\r\n  inn.created_at\r\nFROM\r\n  (\r\n  SELECT\r\n    MIN(snapshot.incentives) AS incentives,\r\n    ROW_NUMBER() OVER (\r\n      PARTITION BY block.created_at\r\n      ORDER BY snapshot.incentives ASC\r\n    ) as rn,\r\n    block.created_at\r\n  FROM\r\n    miner\r\n    INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n    INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\n  WHERE\r\n    miner.subnet_id = ${subnet}\r\n    AND NOT snapshot.is_immune\r\n    --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n      AND snapshot.block_id BETWEEN (\r\n          SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n      ) AND (\r\n          SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n      )\r\n  GROUP BY\r\n    block.created_at,\r\n    snapshot.incentives\r\n  ) AS inn\r\nWHERE\r\n  inn.rn = 4","refId":"dereg zone","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"SELECT\r\n  inn.incentives AS \"deregistration zone 8\",\r\n  inn.created_at\r\nFROM\r\n  (\r\n  SELECT\r\n    MIN(snapshot.incentives) AS incentives,\r\n    ROW_NUMBER() OVER (\r\n      PARTITION BY block.created_at\r\n      ORDER BY snapshot.incentives ASC\r\n    ) as rn,\r\n    block.created_at\r\n  FROM\r\n    miner\r\n    INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n    INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\n  WHERE\r\n    miner.subnet_id = ${subnet}\r\n    AND NOT snapshot.is_immune\r\n    --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n      AND snapshot.block_id BETWEEN (\r\n          SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n      ) AND (\r\n          SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n      )\r\n  GROUP BY\r\n    block.created_at,\r\n    snapshot.incentives\r\n  ) AS inn\r\nWHERE\r\n  inn.rn = 8","refId":"dereg zone 8","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Incentives of new miners in sn${subnet} mechid ${mech_id}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"auto","spanNulls":1800000,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"min":0,"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[{"matcher":{"id":"byFrameRefID","options":"A"},"properties":[{"id":"custom.fillOpacity","value":10},{"id":"color","value":{"fixedColor":"yellow","mode":"fixed"}},{"id":"displayName","value":"immune uids"},{"id":"custom.showPoints","value":"never"}]}]},"gridPos":{"h":9,"w":24,"x":0,"y":144},"id":34,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"SELECT\r\n  COUNT(1),\r\n  block.created_at\r\nFROM\r\n  miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\nWHERE\r\n  miner.subnet_id = ${subnet}\r\n  AND snapshot.is_immune\r\n    AND snapshot.block_id BETWEEN (\r\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n    ) AND (\r\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n    )\r\nGROUP BY\r\n  block.created_at,\r\n  snapshot.is_immune","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Immune uids in sn${subnet}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"This is one of the ways to shows whether the subnet is uid-pressured or not. In a pressured subnet this is going to be close to max uids.","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":2400000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"auto","spanNulls":2400000,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"area"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"yellow","value":240},{"color":"red","value":254}]}},"overrides":[]},"gridPos":{"h":9,"w":24,"x":0,"y":153},"id":24,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":false},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=uids-in-use\r\nSELECT\r\n  SUM((snapshot.emissions \u003e 0)::int) AS \" \",\r\n  block.created_at\r\nFROM\r\n  metagraph_dumper_neuron AS neuron CROSS JOIN metagraph_dumper_metadatasnapshot snapshot \r\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\nWHERE\r\n  snapshot.neuron_id = neuron.id AND\r\n  neuron.subnet_id = ${subnet}\r\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n    AND snapshot.block_id BETWEEN (\r\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n    ) AND (\r\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n    )\r\nGROUP BY\r\n  block.created_at","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"UIDs in use (uid pressure) in sn${subnet}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"custom":{"hideFrom":{"legend":false,"tooltip":false,"viz":false},"scaleDistribution":{"type":"linear"}}},"overrides":[]},"gridPos":{"h":21,"w":24,"x":0,"y":162},"id":13,"options":{"calculate":false,"cellGap":0,"color":{"exponent":0.5,"fill":"dark-orange","mode":"scheme","reverse":false,"scale":"exponential","scheme":"Spectral","steps":32},"exemplars":{"color":"rgba(255,0,255,0.7)"},"filterValues":{"le":1e-9},"legend":{"show":true},"rowsFrame":{"layout":"auto"},"tooltip":{"mode":"single","showColorScale":false,"yHistogram":true},"yAxis":{"axisPlacement":"hidden","reverse":false}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"SELECT created_at,\r\n       MAX(case when uid = 0 then dividends else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then dividends else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then dividends else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then dividends else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then dividends else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then dividends else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then dividends else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then dividends else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then dividends else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then dividends else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then dividends else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then dividends else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then dividends else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then dividends else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then dividends else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then dividends else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then dividends else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then dividends else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then dividends else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then dividends else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then dividends else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then dividends else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then dividends else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then dividends else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then dividends else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then dividends else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then dividends else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then dividends else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then dividends else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then dividends else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then dividends else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then dividends else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then dividends else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then dividends else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then dividends else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then dividends else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then dividends else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then dividends else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then dividends else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then dividends else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then dividends else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then dividends else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then dividends else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then dividends else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then dividends else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then dividends else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then dividends else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then dividends else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then dividends else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then dividends else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then dividends else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then dividends else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then dividends else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then dividends else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then dividends else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then dividends else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then dividends else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then dividends else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then dividends else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then dividends else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then dividends else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then dividends else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then dividends else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then dividends else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then dividends else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then dividends else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then dividends else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then dividends else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then dividends else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then dividends else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then dividends else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then dividends else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then dividends else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then dividends else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then dividends else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then dividends else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then dividends else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then dividends else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then dividends else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then dividends else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then dividends else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then dividends else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then dividends else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then dividends else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then dividends else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then dividends else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then dividends else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then dividends else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then dividends else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then dividends else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then dividends else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then dividends else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then dividends else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then dividends else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then dividends else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then dividends else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then dividends else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then dividends else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then dividends else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then dividends else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then dividends else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then dividends else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then dividends else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then dividends else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then dividends else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then dividends else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then dividends else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then dividends else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then dividends else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then dividends else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then dividends else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then dividends else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then dividends else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then dividends else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then dividends else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then dividends else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then dividends else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then dividends else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then dividends else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then dividends else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then dividends else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then dividends else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then dividends else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then dividends else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then dividends else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then dividends else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then dividends else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then dividends else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then dividends else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then dividends else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then dividends else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then dividends else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then dividends else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then dividends else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then dividends else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then dividends else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then dividends else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then dividends else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then dividends else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then dividends else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then dividends else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then dividends else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then dividends else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then dividends else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then dividends else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then dividends else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then dividends else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then dividends else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then dividends else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then dividends else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then dividends else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then dividends else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then dividends else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then dividends else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then dividends else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then dividends else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then dividends else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then dividends else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then dividends else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then dividends else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then dividends else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then dividends else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then dividends else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then dividends else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then dividends else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then dividends else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then dividends else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then dividends else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then dividends else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then dividends else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then dividends else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then dividends else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then dividends else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then dividends else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then dividends else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then dividends else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then dividends else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then dividends else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then dividends else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then dividends else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then dividends else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then dividends else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then dividends else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then dividends else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then dividends else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then dividends else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then dividends else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then dividends else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then dividends else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then dividends else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then dividends else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then dividends else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then dividends else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then dividends else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then dividends else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then dividends else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then dividends else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then dividends else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then dividends else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then dividends else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then dividends else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then dividends else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then dividends else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then dividends else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then dividends else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then dividends else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then dividends else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then dividends else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then dividends else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then dividends else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then dividends else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then dividends else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then dividends else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then dividends else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then dividends else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then dividends else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then dividends else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then dividends else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then dividends else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then dividends else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then dividends else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then dividends else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then dividends else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then dividends else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then dividends else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then dividends else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then dividends else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then dividends else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then dividends else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then dividends else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then dividends else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then dividends else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then dividends else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then dividends else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then dividends else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then dividends else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then dividends else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then dividends else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then dividends else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then dividends else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then dividends else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then dividends else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then dividends else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then dividends else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then dividends else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then dividends else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then dividends else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then dividends else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then dividends else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then dividends else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then dividends else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then dividends else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then dividends else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then dividends else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then dividends else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then dividends else NULL end) as uid_255\r\nFROM (SELECT\r\n  block.created_at,\r\n  miner.uid,\r\n  dividends.dividend AS dividends\r\n  --miner.hotkey\r\nFROM\r\n  validator AS miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\n  INNER JOIN metagraph_dumper_dividends dividends\r\n    ON dividends.neuron_id = snapshot.neuron_id\r\n    AND dividends.block_id = snapshot.block_id\r\nWHERE\r\n  miner.subnet_id = ${subnet}\r\n  AND dividends.mech_id = '${mech_id}'\r\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n    AND snapshot.block_id BETWEEN (\r\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n    ) AND (\r\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n    )\r\nGROUP BY\r\n  --miner.hotkey,\r\n  miner.uid,\r\n  block.created_at,\r\n  dividends.dividend\r\n) t group by created_at","refId":"main","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Dividend UID heatmap in sn${subnet} mech_id ${mech_id}","type":"heatmap"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"custom":{"hideFrom":{"legend":false,"tooltip":false,"viz":false},"scaleDistribution":{"type":"linear"}}},"overrides":[]},"gridPos":{"h":21,"w":24,"x":0,"y":183},"id":14,"options":{"calculate":false,"cellGap":0,"color":{"exponent":0.5,"fill":"dark-orange","mode":"scheme","reverse":false,"scale":"exponential","scheme":"Spectral","steps":64},"exemplars":{"color":"rgba(255,0,255,0.7)"},"filterValues":{"le":0.000001},"legend":{"show":true},"rowsFrame":{"layout":"auto"},"tooltip":{"mode":"single","showColorScale":false,"yHistogram":true},"yAxis":{"axisPlacement":"hidden","reverse":false}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"SELECT created_at,\r\n       MAX(case when uid = 0 then incentives else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then incentives else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then incentives else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then incentives else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then incentives else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then incentives else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then incentives else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then incentives else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then incentives else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then incentives else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then incentives else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then incentives else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then incentives else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then incentives else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then incentives else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then incentives else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then incentives else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then incentives else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then incentives else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then incentives else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then incentives else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then incentives else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then incentives else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then incentives else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then incentives else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then incentives else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then incentives else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then incentives else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then incentives else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then incentives else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then incentives else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then incentives else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then incentives else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then incentives else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then incentives else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then incentives else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then incentives else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then incentives else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then incentives else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then incentives else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then incentives else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then incentives else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then incentives else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then incentives else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then incentives else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then incentives else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then incentives else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then incentives else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then incentives else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then incentives else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then incentives else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then incentives else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then incentives else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then incentives else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then incentives else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then incentives else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then incentives else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then incentives else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then incentives else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then incentives else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then incentives else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then incentives else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then incentives else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then incentives else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then incentives else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then incentives else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then incentives else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then incentives else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then incentives else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then incentives else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then incentives else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then incentives else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then incentives else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then incentives else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then incentives else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then incentives else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then incentives else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then incentives else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then incentives else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then incentives else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then incentives else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then incentives else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then incentives else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then incentives else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then incentives else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then incentives else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then incentives else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then incentives else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then incentives else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then incentives else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then incentives else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then incentives else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then incentives else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then incentives else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then incentives else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then incentives else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then incentives else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then incentives else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then incentives else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then incentives else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then incentives else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then incentives else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then incentives else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then incentives else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then incentives else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then incentives else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then incentives else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then incentives else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then incentives else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then incentives else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then incentives else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then incentives else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then incentives else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then incentives else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then incentives else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then incentives else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then incentives else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then incentives else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then incentives else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then incentives else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then incentives else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then incentives else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then incentives else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then incentives else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then incentives else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then incentives else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then incentives else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then incentives else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then incentives else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then incentives else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then incentives else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then incentives else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then incentives else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then incentives else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then incentives else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then incentives else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then incentives else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then incentives else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then incentives else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then incentives else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then incentives else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then incentives else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then incentives else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then incentives else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then incentives else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then incentives else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then incentives else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then incentives else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then incentives else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then incentives else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then incentives else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then incentives else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then incentives else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then incentives else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then incentives else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then incentives else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then incentives else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then incentives else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then incentives else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then incentives else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then incentives else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then incentives else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then incentives else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then incentives else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then incentives else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then incentives else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then incentives else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then incentives else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then incentives else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then incentives else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then incentives else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then incentives else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then incentives else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then incentives else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then incentives else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then incentives else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then incentives else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then incentives else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then incentives else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then incentives else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then incentives else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then incentives else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then incentives else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then incentives else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then incentives else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then incentives else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then incentives else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then incentives else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then incentives else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then incentives else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then incentives else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then incentives else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then incentives else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then incentives else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then incentives else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then incentives else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then incentives else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then incentives else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then incentives else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then incentives else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then incentives else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then incentives else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then incentives else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then incentives else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then incentives else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then incentives else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then incentives else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then incentives else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then incentives else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then incentives else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then incentives else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then incentives else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then incentives else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then incentives else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then incentives else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then incentives else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then incentives else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then incentives else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then incentives else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then incentives else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then incentives else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then incentives else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then incentives else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then incentives else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then incentives else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then incentives else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then incentives else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then incentives else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then incentives else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then incentives else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then incentives else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then incentives else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then incentives else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then incentives else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then incentives else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then incentives else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then incentives else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then incentives else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then incentives else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then incentives else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then incentives else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then incentives else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then incentives else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then incentives else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then incentives else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then incentives else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then incentives else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then incentives else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then incentives else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then incentives else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then incentives else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then incentives else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then incentives else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then incentives else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then incentives else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then incentives else NULL end) as uid_255\r\nFROM (SELECT\r\n  block.created_at,\r\n  --miner.uid - ${uid_offset} as uid,\r\n  miner.uid as uid,\r\n  incentives.incentive AS incentives\r\n  --miner.hotkey\r\nFROM\r\n  miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\n  INNER JOIN metagraph_dumper_incentives incentives\r\n    ON incentives.neuron_id = snapshot.neuron_id\r\n    AND incentives.block_id = snapshot.block_id\r\nWHERE\r\n  miner.subnet_id = ${subnet}\r\n  AND incentives.mech_id = ${mech_id}\r\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n    AND snapshot.block_id BETWEEN (\r\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n    ) AND (\r\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n    )\r\nGROUP BY\r\n  --miner.hotkey,\r\n  miner.uid,\r\n  block.created_at,\r\n  incentives.incentive\r\n) t GROUP BY created_at","refId":"main","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Incentive UID heatmap in sn${subnet} mechid ${mech_id}","type":"heatmap"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"This simulates how incentive would look like if it wasn't clipped to consensus","fieldConfig":{"defaults":{"custom":{"hideFrom":{"legend":false,"tooltip":false,"viz":false},"scaleDistribution":{"type":"linear"}}},"overrides":[]},"gridPos":{"h":21,"w":24,"x":0,"y":204},"id":30,"options":{"calculate":false,"cellGap":0,"color":{"exponent":0.5,"fill":"dark-orange","mode":"scheme","reverse":false,"scale":"exponential","scheme":"Spectral","steps":64},"exemplars":{"color":"rgba(255,0,255,0.7)"},"filterValues":{"le":0.000001},"legend":{"show":true},"rowsFrame":{"layout":"auto"},"tooltip":{"mode":"single","showColorScale":false,"yHistogram":true},"yAxis":{"axisPlacement":"hidden","min":0,"reverse":false}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"SELECT\r\n       block.created_at,\r\n       MAX(case when uid = 0 then weight else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then weight else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then weight else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then weight else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then weight else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then weight else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then weight else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then weight else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then weight else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then weight else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then weight else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then weight else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then weight else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then weight else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then weight else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then weight else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then weight else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then weight else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then weight else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then weight else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then weight else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then weight else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then weight else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then weight else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then weight else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then weight else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then weight else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then weight else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then weight else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then weight else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then weight else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then weight else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then weight else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then weight else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then weight else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then weight else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then weight else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then weight else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then weight else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then weight else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then weight else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then weight else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then weight else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then weight else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then weight else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then weight else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then weight else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then weight else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then weight else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then weight else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then weight else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then weight else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then weight else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then weight else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then weight else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then weight else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then weight else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then weight else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then weight else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then weight else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then weight else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then weight else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then weight else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then weight else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then weight else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then weight else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then weight else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then weight else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then weight else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then weight else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then weight else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then weight else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then weight else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then weight else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then weight else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then weight else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then weight else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then weight else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then weight else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then weight else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then weight else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then weight else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then weight else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then weight else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then weight else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then weight else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then weight else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then weight else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then weight else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then weight else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then weight else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then weight else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then weight else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then weight else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then weight else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then weight else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then weight else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then weight else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then weight else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then weight else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then weight else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then weight else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then weight else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then weight else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then weight else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then weight else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then weight else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then weight else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then weight else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then weight else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then weight else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then weight else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then weight else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then weight else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then weight else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then weight else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then weight else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then weight else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then weight else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then weight else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then weight else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then weight else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then weight else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then weight else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then weight else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then weight else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then weight else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then weight else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then weight else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then weight else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then weight else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then weight else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then weight else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then weight else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then weight else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then weight else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then weight else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then weight else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then weight else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then weight else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then weight else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then weight else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then weight else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then weight else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then weight else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then weight else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then weight else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then weight else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then weight else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then weight else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then weight else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then weight else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then weight else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then weight else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then weight else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then weight else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then weight else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then weight else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then weight else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then weight else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then weight else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then weight else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then weight else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then weight else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then weight else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then weight else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then weight else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then weight else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then weight else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then weight else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then weight else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then weight else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then weight else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then weight else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then weight else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then weight else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then weight else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then weight else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then weight else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then weight else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then weight else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then weight else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then weight else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then weight else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then weight else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then weight else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then weight else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then weight else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then weight else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then weight else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then weight else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then weight else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then weight else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then weight else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then weight else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then weight else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then weight else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then weight else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then weight else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then weight else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then weight else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then weight else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then weight else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then weight else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then weight else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then weight else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then weight else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then weight else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then weight else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then weight else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then weight else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then weight else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then weight else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then weight else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then weight else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then weight else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then weight else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then weight else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then weight else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then weight else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then weight else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then weight else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then weight else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then weight else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then weight else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then weight else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then weight else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then weight else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then weight else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then weight else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then weight else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then weight else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then weight else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then weight else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then weight else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then weight else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then weight else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then weight else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then weight else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then weight else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then weight else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then weight else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then weight else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then weight else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then weight else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then weight else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then weight else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then weight else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then weight else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then weight else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then weight else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then weight else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then weight else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then weight else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then weight else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then weight else NULL end) as uid_255\r\nFROM\r\n(\r\nSELECT\r\n  snapshot.block_id,\r\n  miner.uid,\r\n  SUM(weight.normalized_weight * snapshot.normalized_stake) AS weight\r\nFROM\r\n  validator CROSS JOIN miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id\r\n  INNER JOIN validator_weights_history weight ON (\r\n    weight.source_neuron_id = validator.id\r\n    AND weight.target_neuron_id = miner.id\r\n    AND weight.block_id = snapshot.block_id\r\n  )\r\nWHERE\r\n  validator.subnet_id = ${subnet}\r\n  -- AND validator.hotkey = '5FFApaS75bv5pJHfAp2FVLBj9ZaXuFDjEypsaBNc1wCfe52v'\r\n  AND miner.subnet_id = ${subnet}\r\n  AND weight.mech_id = ${mech_id}\r\n  AND weight.block_id BETWEEN (\r\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n  ) AND (\r\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n  )\r\nGROUP BY\r\n  miner.uid,\r\n  snapshot.block_id\r\n) AS t\r\nINNER JOIN metagraph_dumper_block block ON block.serial_number = t.block_id\r\nGROUP BY block.created_at\r\n","refId":"using view","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\n       block.created_at,\r\n       MAX(case when uid = 0 then weight else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then weight else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then weight else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then weight else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then weight else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then weight else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then weight else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then weight else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then weight else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then weight else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then weight else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then weight else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then weight else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then weight else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then weight else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then weight else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then weight else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then weight else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then weight else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then weight else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then weight else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then weight else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then weight else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then weight else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then weight else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then weight else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then weight else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then weight else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then weight else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then weight else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then weight else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then weight else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then weight else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then weight else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then weight else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then weight else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then weight else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then weight else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then weight else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then weight else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then weight else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then weight else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then weight else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then weight else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then weight else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then weight else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then weight else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then weight else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then weight else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then weight else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then weight else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then weight else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then weight else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then weight else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then weight else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then weight else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then weight else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then weight else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then weight else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then weight else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then weight else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then weight else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then weight else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then weight else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then weight else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then weight else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then weight else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then weight else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then weight else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then weight else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then weight else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then weight else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then weight else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then weight else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then weight else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then weight else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then weight else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then weight else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then weight else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then weight else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then weight else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then weight else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then weight else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then weight else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then weight else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then weight else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then weight else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then weight else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then weight else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then weight else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then weight else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then weight else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then weight else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then weight else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then weight else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then weight else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then weight else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then weight else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then weight else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then weight else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then weight else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then weight else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then weight else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then weight else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then weight else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then weight else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then weight else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then weight else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then weight else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then weight else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then weight else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then weight else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then weight else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then weight else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then weight else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then weight else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then weight else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then weight else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then weight else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then weight else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then weight else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then weight else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then weight else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then weight else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then weight else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then weight else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then weight else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then weight else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then weight else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then weight else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then weight else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then weight else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then weight else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then weight else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then weight else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then weight else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then weight else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then weight else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then weight else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then weight else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then weight else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then weight else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then weight else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then weight else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then weight else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then weight else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then weight else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then weight else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then weight else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then weight else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then weight else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then weight else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then weight else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then weight else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then weight else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then weight else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then weight else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then weight else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then weight else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then weight else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then weight else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then weight else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then weight else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then weight else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then weight else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then weight else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then weight else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then weight else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then weight else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then weight else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then weight else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then weight else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then weight else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then weight else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then weight else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then weight else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then weight else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then weight else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then weight else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then weight else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then weight else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then weight else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then weight else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then weight else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then weight else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then weight else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then weight else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then weight else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then weight else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then weight else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then weight else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then weight else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then weight else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then weight else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then weight else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then weight else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then weight else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then weight else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then weight else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then weight else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then weight else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then weight else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then weight else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then weight else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then weight else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then weight else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then weight else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then weight else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then weight else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then weight else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then weight else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then weight else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then weight else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then weight else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then weight else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then weight else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then weight else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then weight else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then weight else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then weight else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then weight else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then weight else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then weight else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then weight else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then weight else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then weight else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then weight else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then weight else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then weight else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then weight else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then weight else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then weight else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then weight else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then weight else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then weight else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then weight else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then weight else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then weight else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then weight else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then weight else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then weight else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then weight else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then weight else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then weight else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then weight else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then weight else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then weight else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then weight else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then weight else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then weight else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then weight else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then weight else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then weight else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then weight else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then weight else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then weight else NULL end) as uid_255\r\nFROM\r\n(\r\nSELECT\r\n  snapshot.block_id,\r\n  miner.uid,\r\n  SUM(weight.weight * snapshot.normalized_stake) AS weight\r\nFROM\r\n  validator CROSS JOIN miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id\r\n  INNER JOIN metagraph_dumper_weight weight ON (\r\n    weight.source_neuron_id = validator.id\r\n    AND weight.target_neuron_id = miner.id\r\n    AND weight.block_id = snapshot.block_id\r\n  )\r\nWHERE\r\n  validator.subnet_id = ${subnet}\r\n  AND miner.subnet_id = ${subnet}\r\n  AND weight.block_id BETWEEN (\r\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n  ) AND (\r\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n  )\r\nGROUP BY\r\n  miner.uid,\r\n  snapshot.block_id\r\n) AS t\r\nINNER JOIN metagraph_dumper_block block ON block.serial_number = t.block_id\r\nGROUP BY block.created_at\r\n","refId":"old","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\nsource_neuron_id,\r\nsource_hotkey,\r\ntarget_neuron_id,\r\ntarget_hotkey,\r\nsubnet_id,\r\nblock_id,\r\nnormalized_weight,\r\nweight,\r\nweights_sum\r\nFROM validator_weights_history LIMIT 1\r\n","refId":"describe table","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Weight*stake heatmap in sn${subnet} mechid ${mech_id}","type":"heatmap"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"auto","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[]},"gridPos":{"h":21,"w":24,"x":0,"y":225},"id":32,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"single","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\n       block.created_at,\r\n       MAX(case when uid = 0 then weight else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then weight else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then weight else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then weight else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then weight else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then weight else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then weight else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then weight else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then weight else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then weight else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then weight else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then weight else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then weight else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then weight else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then weight else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then weight else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then weight else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then weight else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then weight else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then weight else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then weight else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then weight else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then weight else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then weight else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then weight else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then weight else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then weight else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then weight else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then weight else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then weight else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then weight else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then weight else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then weight else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then weight else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then weight else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then weight else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then weight else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then weight else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then weight else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then weight else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then weight else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then weight else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then weight else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then weight else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then weight else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then weight else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then weight else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then weight else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then weight else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then weight else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then weight else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then weight else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then weight else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then weight else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then weight else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then weight else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then weight else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then weight else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then weight else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then weight else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then weight else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then weight else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then weight else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then weight else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then weight else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then weight else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then weight else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then weight else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then weight else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then weight else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then weight else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then weight else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then weight else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then weight else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then weight else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then weight else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then weight else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then weight else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then weight else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then weight else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then weight else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then weight else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then weight else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then weight else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then weight else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then weight else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then weight else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then weight else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then weight else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then weight else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then weight else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then weight else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then weight else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then weight else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then weight else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then weight else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then weight else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then weight else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then weight else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then weight else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then weight else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then weight else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then weight else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then weight else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then weight else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then weight else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then weight else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then weight else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then weight else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then weight else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then weight else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then weight else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then weight else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then weight else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then weight else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then weight else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then weight else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then weight else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then weight else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then weight else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then weight else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then weight else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then weight else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then weight else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then weight else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then weight else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then weight else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then weight else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then weight else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then weight else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then weight else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then weight else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then weight else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then weight else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then weight else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then weight else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then weight else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then weight else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then weight else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then weight else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then weight else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then weight else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then weight else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then weight else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then weight else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then weight else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then weight else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then weight else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then weight else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then weight else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then weight else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then weight else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then weight else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then weight else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then weight else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then weight else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then weight else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then weight else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then weight else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then weight else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then weight else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then weight else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then weight else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then weight else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then weight else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then weight else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then weight else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then weight else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then weight else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then weight else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then weight else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then weight else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then weight else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then weight else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then weight else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then weight else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then weight else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then weight else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then weight else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then weight else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then weight else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then weight else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then weight else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then weight else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then weight else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then weight else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then weight else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then weight else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then weight else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then weight else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then weight else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then weight else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then weight else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then weight else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then weight else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then weight else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then weight else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then weight else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then weight else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then weight else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then weight else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then weight else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then weight else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then weight else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then weight else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then weight else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then weight else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then weight else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then weight else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then weight else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then weight else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then weight else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then weight else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then weight else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then weight else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then weight else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then weight else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then weight else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then weight else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then weight else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then weight else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then weight else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then weight else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then weight else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then weight else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then weight else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then weight else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then weight else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then weight else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then weight else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then weight else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then weight else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then weight else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then weight else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then weight else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then weight else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then weight else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then weight else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then weight else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then weight else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then weight else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then weight else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then weight else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then weight else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then weight else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then weight else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then weight else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then weight else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then weight else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then weight else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then weight else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then weight else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then weight else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then weight else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then weight else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then weight else NULL end) as uid_255\r\nFROM\r\n(\r\nSELECT\r\n  snapshot.block_id,\r\n  miner.uid,\r\n  SUM(weight.weight * snapshot.normalized_stake) AS weight\r\nFROM\r\n  validator CROSS JOIN miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id\r\n  INNER JOIN metagraph_dumper_weight weight ON (\r\n    weight.source_neuron_id = validator.id\r\n    AND weight.target_neuron_id = miner.id\r\n    AND weight.block_id = snapshot.block_id\r\n  )\r\nWHERE\r\n  validator.subnet_id = ${subnet}\r\n  AND miner.subnet_id = ${subnet}\r\n  AND weight.block_id BETWEEN (\r\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n  ) AND (\r\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n  )\r\nGROUP BY\r\n  miner.uid,\r\n  snapshot.block_id\r\n) AS t\r\nINNER JOIN metagraph_dumper_block block ON block.serial_number = t.block_id\r\nGROUP BY block.created_at\r\n","refId":"old","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\n       block.created_at,\r\n       MAX(case when uid = 0 then weight else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then weight else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then weight else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then weight else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then weight else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then weight else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then weight else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then weight else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then weight else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then weight else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then weight else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then weight else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then weight else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then weight else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then weight else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then weight else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then weight else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then weight else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then weight else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then weight else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then weight else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then weight else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then weight else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then weight else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then weight else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then weight else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then weight else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then weight else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then weight else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then weight else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then weight else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then weight else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then weight else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then weight else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then weight else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then weight else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then weight else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then weight else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then weight else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then weight else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then weight else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then weight else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then weight else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then weight else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then weight else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then weight else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then weight else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then weight else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then weight else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then weight else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then weight else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then weight else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then weight else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then weight else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then weight else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then weight else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then weight else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then weight else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then weight else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then weight else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then weight else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then weight else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then weight else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then weight else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then weight else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then weight else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then weight else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then weight else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then weight else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then weight else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then weight else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then weight else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then weight else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then weight else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then weight else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then weight else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then weight else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then weight else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then weight else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then weight else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then weight else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then weight else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then weight else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then weight else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then weight else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then weight else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then weight else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then weight else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then weight else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then weight else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then weight else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then weight else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then weight else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then weight else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then weight else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then weight else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then weight else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then weight else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then weight else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then weight else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then weight else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then weight else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then weight else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then weight else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then weight else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then weight else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then weight else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then weight else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then weight else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then weight else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then weight else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then weight else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then weight else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then weight else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then weight else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then weight else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then weight else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then weight else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then weight else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then weight else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then weight else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then weight else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then weight else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then weight else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then weight else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then weight else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then weight else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then weight else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then weight else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then weight else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then weight else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then weight else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then weight else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then weight else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then weight else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then weight else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then weight else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then weight else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then weight else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then weight else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then weight else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then weight else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then weight else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then weight else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then weight else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then weight else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then weight else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then weight else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then weight else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then weight else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then weight else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then weight else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then weight else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then weight else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then weight else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then weight else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then weight else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then weight else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then weight else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then weight else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then weight else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then weight else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then weight else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then weight else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then weight else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then weight else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then weight else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then weight else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then weight else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then weight else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then weight else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then weight else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then weight else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then weight else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then weight else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then weight else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then weight else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then weight else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then weight else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then weight else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then weight else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then weight else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then weight else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then weight else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then weight else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then weight else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then weight else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then weight else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then weight else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then weight else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then weight else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then weight else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then weight else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then weight else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then weight else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then weight else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then weight else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then weight else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then weight else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then weight else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then weight else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then weight else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then weight else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then weight else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then weight else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then weight else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then weight else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then weight else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then weight else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then weight else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then weight else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then weight else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then weight else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then weight else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then weight else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then weight else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then weight else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then weight else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then weight else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then weight else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then weight else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then weight else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then weight else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then weight else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then weight else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then weight else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then weight else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then weight else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then weight else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then weight else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then weight else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then weight else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then weight else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then weight else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then weight else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then weight else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then weight else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then weight else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then weight else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then weight else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then weight else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then weight else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then weight else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then weight else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then weight else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then weight else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then weight else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then weight else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then weight else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then weight else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then weight else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then weight else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then weight else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then weight else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then weight else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then weight else NULL end) as uid_255\r\nFROM\r\n(\r\nSELECT\r\n  snapshot.block_id,\r\n  miner.uid,\r\n  SUM(weight.normalized_weight * snapshot.normalized_stake) AS weight\r\nFROM\r\n  validator CROSS JOIN miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id\r\n  INNER JOIN validator_weights_history weight ON (\r\n    weight.source_neuron_id = validator.id\r\n    AND weight.target_neuron_id = miner.id\r\n    AND weight.block_id = snapshot.block_id\r\n  )\r\nWHERE\r\n  validator.subnet_id = ${subnet}\r\n  -- AND validator.hotkey = '5FFApaS75bv5pJHfAp2FVLBj9ZaXuFDjEypsaBNc1wCfe52v'\r\n  AND miner.subnet_id = ${subnet}\r\n  AND weight.block_id BETWEEN (\r\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n  ) AND (\r\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n  )\r\nGROUP BY\r\n  miner.uid,\r\n  snapshot.block_id\r\n) AS t\r\nINNER JOIN metagraph_dumper_block block ON block.serial_number = t.block_id\r\nGROUP BY block.created_at\r\n","refId":"using view","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\nsource_neuron_id,\r\nsource_hotkey,\r\ntarget_neuron_id,\r\ntarget_hotkey,\r\nsubnet_id,\r\nblock_id,\r\nnormalized_weight,\r\nweight,\r\nweights_sum\r\nFROM validator_weights_history LIMIT 1\r\n","refId":"describe table","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"SELECT\r\n  block.created_at,\r\n  val,\r\n  256-COUNT(1) as \" \"\r\nFROM\r\n(\r\nSELECT\r\n  snapshot.block_id,\r\n  miner.uid,\r\n  COALESCE (\r\n    validator.label,\r\n    validator.hotkey\r\n  ) AS val\r\nFROM\r\n  validator CROSS JOIN miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id\r\n  INNER JOIN validator_weights_history weight ON (\r\n    weight.source_neuron_id = validator.id\r\n    AND weight.target_neuron_id = miner.id\r\n    AND weight.block_id = snapshot.block_id\r\n  )\r\nWHERE\r\n  validator.subnet_id = ${subnet}\r\n  -- AND validator.hotkey = '5FFApaS75bv5pJHfAp2FVLBj9ZaXuFDjEypsaBNc1wCfe52v'\r\n  AND miner.subnet_id = ${subnet}\r\n  AND weight.normalized_weight != 0\r\n  AND weight.block_id BETWEEN (\r\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n  ) AND (\r\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n  )\r\nGROUP BY\r\n  miner.uid,\r\n  snapshot.block_id,\r\n  validator.label,\r\n  validator.hotkey\r\n) AS t\r\nINNER JOIN metagraph_dumper_block block ON block.serial_number = t.block_id\r\nGROUP BY block.created_at, val\r\nHAVING 256-COUNT(1) \u003e= 0  -- caught it below -200 on 2025-12-10 and I don't have time to investigate properly. Also I don't think this works very well on subnets that have maxuid != 256...","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"How many uids are validators weighting with a zero in sn${subnet}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"custom":{"hideFrom":{"legend":false,"tooltip":false,"viz":false},"scaleDistribution":{"type":"linear"}}},"overrides":[]},"gridPos":{"h":21,"w":24,"x":0,"y":246},"id":22,"options":{"calculate":false,"cellGap":0,"color":{"exponent":0.5,"fill":"dark-orange","mode":"scheme","reverse":false,"scale":"exponential","scheme":"Spectral","steps":64},"exemplars":{"color":"rgba(255,0,255,0.7)"},"filterValues":{"le":0.000001},"legend":{"show":true},"rowsFrame":{"layout":"auto"},"tooltip":{"mode":"single","showColorScale":false,"yHistogram":true},"yAxis":{"axisPlacement":"hidden","reverse":false}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"SELECT created_at,\r\n       MAX(case when uid = 0 then consensus else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then consensus else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then consensus else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then consensus else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then consensus else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then consensus else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then consensus else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then consensus else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then consensus else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then consensus else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then consensus else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then consensus else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then consensus else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then consensus else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then consensus else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then consensus else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then consensus else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then consensus else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then consensus else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then consensus else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then consensus else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then consensus else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then consensus else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then consensus else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then consensus else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then consensus else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then consensus else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then consensus else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then consensus else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then consensus else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then consensus else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then consensus else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then consensus else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then consensus else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then consensus else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then consensus else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then consensus else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then consensus else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then consensus else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then consensus else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then consensus else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then consensus else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then consensus else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then consensus else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then consensus else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then consensus else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then consensus else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then consensus else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then consensus else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then consensus else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then consensus else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then consensus else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then consensus else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then consensus else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then consensus else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then consensus else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then consensus else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then consensus else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then consensus else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then consensus else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then consensus else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then consensus else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then consensus else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then consensus else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then consensus else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then consensus else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then consensus else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then consensus else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then consensus else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then consensus else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then consensus else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then consensus else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then consensus else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then consensus else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then consensus else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then consensus else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then consensus else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then consensus else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then consensus else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then consensus else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then consensus else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then consensus else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then consensus else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then consensus else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then consensus else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then consensus else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then consensus else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then consensus else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then consensus else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then consensus else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then consensus else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then consensus else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then consensus else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then consensus else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then consensus else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then consensus else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then consensus else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then consensus else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then consensus else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then consensus else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then consensus else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then consensus else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then consensus else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then consensus else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then consensus else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then consensus else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then consensus else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then consensus else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then consensus else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then consensus else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then consensus else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then consensus else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then consensus else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then consensus else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then consensus else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then consensus else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then consensus else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then consensus else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then consensus else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then consensus else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then consensus else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then consensus else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then consensus else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then consensus else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then consensus else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then consensus else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then consensus else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then consensus else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then consensus else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then consensus else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then consensus else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then consensus else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then consensus else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then consensus else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then consensus else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then consensus else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then consensus else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then consensus else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then consensus else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then consensus else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then consensus else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then consensus else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then consensus else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then consensus else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then consensus else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then consensus else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then consensus else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then consensus else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then consensus else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then consensus else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then consensus else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then consensus else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then consensus else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then consensus else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then consensus else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then consensus else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then consensus else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then consensus else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then consensus else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then consensus else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then consensus else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then consensus else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then consensus else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then consensus else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then consensus else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then consensus else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then consensus else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then consensus else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then consensus else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then consensus else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then consensus else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then consensus else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then consensus else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then consensus else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then consensus else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then consensus else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then consensus else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then consensus else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then consensus else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then consensus else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then consensus else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then consensus else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then consensus else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then consensus else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then consensus else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then consensus else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then consensus else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then consensus else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then consensus else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then consensus else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then consensus else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then consensus else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then consensus else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then consensus else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then consensus else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then consensus else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then consensus else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then consensus else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then consensus else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then consensus else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then consensus else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then consensus else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then consensus else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then consensus else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then consensus else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then consensus else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then consensus else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then consensus else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then consensus else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then consensus else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then consensus else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then consensus else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then consensus else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then consensus else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then consensus else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then consensus else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then consensus else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then consensus else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then consensus else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then consensus else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then consensus else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then consensus else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then consensus else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then consensus else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then consensus else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then consensus else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then consensus else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then consensus else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then consensus else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then consensus else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then consensus else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then consensus else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then consensus else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then consensus else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then consensus else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then consensus else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then consensus else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then consensus else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then consensus else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then consensus else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then consensus else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then consensus else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then consensus else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then consensus else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then consensus else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then consensus else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then consensus else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then consensus else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then consensus else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then consensus else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then consensus else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then consensus else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then consensus else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then consensus else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then consensus else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then consensus else NULL end) as uid_255\r\nFROM (SELECT\r\n  block.created_at,\r\n  miner.uid,\r\n  snapshot.consensus\r\n  --miner.hotkey\r\nFROM\r\n  miner\r\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\nWHERE\r\n  miner.subnet_id = ${subnet}\r\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n    AND snapshot.block_id BETWEEN (\r\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n    ) AND (\r\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n    )\r\nGROUP BY\r\n  --miner.hotkey,\r\n  miner.uid,\r\n  block.created_at,\r\n  snapshot.consensus\r\n) t group by created_at","refId":"main","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Consensus UID heatmap in sn${subnet}","type":"heatmap"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[]},"gridPos":{"h":8,"w":24,"x":0,"y":267},"id":4,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"single","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"-- id=subnet.top_miner_weight_1\nWITH latest_block_limit as (\n  -- select latest blocks\n  SELECT\n    serial_number AS block_id\n  FROM\n    metagraph_dumper_block\n  ORDER BY\n    serial_number DESC OFFSET 5*30 -- last 30m\n  LIMIT\n    1 -- in case latest data lagging\n), miner_neuron as (\n  SELECT\n    miner.id\n  FROM\n    miner CROSS JOIN latest_block_limit INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON miner.id = snapshot.neuron_id AND miner.last_block = snapshot.block_id\n    INNER JOIN metagraph_dumper_incentives incentives\n      ON incentives.neuron_id = snapshot.neuron_id\n      AND incentives.block_id = snapshot.block_id\n  WHERE\n    miner.last_block \u003e latest_block_limit.block_id\n    AND miner.subnet_id = ${subnet}\n    AND incentives.mech_id = '${mech_id}'\n  ORDER BY\n    incentives.incentive DESC\n  LIMIT\n    1\n)\nSELECT\n  weight.weight AS \" \",\n  block.created_at,\n  COALESCE(validator.label, validator.hotkey)\nFROM\n  miner_neuron\n  CROSS JOIN validator\n  INNER JOIN metagraph_dumper_weight weight ON weight.target_neuron_id = miner_neuron.id AND weight.source_neuron_id = validator.id\n  INNER JOIN metagraph_dumper_block block ON (weight.block_id = block.serial_number)\nWHERE\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  weight.mech_id = '${mech_id}'\n  AND weight.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Validators -\u003e 1st Top Miner Weight Assignment","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null}]}},"overrides":[{"matcher":{"id":"byRegexp","options":"/OwlVentures.*/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[10,10],"fill":"dash"}}]}]},"gridPos":{"h":8,"w":24,"x":0,"y":275},"id":6,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"single","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.top_miner_weight_1\nWITH latest_block_limit as (\n  -- select latest blocks\n  SELECT\n    serial_number AS block_id\n  FROM\n    metagraph_dumper_block\n  ORDER BY\n    serial_number DESC OFFSET 5*30 -- last 30m\n  LIMIT\n    1 -- in case latest data lagging\n), miner_neuron as (\n  SELECT\n    miner.id\n  FROM\n    miner CROSS JOIN latest_block_limit INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON miner.id = snapshot.neuron_id AND miner.last_block = snapshot.block_id\n    INNER JOIN metagraph_dumper_incentives incentives\n      ON incentives.neuron_id = snapshot.neuron_id\n      AND incentives.block_id = snapshot.block_id\n  WHERE\n    miner.last_block \u003e latest_block_limit.block_id\n    AND miner.subnet_id = ${subnet}\n    AND incentives.mech_id = '${mech_id}'\n  ORDER BY\n    incentives.incentive DESC OFFSET 2\n  LIMIT\n    1\n)\nSELECT\n  weight.weight AS \" \",\n  block.created_at,\n  COALESCE(validator.label, validator.hotkey)\nFROM\n  miner_neuron\n  CROSS JOIN validator\n  INNER JOIN metagraph_dumper_weight weight ON weight.target_neuron_id = miner_neuron.id AND weight.source_neuron_id = validator.id\n  INNER JOIN metagraph_dumper_block block ON (weight.block_id = block.serial_number)\nWHERE\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  weight.mech_id = '${mech_id}'\n  AND weight.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Validators -\u003e 2nd Top Miner Weight Assignment","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":3600000,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null}]}},"overrides":[]},"gridPos":{"h":7,"w":24,"x":0,"y":283},"id":7,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"single","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.top_miner_weight_1\nWITH latest_block_limit as (\n  -- select latest blocks\n  SELECT\n    serial_number AS block_id\n  FROM\n    metagraph_dumper_block\n  ORDER BY\n    serial_number DESC OFFSET 5*30 -- last 30m\n  LIMIT\n    1 -- in case latest data lagging\n), miner_neuron as (\n  SELECT\n    miner.id\n  FROM\n    miner CROSS JOIN latest_block_limit INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON miner.id = snapshot.neuron_id AND miner.last_block = snapshot.block_id\n    INNER JOIN metagraph_dumper_incentives incentives\n      ON incentives.neuron_id = snapshot.neuron_id\n      AND incentives.block_id = snapshot.block_id\n  WHERE\n    miner.last_block \u003e latest_block_limit.block_id\n    AND miner.subnet_id = ${subnet}\n    AND incentives.mech_id = '${mech_id}'\n  ORDER BY\n    incentives.incentive DESC OFFSET 2\n  LIMIT\n    1\n)\nSELECT\n  weight.weight AS \" \",\n  block.created_at,\n  COALESCE(validator.label, validator.hotkey)\nFROM\n  miner_neuron\n  CROSS JOIN validator\n  INNER JOIN metagraph_dumper_weight weight ON weight.target_neuron_id = miner_neuron.id AND weight.source_neuron_id = validator.id\n  INNER JOIN metagraph_dumper_block block ON (weight.block_id = block.serial_number)\nWHERE\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  weight.mech_id = '${mech_id}'\n  AND weight.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Validators -\u003e 3rd Top Miner Weight Assignment","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":290},"id":27,"panels":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"custom":{"hideFrom":{"legend":false,"tooltip":false,"viz":false},"scaleDistribution":{"type":"linear"}}},"overrides":[]},"gridPos":{"h":21,"w":24,"x":0,"y":291},"id":15,"options":{"calculate":false,"cellGap":0,"color":{"exponent":0.5,"fill":"dark-orange","mode":"scheme","reverse":false,"scale":"exponential","scheme":"Turbo","steps":128},"exemplars":{"color":"rgba(255,0,255,0.7)"},"filterValues":{"le":1e-9},"legend":{"show":true},"rowsFrame":{"layout":"auto"},"tooltip":{"mode":"single","showColorScale":false,"yHistogram":true},"yAxis":{"axisPlacement":"hidden","reverse":false}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"SELECT\r\n       created_at,\r\n       MAX(case when uid = 0 then rn else NULL end)   as uid_0,\r\n       MAX(case when uid = 1 then rn else NULL end)   as uid_1,\r\n       MAX(case when uid = 2 then rn else NULL end)   as uid_2,\r\n       MAX(case when uid = 3 then rn else NULL end)   as uid_3,\r\n       MAX(case when uid = 4 then rn else NULL end)   as uid_4,\r\n       MAX(case when uid = 5 then rn else NULL end)   as uid_5,\r\n       MAX(case when uid = 6 then rn else NULL end)   as uid_6,\r\n       MAX(case when uid = 7 then rn else NULL end)   as uid_7,\r\n       MAX(case when uid = 8 then rn else NULL end)   as uid_8,\r\n       MAX(case when uid = 9 then rn else NULL end)   as uid_9,\r\n       MAX(case when uid = 10 then rn else NULL end)  as uid_10,\r\n       MAX(case when uid = 11 then rn else NULL end)  as uid_11,\r\n       MAX(case when uid = 12 then rn else NULL end)  as uid_12,\r\n       MAX(case when uid = 13 then rn else NULL end)  as uid_13,\r\n       MAX(case when uid = 14 then rn else NULL end)  as uid_14,\r\n       MAX(case when uid = 15 then rn else NULL end)  as uid_15,\r\n       MAX(case when uid = 16 then rn else NULL end)  as uid_16,\r\n       MAX(case when uid = 17 then rn else NULL end)  as uid_17,\r\n       MAX(case when uid = 18 then rn else NULL end)  as uid_18,\r\n       MAX(case when uid = 19 then rn else NULL end)  as uid_19,\r\n       MAX(case when uid = 20 then rn else NULL end)  as uid_20,\r\n       MAX(case when uid = 21 then rn else NULL end)  as uid_21,\r\n       MAX(case when uid = 22 then rn else NULL end)  as uid_22,\r\n       MAX(case when uid = 23 then rn else NULL end)  as uid_23,\r\n       MAX(case when uid = 24 then rn else NULL end)  as uid_24,\r\n       MAX(case when uid = 25 then rn else NULL end)  as uid_25,\r\n       MAX(case when uid = 26 then rn else NULL end)  as uid_26,\r\n       MAX(case when uid = 27 then rn else NULL end)  as uid_27,\r\n       MAX(case when uid = 28 then rn else NULL end)  as uid_28,\r\n       MAX(case when uid = 29 then rn else NULL end)  as uid_29,\r\n       MAX(case when uid = 30 then rn else NULL end)  as uid_30,\r\n       MAX(case when uid = 31 then rn else NULL end)  as uid_31,\r\n       MAX(case when uid = 32 then rn else NULL end)  as uid_32,\r\n       MAX(case when uid = 33 then rn else NULL end)  as uid_33,\r\n       MAX(case when uid = 34 then rn else NULL end)  as uid_34,\r\n       MAX(case when uid = 35 then rn else NULL end)  as uid_35,\r\n       MAX(case when uid = 36 then rn else NULL end)  as uid_36,\r\n       MAX(case when uid = 37 then rn else NULL end)  as uid_37,\r\n       MAX(case when uid = 38 then rn else NULL end)  as uid_38,\r\n       MAX(case when uid = 39 then rn else NULL end)  as uid_39,\r\n       MAX(case when uid = 40 then rn else NULL end)  as uid_40,\r\n       MAX(case when uid = 41 then rn else NULL end)  as uid_41,\r\n       MAX(case when uid = 42 then rn else NULL end)  as uid_42,\r\n       MAX(case when uid = 43 then rn else NULL end)  as uid_43,\r\n       MAX(case when uid = 44 then rn else NULL end)  as uid_44,\r\n       MAX(case when uid = 45 then rn else NULL end)  as uid_45,\r\n       MAX(case when uid = 46 then rn else NULL end)  as uid_46,\r\n       MAX(case when uid = 47 then rn else NULL end)  as uid_47,\r\n       MAX(case when uid = 48 then rn else NULL end)  as uid_48,\r\n       MAX(case when uid = 49 then rn else NULL end)  as uid_49,\r\n       MAX(case when uid = 50 then rn else NULL end)  as uid_50,\r\n       MAX(case when uid = 51 then rn else NULL end)  as uid_51,\r\n       MAX(case when uid = 52 then rn else NULL end)  as uid_52,\r\n       MAX(case when uid = 53 then rn else NULL end)  as uid_53,\r\n       MAX(case when uid = 54 then rn else NULL end)  as uid_54,\r\n       MAX(case when uid = 55 then rn else NULL end)  as uid_55,\r\n       MAX(case when uid = 56 then rn else NULL end)  as uid_56,\r\n       MAX(case when uid = 57 then rn else NULL end)  as uid_57,\r\n       MAX(case when uid = 58 then rn else NULL end)  as uid_58,\r\n       MAX(case when uid = 59 then rn else NULL end)  as uid_59,\r\n       MAX(case when uid = 60 then rn else NULL end)  as uid_60,\r\n       MAX(case when uid = 61 then rn else NULL end)  as uid_61,\r\n       MAX(case when uid = 62 then rn else NULL end)  as uid_62,\r\n       MAX(case when uid = 63 then rn else NULL end)  as uid_63,\r\n       MAX(case when uid = 64 then rn else NULL end)  as uid_64,\r\n       MAX(case when uid = 65 then rn else NULL end)  as uid_65,\r\n       MAX(case when uid = 66 then rn else NULL end)  as uid_66,\r\n       MAX(case when uid = 67 then rn else NULL end)  as uid_67,\r\n       MAX(case when uid = 68 then rn else NULL end)  as uid_68,\r\n       MAX(case when uid = 69 then rn else NULL end)  as uid_69,\r\n       MAX(case when uid = 70 then rn else NULL end)  as uid_70,\r\n       MAX(case when uid = 71 then rn else NULL end)  as uid_71,\r\n       MAX(case when uid = 72 then rn else NULL end)  as uid_72,\r\n       MAX(case when uid = 73 then rn else NULL end)  as uid_73,\r\n       MAX(case when uid = 74 then rn else NULL end)  as uid_74,\r\n       MAX(case when uid = 75 then rn else NULL end)  as uid_75,\r\n       MAX(case when uid = 76 then rn else NULL end)  as uid_76,\r\n       MAX(case when uid = 77 then rn else NULL end)  as uid_77,\r\n       MAX(case when uid = 78 then rn else NULL end)  as uid_78,\r\n       MAX(case when uid = 79 then rn else NULL end)  as uid_79,\r\n       MAX(case when uid = 80 then rn else NULL end)  as uid_80,\r\n       MAX(case when uid = 81 then rn else NULL end)  as uid_81,\r\n       MAX(case when uid = 82 then rn else NULL end)  as uid_82,\r\n       MAX(case when uid = 83 then rn else NULL end)  as uid_83,\r\n       MAX(case when uid = 84 then rn else NULL end)  as uid_84,\r\n       MAX(case when uid = 85 then rn else NULL end)  as uid_85,\r\n       MAX(case when uid = 86 then rn else NULL end)  as uid_86,\r\n       MAX(case when uid = 87 then rn else NULL end)  as uid_87,\r\n       MAX(case when uid = 88 then rn else NULL end)  as uid_88,\r\n       MAX(case when uid = 89 then rn else NULL end)  as uid_89,\r\n       MAX(case when uid = 90 then rn else NULL end)  as uid_90,\r\n       MAX(case when uid = 91 then rn else NULL end)  as uid_91,\r\n       MAX(case when uid = 92 then rn else NULL end)  as uid_92,\r\n       MAX(case when uid = 93 then rn else NULL end)  as uid_93,\r\n       MAX(case when uid = 94 then rn else NULL end)  as uid_94,\r\n       MAX(case when uid = 95 then rn else NULL end)  as uid_95,\r\n       MAX(case when uid = 96 then rn else NULL end)  as uid_96,\r\n       MAX(case when uid = 97 then rn else NULL end)  as uid_97,\r\n       MAX(case when uid = 98 then rn else NULL end)  as uid_98,\r\n       MAX(case when uid = 99 then rn else NULL end)  as uid_99,\r\n       MAX(case when uid = 100 then rn else NULL end) as uid_100,\r\n       MAX(case when uid = 101 then rn else NULL end) as uid_101,\r\n       MAX(case when uid = 102 then rn else NULL end) as uid_102,\r\n       MAX(case when uid = 103 then rn else NULL end) as uid_103,\r\n       MAX(case when uid = 104 then rn else NULL end) as uid_104,\r\n       MAX(case when uid = 105 then rn else NULL end) as uid_105,\r\n       MAX(case when uid = 106 then rn else NULL end) as uid_106,\r\n       MAX(case when uid = 107 then rn else NULL end) as uid_107,\r\n       MAX(case when uid = 108 then rn else NULL end) as uid_108,\r\n       MAX(case when uid = 109 then rn else NULL end) as uid_109,\r\n       MAX(case when uid = 110 then rn else NULL end) as uid_110,\r\n       MAX(case when uid = 111 then rn else NULL end) as uid_111,\r\n       MAX(case when uid = 112 then rn else NULL end) as uid_112,\r\n       MAX(case when uid = 113 then rn else NULL end) as uid_113,\r\n       MAX(case when uid = 114 then rn else NULL end) as uid_114,\r\n       MAX(case when uid = 115 then rn else NULL end) as uid_115,\r\n       MAX(case when uid = 116 then rn else NULL end) as uid_116,\r\n       MAX(case when uid = 117 then rn else NULL end) as uid_117,\r\n       MAX(case when uid = 118 then rn else NULL end) as uid_118,\r\n       MAX(case when uid = 119 then rn else NULL end) as uid_119,\r\n       MAX(case when uid = 120 then rn else NULL end) as uid_120,\r\n       MAX(case when uid = 121 then rn else NULL end) as uid_121,\r\n       MAX(case when uid = 122 then rn else NULL end) as uid_122,\r\n       MAX(case when uid = 123 then rn else NULL end) as uid_123,\r\n       MAX(case when uid = 124 then rn else NULL end) as uid_124,\r\n       MAX(case when uid = 125 then rn else NULL end) as uid_125,\r\n       MAX(case when uid = 126 then rn else NULL end) as uid_126,\r\n       MAX(case when uid = 127 then rn else NULL end) as uid_127,\r\n       MAX(case when uid = 128 then rn else NULL end) as uid_128,\r\n       MAX(case when uid = 129 then rn else NULL end) as uid_129,\r\n       MAX(case when uid = 130 then rn else NULL end) as uid_130,\r\n       MAX(case when uid = 131 then rn else NULL end) as uid_131,\r\n       MAX(case when uid = 132 then rn else NULL end) as uid_132,\r\n       MAX(case when uid = 133 then rn else NULL end) as uid_133,\r\n       MAX(case when uid = 134 then rn else NULL end) as uid_134,\r\n       MAX(case when uid = 135 then rn else NULL end) as uid_135,\r\n       MAX(case when uid = 136 then rn else NULL end) as uid_136,\r\n       MAX(case when uid = 137 then rn else NULL end) as uid_137,\r\n       MAX(case when uid = 138 then rn else NULL end) as uid_138,\r\n       MAX(case when uid = 139 then rn else NULL end) as uid_139,\r\n       MAX(case when uid = 140 then rn else NULL end) as uid_140,\r\n       MAX(case when uid = 141 then rn else NULL end) as uid_141,\r\n       MAX(case when uid = 142 then rn else NULL end) as uid_142,\r\n       MAX(case when uid = 143 then rn else NULL end) as uid_143,\r\n       MAX(case when uid = 144 then rn else NULL end) as uid_144,\r\n       MAX(case when uid = 145 then rn else NULL end) as uid_145,\r\n       MAX(case when uid = 146 then rn else NULL end) as uid_146,\r\n       MAX(case when uid = 147 then rn else NULL end) as uid_147,\r\n       MAX(case when uid = 148 then rn else NULL end) as uid_148,\r\n       MAX(case when uid = 149 then rn else NULL end) as uid_149,\r\n       MAX(case when uid = 150 then rn else NULL end) as uid_150,\r\n       MAX(case when uid = 151 then rn else NULL end) as uid_151,\r\n       MAX(case when uid = 152 then rn else NULL end) as uid_152,\r\n       MAX(case when uid = 153 then rn else NULL end) as uid_153,\r\n       MAX(case when uid = 154 then rn else NULL end) as uid_154,\r\n       MAX(case when uid = 155 then rn else NULL end) as uid_155,\r\n       MAX(case when uid = 156 then rn else NULL end) as uid_156,\r\n       MAX(case when uid = 157 then rn else NULL end) as uid_157,\r\n       MAX(case when uid = 158 then rn else NULL end) as uid_158,\r\n       MAX(case when uid = 159 then rn else NULL end) as uid_159,\r\n       MAX(case when uid = 160 then rn else NULL end) as uid_160,\r\n       MAX(case when uid = 161 then rn else NULL end) as uid_161,\r\n       MAX(case when uid = 162 then rn else NULL end) as uid_162,\r\n       MAX(case when uid = 163 then rn else NULL end) as uid_163,\r\n       MAX(case when uid = 164 then rn else NULL end) as uid_164,\r\n       MAX(case when uid = 165 then rn else NULL end) as uid_165,\r\n       MAX(case when uid = 166 then rn else NULL end) as uid_166,\r\n       MAX(case when uid = 167 then rn else NULL end) as uid_167,\r\n       MAX(case when uid = 168 then rn else NULL end) as uid_168,\r\n       MAX(case when uid = 169 then rn else NULL end) as uid_169,\r\n       MAX(case when uid = 170 then rn else NULL end) as uid_170,\r\n       MAX(case when uid = 171 then rn else NULL end) as uid_171,\r\n       MAX(case when uid = 172 then rn else NULL end) as uid_172,\r\n       MAX(case when uid = 173 then rn else NULL end) as uid_173,\r\n       MAX(case when uid = 174 then rn else NULL end) as uid_174,\r\n       MAX(case when uid = 175 then rn else NULL end) as uid_175,\r\n       MAX(case when uid = 176 then rn else NULL end) as uid_176,\r\n       MAX(case when uid = 177 then rn else NULL end) as uid_177,\r\n       MAX(case when uid = 178 then rn else NULL end) as uid_178,\r\n       MAX(case when uid = 179 then rn else NULL end) as uid_179,\r\n       MAX(case when uid = 180 then rn else NULL end) as uid_180,\r\n       MAX(case when uid = 181 then rn else NULL end) as uid_181,\r\n       MAX(case when uid = 182 then rn else NULL end) as uid_182,\r\n       MAX(case when uid = 183 then rn else NULL end) as uid_183,\r\n       MAX(case when uid = 184 then rn else NULL end) as uid_184,\r\n       MAX(case when uid = 185 then rn else NULL end) as uid_185,\r\n       MAX(case when uid = 186 then rn else NULL end) as uid_186,\r\n       MAX(case when uid = 187 then rn else NULL end) as uid_187,\r\n       MAX(case when uid = 188 then rn else NULL end) as uid_188,\r\n       MAX(case when uid = 189 then rn else NULL end) as uid_189,\r\n       MAX(case when uid = 190 then rn else NULL end) as uid_190,\r\n       MAX(case when uid = 191 then rn else NULL end) as uid_191,\r\n       MAX(case when uid = 192 then rn else NULL end) as uid_192,\r\n       MAX(case when uid = 193 then rn else NULL end) as uid_193,\r\n       MAX(case when uid = 194 then rn else NULL end) as uid_194,\r\n       MAX(case when uid = 195 then rn else NULL end) as uid_195,\r\n       MAX(case when uid = 196 then rn else NULL end) as uid_196,\r\n       MAX(case when uid = 197 then rn else NULL end) as uid_197,\r\n       MAX(case when uid = 198 then rn else NULL end) as uid_198,\r\n       MAX(case when uid = 199 then rn else NULL end) as uid_199,\r\n       MAX(case when uid = 200 then rn else NULL end) as uid_200,\r\n       MAX(case when uid = 201 then rn else NULL end) as uid_201,\r\n       MAX(case when uid = 202 then rn else NULL end) as uid_202,\r\n       MAX(case when uid = 203 then rn else NULL end) as uid_203,\r\n       MAX(case when uid = 204 then rn else NULL end) as uid_204,\r\n       MAX(case when uid = 205 then rn else NULL end) as uid_205,\r\n       MAX(case when uid = 206 then rn else NULL end) as uid_206,\r\n       MAX(case when uid = 207 then rn else NULL end) as uid_207,\r\n       MAX(case when uid = 208 then rn else NULL end) as uid_208,\r\n       MAX(case when uid = 209 then rn else NULL end) as uid_209,\r\n       MAX(case when uid = 210 then rn else NULL end) as uid_210,\r\n       MAX(case when uid = 211 then rn else NULL end) as uid_211,\r\n       MAX(case when uid = 212 then rn else NULL end) as uid_212,\r\n       MAX(case when uid = 213 then rn else NULL end) as uid_213,\r\n       MAX(case when uid = 214 then rn else NULL end) as uid_214,\r\n       MAX(case when uid = 215 then rn else NULL end) as uid_215,\r\n       MAX(case when uid = 216 then rn else NULL end) as uid_216,\r\n       MAX(case when uid = 217 then rn else NULL end) as uid_217,\r\n       MAX(case when uid = 218 then rn else NULL end) as uid_218,\r\n       MAX(case when uid = 219 then rn else NULL end) as uid_219,\r\n       MAX(case when uid = 220 then rn else NULL end) as uid_220,\r\n       MAX(case when uid = 221 then rn else NULL end) as uid_221,\r\n       MAX(case when uid = 222 then rn else NULL end) as uid_222,\r\n       MAX(case when uid = 223 then rn else NULL end) as uid_223,\r\n       MAX(case when uid = 224 then rn else NULL end) as uid_224,\r\n       MAX(case when uid = 225 then rn else NULL end) as uid_225,\r\n       MAX(case when uid = 226 then rn else NULL end) as uid_226,\r\n       MAX(case when uid = 227 then rn else NULL end) as uid_227,\r\n       MAX(case when uid = 228 then rn else NULL end) as uid_228,\r\n       MAX(case when uid = 229 then rn else NULL end) as uid_229,\r\n       MAX(case when uid = 230 then rn else NULL end) as uid_230,\r\n       MAX(case when uid = 231 then rn else NULL end) as uid_231,\r\n       MAX(case when uid = 232 then rn else NULL end) as uid_232,\r\n       MAX(case when uid = 233 then rn else NULL end) as uid_233,\r\n       MAX(case when uid = 234 then rn else NULL end) as uid_234,\r\n       MAX(case when uid = 235 then rn else NULL end) as uid_235,\r\n       MAX(case when uid = 236 then rn else NULL end) as uid_236,\r\n       MAX(case when uid = 237 then rn else NULL end) as uid_237,\r\n       MAX(case when uid = 238 then rn else NULL end) as uid_238,\r\n       MAX(case when uid = 239 then rn else NULL end) as uid_239,\r\n       MAX(case when uid = 240 then rn else NULL end) as uid_240,\r\n       MAX(case when uid = 241 then rn else NULL end) as uid_241,\r\n       MAX(case when uid = 242 then rn else NULL end) as uid_242,\r\n       MAX(case when uid = 243 then rn else NULL end) as uid_243,\r\n       MAX(case when uid = 244 then rn else NULL end) as uid_244,\r\n       MAX(case when uid = 245 then rn else NULL end) as uid_245,\r\n       MAX(case when uid = 246 then rn else NULL end) as uid_246,\r\n       MAX(case when uid = 247 then rn else NULL end) as uid_247,\r\n       MAX(case when uid = 248 then rn else NULL end) as uid_248,\r\n       MAX(case when uid = 249 then rn else NULL end) as uid_249,\r\n       MAX(case when uid = 250 then rn else NULL end) as uid_250,\r\n       MAX(case when uid = 251 then rn else NULL end) as uid_251,\r\n       MAX(case when uid = 252 then rn else NULL end) as uid_252,\r\n       MAX(case when uid = 253 then rn else NULL end) as uid_253,\r\n       MAX(case when uid = 254 then rn else NULL end) as uid_254,\r\n       MAX(case when uid = 255 then rn else NULL end) as uid_255\r\nFROM (\r\n  SELECT\r\n    block.created_at,\r\n    miner.uid,\r\n    CASE\r\n      WHEN snapshot.emissions = 0 THEN 0\r\n      ELSE\r\n      ROW_NUMBER() OVER (\r\n        PARTITION BY block.created_at\r\n        ORDER BY\r\n            snapshot.emissions ASC,\r\n            miner.block_at_registration ASC\r\n      ) \r\n    END\r\n    /*ROW_NUMBER() OVER (\r\n        PARTITION BY block.created_at\r\n        ORDER BY snapshot.incentives ASC\r\n      ) */\r\n    AS rn\r\n    --miner.hotkey\r\n  FROM\r\n    miner\r\n    INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = miner.id\r\n    INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\r\n  WHERE\r\n    miner.subnet_id = ${subnet}\r\n    --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\r\n      AND snapshot.block_id BETWEEN (\r\n          SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n      ) AND (\r\n          SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n      )\r\n  /*\r\n  GROUP BY\r\n    --miner.hotkey,\r\n    miner.uid,\r\n    block.created_at,\r\n    snapshot.rn\r\n  */\r\n) t\r\nGROUP BY created_at","refId":"main","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Miner UID order heatmap in sn${subnet} for consensus\u003e0 uids","type":"heatmap"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":false,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green"},{"color":"red","value":80}]},"unit":"none"},"overrides":[{"matcher":{"id":"byRegexp","options":"/(tao5)|(OwlVentures)|(5G1NjW9YhXLadMWajvTkfcJy6up3yH2q1YzMXDTi6ijanChe)|(5HbScNssaEfioJHXjcXdpyqo1AKnYjymidGF8opcF9rTFZdT)|(PRvalidator)|(Datura)|(Ary van der Touw)|(.*-wc)|(.*-cp)/"},"properties":[{"id":"custom.lineStyle","value":{"dash":[7,7],"fill":"dash"}}]},{"matcher":{"id":"byRegexp","options":"/(tao5)/"},"properties":[{"id":"color","value":{"fixedColor":"#ce00ff","mode":"fixed"}},{"id":"custom.lineWidth","value":2}]},{"matcher":{"id":"byRegexp","options":"/(5G1NjW-(cp|wc))|(Ary van der Touw)/"},"properties":[{"id":"color","value":{"fixedColor":"#ff6d00","mode":"fixed"}},{"id":"custom.lineWidth","value":2}]}]},"gridPos":{"h":11,"w":24,"x":0,"y":312},"id":17,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"mode":"multi","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=subnet.validator_trust\nSELECT\n  COALESCE (\n    validator.label,\n    validator.hotkey\n  ) AS validator,\n  CASE \n    WHEN snapshot.total_stake = 0 THEN NULL \n    ELSE (emissions.emission * 7200 * 1000 / snapshot.total_stake) \nEND AS \" \",\n  block.created_at\nFROM\n  validator\n  CROSS JOIN metagraph_dumper_block block\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id AND snapshot.block_id = block.serial_number\n  INNER JOIN emissions emissions\n    ON emissions.neuron_id = snapshot.neuron_id\n    AND emissions.block_id = snapshot.block_id\nWHERE\n  validator.subnet_id = ${subnet}\n  AND emissions.mech_id = '${mech_id}'\n  -- AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n  AND snapshot.block_id BETWEEN (\n    SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n    SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  snapshot.total_stake DESC","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Daily TAO emissions / 1k of stake sn${subnet}","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"description":"","fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","axisSoftMin":0,"barAlignment":0,"barWidthFactor":0.6,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":false,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"never","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"min":-2,"thresholds":{"mode":"absolute","steps":[{"color":"green"}]}},"overrides":[]},"gridPos":{"h":7,"w":24,"x":0,"y":323},"id":11,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":false},"tooltip":{"mode":"single","sort":"none"}},"pluginVersion":"11.2.0","targets":[{"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","rawQuery":true,"rawSql":"-- id=miner.incentives\nSELECT\n  SUM(emissions.emission) AS emissions,\n  block.created_at\nFROM\n  validator\n  INNER JOIN metagraph_dumper_metadatasnapshot snapshot ON snapshot.neuron_id = validator.id\n  INNER JOIN metagraph_dumper_block block ON snapshot.block_id = block.serial_number\n  INNER JOIN emissions emissions\n    ON emissions.neuron_id = snapshot.neuron_id\n    AND emissions.block_id = snapshot.block_id\nWHERE\n  validator.subnet_id = ${subnet}\n  AND emissions.mech_id = '${mech_id}'\n  --AND block.created_at BETWEEN '${__from:date}' AND '${__to:date}'\n    AND snapshot.block_id BETWEEN (\n        SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n    ) AND (\n        SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n    )\nGROUP BY block.created_at","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"Total subnet emissions","transformations":[{"id":"prepareTimeSeries","options":{"format":"multi"}}],"type":"timeseries"},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"fieldConfig":{"defaults":{"color":{"mode":"thresholds"},"custom":{"align":"auto","cellOptions":{"type":"auto"},"inspect":false},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green"},{"color":"red","value":80}]}},"overrides":[]},"gridPos":{"h":2,"w":12,"x":0,"y":330},"id":35,"options":{"cellHeight":"sm","footer":{"countRows":false,"fields":"","reducer":["sum"],"show":false},"showHeader":true,"sortBy":[{"desc":true,"displayName":"mech_id"}]},"pluginVersion":"11.2.0","targets":[{"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\n  DISTINCT ms.mech_id :: int\r\nFROM\r\n  metagraph_dumper_mechanismsnapshot ms\r\nWHERE\r\n  ms.subnet_id = ${subnet}\r\n  AND ms.block_id BETWEEN (\r\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\r\n  ) AND (\r\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\r\n  )\r\nORDER BY\r\n  ms.mech_id :: int","refId":"A","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT i.incentive FROM metagraph_dumper_incentives WHERE mech_id = ${mech_id} AND neuron_id = {} AND block_id = {} LIMIT 10","refId":"B","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT i.dividend FROM metagraph_dumper_dividends WHERE mech_id = ${mech_id} AND neuron_id = {} AND block_id = {} LIMIT 10","refId":"C","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":false,"rawQuery":true,"rawSql":"SELECT ms.subnet_id, MAX(ms.mech_id) FROM metagraph_dumper_mechanismsnapshot ms WHERE mech_id != 0 GROUP BY subnet_id ORDER BY subnet_id","refId":"D","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}},{"datasource":{"type":"grafana-postgresql-datasource","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"editorMode":"code","format":"table","hide":true,"rawQuery":true,"rawSql":"SELECT\r\n  weightssum.neuron_id,\r\n  weightssum.mech_id,\r\n  weightssum.block_id,\r\n  weightssum.weights_sum\r\nFROM\r\n  metagraph_dumper_weightssum weightssum\r\nLIMIT 10\r\n","refId":"E","sql":{"columns":[{"parameters":[],"type":"function"}],"groupBy":[{"property":{"type":"string"},"type":"groupBy"}],"limit":50}}],"title":"debug","type":"table"}],"title":"WIP","type":"row"}],"preload":false,"refresh":"","schemaVersion":39,"tags":[],"templating":{"list":[{"allValue":"-1","current":{"text":"12 - Compute Horde","value":"12"},"datasource":{"type":"postgres","uid":"cfad9335-2929-4cd3-83ae-dbdbea65bb73"},"definition":"-- id=var.subnet\nSELECT\n  CONCAT(netuid, ' - ', name) netuid\nFROM\n  metagraph_dumper_subnet\nWHERE\n  netuid != 0\nORDER BY\n  netuid::int","description":"netuid","includeAll":true,"label":"subnet","name":"subnet","options":[],"query":"-- id=var.subnet\nSELECT\n  CONCAT(netuid, ' - ', name) netuid\nFROM\n  metagraph_dumper_subnet\nWHERE\n  netuid != 0\nORDER BY\n  netuid::int","refresh":1,"regex":"/^(?\u003ctext\u003e(?\u003cvalue\u003e\\w+).*)/","type":"query"},{"current":{"text":"0","value":"0"},"description":"","hide":2,"name":"uid_offset","query":"0","skipUrlSync":true,"type":"constant"},{"current":{"text":"1","value":"1"},"definition":"SELECT\n  DISTINCT ms.mech_id :: int\nFROM\n  metagraph_dumper_mechanismsnapshot ms\nWHERE\n  ms.subnet_id = ${subnet}\n  AND ms.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  ms.mech_id :: int","description":"","label":"mech_id","name":"mech_id","options":[],"query":"SELECT\n  DISTINCT ms.mech_id :: int\nFROM\n  metagraph_dumper_mechanismsnapshot ms\nWHERE\n  ms.subnet_id = ${subnet}\n  AND ms.block_id BETWEEN (\n      SELECT b1.serial_number FROM metagraph_dumper_block b1 WHERE b1.created_at \u003e= '${__from:date}' ORDER BY b1.serial_number LIMIT 1\n  ) AND (\n      SELECT b2.serial_number FROM metagraph_dumper_block b2 WHERE b2.created_at \u003c= '${__to:date}' ORDER BY b2.serial_number DESC LIMIT 1\n  )\nORDER BY\n  ms.mech_id :: int","refresh":2,"regex":"","type":"query"}]},"time":{"from":"now-7d","to":"now"},"timepicker":{"refresh_intervals":["10m","15m","30m","1h","2h","8h","1d"]},"timezone":"","title":"Metagraph Subnet","uid":"subnet","version":236,"weekStart":""}}