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
celerBridgeSettingsCelerBridgeSettingsstruct CelerBridgeSettings {
address messageBusAddress;
}addCelerChainIds():
Adds Celer chain IDs to the application storage.
Input
networkIdsuint16[]An array containing identifiers for networks.
chainIdsuint64[]An array containing chain identifiers corresponding to the networks in networkIds.
addMagpieCelerBridgeAddresses():
Adds Magpie Celer bridge addresses to the application storage.
Input
networkIdsuint16[] An array containing identifiers for networks.
magpieCelerBridgeAddressesbytes32[]An array containing chain identifiers corresponding to the networks in networkIds.
decodeBridgeInPayload():
Decodes the payload used in a Celer bridge transaction.
Input
bridgeInPayloadbytesA bytes array that represents the input payload.
Output
bridgeInDataCelerBridgeInDatastruct CelerBridgeInData {
uint32 slippage;
uint256 fee;
}bridgeIn():
Executes the bridge in operation for a Celer bridge, facilitating the transfer from one network to another.
Input
bridgeInArgsBridgeInArgsstruct 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
bridgeOutArgsBridgeOutArgsstruct BridgeOutArgs {
BridgeArgs bridgeArgs;
Transaction transaction;
TransferKey transferKey;
}Output
amountuint256The 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