- 
                Notifications
    
You must be signed in to change notification settings  - Fork 19
 
Open
3 / 83 of 8 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