Skip to main content

IBridgeController

Git Source

Functions

isBridgeSupported

Bridge ID => Is bridge adapter deployed.

function isBridgeSupported(uint16 bridgeId) external view returns (bool);

isOutTransferEnabled

Bridge ID => Is outgoing transfer enabled.

function isOutTransferEnabled(uint16 bridgeId) external view returns (bool);

getBridgeAdapter

Bridge ID => Address of the associated bridge adapter.

function getBridgeAdapter(uint16 bridgeId) external view returns (address);

getMaxBridgeLossBps

Bridge ID => Max allowed value loss in basis points for transfers via this bridge.

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

createBridgeAdapter

Deploys a new BridgeAdapter instance.

function createBridgeAdapter(uint16 bridgeId, uint256 initialMaxBridgeLossBps, bytes calldata initData)
external
returns (address);

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
initialMaxBridgeLossBpsuint256The initial maximum allowed value loss in basis points for transfers via this bridge.
initDatabytesThe optional initialization data for the bridge adapter.

Returns

NameTypeDescription
<none>addressThe address of the deployed BridgeAdapter.

setMaxBridgeLossBps

Sets the maximum allowed value loss in basis points for transfers via this bridge.

function setMaxBridgeLossBps(uint16 bridgeId, uint256 maxBridgeLossBps) external;

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
maxBridgeLossBpsuint256The maximum allowed value loss in basis points.

setOutTransferEnabled

Sets the outgoing transfer enabled status for a bridge.

function setOutTransferEnabled(uint16 bridgeId, bool enabled) external;

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
enabledboolTrue to enable outgoing transfer for the given bridge ID, false to disable.

sendOutBridgeTransfer

Executes a scheduled outgoing bridge transfer.

function sendOutBridgeTransfer(uint16 bridgeId, uint256 transferId, bytes calldata data) external;

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
transferIduint256The ID of the transfer to execute.
databytesThe optional data needed to execute the transfer.

authorizeInBridgeTransfer

Registers a message hash as authorized for an incoming bridge transfer.

function authorizeInBridgeTransfer(uint16 bridgeId, bytes32 messageHash) external;

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
messageHashbytes32The hash of the message to authorize.

claimInBridgeTransfer

Transfers a received bridge transfer out of the adapter.

function claimInBridgeTransfer(uint16 bridgeId, uint256 transferId) external;

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
transferIduint256The ID of the transfer to claim.

cancelOutBridgeTransfer

Cancels an outgoing bridge transfer.

function cancelOutBridgeTransfer(uint16 bridgeId, uint256 transferId) external;

Parameters

NameTypeDescription
bridgeIduint16The ID of the bridge.
transferIduint256The ID of the transfer to cancel.

resetBridgingState

Resets internal bridge counters for a given token, and withdraw token balances held by all bridge adapters.

This function is intended to be used by the DAO to realign bridge accounting state and maintain protocol consistency, typically in response to operator deviations, external bridge discrepancies, or unbounded counter growth.

function resetBridgingState(address token) external;

Parameters

NameTypeDescription
tokenaddressThe address of the token.

Events

BridgeAdapterCreated

event BridgeAdapterCreated(uint16 indexed bridgeId, address indexed adapter);

MaxBridgeLossBpsChanged

event MaxBridgeLossBpsChanged(
uint16 indexed bridgeId, uint256 indexed oldMaxBridgeLossBps, uint256 indexed newMaxBridgeLossBps
);

BridgingStateReset

event BridgingStateReset(address indexed token);

OutTransferEnabledSet

event OutTransferEnabledSet(uint256 indexed bridgeId, bool enabled);