Skip to content

Instantly share code, notes, and snippets.

@ac12644
Last active October 3, 2022 22:17
Show Gist options
  • Save ac12644/0a294928bba760d5acb576170096614f to your computer and use it in GitHub Desktop.
Save ac12644/0a294928bba760d5acb576170096614f to your computer and use it in GitHub Desktop.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
...
//Item State Modifiers
modifier producedByFarmer(uint256 _productCode) {
require(items[_productCode].itemState == State.ProduceByFarmer);
_;
}
modifier forSaleByFarmer(uint256 _productCode) {
require(items[_productCode].itemState == State.ForSaleByFarmer);
_;
}
modifier purchasedByDistributor(uint256 _productCode) {
require(items[_productCode].itemState == State.PurchasedByDistributor);
_;
}
modifier shippedByFarmer(uint256 _productCode) {
require(items[_productCode].itemState == State.ShippedByFarmer);
_;
}
modifier receivedByDistributor(uint256 _productCode) {
require(items[_productCode].itemState == State.ReceivedByDistributor);
_;
}
modifier processByDistributor(uint256 _productCode) {
require(items[_productCode].itemState == State.ProcessedByDistributor);
_;
}
modifier packagedByDistributor(uint256 _productCode) {
require(items[_productCode].itemState == State.PackageByDistributor);
_;
}
modifier forSaleByDistributor(uint256 _productCode) {
require(items[_productCode].itemState == State.ForSaleByDistributor);
_;
}
modifier shippedByDistributor(uint256 _productCode) {
require(items[_productCode].itemState == State.ShippedByDistributor);
_;
}
modifier purchasedByRetailer(uint256 _productCode) {
require(items[_productCode].itemState == State.PurchasedByRetailer);
_;
}
modifier receivedByRetailer(uint256 _productCode) {
require(items[_productCode].itemState == State.ReceivedByRetailer);
_;
}
modifier forSaleByRetailer(uint256 _productCode) {
require(items[_productCode].itemState == State.ForSaleByRetailer);
_;
}
modifier purchasedByConsumer(uint256 _productCode) {
require(items[_productCode].itemState == State.PurchasedByConsumer);
_;
}
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment