ballot_startTime:
基于当前提供的 Ballot 合约,进行修改和扩展,添加时间限制功能并确保其功能正确性。
功能描述: 为投票过程添加时间限制。设置一个开始时间和结束时间来控制投票的时间窗口。用户只能在投票周期内进行投票。
要求: 在合约中添加两个新的状态变量 startTime 和 endTime,用于表示投票的开始时间和结束时间。 在构造函数中初始化这些时间变量。 修改 vote 函数,确保用户只能在时间窗口内投票。如果不在时间窗口内投票,应该抛出错误。
remix部署:["xie","liu"],1728397050000,1728397060000,输入可以触发合约
ballot_setvoterweight: 基于当前提供的 Ballot 合约,进行修改和扩展,设置投票权重功能并确保其功能正确性。 功能描述: 允许投票权重的设置。投票权重可以由合约所有者设置,默认每个选民的权重为1。 要求: 添加一个函数 setVoterWeight(address voter, uint weight),允许合约所有者为某个选民设置特定的投票权重,并添加时间限制。 确保只有合约所有者(chairperson)可以调用此函数。