Add treasury balance (#1870)

This commit is contained in:
Jaco Greeff 2019-11-12 08:17:33 +01:00 committed by GitHub
parent 043b4ca14a
commit 94a5c70f23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)
);