# \[Keepers\] UniswapV2Oracle decommissioned for UniswapV2SlidingOracle

**URL:** <https://gov.yearn.fi/t/keepers-uniswapv2oracle-decommissioned-for-uniswapv2slidingoracle/7648>\
**Category:** Keep3r\
**Created:** [4 November 2020 13:19 UTC](https://gov.yearn.fi/t/keepers-uniswapv2oracle-decommissioned-for-uniswapv2slidingoracle/7648 "2020-11-04T13:19:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![andre.cronje](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/andre.cronje/32/2283_2.png) [@andre.cronje](https://gov.yearn.fi/u/andre.cronje)\
**Post date:** [4 November 2020 13:19 UTC](https://gov.yearn.fi/t/keepers-uniswapv2oracle-decommissioned-for-uniswapv2slidingoracle/7648/1 "2020-11-04T13:19:10Z")

</div>

The contract for [UniswapV2Oracle](https://etherscan.io/address/0x127a2975c4E1c75f1ed4757a861bbd42523DB035) 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](https://github.com/iearn-finance/yoracle.link/blob/master/contracts/UniswapV2Oracle.sol) 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 `work()`

---

<div class="post-metadata">

**Author:** ![kx9x](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/kx9x/32/2308_2.png) [@kx9x](https://gov.yearn.fi/u/kx9x)\
**Post date:** [4 November 2020 15:53 UTC](https://gov.yearn.fi/t/keepers-uniswapv2oracle-decommissioned-for-uniswapv2slidingoracle/7648/2 "2020-11-04T15:53:12Z")

</div>

What’s the intended purpose of the workForFree() function added to the public interface?

---

<div class="post-metadata">

**Author:** ![andre.cronje](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/andre.cronje/32/2283_2.png) [@andre.cronje](https://gov.yearn.fi/u/andre.cronje)\
**Post date:** [4 November 2020 15:56 UTC](https://gov.yearn.fi/t/keepers-uniswapv2oracle-decommissioned-for-uniswapv2slidingoracle/7648/3 "2020-11-04T15:56:29Z")

</div>

So that work can be completed even if not incentivized. “work for free”

---

<div class="post-metadata">

**Author:** ![kx9x](https://dub1.discourse-cdn.com/flex013/user_avatar/gov.yearn.fi/kx9x/32/2308_2.png) [@kx9x](https://gov.yearn.fi/u/kx9x)\
**Post date:** [4 November 2020 16:15 UTC](https://gov.yearn.fi/t/keepers-uniswapv2oracle-decommissioned-for-uniswapv2slidingoracle/7648/4 "2020-11-04T16:15:18Z")

</div>

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.
