Skip to content

Commit

Permalink
fix(Ticket): remove unnecessary uint224 casts (#166)
Browse files Browse the repository at this point in the history
  • Loading branch information
PierrickGT committed Oct 6, 2021
1 parent e0c851e commit 21d2561
Showing 1 changed file with 15 additions and 21 deletions.
36 changes: 15 additions & 21 deletions contracts/Ticket.sol
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ contract Ticket is ControlledToken, ITicket {

/// @inheritdoc ITicket
function delegate(address to) external virtual override {
uint224 balance = uint224(_balanceOf(msg.sender));
uint256 balance = _balanceOf(msg.sender);
address currentDelegate = delegates[msg.sender];

require(currentDelegate != to, "Ticket/delegate-already-set");
Expand Down Expand Up @@ -280,20 +280,18 @@ contract Ticket is ControlledToken, ITicket {
require(_sender != address(0), "ERC20: transfer from the zero address");
require(_recipient != address(0), "ERC20: transfer to the zero address");

uint224 amount = uint224(_amount);

_beforeTokenTransfer(_sender, _recipient, _amount);

if (_sender != _recipient) {
// standard balance update
uint256 senderBalance = balances[_sender];
require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
require(senderBalance >= _amount, "ERC20: transfer amount exceeds balance");

unchecked {
balances[_sender] = senderBalance - amount;
balances[_sender] = senderBalance - _amount;
}

balances[_recipient] += amount;
balances[_recipient] += _amount;

// history update
address senderDelegate = delegates[_sender];
Expand All @@ -308,9 +306,9 @@ contract Ticket is ControlledToken, ITicket {
address recipientDelegate = delegates[_recipient];

if (recipientDelegate != address(0)) {
_increaseUserTwab(_recipient, recipientDelegate, amount);
_increaseUserTwab(_recipient, recipientDelegate, _amount);
} else {
_increaseUserTwab(_recipient, _recipient, amount);
_increaseUserTwab(_recipient, _recipient, _amount);
}
}

Expand All @@ -328,17 +326,15 @@ contract Ticket is ControlledToken, ITicket {
function _mint(address _to, uint256 _amount) internal virtual override {
require(_to != address(0), "ERC20: mint to the zero address");

uint224 amount = _amount.toUint224();

_beforeTokenTransfer(address(0), _to, _amount);

balances[_to] += amount;
balances[_to] += _amount;

(
TwabLib.AccountDetails memory accountDetails,
ObservationLib.Observation memory _totalSupply,
bool tsIsNew
) = TwabLib.increaseBalance(totalSupplyTwab, amount, uint32(block.timestamp));
) = TwabLib.increaseBalance(totalSupplyTwab, _amount, uint32(block.timestamp));

totalSupplyTwab.details = accountDetails;

Expand All @@ -349,9 +345,9 @@ contract Ticket is ControlledToken, ITicket {
address toDelegate = delegates[_to];

if (toDelegate != address(0)) {
_increaseUserTwab(_to, toDelegate, amount);
_increaseUserTwab(_to, toDelegate, _amount);
} else {
_increaseUserTwab(_to, _to, amount);
_increaseUserTwab(_to, _to, _amount);
}

emit Transfer(address(0), _to, _amount);
Expand All @@ -369,8 +365,6 @@ contract Ticket is ControlledToken, ITicket {
function _burn(address _from, uint256 _amount) internal virtual override {
require(_from != address(0), "ERC20: burn from the zero address");

uint224 amount = _amount.toUint224();

_beforeTokenTransfer(_from, address(0), _amount);

(
Expand All @@ -379,7 +373,7 @@ contract Ticket is ControlledToken, ITicket {
bool tsIsNew
) = TwabLib.decreaseBalance(
totalSupplyTwab,
amount,
_amount,
"Ticket/burn-amount-exceeds-total-supply-twab",
uint32(block.timestamp)
);
Expand All @@ -392,18 +386,18 @@ contract Ticket is ControlledToken, ITicket {

uint256 accountBalance = balances[_from];

require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
require(accountBalance >= _amount, "ERC20: burn amount exceeds balance");

unchecked {
balances[_from] = accountBalance - amount;
balances[_from] = accountBalance - _amount;
}

address fromDelegate = delegates[_from];

if (fromDelegate != address(0)) {
_decreaseUserTwab(_from, fromDelegate, amount);
_decreaseUserTwab(_from, fromDelegate, _amount);
} else {
_decreaseUserTwab(_from, _from, amount);
_decreaseUserTwab(_from, _from, _amount);
}

emit Transfer(_from, address(0), _amount);
Expand Down

0 comments on commit 21d2561

Please sign in to comment.