To Do Steps

  1. Specify the data model for each of the PDAs (Data models are not mutable!)(Data model should be limited to our organization, meaning only members of our org can mutate it)
  2. Check if the data model exist in the gateway network (probably not) if not call createDataModel to create the data model (frontend doesn’t support creating data model)
  3. To issue PDA, you need to use the CreatePDA function and also need to specify the dataModelId (No frontend for issuance)
  4. Create a data request template using dataRequestTemplate to aggregate data for the snapshot strategy.
  5. Get nonce, have the user sign it and request for proof based on the dataRequestTemplate
    1. If user is not eligible no proof will be created.
    2. if user is eligible a proof will be generated, using the generated proof we can get PDA information and do voting calculation in snapshot strategy

Considerations for the data model

General considerations

Proposed Data model for PDAs

Citizen House

Builder House