Skip to content

Instantly share code, notes, and snippets.

@ericoporto
Created September 6, 2019 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ericoporto/3ef51bac3c027f588a117bc3608999a9 to your computer and use it in GitHub Desktop.
Save ericoporto/3ef51bac3c027f588a117bc3608999a9 to your computer and use it in GitHub Desktop.
Simple Solidity exercises
pragma solidity ^0.5.11;
contract DurationClause {
uint CalendarDaysDuration; // a number of days period, in calendar days.
address Owner;
bool Active;
uint DurationLimit;
constructor(uint initialDuration, uint initialDurationLimit) public {
CalendarDaysDuration = initialDuration;
DurationLimit = initialDurationLimit;
Owner = msg.sender;
Active = true;
}
function SetDuration(uint durationInCalendarDays) public {
require(msg.sender==Owner,
"Failed. Are you this contract owner?");
require(durationInCalendarDays <= DurationLimit,
"New duration bigger than contract defined maximum limit.");
CalendarDaysDuration = durationInCalendarDays;
}
function GetDuration() public view returns(uint) {
return CalendarDaysDuration;
}
function GetDurationLimit() public view returns(uint) {
return DurationLimit;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment