permalock

Crates.iopermalock
lib.rspermalock
version0.2.0
sourcesrc
created_at2022-03-05 17:02:51.630743
updated_at2022-03-11 23:49:48.498468
descriptionTribeca voting escrows with infinite lockup.
homepagehttps://tribeca.so
repositoryhttps://github.com/TribecaHQ/permalock
max_upload_size
id544127
size20,583
Kristaps Kalniņš (kristapsdev)

documentation

README

permalock

Crates.io Docs.rs License Build Status Contributors NPM

Permalock: Tribeca vote escrows with infinite lockup durations.

About

The Permalock program allows the creation of permalocks: vote escrows which are always locked to the maximum duration.

It works by allowing any user to refresh the lockup period of the vote escrow to the maximum period, ensuring that the owner of the Permalock can never unstake the tokens. Since the Tribeca DAO holds the program upgrade keys, a DAO can be certain that a permalock will never be unlocked, ever.

Documentation

Detailed documentation may be found on the Tribeca Documentation site.

Usage

Locking tokens

First, transfer tokens to the Permalock's pending_tokens account. The pending_tokens account holds all tokens that are ready to be max-locked.

Next, refresh the Permalock with [permalock::refresh_lock]. This refreshes the Permalock's escrow to max lock the tokens that have been deposited, plus refreshes the lock period of all existing Escrow tokens.

Address

Program addresses are the same on devnet, testnet, and mainnet-beta.

Contribution

Thank you for your interest in contributing to Tribeca Protocol! All contributions are welcome no matter how big or small. This includes (but is not limited to) filing issues, adding documentation, fixing bugs, creating examples, and implementing features.

When contributing, please make sure your code adheres to some basic coding guidlines:

  • Code must be formatted with the configured formatters (e.g. rustfmt and prettier).
  • Comment lines should be no longer than 80 characters and written with proper grammar and punctuation.

License

The Tribeca Permalock program is licensed under the Affero General Public License, version 3.0.

Commit count: 23

cargo fmt