Skip to content

Instantly share code, notes, and snippets.

@vis-kid
Created February 5, 2022 23:14
Show Gist options
  • Save vis-kid/2d777941a770ffb769c32fe6770acf16 to your computer and use it in GitHub Desktop.
Save vis-kid/2d777941a770ffb769c32fe6770acf16 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.11+commit.22be8592.js&optimize=false&runs=200&gist=
pragma solidity 0.5.11;
contract Enum {
enum Status {
Pending,
Shipped,
Accepted,
Rejected,
Canceled
}
Status public status;
function ship() public {
require(status == Status.Pending);
status = Status.Shipped;
}
function acceptDelivery() public {
require(status == Status.Shipped);
status = Status.Accepted;
}
function recjectDelivery() public {
require(status == Status.Shipped);
status = Status.Rejected;
}
function cancelOrder() public {
require(status == Status.Pending);
status = Status.Canceled;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment