|
@@ -187,7 +187,9 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
|
|
|
|
|
|
uint256 fromBalance = _balances[id][from];
|
|
|
require(fromBalance >= amount, "ERC1155: insufficient balance for transfer");
|
|
|
- _balances[id][from] = fromBalance - amount;
|
|
|
+ unchecked {
|
|
|
+ _balances[id][from] = fromBalance - amount;
|
|
|
+ }
|
|
|
_balances[id][to] += amount;
|
|
|
|
|
|
emit TransferSingle(operator, from, to, id, amount);
|
|
@@ -228,7 +230,9 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
|
|
|
|
|
|
uint256 fromBalance = _balances[id][from];
|
|
|
require(fromBalance >= amount, "ERC1155: insufficient balance for transfer");
|
|
|
- _balances[id][from] = fromBalance - amount;
|
|
|
+ unchecked {
|
|
|
+ _balances[id][from] = fromBalance - amount;
|
|
|
+ }
|
|
|
_balances[id][to] += amount;
|
|
|
}
|
|
|
|
|
@@ -327,7 +331,9 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
|
|
|
|
|
|
uint256 accountBalance = _balances[id][account];
|
|
|
require(accountBalance >= amount, "ERC1155: burn amount exceeds balance");
|
|
|
- _balances[id][account] = accountBalance - amount;
|
|
|
+ unchecked {
|
|
|
+ _balances[id][account] = accountBalance - amount;
|
|
|
+ }
|
|
|
|
|
|
emit TransferSingle(operator, account, address(0), id, amount);
|
|
|
}
|
|
@@ -353,7 +359,9 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
|
|
|
|
|
|
uint256 accountBalance = _balances[id][account];
|
|
|
require(accountBalance >= amount, "ERC1155: burn amount exceeds balance");
|
|
|
- _balances[id][account] = accountBalance - amount;
|
|
|
+ unchecked {
|
|
|
+ _balances[id][account] = accountBalance - amount;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
emit TransferBatch(operator, account, address(0), ids, amounts);
|