#governance #saber #anchor #solana #tribeca

snapshots

Voting Escrow Snapshots: Historical snapshots of previous voting escrow balances

8 releases

0.2.8 Apr 17, 2022
0.2.7 Mar 12, 2022
0.2.0 Feb 24, 2022
0.1.2 Jan 29, 2022

#6 in #tribeca

AGPL-3.0

28KB
448 lines

snapshots

Crates.io Docs.rs License Build Status Contributors NPM

Voting Escrow Snapshots: Historical snapshots of previous voting escrow balances.

Motivation

There are several instances in which one may want to use an instantaneous snapshot of all vote escrow balances, for example:

  • Fee distribution. One may want to send protocol revenue to veToken holders.
  • Airdrops. One may want to send tokens to holders of a veToken.

Mechanism

veToken balances are recorded for every period. A period is recorded for every 3 days.

There are two accounts that are used to compute historical balances:

  • [LockerHistory], which stores the total number of veTokens for each period, and
  • [EscrowHistory], which stores the veTokens in each Escrow per period.

Any time someone refreshes and/or modifies their vote escrow, they should refresh their [EscrowHistory] accounts.

Program Addresses

License

The [snapshots] program is licensed under the Affero General Public License version 3.

Dependencies

~21–32MB
~553K SLoC