DebtTokenBase

Base contract for different types of debt tokens, like StableDebtToken or VariableDebtToken

_borrowAllowances

mapping(address => mapping(address => uint256)) _borrowAllowances

DELEGATION_WITH_SIG_TYPEHASH

bytes32 DELEGATION_WITH_SIG_TYPEHASH

_underlyingAsset

address _underlyingAsset

constructor

constructor() internal

Constructor.

approveDelegation

function approveDelegation(address delegatee, uint256 amount) external

Delegates borrowing power to a user on the specific debt token. Delegation will still respect the liquidation constraints (even if delegated, a delegatee cannot force a delegator HF to go below 1)

Parameters

NameTypeDescription

delegatee

address

The address receiving the delegated borrowing power

amount

uint256

The maximum amount being delegated.

delegationWithSig

function delegationWithSig(address delegator, address delegatee, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external

Delegates borrowing power to a user on the specific debt token via ERC712 signature

Parameters

NameTypeDescription

delegator

address

The delegator of the credit

delegatee

address

The delegatee that can use the credit

value

uint256

The amount to be delegated

deadline

uint256

The deadline timestamp, type(uint256).max for max deadline

v

uint8

The V signature param

r

bytes32

The R signature param

s

bytes32

The S signature param

borrowAllowance

function borrowAllowance(address fromUser, address toUser) external view returns (uint256)

Returns the borrow allowance of the user

Parameters

NameTypeDescription

fromUser

address

The user to giving allowance

toUser

address

The user to give allowance to

Return Values

NameTypeDescription

[0]

uint256

The current allowance of toUser

_approveDelegation

function _approveDelegation(address delegator, address delegatee, uint256 amount) internal

Updates the borrow allowance of a user on the specific debt token.

Parameters

NameTypeDescription

delegator

address

The address delegating the borrowing power

delegatee

address

The address receiving the delegated borrowing power

amount

uint256

The allowance amount being delegated.

_decreaseBorrowAllowance

function _decreaseBorrowAllowance(address delegator, address delegatee, uint256 amount) internal

Decreases the borrow allowance of a user on the specific debt token.

Parameters

NameTypeDescription

delegator

address

The address delegating the borrowing power

delegatee

address

The address receiving the delegated borrowing power

amount

uint256

The amount to subtract from the current allowance