smartcontractkit / smartcontractkit/chainlink
[FEAT] Provide upkeep registration option that appends the upkeep Id to the returned checkData
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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