From e160a028cf92f3a625bcba88457b3e88aed0cdfe Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Mon, 25 Jun 2018 10:19:10 -0400 Subject: [PATCH] Voting form did not display during pagination --- .../proposal-manager/proposal-manager.js | 6 +++--- app/components/voting-dapp/voting.js | 19 +++++++++++++------ contracts/democracy/ProposalCuration.sol | 2 +- contracts/democracy/ProposalManager.sol | 8 +++----- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/app/components/proposal-manager/proposal-manager.js b/app/components/proposal-manager/proposal-manager.js index c71d7a5..00f2fec 100644 --- a/app/components/proposal-manager/proposal-manager.js +++ b/app/components/proposal-manager/proposal-manager.js @@ -21,14 +21,14 @@ class InnerForm extends PureComponent { } componentDidMount(){ - this.loadPrice(); + this._loadPrice(); } componentWillReceiveProps(){ - this.loadPrice(); + this._loadPrice(); } - async loadPrice(){ + _loadPrice(){ __embarkContext.execWhenReady(async () => { try { let _b = await ProposalCuration.methods.getSubmitPrice(web3.eth.defaultAccount).call(); diff --git a/app/components/voting-dapp/voting.js b/app/components/voting-dapp/voting.js index fdad98f..18013c2 100644 --- a/app/components/voting-dapp/voting.js +++ b/app/components/voting-dapp/voting.js @@ -15,9 +15,20 @@ class Voting extends Component { }; } + componentWillReceiveProps(){ + __embarkContext.execWhenReady(async () => { + this._loadProposalData(); + }); + } + componentDidMount(){ __embarkContext.execWhenReady(async () => { - ProposalManager.options.address = await ProposalCuration.methods.proposalManager().call(); + this._loadProposalData(); + }); + } + + async _loadProposalData() { + ProposalManager.options.address = await ProposalCuration.methods.proposalManager().call(); let _proposal = await ProposalManager.methods.getVoteInfo(this.props.proposalId, web3.eth.defaultAccount).call(); let blockNum = await web3.eth.getBlockNumber(); let _data = await ProposalManager.methods.proposals(this.props.proposalId).call(); @@ -28,7 +39,6 @@ class Voting extends Component { block: blockNum, finalResult: _data.result }); - }); } async determineFinalResult(e){ @@ -39,9 +49,7 @@ class Voting extends Component { if(receipt.status == '0x1'){ this.setState({ - decision: choice, - block: blockNum, - finalResult: receipt.events.ProposalResult.finalResult + finalResult: receipt.events.ProposalResult.returnValues.finalResult }); } } @@ -71,7 +79,6 @@ class Voting extends Component { } render(){ - console.log(this.state); return
{ this.state.decision != 0 ? diff --git a/contracts/democracy/ProposalCuration.sol b/contracts/democracy/ProposalCuration.sol index 7c1e97d..a14ff73 100644 --- a/contracts/democracy/ProposalCuration.sol +++ b/contracts/democracy/ProposalCuration.sol @@ -56,7 +56,7 @@ contract ProposalCuration is Controlled { uint256 submitPrice = getSubmitPrice(msg.sender); require(token.allowance(msg.sender, address(this)) >= submitPrice); require(token.transferFrom(msg.sender, address(this), submitPrice)); - proposalId = proposalManager.addProposal(_topic,keccak256(_to,_value,_data), 0, 1000); + proposalId = proposalManager.addProposal(_topic,keccak256(_to,_value,_data)); proposals[proposalId] = ProposalData( msg.sender, _to, diff --git a/contracts/democracy/ProposalManager.sol b/contracts/democracy/ProposalManager.sol index 4fe3d5c..e28c0f0 100644 --- a/contracts/democracy/ProposalManager.sol +++ b/contracts/democracy/ProposalManager.sol @@ -58,9 +58,7 @@ contract ProposalManager is Controlled { function addProposal( bytes32 _topic, - bytes32 _txHash, - uint blocksUntilVotingStart, - uint voteDuration + bytes32 _txHash ) public returns (uint proposalId) @@ -72,8 +70,8 @@ contract ProposalManager is Controlled { p.topic = _topic; p.txHash = _txHash; - p.blockStart = block.number + blocksUntilVotingStart; //will be replaced by configurations - p.voteBlockEnd = p.blockStart + voteDuration; //dummy value + p.blockStart = block.number + 1; //TODO: will be replaced by configurations + p.voteBlockEnd = p.blockStart + 10; //TODO: dummy value emit ProposalSet(_topic, proposalId, _txHash); }