Beispiel #1
0
        public async Task <List <Hash> > GetNotApprovedProposalIdListAsync(Address @from, Hash blockHash, long blockHeight)
        {
            var proposalIdList = _proposalProvider.GetAllProposals();
            var result         = await _parliamentContractReaderFactory.Create(blockHash, blockHeight, from)
                                 .GetNotVotedProposals.CallAsync(new ProposalIdList {
                ProposalIds = { proposalIdList }
            });

            return(result?.ProposalIds.ToList());
        }
        public async Task <List <Hash> > GetNotApprovedProposalIdListAsync(Address @from, Hash blockHash, long blockHeight)
        {
            var proposalIdList = _proposalProvider.GetAllProposals();
            var result         = await _contractReaderFactory.Create(new ContractReaderContext
            {
                BlockHash       = blockHash,
                BlockHeight     = blockHeight,
                ContractAddress = await GetParliamentContractAddressAsync(new ChainContext
                {
                    BlockHash   = blockHash,
                    BlockHeight = blockHeight
                }),
                Sender = from
            }).GetNotVotedProposals.CallAsync(new ProposalIdList {
                ProposalIds = { proposalIdList }
            });

            return(result?.ProposalIds.ToList());
        }
        public void GetAllProposalsTest()
        {
            var proposalId     = HashHelper.ComputeFrom("ProposalId");
            var blockHeight    = 10;
            var proposalIdList = _proposalProvider.GetAllProposals();

            proposalIdList.ShouldBeEmpty();

            _proposalProvider.AddProposal(proposalId, blockHeight);
            proposalIdList = _proposalProvider.GetAllProposals();
            proposalIdList.Count.ShouldBe(1);
            proposalIdList.ShouldContain(proposalId);

            var lowerHeight = blockHeight - 1;

            _proposalProvider.AddProposal(proposalId, lowerHeight);
            proposalIdList = _proposalProvider.GetAllProposals();
            proposalIdList.Count.ShouldBe(1);
            proposalIdList.ShouldContain(proposalId);
        }