In estimatePaymentAmountInETH() gasExceptCallback is influenced by not only groupSize but RandomnessRequestParams.
Like when RequestType is RandomWords, the numWords will decide how many instructions are executed when building randomWords in _fulfillCallback(). Similarly, we should consider gasExceptCallback with upper when RequestType is Shuffling.
This is different from callbackGasLimit which should be calculated and passed by consumer contract. Adapter should handle this in requestRandomness().
In
estimatePaymentAmountInETH()gasExceptCallbackis influenced by not onlygroupSizebutRandomnessRequestParams.Like when RequestType is
RandomWords, thenumWordswill decide how many instructions are executed when buildingrandomWordsin_fulfillCallback(). Similarly, we should considergasExceptCallbackwithupperwhen RequestType isShuffling.This is different from
callbackGasLimitwhich should be calculated and passed by consumer contract.Adaptershould handle this inrequestRandomness().