Skip to main content

ReserveMigrator

Git Source

Inherits: IReserveMigrator, Policy, RolesConsumer

State Variables

TRSRY

TRSRYv1 internal TRSRY;

from

ERC20 public immutable from;

sFrom

ERC4626 public immutable sFrom;

to

ERC20 public immutable to;

sTo

ERC4626 public immutable sTo;

migrator

IDaiUsds public migrator;

locallyActive

bool public locallyActive;

Functions

constructor

constructor(Kernel kernel_, address sFrom_, address sTo_, address migrator_) Policy(kernel_);

configureDependencies

function configureDependencies() external override returns (Keycode[] memory dependencies);

requestPermissions

function requestPermissions() external view override returns (Permissions[] memory permissions);

migrate

migrate reserves and wrapped reserves in the treasury to the new reserve token

this function is restricted to the heart role to avoid complications with opportunistic conversions

function migrate() external override onlyRole("heart");

VERSION

Returns the version of the policy.

function VERSION() external pure returns (uint8 major, uint8 minor);

Returns

NameTypeDescription
majoruint8The major version of the policy.
minoruint8The minor version of the policy.

activate

Activate the policy locally, if it has been deactivated

This function is restricted to the reserve_migrator admin role

function activate() external onlyRole("reserve_migrator_admin");

deactivate

Deactivate the policy locally, preventing it from migrating reserves

This function is restricted to the reserve_migrator admin role

function deactivate() external onlyRole("reserve_migrator_admin");

rescue

Rescue any ERC20 token sent to this contract and send it to the TRSRY

This function is restricted to the reserve_migrator admin role

function rescue(address token_) external onlyRole("reserve_migrator_admin");

Parameters

NameTypeDescription
token_addressThe address of the ERC20 token to rescue