[Issue] Insufficient Reward and failed transaction

Problem:
Workable method will return “true” although there’s not enough reward/credit of the job. This can cause ETH got drained because every time calling “Work()” will spend some gas for failed transaction.

Imagine when keeper not aware of the Job that already in low amount of credit, some jobs can cost around $20-$40/failed transaction and job are called every minutes, so in 1 hour will cost $1200-$2400 for that workable job but it’s actually not workable.
I’m sure as a keeper we are not just calling 1 job per minutes but we do validates multiple jobs in 1 minutes.

Expectation:
Being keeper, we all expect to get some reward to do some jobs although there’s competition between keeper to getting the reward. But its better if we can have some sample code or we can be sure that “workable” function is actually work to avoid spending for failed transaction.

It would be great if we can get some compensation as being keeper, especially for those who got too many failed transaction because of the jobs that still have bug on there(still have credit but not enough reward).

As a honest Keeper, when we got too many failed transaction we will think it much more profitable by just buy KP3R with ETH and then sold it when the price higher.

Solutions:

  1. Auto Deactivate the jobs that not have enough Reward.
  2. Create some small incentive for failed “workable” job transaction. as being keeper we already take some risk by spending ETH for doing the job, although they can’t be 100% sure to get rewarded by calling the work function.
  3. Give more reward to keeper that already done the jobs but still have loss in term of spending ETH and the reward gained.
1 Like

This should indeed get some kind of fix. I had proposed another solution, by just sending the remainder KP3R credit for the last job so like this the job will be out of credit afterwards. Like this there is only 1 workable transaction with a (small) loss, depending on the remainder KP3R.