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");

Parameters

NameTypeDescription
kernel_Kernel
gOhm_ERC20

KEYCODE​

5 byte identifier for a module.

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

Returns

NameTypeDescription
<none>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);

Parameters

NameTypeDescription
assets_uint256
receiver_address

Returns

NameTypeDescription
<none>uint256

mint​

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

Parameters

NameTypeDescription
shares_uint256
receiver_address

Returns

NameTypeDescription
<none>uint256

withdraw​

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

Parameters

NameTypeDescription
assets_uint256
receiver_address
owner_address

Returns

NameTypeDescription
<none>uint256

redeem​

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

Parameters

NameTypeDescription
shares_uint256
receiver_address
owner_address

Returns

NameTypeDescription
<none>uint256

transfer​

Transfers are locked for this token.

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

Parameters

NameTypeDescription
to_address
amt_uint256

Returns

NameTypeDescription
<none>bool

transferFrom​

TransferFrom is only allowed by permissioned policies.

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

Parameters

NameTypeDescription
from_address
to_address
amount_uint256

Returns

NameTypeDescription
<none>bool

resetActionTimestamp​

function resetActionTimestamp(address _wallet) external override permissioned;

Parameters

NameTypeDescription
_walletaddress

totalAssets​

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

Returns

NameTypeDescription
<none>uint256