smartcontractkit / smartcontractkit/chainlink

[FEAT] Provide upkeep registration option that appends the upkeep Id to the returned checkData

Open
#5,399 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
8.2k
Forks
2k
Avg merge
1d 23h
Merged PRs (30d)
202

Description

Description
I am requesting that Chainlink provide an additional upkeep registration option that will append the upkeep Id to the registered checkData. The final format of the checkData sent to a keeper compatible contract would then be abi.encode(checkData, Id).

Additional checkUpkeep and performUpkeep functions (for id-enabled upkeeps only) would be required to prevent a non-Id-enabled upkeep from impersonatng an Id-enabled upkeep.

Also, an onlyKeeperRegistry modifier would need to be standardized for the performUpkeep function in the keeper compatible contract.

Motivation
I need the ability to verify the Id of the upkeep performing checkUpkeep/performUpkeep.

Justification
This method seems straight-forward, and would only require an additional abi.decode() operation to extract checkData and Id in the keeper compatable checkUpkeep function.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names keeper-compatible checkUpkeep and performUpkeep functions, upkeep registration, and the keeper registry; begin by locating those interfaces and the existing registration flow. Establish the behavior for ID-enabled and non-ID-enabled upkeeps, including authorization, then verify registration and both upkeep execution paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.