The contract for UniswapV2Oracle will not receive further credit. After the current credit is used up, please no longer call
work() as this will not reward KP3R. The new UniswapV2SlidingOracle will replace it going forward.
Will be updating the keeper script templates to include a credit check before performing a job to ensure it is profitable to call
What’s the intended purpose of the workForFree() function added to the public interface?
So that work can be completed even if not incentivized. “work for free”
Ah I see, was wondering if it was for some sort of planned integration with something like the Metakeep3r or theorized product that would use it.
Makes sense to have a backup function that doesn’t hit the workReceipt code path, if credit for the job runs out for example (else there would be a “workReceipt: insufficient funds” error in the tx, if I am not mistaken)
The implementation of workForFree doesn’t update lastJob for the Keeper. It bugs me just a little because it is technically a “job done”, but just not incentivized, so it feels like the meaning of lastJob morphs into lastPaidJob because of this.
I am assuming that won’t be too much of a problem though, plus fixing that would require add some setter for lastJob into KP3R contract’s public interface, which is might be too big of a cost for something so small.
We don’t see any jobs yet that use lastJob for custom logic, but I wonder if this will end up being a burden for those who want to use lastJob heavily in their job delegation logic but also want to have a workForFree API in case their credit runs out.