public static bool Mint(UInt160 minterAccount, BigInteger amount) { if (IsPaused()) { Error("System is paused."); return(false); } if (amount <= 0) { Error("The parameter amount MUST be greater than 0."); return(false); } if (!IsMinter() || !Runtime.CheckWitness(minterAccount)) { Error("No authorization."); return(false); } if (IsBlacklisted(minterAccount)) { Error("Argument account is in blacklist."); return(false); } var allowance = GetAllowance(minterAccount); if (allowance < amount) { Error("Insufficient allowance."); return(false); } TotalSupplyStorage.Increase(amount); TotalAllowanceStorage.Reduce(amount); AssetStorage.Increase(minterAccount, amount); MinterStorage.ReduceAllowance(minterAccount, amount); Transferred(null, minterAccount, amount); return(true); }
public static BigInteger TotalAllowance() => TotalAllowanceStorage.Get();