From f7e28ad2fb60771424aaf3ef198e63c3b6e46f32 Mon Sep 17 00:00:00 2001 From: Uncle Fatso Date: Fri, 16 Oct 2026 15:50:42 +0300 Subject: [PATCH] emit events when treasury mint is skipped Signed-off-by: Uncle Fatso --- src/Treasury.sol | 10 ++++++++-- src/interfaces/ITreasury.sol | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Treasury.sol b/src/Treasury.sol index 2292fcb..3022f60 100644 --- a/src/Treasury.sol +++ b/src/Treasury.sol @@ -62,9 +62,12 @@ contract GhostTreasury is GhostAccessControlled, ITreasury { function mint(address recipient, uint256 amount) external override { if (!_permissions[STATUS.REWARDMANAGER][msg.sender]) revert NotApproved(); - if (amount <= excessReserves()) { + uint256 currentExcessReserves = excessReserves(); + if (amount <= currentExcessReserves) { IFTSO(FTSO).mint(recipient, amount); emit Minted(msg.sender, recipient, amount); + } else { + emit NothingMinted(msg.sender, recipient, amount, currentExcessReserves); } } @@ -93,8 +96,11 @@ contract GhostTreasury is GhostAccessControlled, ITreasury { uint256 gasValue = tokenValue(reserveToken, gasSpent); gasValue = FullMath.mulDiv(gasValue, totalSupply, totalReserves); - if (gasValue > 0 && gasValue <= excessReserves()) { + uint256 currentExcessReserves = excessReserves(); + if (gasValue > 0 && gasValue <= currentExcessReserves) { IBondDepository(bondDepository).addNote(receiver, gasValue, phantomRelease); + } else { + emit NothingMinted(bondDepository, receiver, gasValue, currentExcessReserves); } } diff --git a/src/interfaces/ITreasury.sol b/src/interfaces/ITreasury.sol index 347f065..c873d19 100644 --- a/src/interfaces/ITreasury.sol +++ b/src/interfaces/ITreasury.sol @@ -22,6 +22,12 @@ interface ITreasury { event Permissioned(address addr, STATUS indexed status, bool result); event Withdrawal(address indexed token, uint256 indexed amount, uint256 value); event BondDepositoryUpdated(address bondDepository); + event NothingMinted( + address indexed caller, + address indexed recipient, + uint256 amountRequested, + uint256 amountPossible + ); function deposit( address _token,