Rise In Logo



Solidity Fundamentals

In the last lesson, we have created our Proposal structure and we also defined a mapping for this structure. We also said that we need a system so that we can keep track of the ids.

In this lesson, we will be creating a Counter so that we can keep track of the ids.

You can define the counter as:

uint256 private counter;

After adding the counter, your contract should look like this:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;


contract ProposalContract {
    uint256 private counter; // This line is added
    struct Proposal {
        string description; // Description of the proposal
        uint256 approve; // Number of approve votes
        uint256 reject; // Number of reject votes
        uint256 pass; // Number of pass votes
        uint256 total_vote_to_end; // When the total votes in the proposal reaches this limit, proposal ends
        bool current_state; // This shows the current state of the proposal, meaning whether if passes of fails
        bool is_active; // This shows if others can vote to our contract
    }


    mapping(uint256 => Proposal) proposal_history; // Recordings of previous proposals
}

Comments

You need to enroll in the course to be able to comment!

Stay in the know

Never miss updates on new programs and opportunities.

Rise In Logo

Rise together in web3!