question: how to recognize a signaling scheme
- Dominant language
- TypeScript
- Stars
- 44
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Description
So: Ape Unit is developing a signaling schem feature in https://github.com/daostack/subgraph/pull/427
It works like this:
- generic actions include, in their ipfs data, a key-value pair and a corresponding action (add, delete, remove)
- these key-value paris are then indexed in the subgraph
This means that on-chain, there is no such thing as a "signalingscheme contract": it is just a GenericScheme that is treated different in subgraph and alchemy
The question is this:
- how does the subgraph know which GenericScheme to treat as a signaling scheme (how does the subgraph know for which contracts it needs to look for key-value pairs in the ipfs data)?
- how will alchemy know if a GenericScheme scheme is to be treated as a signaling scheme?
Example solution (not sure if this is good but would work):
- a schemeregistrar proposal for adding a new scheme includes in the data on ipfs under "descriptionHash" an (optional) field "typeofScheme"
- when registering a `GenericScheme` on proposal execution, the subgraph will read `typeofScheme`. If `typeofScheme === 'SignalingScheme`, it will (a) index the signal scheme events as described above and (b) set the name of the scheme to `SignalingScheme`
- alchemy can read the scheme name and provide the correct interface
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing PR 427 and the subgraph's handling of GenericScheme registrations, IPFS descriptionHash data, and indexed events. Compare that with how Alchemy identifies scheme interfaces; done requires an agreed, implemented way for both systems to recognize signaling schemes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, typescript
- Domain
- backend-api-design, blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100