In the 'KittyBridge.sol::bridgeNftWithData' function; before calling 'router.ccipSend', the Router contract is not given approval to transfer LINK tokens.
As per the Chainlink CCIP documentation, the Router contract must be given permission to transfer LINK tokens. This is to ensure that the fees in LINK will be paid.
Below is the missing line as per the CCIP documentation
The 'KittyBridge.sol::bridgeNftWithData' function is missing the line to approve the Router to transfer LINK tokens. Without this approval, fees will not be able to be deducted from the contract's LINK balance.
--Foundry
It is recommended to add the below line to allow the Router contract to transfer LINK tokens.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.