Skip to main content

Message Library

Each MessageLib is an immutable verification library that OApp owners can configure their application to use. The protocol enforces the contract owner's unique OApp Configuration before sending and receiving messages.

Sending Endpoint Light Sending Endpoint Dark

Key Functions

MessageLib offers a simple yet effective verification mechanism:

  1. Configuration Enforcement: MessageLib readily accepts messages from the sender Endpoint and enforces Message Packet generation based on the OApp's configuration.

  2. Message Emission: MessageLib enforces which Security Stack and Executors the Endpoint emits to.

  3. Verification: On the destination chain, MessageLib ensures the OApp's configured Security Stack has verified the packet before allowing a caller (e.g., Executor) to commit the packet hash to the Endpoint's messaging channel.

Protocol changes can only be via appending MessageLibs to the MessageLib Registry, MessageLibs cannot be removed. This design guarantees that the security of the protocol will remain unaffected by any new additions, and that developers will never be forced to accept new protocol code.

Available Libraries

The latest MessageLib Registry can be found in MessageLib Addresses.

Ultra Light Node 302

This is the default MessageLib for applications built on Endpoint V2.

Ultra Light Node 301

This is a new MessageLib for existing Endpoint V1 applications wanting to utilize the new Security Stack and Executor.

See the Migration Guide to learn how to migrate your V1 application's MessageLib to Ultra Light Node 301.