I suggest increasing the value of “transferGas” for Staking.sol in order to use an upgradable contract as a staker.
Currently, the value of
transferGas equals to 2300.
Simple send to smart contract that is deployed using proxy consumes 2747 gas, but Staking.sol allows to use only 2300 gas. It also works with Ethereum since it supports EIP2930(access lists). As a result, there is currently no way to use an upgradable contract as a staker in Staking.sol.
Also a re-entrancy attack makes sense if you can modify storage that costs 5k gas. Setting
transferGas value less than 5k gas is safe for you.