csm-dashboard 0.3.1__tar.gz → 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/PKG-INFO +1 -1
  2. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/pyproject.toml +1 -1
  3. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/web/app.py +8 -8
  4. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/.dockerignore +0 -0
  5. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/.env.example +0 -0
  6. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/.github/workflows/docker-publish.yaml +0 -0
  7. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/.github/workflows/release.yaml +0 -0
  8. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/.gitignore +0 -0
  9. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/Dockerfile +0 -0
  10. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/README.md +0 -0
  11. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/docker-compose.yml +0 -0
  12. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/img/csm-dash-cli.png +0 -0
  13. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/img/csm-dash-web.png +0 -0
  14. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/img/logo.png +0 -0
  15. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/requirements.txt +0 -0
  16. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/__init__.py +0 -0
  17. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/abis/CSAccounting.json +0 -0
  18. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/abis/CSFeeDistributor.json +0 -0
  19. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/abis/CSModule.json +0 -0
  20. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/abis/__init__.py +0 -0
  21. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/abis/stETH.json +0 -0
  22. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/cli/__init__.py +0 -0
  23. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/cli/commands.py +0 -0
  24. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/core/__init__.py +0 -0
  25. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/core/config.py +0 -0
  26. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/core/contracts.py +0 -0
  27. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/core/types.py +0 -0
  28. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/__init__.py +0 -0
  29. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/beacon.py +0 -0
  30. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/cache.py +0 -0
  31. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/etherscan.py +0 -0
  32. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/ipfs_logs.py +0 -0
  33. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/known_cids.py +0 -0
  34. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/lido_api.py +0 -0
  35. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/onchain.py +0 -0
  36. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/rewards_tree.py +0 -0
  37. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/data/strikes.py +0 -0
  38. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/main.py +0 -0
  39. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/services/__init__.py +0 -0
  40. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/services/operator_service.py +0 -0
  41. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/web/__init__.py +0 -0
  42. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/src/web/routes.py +0 -0
  43. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/tests/__init__.py +0 -0
  44. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/tests/conftest.py +0 -0
  45. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/tests/unit/test_cache.py +0 -0
  46. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/tests/unit/test_config.py +0 -0
  47. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/tests/unit/test_strikes.py +0 -0
  48. {csm_dashboard-0.3.1 → csm_dashboard-0.3.2}/tests/unit/test_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csm-dashboard
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Lido CSM Operator Dashboard for tracking validator earnings
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: fastapi>=0.104
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "csm-dashboard"
3
- version = "0.3.1"
3
+ version = "0.3.2"
4
4
  description = "Lido CSM Operator Dashboard for tracking validator earnings"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -327,13 +327,13 @@ def create_app() -> FastAPI:
327
327
  document.getElementById('active-validators').textContent = data.validators.active;
328
328
  document.getElementById('exited-validators').textContent = data.validators.exited;
329
329
 
330
- document.getElementById('current-bond').textContent = (data.rewards?.current_bond_eth ?? 0).toFixed(6);
331
- document.getElementById('required-bond').textContent = (data.rewards?.required_bond_eth ?? 0).toFixed(6);
332
- document.getElementById('excess-bond').textContent = (data.rewards?.excess_bond_eth ?? 0).toFixed(6);
333
- document.getElementById('cumulative-rewards').textContent = (data.rewards?.cumulative_rewards_eth ?? 0).toFixed(6);
334
- document.getElementById('distributed-rewards').textContent = (data.rewards?.distributed_eth ?? 0).toFixed(6);
335
- document.getElementById('unclaimed-rewards').textContent = (data.rewards?.unclaimed_eth ?? 0).toFixed(6);
336
- document.getElementById('total-claimable').textContent = (data.rewards?.total_claimable_eth ?? 0).toFixed(6);
330
+ document.getElementById('current-bond').textContent = parseFloat(data.rewards?.current_bond_eth ?? 0).toFixed(6);
331
+ document.getElementById('required-bond').textContent = parseFloat(data.rewards?.required_bond_eth ?? 0).toFixed(6);
332
+ document.getElementById('excess-bond').textContent = parseFloat(data.rewards?.excess_bond_eth ?? 0).toFixed(6);
333
+ document.getElementById('cumulative-rewards').textContent = parseFloat(data.rewards?.cumulative_rewards_eth ?? 0).toFixed(6);
334
+ document.getElementById('distributed-rewards').textContent = parseFloat(data.rewards?.distributed_eth ?? 0).toFixed(6);
335
+ document.getElementById('unclaimed-rewards').textContent = parseFloat(data.rewards?.unclaimed_eth ?? 0).toFixed(6);
336
+ document.getElementById('total-claimable').textContent = parseFloat(data.rewards?.total_claimable_eth ?? 0).toFixed(6);
337
337
 
338
338
  results.classList.remove('hidden');
339
339
  } catch (err) {
@@ -413,7 +413,7 @@ def create_app() -> FastAPI:
413
413
  if (h.bond_healthy) {
414
414
  document.getElementById('health-bond').innerHTML = '<span class="text-green-400">HEALTHY</span>';
415
415
  } else {
416
- document.getElementById('health-bond').innerHTML = `<span class="text-red-400">DEFICIT -${h.bond_deficit_eth.toFixed(4)} ETH</span>`;
416
+ document.getElementById('health-bond').innerHTML = `<span class="text-red-400">DEFICIT -${parseFloat(h.bond_deficit_eth).toFixed(4)} ETH</span>`;
417
417
  }
418
418
 
419
419
  // Stuck validators
File without changes
File without changes
File without changes
File without changes