0xEunum / 0xEunum/Chainlink-Fundamentals

Programmatic Log Trigger Upkeep registers as Custom Logic (Chainlink Automation)

未关闭
#1 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Solidity
星标
0
派生
0
PR 合并指标
30 天内没有已合并 PR

描述

## Description

While trying to register a **Log Trigger** Chainlink Automation upkeep programmatically using the `registerUpkeep` function from the `IAutomationRegistrar2_1` interface, the upkeep gets incorrectly registered as a **Custom Logic** type.

Even though:
- `triggerType` is set to `1` (Log Trigger)
- A valid `triggerConfig` is built using `LogTriggerConfig` and `abi.encode`

...the upkeep appears in the Chainlink Automation UI as **Custom Logic**, not Log Trigger.

The function returns an `upkeepId` does not match the one shown in the UI.

#### Behavior Observed
- `triggerType: 1` was used (for Log Trigger).
- Proper `triggerConfig` was encoded and passed.
- Upkeep was registered and funded successfully.
- In the UI, upkeep type = **Custom Logic**
- Returned `upkeepId` does not match the one shown in the UI.

#### Workaround
When the exact same parameters are used in manual registration via the Chainlink Automation UI, the upkeep is correctly registered as a Log Trigger.

#### Possibly Affected Files
- `scripts/Data Streams/DeployStreamsUpKeep.s.sol`
- `scripts/Data Streams/SUPInteractions.s.s.sol` (RegisterUpKeep)
- `src/Data Streams/StreamsUpkeep.sol`
- `src/Data Streams/LogEmitter.sol`

#### Conclusion
This seems like either:
- A bug in the Chainlink Automation backend not parsing the `triggerType` and `triggerConfig` properly from the programmatic registration
- Or undocumented behavior where only manual registration supports log triggers correctly

贡献指南

这个仓库没有索引到贡献指南

调研方向

Examine the programmatic registration flow in scripts like `DeployStreamsUpKeep.s.sol` and `SUPInteractions.s.s.sol`. Compare the `triggerType` and encoded `triggerConfig` passed to `registerUpkeep` with the manual UI registration. Check the `StreamsUpkeep.sol` and `LogEmitter.sol` contracts for trigger configuration logic. The goal is to identify why the backend interprets the call as Custom Logic instead of Log Trigger.

由索引模型根据 Issue 内容生成。

评估

技术栈
solidity
领域
backend, blockchain
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。