DullahanPod

MAX_BPS

uint256 MAX_BPS

Max value for BPS - 100%

MIN_MINT_AMOUNT

uint256 MIN_MINT_AMOUNT

Minimum allowed amount of GHO to mint

initialized

bool initialized

Is the Pod initialized

manager

address manager

Address of the Pod manager

vault

address vault

Address of the Vault

registry

Address of the Registry

podOwner

Address of the Pod owner

votingPowerDelegate

Address of the delegate receiving the Pod voting power

proposalPowerDelegate

Address of the delegate receiving the Pod proposal power

collateral

Address of the collateral in the Pod

aToken

Address of the aToken for the collateral

aave

Address of the AAVE token

stkAave

Address of the stkAAVE token

PodInitialized

Event emitted when the Pod is initialized

CollateralDeposited

Event emitted when collateral is deposited

CollateralWithdrawn

Event emitted when collateral is withdrawn

CollateralLiquidated

Event emitted when collateral is liquidated

GhoMinted

Event emitted when GHO is minted

GhoRepayed

Event emitted when GHO is repayed

RentedStkAave

Event emitted when stkAAVE is rented by the Pod

UpdatedDelegate

Event emitted when the Pod delegates are updated

UpdatedRegistry

Event emitted when the Pod registry is updated

onlyPodOwner

Check that the caller is the Pod owner

onlyManager

Check that the caller is the manager

isInitialized

Check that the Pod is initialized

constructor

init

Initialize the Pod with the given parameters

Parameters

Name
Type
Description

_manager

address

Address of the Manager

_vault

address

Address of the Vault

_registry

address

Address of the Registry

_podOwner

address

Address of the Pod owner

_collateral

address

Address of the collateral

_aToken

address

Address of the aToken for the collateral

_votingPowerDelegate

address

Address of the delegate for the voting power

_proposalPowerDelegate

address

Address of the delegate for the proposal power

podCollateralBalance

Get the Pod's current collateral balance

Return Values

Name
Type
Description

[0]

uint256

uint256 : Current collateral balance

podDebtBalance

Get the Pod's current GHO debt balance

Return Values

Name
Type
Description

[0]

uint256

uint256 : Current GHO debt balance

podOwedFees

Get the stored amount of fees owed by this Pod

Return Values

Name
Type
Description

[0]

uint256

uint256 : Stored amount of fees owed

depositCollateral

Deposit collateral

Pull collateral in the Pod to deposit it in the Aave Pool

Parameters

Name
Type
Description

amount

uint256

Amount to deposit

withdrawCollateral

Withdraw collateral

Parameters

Name
Type
Description

amount

uint256

Amount to withdraw

receiver

address

Address to receive the collateral

claimAaveExtraRewards

Claim any existing rewards from the Aave Rewards Controller for this Pod

Parameters

Name
Type
Description

receiver

address

Address to receive the rewards

compoundStkAave

Claim Safety Module rewards & stake them in stkAAVE

mintGho

Mint GHO & rent stkAAVE

Rent stkAAVE from the Vault & mint GHO with the best interest rate discount possible

Parameters

Name
Type
Description

amountToMint

uint256

Amount of GHO to be minted

receiver

address

Address to receive the minted GHO

Return Values

Name
Type
Description

mintedAmount

uint256

- uint256 : amount of GHO minted after fees

repayGho

Repay GHO fees and debt

Parameters

Name
Type
Description

amountToRepay

uint256

Amount of GHO to de repaid

Return Values

Name
Type
Description

[0]

bool

bool : Success

repayGhoAndWithdrawCollateral

Repay GHO fees and debt & withdraw collateral

Repay GHO fees & debt to be allowed to withdraw collateral

Parameters

Name
Type
Description

repayAmount

uint256

Amount of GHO to de repaid

withdrawAmount

uint256

Amount to withdraw

receiver

address

Address to receive the collateral

Return Values

Name
Type
Description

[0]

bool

bool : Success

rentStkAave

Rent stkAAVE from the Vault to get the best interest rate reduction

Return Values

Name
Type
Description

[0]

bool

bool : Success

liquidateCollateral

Liquidate Pod collateral to repay owed fees

Liquidate Pod collateral to repay owed fees, in the case the this Pod got liquidated on Aave market, and fees are still owed to Dullahan

Parameters

Name
Type
Description

amount

uint256

Amount of collateral to liquidate

receiver

address

Address to receive the collateral

updateDelegation

Update the Pod's delegate address & delegate the voting power to it

Parameters

Name
Type
Description

newVotingDelegate

address

Address of the new voting power delegate

newProposalDelegate

address

Address of the new proposal power delegate

updateRegistry

Update the Pod's Registry address

Parameters

Name
Type
Description

newRegistry

address

Address of the new Registry

_withdrawCollateral

Withdraw collateral from the Aave Pool directly to the given receiver (only if Pod fees are fully repaid)

Parameters

Name
Type
Description

amount

uint256

Amount to withdraw

receiver

address

Address to receive the collateral

_repayGho

Repay GHO owed fees & debt (fees in priority)

Parameters

Name
Type
Description

amountToRepay

uint256

Amount of GHO to be repayed

Return Values

Name
Type
Description

[0]

bool

bool : Success

_getStkAaveRewards

Claim AAVE rewards from the Safety Module & stake them to receive stkAAVE & notify the Manager

Last updated

Was this helpful?