Skip to content
LogoLogo

BridgeComponent

Git Source

Inherits: IBridgeComponent

Constants

MAX_BPS

Full scale value in basis points

uint256 private constant MAX_BPS = 10_000;

State Variables

_maxBridgeLossBps

mapping(uint16 bridgeId => uint256 maxBridgeLossBps) private _maxBridgeLossBps;

_isWhitelistedRecipient

mapping(uint256 foreignChainId => mapping(address recipient => bool isWhitelisted)) private _isWhitelistedRecipient;

_lastGuardedBridgeOutTimestamps

mapping(uint16 bridgeId => uint256 timestamp) private _lastGuardedBridgeOutTimestamps;

bridgeCooldownDuration

Cooldown duration (in seconds) for bridge transfers while in FENCED or WALLED mode.

uint256 public bridgeCooldownDuration;

Returns

NameTypeDescription
<none>uint256

Functions

getMaxBridgeLossBps

Bridge ID => Max allowed value loss in basis points for transfers via this bridge while in FENCED or WALLED mode.

function getMaxBridgeLossBps(uint16 bridgeId) external view returns (uint256);

Parameters

NameTypeDescription
bridgeIduint16

Returns

NameTypeDescription
<none>uint256

isWhitelistedRecipient

Foreign Chain ID => Recipient => Whitelisting status while in FENCED or WALLED mode.

function isWhitelistedRecipient(uint256 foreignChainId, address recipient) external view returns (bool);

Parameters

NameTypeDescription
foreignChainIduint256
recipientaddress

Returns

NameTypeDescription
<none>bool

_sendOutBridgeTransfer

function _sendOutBridgeTransfer(IBridgeComponent.BridgeOrder calldata order, address encoder, bool guarded)
        internal;

Parameters

NameTypeDescription
orderIBridgeComponent.BridgeOrder
encoderaddress
guardedbool

_setMaxBridgeLossBps

Internal logic to set the maximum allowed relative value loss for transfers via a given bridge.

function _setMaxBridgeLossBps(uint16 bridgeId, uint256 newMaxBridgeLossBps) internal;

Parameters

NameTypeDescription
bridgeIduint16
newMaxBridgeLossBpsuint256

_setBridgeCooldownDuration

Internal logic to set the cooldown duration for bridge transfers.

function _setBridgeCooldownDuration(uint256 newBridgeCooldownDuration) internal;

Parameters

NameTypeDescription
newBridgeCooldownDurationuint256

_addRecipient

Internal logic to add a whitelisted recipient for bridge transfer to a given foreign chain.

function _addRecipient(uint256 foreignChainId, address recipient) internal;

Parameters

NameTypeDescription
foreignChainIduint256
recipientaddress

_removeRecipient

Internal logic to remove a whitelisted recipient for bridge transfer to a given foreign chain.

function _removeRecipient(uint256 foreignChainId, address recipient) internal;

Parameters

NameTypeDescription
foreignChainIduint256
recipientaddress

_checkAndSetCooldown

Checks cooldown for a given bridge and updates its last guarded outgoing transfer timestamp.

function _checkAndSetCooldown(uint16 bridgeId) internal;

Parameters

NameTypeDescription
bridgeIduint16