LibWormhole

Contains several functions for interacting with a Wormhole bridge, which is a cross-chain communication protocol that allows tokens and other data to be transferred between different blockchains.

updateSettings()

updates the wormholeSettings variable in the AppStorage struct with the provided wormholeSettings input parameter. The new settings are emitted in an UpdateWormholeSettings event.

Input

FieldTypeDescription

wormholeSettings

WormholeSettings

struct WormholeSettings {
    address bridgeAddress;
    uint8 consistencyLevel;
}

addWormholeNetworkIds()

adds multiple chainIds and networkIds to the wormholeNetworkIds mapping in AppStorage. The new mappings are emitted in an AddWormholeNetworkIds event.

Input

FieldTypeDescription

chainIds

uint16[]

An array of wormhole chain identifiers

networkIds

uint16[]

An array of network identifiers provided by magpie team.

dataTransfer()

transfers data across the Wormhole bridge by calling the publishMessage function on a Wormhole core contract with a given payload, timestamp, and consistency level.

Input

FieldTypeDescription

payload

bytes

Payload that contains the data which will be transferred over the blockchains

getPayload()

verifies and returns the payload of a Wormhole message. It uses the parseAndVerifyVM function on a Wormhole core contract to check the validity of the message, and then extracts and returns the payload of the message..

Input

FieldTypeDescription

dataTransferOutPayload

bytes

payload required for receiving the data

Output

FieldTypeDescription

extendedPayload

bytes

Payload + extra information like which data transfer type has been used

getCoreSequence()

this function is responsible for retrieving the core sequence value from the s.wormholeCoreSequences mapping based on the provided transferKeyCoreSequence.

Input

FieldTypeDescription

transferKeyCoreSequence

uint64

The core sequence provided by magpie for data transfer

Output

FieldTypeDescription

s.wormholeCoreSequences[transferKeyCoreSequence]

uint64

The sequence received by the wormhole core bridge.

Events:

event UpdateWormholeSettings(address indexed sender, WormholeSettings wormholeSettings);
event AddWormholeNetworkIds(address indexed sender, uint16[] chainIds, uint16[] networkIds);

Last updated