Unified Semantics
Endpoint V2 enhances the capabilities of the original LayerZero Endpoint V1, offering full backward compatibility while introducing new features not available in the previous version.
Key Updates
Backward Compatibility: Endpoint V2 is fully backward compatible with the original Endpoint V1.
Non-EVM Support: One of the critical enhancements in Endpoint V2 is its ability to support a broader range of chain types, including non-EVM chains.
Terminology Updates: These changes are part of our ongoing effort to make the LayerZero protocol more accessible and understandable to developers working across various blockchain ecosystems.
Terminology Changes
The following terms have been revised to better align with the development process within the LayerZero protocol:
chainId
toeid
(Endpoint ID)The term
chainId
initially described an endpoint on a specific chain. However, this became confusing with the introduction of non-EVM chains, as traditional EVMchainIds
couldn't be directly mapped to LayerZerochainIds
.With Endpoint V2, maintaining two different
chainIds
for chains that support both versions would have further complicated matters. Hence, the protocol has transitioned to usingeid
for simplicity and clarity.adapterParams
to_options
Message Options operate similarly to the original
adapterParams
in Endpoint V1, allowing developers to provide specific instructions on how much gas to pay on message execution, enforced handling for specific messaging types, and more.These options are built by appending new options to the existing array, making it expandable and customizable based on your application's needs.
User Application (UA) to Omnichain Application (OApp)
srcAddress
tosender
On EVM chains, the sender is typically an address. However, on non-EVM chains, a sender might be represented by a public key or other identifiers.
sender
is a more generic term that accommodates these variations.dstAddress
toreceiver
Similar to
sender
,receiver
is a more inclusive term that caters to both EVM and non-EVM chain formats.payload
tomessage
The term
payload
traditionally refers to the content of a packet, which includes both the message and a GUID. By usingmessage
, the protocol aim to provide a clearer distinction between these components.