Add proper revert message on overflow of totalSupply during burn (#3144)
This commit is contained in:
@ -51,7 +51,13 @@ abstract contract ERC1155Supply is ERC1155 {
|
||||
|
||||
if (to == address(0)) {
|
||||
for (uint256 i = 0; i < ids.length; ++i) {
|
||||
_totalSupply[ids[i]] -= amounts[i];
|
||||
uint256 id = ids[i];
|
||||
uint256 amount = amounts[i];
|
||||
uint256 supply = _totalSupply[id];
|
||||
require(supply >= amount, "ERC1155: burn amount exceeds totalSupply");
|
||||
unchecked {
|
||||
_totalSupply[id] = supply - amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user