sae: Add README.md to describe C-Chain wrapper design#5342
sae: Add README.md to describe C-Chain wrapper design#5342StephenButtolph wants to merge 14 commits intomasterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a high-level design document for the SAE-based C-Chain wrapper (vms/saevm/cchain) describing how chain-specific functionality (cross-chain transactions, Warp messaging, validator-voted parameters) composes with SAE and AvalancheGo.
Changes:
- Introduces
vms/saevm/cchain/README.mddocumenting the intended architecture and responsibilities split between AvalancheGo, SAE, and the C-Chain wrapper. - Documents (with diagrams) the planned data flow for cross-chain transaction ingestion/gossip and Warp messaging integration points.
- Enumerates intended block-format extensions and validator-voted parameters for C-Chain behavior.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…valanchego into StephenButtolph/cchain-readme
samliok
left a comment
There was a problem hiding this comment.
This adds a high-level design doc for how the C-Chain integrates into SAE.
Overall very informative 💯 Regarding this statement on the PR description, I feel like this doc only slightly touched upon the actual integration with SAE. By looking at the mermaid document(which was a nice add), I feel like the actual integration between SAEVM and CCHAIN were barely mentioned. Aside from hooks, the rest of the document just talked about high level cchain additions like warp, & mempool stuff but not as much connecting talk as I would have expected based off the pr description.
Why this should be merged
This adds a high-level design doc for how the C-Chain extends SAE. It is factored out of #5303. For any detailed questions, you should refer to that branch. Some of the components described here aren't actually in that branch yet (such as the minimum price excess).
How this works
I intentionally tried to avoid implementation details, which I felt could easily become stale over time (and generally are probably best learned by just looking at the code).
However, I wanted to specify how the components are stitched together. This should act as a good initial entry-point to the C-chain integration.
I'm very interested on any feedback on the content / level of abstraction. I'm a fairly visual learner, so I tried to include mermaid diagrams where possible rather than just having a huge text wall.
How this was tested
N/A
Need to be documented in RELEASES.md?
No.