Aura Finance
English
Search
⌃K

AuraBalVault - Compounder

The AuraBalVault compounder is ERC4626 compatible
Stake auraBal into the AuraBalVault, which will automatically compound the rewards. The Vault earns three reward tokens: BAL, bb-a-USD, and AURA. BAL and bb-a-USD are sold in the market for auraBal, which is then re-stake. AURA added as an additional reward token that can be claimed.

AuraBalVault

Forked from llama.airforce

isHarvestPermissioned

bool isHarvestPermissioned

authorizedHarvesters

mapping(address => bool) authorizedHarvesters

constructor

constructor(address _token, address _virtualRewardFactory) public

setHarvestPermissions

function setHarvestPermissions(bool _status) external
Sets whether only whitelisted addresses can harvest
Parameters
Name
Type
Description
_status
bool
Whether or not harvests are permissioned

updateAuthorizedHarvesters

function updateAuthorizedHarvesters(address _harvester, bool _authorized) external
Adds or remove an address from the harvesters' whitelist
Parameters
Name
Type
Description
_harvester
address
address of the authorized harvester
_authorized
bool
Whether to add or remove harvester

harvest

function harvest(uint256 _minAmountOut) public
Claim rewards and swaps them to auraBAL for restaking
Parameters
Name
Type
Description
_minAmountOut
uint256
- min amount of auraBAL to receive for harvest

harvest

function harvest() public
Claim rewards and swaps them to auraBAL for restaking

FeeForwarder

Forwards collected fees to Vault.

Forwarded

event Forwarded(address vault, address token, uint256 amount)

constructor

constructor(address _dao) public
Parameters
Name
Type
Description
_dao
address
Address of DAO

forward

function forward(address vault, address token, uint256 amount) public

GenericUnionVault

withdrawalPenalty

uint256 withdrawalPenalty

MAX_WITHDRAWAL_PENALTY

uint256 MAX_WITHDRAWAL_PENALTY

FEE_DENOMINATOR

uint256 FEE_DENOMINATOR

underlying

address underlying

virtualRewardFactory

address virtualRewardFactory

strategy

address strategy

extraRewards

address[] extraRewards

isExtraReward

mapping(address => bool) isExtraReward

WithdrawalPenaltyUpdated

event WithdrawalPenaltyUpdated(uint256 _penalty)

Harvest

event Harvest(address _caller, uint256 _value)

CallerIncentiveUpdated

event CallerIncentiveUpdated(uint256 _incentive)

StrategySet

event StrategySet(address _strategy)

ExtraRewardAdded

event ExtraRewardAdded(address _reward, address extraReward)

ExtraRewardCleared

event ExtraRewardCleared(address _reward)

constructor

constructor(address _token, address _virtualRewardFactory) public

setWithdrawalPenalty

function setWithdrawalPenalty(uint256 _penalty) external
Updates the withdrawal penalty
Parameters
Name
Type
Description
_penalty
uint256
- the amount of the new penalty (in BIPS)

setStrategy

function setStrategy(address _strategy) external
Set the address of the strategy contract
Parameters
Name
Type
Description
_strategy
address
- address of the strategy contract

extraRewardsLength

function extraRewardsLength() external view returns (uint256)
Count of extra rewards

addExtraReward

function addExtraReward(address _reward) external returns (bool)
Add extra reward contract
Parameters
Name
Type
Description
_reward
address
VirtualBalanceRewardPool address
Return Values
Name
Type
Description
[0]
bool
bool success

clearExtraRewards

function clearExtraRewards() external
Clear extra rewards array

totalUnderlying

function totalUnderlying() public view returns (uint256 total)
Query the amount currently staked
Return Values
Name
Type
Description
total
uint256
- the total amount of tokens staked

balanceOfUnderlying

function balanceOfUnderlying(address user) external view returns (uint256 amount)
Returns the amount of underlying a user can claim
Parameters
Name
Type
Description
user
address
- address whose claimable amount to query
Return Values
Name
Type
Description
amount
uint256
- claimable amount

deposit

function deposit(uint256 _amount, address _receiver) public returns (uint256 _shares)
Deposit user funds in the autocompounder and mints tokens representing user's share of the pool in exchange
Parameters
Name
Type
Description
_amount
uint256
- the amount of underlying to deposit
_receiver
address
​
Return Values
Name
Type
Description
_shares
uint256
- the amount of shares issued

redeem

function redeem(uint256 _shares, address _receiver, address _owner) public returns (uint256 withdrawn)
Unstake underlying token in proportion to the amount of shares sent
Parameters
Name
Type
Description
_shares
uint256
- the number of shares sent
_receiver
address
​
_owner
address
​
Return Values
Name
Type
Description
withdrawn
uint256
- the amount of underlying returned to the user

harvest

function harvest() public virtual
Claim rewards and swaps them to auraBAL for restaking

asset

function asset() public view returns (address)
The address of the underlying token used for the Vault for accounting, depositing, and withdrawing.

totalAssets

function totalAssets() public view returns (uint256)
Total amount of the underlying asset that is “managed” by Vault.

convertToShares

function convertToShares(uint256 _assets) public view returns (uint256)
The amount of shares that the Vault would exchange for the amount of assets provided, in an ideal scenario where all the conditions are met.

convertToAssets

function convertToAssets(uint256 _shares) public view returns (uint256)
The amount of assets that the Vault would exchange for the amount of shares provided, in an ideal scenario where all the conditions are met.

maxDeposit

function maxDeposit(address) public pure returns (uint256)
Maximum amount of the underlying asset that can be deposited into the Vault for the receiver, through a deposit call.

previewDeposit

function previewDeposit(uint256 _assets) public view returns (uint256)
Allows an on-chain or off-chain user to simulate the effects of their deposit at the current block, given current on-chain conditions.

maxMint

function maxMint(address) public pure returns (uint256)
Maximum amount of shares that can be minted from the Vault for the receiver, through a mint call.

previewMint

function previewMint(uint256 _shares) public view returns (uint256)
Allows an on-chain or off-chain user to simulate the effects of their mint at the current block, given current on-chain conditions.

mint

function mint(uint256 _shares, address _receiver) public returns (uint256)
Mints exactly shares Vault shares to receiver by depositing assets of underlying tokens.

maxWithdraw

function maxWithdraw(address _owner) public view returns (uint256)
Maximum amount of the underlying asset that can be withdrawn from the owner balance in the Vault, through a withdraw call.

previewWithdraw

function previewWithdraw(uint256 _assets) public view returns (uint256)
Allows an on-chain or off-chain user to simulate the effects of their withdrawal at the current block, given current on-chain conditions.

withdraw

function withdraw(uint256 _assets, address _receiver, address _owner) public returns (uint256)
Burns shares from owner and sends exactly assets of underlying tokens to receiver.

maxRedeem

function maxRedeem(address _owner) public view returns (uint256)
Maximum amount of Vault shares that can be redeemed from the owner balance in the Vault, through a redeem call.

previewRedeem

function previewRedeem(uint256 _shares) public view returns (uint256)
Allows an on-chain or off-chain user to simulate the effects of their redeemption at the current block, given current on-chain conditions.

AuraBalStrategy

vault

address vault

rewardTokens

address[] rewardTokens

rewardHandlers

mapping(address => address) rewardHandlers

FEE_DENOMINATOR

uint256 FEE_DENOMINATOR

constructor

constructor(address _vault, address _balVault, address _auraBalStaking, address _balToken, address _wethToken, address _auraToken, address _auraBalToken, address _bbusdToken, bytes32 _auraBalBalETHBptPoolId, bytes32 _balETHPoolId) public

setApprovals

function setApprovals() external
Set approvals for the contracts used when swapping & staking

addRewardToken

function addRewardToken(address _token, address _handler) external
Add a reward token and its handler
Parameters
Name
Type
Description
_token
address
the reward token to add
_handler
address
address of the contract that will sell for BAL or ETH

updateRewardToken

function updateRewardToken(address _token, address _handler) external
Update the handler of a reward token
Parameters
Name
Type
Description
_token
address
the reward token to add
_handler
address
address of the contract that will sell for BAL or ETH

totalRewardTokens

function totalRewardTokens() external view returns (uint256)
returns the number of reward tokens
Return Values
Name
Type
Description
[0]
uint256
the number of reward tokens

totalUnderlying

function totalUnderlying() public view returns (uint256 total)
Query the amount currently staked
Return Values
Name
Type
Description
total
uint256
- the total amount of tokens staked

stake

function stake(uint256 _amount) public
Deposits underlying tokens in the staking contract

withdraw

function withdraw(uint256 _amount) external
Withdraw a certain amount from the staking contract
Parameters
Name
Type
Description
_amount
uint256
- the amount to withdraw

harvest

function harvest(uint256 _minAmountOut) public returns (uint256 harvested)
Claim rewards and swaps them to auraBAL for restaking
Parameters
Name
Type
Description
_minAmountOut
uint256
- min amount of LP tokens to receive w/o revert
Return Values
Name
Type
Description
harvested
uint256
- the amount harvested

AuraBalStrategyBase

BBUSD_TOKEN

address BBUSD_TOKEN

AURA_TOKEN

address AURA_TOKEN

AURABAL_TOKEN

address AURABAL_TOKEN

WETH_TOKEN

address WETH_TOKEN

BAL_TOKEN

address BAL_TOKEN

BAL_ETH_POOL_TOKEN

address BAL_ETH_POOL_TOKEN

auraBalStaking

contract IBasicRewards auraBalStaking

balVault

contract IBalancerVault balVault

constructor

constructor(address _balVault, address _auraBalStaking, address _balToken, address _wethToken, address _auraToken, address _auraBalToken, address _bbusdToken, bytes32 _auraBalBalETHBptPoolId, bytes32 _balETHPoolId) public

BalancerSwapsHandler

SwapPath

struct SwapPath {
bytes32[] poolIds;
address[] assetsIn;
}

constructor

constructor(address _token, address _strategy, address _balVault, address _wethToken, struct BalancerSwapsHandler.SwapPath _swapPath) public

getSwapPath

function getSwapPath() external view returns (struct BalancerSwapsHandler.SwapPath)

setApprovals

function setApprovals() external

sell

function sell() external

HandlerBase

owner

address owner

pendingOwner

address pendingOwner

token

address token

strategy

address strategy

WETH_TOKEN

address WETH_TOKEN

balVault

contract IBalancerVault balVault

constructor

constructor(address _token, address _strategy, address _balVault, address _wethToken) public

setPendingOwner

function setPendingOwner(address _po) external

applyPendingOwner

function applyPendingOwner() external

rescueToken

function rescueToken(address _token, address _to) external

sell

function sell() external virtual

receive

receive() external payable