IRCLGovernance

Methods

cancelTimelock

function cancelTimelock() external nonpayable

Cancel a timelock emits a {TimelockCancelled} event

executeTimelock

function executeTimelock() external nonpayable

Execute a ready timelock emits a {TimelockExecuted} event

getTimelock

function getTimelock() external view returns (struct PoolTimelock timelock)

Retrieve the current timelock

Returns

NameTypeDescription

timelock

PoolTimelock

The current timelock, may be empty

setFeesController

function setFeesController(contract IFeesController feesController) external nonpayable

Set the fees controller contract address

Parameters

NameTypeDescription

feesController

contract IFeesController

Address of the fees controller emits a {FeesControllerSet} event

setMaxBorrowableAmount

function setMaxBorrowableAmount(uint256 maxBorrowableAmount) external nonpayable

Update the maximum borrowable amount

Parameters

NameTypeDescription

maxBorrowableAmount

uint256

New value of the maximum borrowable amount emits a {MaxBorrowableAmountSet} event

setMinDepositAmount

function setMinDepositAmount(uint256 minDepositAmount) external nonpayable

Update the minimum deposit amount

Parameters

NameTypeDescription

minDepositAmount

uint256

New value of the minimum deposit amount emits a {MinDepositAmountSet} event

setPositionDescriptor

function setPositionDescriptor(contract IPositionDescriptor positionDescriptor) external nonpayable

Set the position descriptor contract address

Parameters

NameTypeDescription

positionDescriptor

contract IPositionDescriptor

Address of the position descriptor emits a {PositionDescriptorSet} event

setRolloverPeriod

function setRolloverPeriod(uint256 rolloverPeriod) external nonpayable

Update the loan finalization period

Parameters

NameTypeDescription

rolloverPeriod

uint256

New value of the loan finalization period emits a {RolloverPeriodSet} event

startNonStandardRepaymentProcedure

function startNonStandardRepaymentProcedure(contract INonStandardRepaymentModule nonStandardRepaymentModule, uint256 delay) external nonpayable

Starts a non-standard repayment procedure by initiating a timelock for - Stops all native actions possible in the pool - Sends the unborrowed funds to the non standard repayment procedure contract - Initializes the non standard repayment procedure contract

Parameters

NameTypeDescription

nonStandardRepaymentModule

contract INonStandardRepaymentModule

Address of the non standard repayment module contract

delay

uint256

Timelock delay emits a {NonStandardRepaymentProcedureStarted} event

startRescueProcedure

function startRescueProcedure(address recipient, uint256 delay) external nonpayable

Start a rescue procedure by initiating a timelock for - Stops all native actions possible in the pool - Sends the unborrowed funds to a recipient address

Parameters

NameTypeDescription

recipient

address

Address to which the funds will be sent

delay

uint256

Timelock delay emits a {RescueProcedureStarted} event

togglePool

function togglePool() external nonpayable

Closes and Opens the pool If the pool is OPEN, changes the pool phase to CLOSED, stops all actions in the pool If the pool is CLOSED, changes the pool phase to OPEN, opens up all actions in the pool again Emits a {Open} or {Closed} event

withdrawFees

function withdrawFees() external nonpayable

Withdraw fees to the fees controller emits a {FeesWithdrawn} event

Events

Closed

event Closed()

Emitted when the pool is closed

FeesControllerSet

event FeesControllerSet(address feesController)

Emitted when the fees controller is set

Parameters

NameTypeDescription

feesController

address

Address of the fees controller

FeesWithdrawn

event FeesWithdrawn(uint256 fees)

Emitted when fees are withdrawn to the fees controller

Parameters

NameTypeDescription

fees

uint256

Amount of fees withdrawn to the fees controller

MaxBorrowableAmountSet

event MaxBorrowableAmountSet(uint256 maxBorrowableAmount)

Emitted when the maximum borrowable amount has been set

Parameters

NameTypeDescription

maxBorrowableAmount

uint256

Updated value of the maximum borrowable amount

MinDepositAmountSet

event MinDepositAmountSet(uint256 minDepositAmount)

Emitted when the minimum deposit amount has been set

Parameters

NameTypeDescription

minDepositAmount

uint256

Set value of the minimum deposit amount

NonStandardRepaymentProcedureStarted

event NonStandardRepaymentProcedureStarted(address nonStandardRepaymentModule, uint256 delay)

Emitted when a non-standard repayment procedure has started

Parameters

NameTypeDescription

nonStandardRepaymentModule

address

Address of the non standard repayment module contract

delay

uint256

Timelock delay

Opened

event Opened()

Emitted when the pool is opened

PositionDescriptorSet

event PositionDescriptorSet(address positionDescriptor)

Emitted when the position descriptor is set

Parameters

NameTypeDescription

positionDescriptor

address

Address of the position descriptor

RescueProcedureStarted

event RescueProcedureStarted(address recipient, uint256 delay)

Emitted when a rescue procedure has started

Parameters

NameTypeDescription

recipient

address

Recipient address of the unborrowed funds

delay

uint256

Timelock delay

RolloverPeriodSet

event RolloverPeriodSet(uint256 rolloverPeriod)

Emitted when the loan finalization period has been set

Parameters

NameTypeDescription

rolloverPeriod

uint256

The amount of time before maturity during which no liquidity can be withdrawn

TimelockCancelled

event TimelockCancelled()

Emitted when a timelock has been cancelled

TimelockExecuted

event TimelockExecuted(uint256 transferredAmount)

Emitted when a timelock has been executed

Parameters

NameTypeDescription

transferredAmount

uint256

undefined

Errors

TIMELOCK_ALREADY_EXECUTED

error TIMELOCK_ALREADY_EXECUTED()

Thrown when trying to interact with an already executed timelock

TIMELOCK_ALREADY_INITIATED

error TIMELOCK_ALREADY_INITIATED()

Thrown when trying to interact with an already initiated timelock

TIMELOCK_DELAY_TOO_SMALL

error TIMELOCK_DELAY_TOO_SMALL()

Thrown when the input delay for a timelock is too small

TIMELOCK_INEXISTANT

error TIMELOCK_INEXISTANT()

Thrown when trying to interact with inexistant timelock

TIMELOCK_NOT_READY

error TIMELOCK_NOT_READY()

Thrown when trying to interact with an already executed timelock

Last updated