(Feature) Auto fetching of EmissionFunds balance every 5 seconds

This commit is contained in:
Vadim Arasev 2018-09-21 20:34:12 +03:00
parent 5224f4426c
commit 031736888c
1 changed files with 12 additions and 6 deletions

View File

@ -1,12 +1,13 @@
import React from 'react'
import { observable, action } from 'mobx'
import { inject, observer } from 'mobx-react'
import { constants } from '../constants'
import moment from 'moment'
@inject('ballotStore', 'contractsStore')
@observer
export class BallotEmissionFundsMetadata extends React.Component {
@observable emissionFundsBalance
@observable emissionFundsBalance = 'Loading...'
@observable noActiveBallotExists
@observable beginDateTime
@observable endDateTime
@ -14,11 +15,8 @@ export class BallotEmissionFundsMetadata extends React.Component {
@action('Get EmissionFunds balance')
getEmissionFundsBalance = async () => {
const { contractsStore } = this.props
this.emissionFundsBalance = 'Loading...'
this.emissionFundsBalance = contractsStore.web3Instance.fromWei(
await contractsStore.emissionFunds.balance(),
'ether'
)
this.emissionFundsBalance =
contractsStore.web3Instance.fromWei(await contractsStore.emissionFunds.balance(), 'ether') + ' POA'
}
@action('Get VotingToManageEmissionFunds.noActiveBallotExists')
@ -63,6 +61,14 @@ export class BallotEmissionFundsMetadata extends React.Component {
this.getDateTimeLimits()
}
componentDidMount() {
this.interval = setInterval(this.getEmissionFundsBalance, constants.getTransactionReceiptInterval)
}
componentWillUnmount() {
window.clearInterval(this.interval)
}
render() {
const { ballotStore, contractsStore } = this.props
let note, explorerLink