// SPDX-License-Identifier: GPL-3.0
/// Not enough funds for transfer. Requested `requested`,
/// but only `available` available.
error NotEnoughFunds(uint requested, uint available);
mapping(address => uint) balances;
function transfer(address to, uint amount) public {
uint balance = balances[msg.sender];
revert NotEnoughFunds(amount, balance);
balances[msg.sender] -= amount;