🗳️ANGLE and veANGLE - Governance Token

Angle Protocol governance token and its locked version

1. Introduction

The dao/ folder of the code contains all the files and contracts related to Angle governance. It comprises the following contracts:

  • ANGLE.sol: the contract for the protocol's governance token: the ANGLE token. This contract was forked from OpenZeppelin's ERC20Votes contract.

  • VotingEscrow.vy: the contract for locking ANGLE tokens. This contract was forked from Curve votingEscrow.vy contract. Compared with Curve, this contract was made upgradeable.

For details about the veANGLE token and its uses with respect to the ANGLE token, you can refer to this section in the docs.

2. Contracts Details

The veANGLE contract was made upgradeable by simply adding an initialized variable that is set to true in the constructor as well as in the initialize function. This prevents the contract's implementation from being taken over and the initialize function to be called twice.

3. Key Mechanisms and Implementation

For a more detailed documentation about the functions in the ANGLE contract, the following documentation links from Compound and OpenZeppelin may be useful:

About the veANGLE contract, technical documentation can be found on Curve's website:

Last updated