Skip to main content

OlympusVotes

Git Source

Inherits: VOTESv1

Votes module is the ERC20 token that represents voting power in the network.

Functions

constructor

constructor(Kernel kernel_, ERC20 gOhm_) Module(kernel_) ERC4626(gOhm_, "Olympus Votes", "vOHM");

KEYCODE

5 byte identifier for a module.

function KEYCODE() public pure override returns (Keycode);

VERSION

Returns which semantic version of a module is being implemented.

function VERSION() external pure override returns (uint8 major, uint8 minor);

Returns

NameTypeDescription
majoruint8- Major version upgrade indicates breaking change to the interface.
minoruint8- Minor version change retains backward-compatible interface.

deposit

function deposit(uint256 assets_, address receiver_) public override permissioned returns (uint256);

mint

function mint(uint256 shares_, address receiver_) public override permissioned returns (uint256);

withdraw

function withdraw(uint256 assets_, address receiver_, address owner_) public override permissioned returns (uint256);

redeem

function redeem(uint256 shares_, address receiver_, address owner_) public override permissioned returns (uint256);

transfer

Transfers are locked for this token.

function transfer(address to_, uint256 amt_) public override permissioned returns (bool);

transferFrom

TransferFrom is only allowed by permissioned policies.

function transferFrom(address from_, address to_, uint256 amount_) public override permissioned returns (bool);

resetActionTimestamp

function resetActionTimestamp(address _wallet) external override permissioned;

totalAssets

function totalAssets() public view override returns (uint256);