Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idea sketches #2

Open
caike opened this issue Feb 10, 2023 · 6 comments
Open

Idea sketches #2

caike opened this issue Feb 10, 2023 · 6 comments

Comments

@caike
Copy link
Contributor

caike commented Feb 10, 2023

Thinking of MVP ideas after reading about the goals of this project. Thoughts ?

Cursor_and_Mockingbird

Cursor_and_Mockingbird

@ErkoLoco
Copy link

I think this looks great and is easy to follow. Great work. Are you thinking to have each tab be for each vesting period? So vesting 1 is sending everyone tokens on Dec 31, 2023 then vesting 2 would be sending tokens on December 31, 2024, etc? Might be easier to just have Start Date, End date, and # of payments per year on the first tab so that you only have to fill it out once and since many vesting schedules follow the same set pattern. Like if We are vesting and it starts on December 31, 2023 and ends December 31, 2025 and pays everyone out once a month then you would input the start date, end date, and 12 in the fields and it would send those out to everyone who is added as a beneficiary.

@caike
Copy link
Contributor Author

caike commented Feb 10, 2023

I think this looks great and is easy to follow. Great work. Are you thinking to have each tab be for each vesting period? So vesting 1 is sending everyone tokens on Dec 31, 2023 then vesting 2 would be sending tokens on December 31, 2024, etc?

Thanks. Yes, one tab for each vesting period.

Might be easier to just have Start Date, End date, and # of payments per year on the first tab so that you only have to fill it out once and since many vesting schedules follow the same set pattern. Like if We are vesting and it starts on December 31, 2023 and ends December 31, 2025 and pays everyone out once a month then you would input the start date, end date, and 12 in the fields and it would send those out to everyone who is added as a beneficiary.

Interesting. I was thinking about this in a slightly different manner where the % vested could be different for each period. Perhaps I am overthinking, but here's what I had in mind when sketching this:

  • Alice and Bob (beneficiaries 1 and 2 in this example) are each assigned an amount of tokens through the contract (The Deposit section)
  • Up until Target Date for Vesting 1 they are not allowed to cash out anything.
  • After Target Date for Vesting 1, they are allowed to cash out a pre-determined % of their tokens
  • After Target Date for Vesting 2, they are allowed to cash out a pre-determined % of their original amount of tokens
    and so on and so forth...

These Vesting tabs would be dynamically added as needed, just like the beneficiaries.

But I can see how your suggestion would be simpler, given an equal % of vesting for each period.

@ErkoLoco
Copy link

Got it, I can see where you are coming from and that makes sense. For a lot of vesting schedules I have seen, they are usually pretty consistent where they unlock on a certain date and then a fixed amount is sent until it expires. But you are right, fairly common to see something like a 1 year cliff which would be difficult to do in the example I gave above. Might be nice to give those options and have that kind of flexibility so that it accommodates anything.

@zachyking
Copy link
Contributor

oh, I put together description of a little different implementation before reading this 😅 , please let me know your thoughts! it's in design.draft.md inside this repository

@caike
Copy link
Contributor Author

caike commented May 2, 2023

Got it. So it's the linear vesting as previously suggested by @ErkoLoco , correct ?

The description makes sense. One thing I'm not sure I understand is the relationship between the two components: NFT Minting Policy and the Vesting Contract. Are these two related or are they completely independent from one another ?

@zachyking
Copy link
Contributor

@caike the main purpose of the minting policy is to track all deployed vesting contracts/utxos, so we know they all relate specific projects/orgs, but also so we can list/search for them in the dapp. this allows us to have good ux without need for our app specific database

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants