Rebalancer
Inherits: IRebalancer
State Variables
roles
IRoles public roles;
nonce
uint256 public nonce;
logs
mapping(uint32 => mapping(uint256 => Msg)) public logs;
whitelistedBridges
mapping(address => bool) public whitelistedBridges;
whitelistedDestinations
mapping(uint32 => bool) public whitelistedDestinations;
allowedList
mapping(address => bool) public allowedList;
saveAddress
address public saveAddress;
maxTransferSizes
mapping(uint32 => mapping(address => uint256)) public maxTransferSizes;
minTransferSizes
mapping(uint32 => mapping(address => uint256)) public minTransferSizes;
currentTransferSize
mapping(uint32 => mapping(address => TransferInfo)) public currentTransferSize;
transferTimeWindow
uint256 public transferTimeWindow;
Functions
constructor
constructor(address _roles, address _saveAddress);
setAllowList
function setAllowList(address[] calldata list, bool status) external;
setWhitelistedBridgeStatus
function setWhitelistedBridgeStatus(address _bridge, bool _status) external;
setWhitelistedDestination
function setWhitelistedDestination(uint32 _dstId, bool _status) external;
saveEth
function saveEth() external;
setMinTransferSize
function setMinTransferSize(uint32 _dstChainId, address _token, uint256 _limit) external;
setMaxTransferSize
function setMaxTransferSize(uint32 _dstChainId, address _token, uint256 _limit) external;
isBridgeWhitelisted
returns if a bridge implementation is whitelisted
function isBridgeWhitelisted(address bridge) external view returns (bool);
isDestinationWhitelisted
returns if a destination is whitelisted
function isDestinationWhitelisted(uint32 dstId) external view returns (bool);
sendMsg
sends a bridge message
function sendMsg(address _bridge, address _market, uint256 _amount, Msg calldata _msg) external payable;
Parameters
Name | Type | Description |
---|---|---|
_bridge | address | |
_market | address | the market to rebalance from address |
_amount | uint256 | the amount to rebalance |
_msg | Msg |
Structs
TransferInfo
struct TransferInfo {
uint256 size;
uint256 timestamp;
}