LibCeler

These functions manage the configuration, addition, and execution of Celer bridge transactions. They handle the interaction with the Celer bridge and logs events related to their actions. Additionally, they decode payload data and perform the necessary transaction actions for both inbound and outbound asset transfers between Celer networks and other networks. The functions include validations to ensure the Celer bridge is active and functional before executing these transactions.

updateSetting():

Updates the Celer bridge settings in the application storage.

Input

Field
Type
Description

celerBridgeSettings

CelerBridgeSettings

struct CelerBridgeSettings {
    address messageBusAddress;
}

addCelerChainIds():

Adds Celer chain IDs to the application storage.

Input

Field
Type
Description

networkIds

uint16[]

An array containing identifiers for networks.

chainIds

uint64[]

An array containing chain identifiers corresponding to the networks in networkIds.

addMagpieCelerBridgeAddresses():

Adds Magpie Celer bridge addresses to the application storage.

Input

Field
Type
Description

networkIds

uint16[] 

An array containing identifiers for networks.

magpieCelerBridgeAddresses

bytes32[]

An array containing chain identifiers corresponding to the networks in networkIds.

decodeBridgeInPayload():

Decodes the payload used in a Celer bridge transaction.

Input

Field
Type
Description

bridgeInPayload

bytes

A bytes array that represents the input payload.

Output

Field
Type
Description

bridgeInData

CelerBridgeInData

struct CelerBridgeInData {
    uint32 slippage;
    uint256 fee;
}

bridgeIn():

Executes the bridge in operation for a Celer bridge, facilitating the transfer from one network to another.

Input

Field
Type
Description

bridgeInArgs

BridgeInArgs

struct BridgeInArgs {
    uint16 recipientNetworkId;
    BridgeArgs bridgeArgs;
    uint256 amount;
    address toAssetAddress;
    TransferKey transferKey;
}

bridgeOut():

Performs the bridge out operation, transferring assets from the Celer network back to the original network.

Input

Field
Type
Description

bridgeOutArgs

BridgeOutArgs

struct BridgeOutArgs {
    BridgeArgs bridgeArgs;
    Transaction transaction;
    TransferKey transferKey;
}

Output

Field
Type
Description

amount

uint256

The amount received after the bridgining

Events:

event UpdateCelerBridgeSettings(address indexed sender, CelerBridgeSettings celerBridgeSettings);
event AddCelerChainIds(address indexed sender, uint16[] networkIds, uint64[] chainIds);
event AddMagpieCelerBridgeAddresses(
        address indexed sender,
        uint16[] networkIds,
        bytes32[] magpieCelerBridgeAddresses
    );

Last updated