Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.

Commit 7137ca6

Browse files
ashucoder9Darioush Jalali
andauthored
Apply suggestions from code review
Co-authored-by: Darioush Jalali <[email protected]> Signed-off-by: Ashutosh Tripathi <[email protected]>
1 parent b543a62 commit 7137ca6

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

precompile/contracts/warp/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,13 @@ Therefore, we use the [Predicate Utils](https://github.com/ava-labs/coreth/blob/
7979

8080
### Performance Optimization: C-Chain to Avalanche L1
8181

82-
For communication between the C-Chain and L1, as well as broader interactions between the Primary Network and Avalanche L1s, we've implemented special handling for the C-Chain. This special case is necessary since the Primary Network operates with the maximum number of possible validators.
82+
For communication between the C-Chain and L1, as well as broader interactions between the Primary Network and Avalanche L1s, we've implemented special handling for the C-Chain.
8383

84-
This large validator set in the Primary Network creates a unique challenge for Avalanche Warp Messages. Since reaching the required stake threshold would demand collecting numerous signatures, verifying messages from the Primary Network would be computationally intensive and costly. However, we've developed a more efficient solution.
84+
The Primary Network has a large validator set, which creates a unique challenge for Avalanche Warp Messages: Since reaching the required stake threshold would demand collecting numerous signatures, and verifying messages from the Primary Network would be computationally costly. However, we've developed a more efficient solution.
8585

86-
When an Avalanche L1 receives a message from a blockchain on the Primary Network, we use the validator set of the receiving L1 instead of the entire network when validating the message. This means that the C-Chain sending a message can be the exact same as Subnet to Subnet communication.
86+
When an Avalanche L1 receives a message from a blockchain on the Primary Network, we use the validator set of the receiving L1 instead of the entire network when validating the message. Note this is NOT possible if an L1 does not validate the Primary Network, in which case the Warp precompile must be configured with `requirePrimaryNetworkSigners`.
8787

88+
Sending messages from the C-Chain remains unchanged.
8889
However, when L1 XYZ receives a message from the C-Chain, it changes the semantics to the following:
8990

9091
1. Read the `SourceChainID` of the signed message (C-Chain)

0 commit comments

Comments
 (0)