-
Notifications
You must be signed in to change notification settings - Fork 19
Open
5 / 105 of 10 issues completedDescription
This issue consolidates the specification and implementation tasks for event-based decryption triggers in Shutter. See internal discussion for design rationale and background.
Specification
EventTriggerDefinition (ETD)
- Contract address + event signature (topic0)
- 0–3 indexed argument matches (topic1–3)
- 0–n conditions for non-indexed arguments
- Encoded format for keypers, with planned human-readable JSON schema (ABI-based)
Condition Matching
- Comparisons on number arguments (
lt,gt,eq) - Equality checks on
bytes32and complex byte types
TTL (Time-to-Live)
- Each ETD has an expiry block to avoid indefinite keyper load
- Initial version: fixed lifetime (e.g. ~1 week)
- Long term: paid extensions to extend TTL
- ETDs re-checked each block until TTL expires or decryption succeeds
Tasks
- Implement keyper logic
- Implement contract logic
- Integration tests (end-to-end with keypers + contracts)
- Update Shutter API docs (WIP)
- Update specs
- Announce / after rolling-shutter release
- Deployment to internal keypers (via shutter-deployment to both Chiado and Mainnet)
- Update Shutter API to include ETDs with only an allowed list of contracts at first and the possibility to add contracts
- Define and add metrics
- Demo
- Launch
- Add pricing to add custom contracts (timing TBD)
Additional info:
- Handle safe vs. eager evaluation (HEAD vs. confirmed blocks) - low priority
- Handle incomplete threshold cases - handled via republishing of key shares until key generated
Sub-issues
Metadata
Metadata
Assignees
Labels
No labels