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

Create Vault contract #17

Open
LNow opened this issue Apr 23, 2021 · 7 comments
Open

Create Vault contract #17

LNow opened this issue Apr 23, 2021 · 7 comments
Labels
👀 Clarity Something todo with Clarity 💡 Feature A new feature or request 🆘 Help Needed Help me pls <3 ⚠️ High Priority High priority issue ❓ Question Further information is requested

Comments

@LNow
Copy link
Contributor

LNow commented Apr 23, 2021

Create initial version of Vault contract that will let us:

  • deposit STX
  • transfer STX to different address
  • check total balance

Nice to have:

  • deposit any fungible token compliant with SIP-10-FT
  • transfer any fungible token to different address
  • check total balance of every single type of FT available in Vault
@LNow LNow added the 👀 Clarity Something todo with Clarity label Apr 23, 2021
@friedger
Copy link

What permission should we use for transfer?

@LNow
Copy link
Contributor Author

LNow commented Apr 27, 2021

My main idea was to keep permissions as simple as possible. Same as it has been done with Linux file permissions:
Read - lets you read file
Write - lets you write to a file
Execute - lets you execute file

By following this principle if we need a permission that will let users call transfer function - we name the permission transfer.

@Zk2u
Copy link

Zk2u commented Apr 27, 2021

It should be an internal method that's only callable after a majority vote (for transferring funds).

@friedger
Copy link

Do you want to include the voting logic into the vault?

@LNow
Copy link
Contributor Author

LNow commented Apr 27, 2021

No.
By keeping them separate we'll be able to implement multiple voting possibilities (with plugins);

  • voting by pledging STX
  • voting by pledging internal DAO tokens
  • voting by saying YES/NO (signing simple transaction)
  • secret voting where first you vote YES/NO and your vote is secret until the revealing phase.
  • voting base on reputation (you put at stake some internal reputation points)
  • etc.

And vault has nothing to do with voting and the other way around.

@cryptopanter
Copy link
Member

Create initial version of Vault contract that will let us:

  • deposit STX
  • transfer STX to different address
  • check total balance

Nice to have:

  • deposit any fungible token compliant with SIP-10-FT
  • transfer any fungible token to different address
  • check total balance of every single type of FT available in Vault

I think we can assume RBAC and Vault contracts as components of DAO container in c4model, right?. Also any other plugins will be released later

@LNow
Copy link
Contributor Author

LNow commented May 6, 2021

After recent discussion I think we won't have RBAC at all. And I don't know if Vault should be build as separate contract or not. Thus I'm waiting for detailed design.

@Zk2u Zk2u added ⚠️ High Priority High priority issue ❓ Question Further information is requested 🆘 Help Needed Help me pls <3 💡 Feature A new feature or request labels May 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
👀 Clarity Something todo with Clarity 💡 Feature A new feature or request 🆘 Help Needed Help me pls <3 ⚠️ High Priority High priority issue ❓ Question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants