0xEunum / 0xEunum/Chainlink-Fundamentals
Programmatic Log Trigger Upkeep registers as Custom Logic (Chainlink Automation)
- 主要语言
- 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