+ {finalityProviders.map((fp) => {
+ const isSelected = selectedFP === fp.btcPk;
+ const isSelectable = isRowSelectable(fp);
+ const totalDelegation = maxDecimals(
+ satoshiToBtc(fp.activeTVLSat || 0),
+ 8,
+ );
+ const commission = maxDecimals((Number(fp.commission) || 0) * 100, 2);
+ const status = FinalityProviderStateLabels[fp.state] || "Unknown";
+
+ return (
+
+
+
+
+
+ {fp.btcPk
+ ? `${fp.btcPk.slice(0, 6)}...${fp.btcPk.slice(-6)}`
+ : ""}
+
+
+ {fp.description?.moniker || "Unnamed Provider"}
+
+
+
+
+
+
+
{coinSymbol} PK
+
+ {fp.btcPk
+ ? `${fp.btcPk.slice(0, 5)}...${fp.btcPk.slice(-5)}`
+ : ""}
+
+
+
+
Total Delegation
+
+ {totalDelegation} {coinSymbol}
+
+
+
+
Commission
+
{commission}%
+
+
+
+ );
+ })}
+
+ );
+};
diff --git a/src/ui/state/FinalityProviderBsnState.tsx b/src/ui/state/FinalityProviderBsnState.tsx
index a03859e1a..e16522df7 100644
--- a/src/ui/state/FinalityProviderBsnState.tsx
+++ b/src/ui/state/FinalityProviderBsnState.tsx
@@ -30,6 +30,8 @@ interface FinalityProviderBsnState {
finalityProviderMap: Map