Introduction

Goal

Allow SPL Governance users to vest tokens or give out grants through the realms.today interface.

Intro

SPL Governance

Program for controlling assets by making proposals, discussions, and voting.

De facto UI for SPL governance: https://realms.today/

Streamflow

JS SDK for interaction with the on-chain program:

https://github.com/streamflow-finance/js-sdk

Token vesting using Streamflow

https://docs.streamflow.finance/help/tutorials/token-vesting


How will integration be done

  1. Brief with Streamflow team (after reading this document)
  2. Streamflow to provide the required access to:
  3. Development
    1. Use Streamflow UI fork of Realms UI, branch with working PoC (a bit stale, so please merge the latest version, and create a PR [in draft])
    2. Develop UI requirements (listed below) in the following chunks: (Each step should be approved by Streamflow)
      1. Add Streamflow instruction to the instructions dropdown (0.5d)
      2. Develop Create Vesting Form, validations and prepare data object for the SDK to be invoked (2d)
      3. Serialize instruction using JS-SDK and prepare it for the proposal (1d)
      4. Integrate instruction with the Realms proposal plugin system (2d)
      5. Finalize first requirement — execute the flow on devnet (0.5)
      6. Display details of the form in the proposal instructions section (2d)
      7. Finalize third requirement - execute the flow on devnet (1d)
      8. Display the details of cancel proposal (1d)
    3. Test using devnet
      1. Setup a test token - reach out to @Watson for help
      2. setup test governance with SOL and test token treasuries
  4. Testing with Streamflow team
    1. Showcase the flow of all requirements to the team
    2. Have @dushan do the QA to check for the design and requirements match