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
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
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
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
dataTransferOutPayload
bytes
payload required for receiving the data
Output
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
transferKeyCoreSequence
uint64
The core sequence provided by magpie for data transfer
Output
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