Add treasury balance (#1870)
This commit is contained in:
parent
043b4ca14a
commit
94a5c70f23
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/camelcase */
|
||||
// Copyright 2017-2019 @polkadot/app-democracy authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
@ -9,34 +8,39 @@ import BN from 'bn.js';
|
||||
import React from 'react';
|
||||
import { SummaryBox, CardSummary } from '@polkadot/react-components';
|
||||
import { withCalls } from '@polkadot/react-api';
|
||||
import { formatBalance, formatNumber } from '@polkadot/util';
|
||||
import { formatBalance, formatNumber, stringToU8a } from '@polkadot/util';
|
||||
|
||||
import translate from '../translate';
|
||||
|
||||
const TREASURY_ACCOUNT = stringToU8a('modlpy/trsry'.padEnd(32, '\0'));
|
||||
|
||||
interface Props extends I18nProps {
|
||||
treasury_proposalCount?: BN;
|
||||
treasury_approvals?: BN[];
|
||||
treasury_pot?: BN;
|
||||
treasuryBalance?: BN;
|
||||
approvals?: BN[];
|
||||
proposalCount?: BN;
|
||||
pot?: BN;
|
||||
}
|
||||
|
||||
function Summary ({ treasury_proposalCount, treasury_approvals, treasury_pot, t }: Props): React.ReactElement<Props> {
|
||||
const value = treasury_pot && treasury_pot.gtn(0)
|
||||
? treasury_pot.toString()
|
||||
: null;
|
||||
function Summary ({ treasuryBalance, approvals, proposalCount, pot, t }: Props): React.ReactElement<Props> {
|
||||
const value = treasuryBalance?.gtn(0)
|
||||
? treasuryBalance.toString()
|
||||
: pot?.gtn(0)
|
||||
? pot.toString()
|
||||
: null;
|
||||
|
||||
return (
|
||||
<SummaryBox>
|
||||
<section>
|
||||
<CardSummary label={t('proposals')}>
|
||||
{formatNumber(treasury_proposalCount)}
|
||||
{formatNumber(proposalCount)}
|
||||
</CardSummary>
|
||||
<CardSummary label={t('approved')}>
|
||||
{treasury_approvals ? treasury_approvals.length : '0'}
|
||||
{formatNumber(approvals?.length)}
|
||||
</CardSummary>
|
||||
</section>
|
||||
<section>
|
||||
{value && (
|
||||
<CardSummary label={t('pot')}>
|
||||
<CardSummary label={t('available')}>
|
||||
{formatBalance(value, false)}{formatBalance.calcSi(value).value}
|
||||
</CardSummary>
|
||||
)}
|
||||
@ -47,8 +51,12 @@ function Summary ({ treasury_proposalCount, treasury_approvals, treasury_pot, t
|
||||
|
||||
export default translate(
|
||||
withCalls<Props>(
|
||||
'query.treasury.proposalCount',
|
||||
'query.treasury.approvals',
|
||||
'query.treasury.pot'
|
||||
['query.balances.freeBalance', {
|
||||
params: [TREASURY_ACCOUNT],
|
||||
propName: 'treasuryBalance'
|
||||
}],
|
||||
['query.treasury.approvals', { propName: 'approvals' }],
|
||||
['query.treasury.proposalCount', { propName: 'proposalCount' }],
|
||||
['query.treasury.pot', { propName: 'pot' }]
|
||||
)(Summary)
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user