Преглед на файлове

Fix ERC20Snapshot#_beforeTokenTransfer (#2328)

sunhurts преди 5 години
родител
ревизия
6d5a73815d
променени са 1 файла, в които са добавени 6 реда и са изтрити 2 реда
  1. 6 2
      contracts/token/ERC20/ERC20Snapshot.sol

+ 6 - 2
contracts/token/ERC20/ERC20Snapshot.sol

@@ -110,8 +110,12 @@ abstract contract ERC20Snapshot is ERC20 {
     function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
       super._beforeTokenTransfer(from, to, amount);
 
-      if (from == address(0) || to == address(0)) {
-        // mint or burn
+      if (from == address(0)) {
+        // mint
+        _updateAccountSnapshot(to);
+        _updateTotalSupplySnapshot();
+      } else if (to == address(0)) {
+        // burn
         _updateAccountSnapshot(from);
         _updateTotalSupplySnapshot();
       } else {