diff --git a/.gitignore b/.gitignore index 88608a7..31f863d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,5 +24,5 @@ yarn-error.log* /src/__data__/host*.json - +*.code-workspace .sentryclirc diff --git a/public/locales/en.json b/public/locales/en.json index 27b65a2..0e1a42a 100644 --- a/public/locales/en.json +++ b/public/locales/en.json @@ -360,6 +360,8 @@ "blockValueBaseValue": "Base value (<1>)", "blockValueBaseValueNames": "{{count, number}} name", "blockValueBaseValueNames_plural": "{{count, number}} names", + "blockValueBaseValuePenalties": "{{count, number}} penalty", + "blockValueBaseValuePenalties_plural": "{{count, number}} penalties", "blockValueNextDecrease": "Decreases by <1> in <3>{{count, number}} block", "blockValueNextDecrease_plural": "Decreases by <1> in <3>{{count, number}} blocks", "blockValueReset": "Resets in <1>{{count, number}} block", diff --git a/src/components/transactions/TransactionItemParts.tsx b/src/components/transactions/TransactionItemParts.tsx index 9743d8d..607ebb7 100644 --- a/src/components/transactions/TransactionItemParts.tsx +++ b/src/components/transactions/TransactionItemParts.tsx @@ -100,7 +100,7 @@ fromWallet, toWallet, hideNameAddress, noLink }: PartAddressProps): JSX.Element | null { - if (type === "name_a_record") return null; + if (type === "name_a_record" || (type === "staking" && tx.to === "staking")) return null; return @@ -131,7 +131,7 @@ fromWallet, hideNameAddress, noLink }: Omit): JSX.Element | null { - if (type === "name_a_record" || type === "name_purchased" || type === "mined") + if (type === "name_a_record" || type === "name_purchased" || type === "mined" || (type === "staking" && tx.from === "staking")) return null; return diff --git a/src/components/transactions/TransactionType.tsx b/src/components/transactions/TransactionType.tsx index cdef345..bb2eb84 100644 --- a/src/components/transactions/TransactionType.tsx +++ b/src/components/transactions/TransactionType.tsx @@ -14,13 +14,13 @@ export type InternalTransactionType = "transferred" | "sent" | "received" | "mined" | "name_a_record" | "name_transferred" | "name_sent" | "name_received" | - "name_purchased" | "bumped" | "unknown"; + "name_purchased" | "bumped" | "staking" | "unknown"; export const INTERNAL_TYPES_SHOW_VALUE: InternalTransactionType[] = [ - "transferred", "sent", "received", "mined", "name_purchased", "bumped" + "transferred", "sent", "received", "mined", "name_purchased", "bumped", "staking" ]; export const TYPES_SHOW_VALUE: TenebraTransactionType[] = [ - "transfer", "mined", "name_purchase" + "transfer", "mined", "name_purchase", "staking" ]; export function getTransactionType( @@ -44,6 +44,7 @@ case "name_a_record": return "name_a_record"; case "name_purchase": return "name_purchased"; + case "staking": return "staking"; case "mined": return "mined"; diff --git a/src/pages/dashboard/BlockValueCard.tsx b/src/pages/dashboard/BlockValueCard.tsx index f338185..396fb99 100644 --- a/src/pages/dashboard/BlockValueCard.tsx +++ b/src/pages/dashboard/BlockValueCard.tsx @@ -18,6 +18,9 @@ const work = useSelector((s: RootState) => s.node.detailedWork); const hasNames = (work?.unpaid || 0) > 0; + const soonestDecrease = Math.min(work ? work.decrease.blocks : 0, work ? work.decreasePenalty.blocks : 0); + const soonestDecreaseAmount = (work ? work.decrease.value : 0) + (work ? work.decreasePenalty.value : 0) + const resetBlock = Math.max(work ? work.decrease.reset : 0, work ? work.decreasePenalty.reset : 0); return @@ -40,29 +43,31 @@ {t("dashboard.blockValueBaseValueNames", { count: work.unpaid })} +  +  + {t("dashboard.blockValueBaseValuePenalties", { count: work.unpaidPenalties })} {/* Progress bar */} - + {/* Decrease and reset */}
{/* Decrease */} - {work.decrease.blocks !== work.decrease.reset && <> - + {soonestDecrease !== resetBlock && <> + Decreases by - + in - {{ count: work.decrease.blocks }} + {{ count: soonestDecrease }} · } {/* Reset */} - + Resets in - {{ count: work.decrease.reset }} + {{ count: resetBlock }}
} diff --git a/src/tenebra/api/types.ts b/src/tenebra/api/types.ts index f2d4e60..ba905ba 100644 --- a/src/tenebra/api/types.ts +++ b/src/tenebra/api/types.ts @@ -12,7 +12,7 @@ } export type TenebraTransactionType = "unknown" | "mined" | "name_purchase" - | "name_a_record" | "name_transfer" | "transfer"; + | "name_a_record" | "name_transfer" | "transfer" | "staking"; export interface TenebraTransaction { id: number; from: string | null; @@ -49,6 +49,7 @@ export interface TenebraWorkDetailed { work: number; unpaid: number; + unpaidPenalties: number; base_value: number; block_value: number; @@ -58,6 +59,12 @@ blocks: number; reset: number; }; + + decreasePenalty: { + value: number; + blocks: number; + reset: number; + }; } export interface TenebraConstants {