- 
                Notifications
    You must be signed in to change notification settings 
- Fork 71
Add migration guide for Ethereum contracts (new IA) #1114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: staging/product-ia
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a comprehensive migration guide for Ethereum developers moving smart contracts to Polkadot Hub. The guide covers both REVM and PolkaVM backends, explaining when to use each and what changes may be required.
Key changes:
- New migration guide document covering FAQs and considerations for Ethereum contract migration
- Documentation of backend-specific requirements (REVM vs. PolkaVM)
- Guidance on factory contracts, gas costs, and development tooling
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description | 
|---|---|
| smart-contracts/for-eth-devs/migration.md | New migration guide replacing TODO placeholder with comprehensive content on migrating Ethereum contracts to Polkadot Hub | 
| llms.txt | Updated to include new migration guide entry and removed erroneous Python package license reference | 
| llms-full.txt | Regenerated AI file with full migration guide content and removed Python package license content | 
| llms-files/llms-smart-contracts.txt | Regenerated smart contracts AI file with migration guide content | 
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't review too thoroughly because I feel like this page will change quite a bit when it gets reviewed to remove the PVM stuff. Not a problem for today. But we should make a few of these minor changes
| Before migrating your contracts, review this checklist: | ||
|  | ||
| - Standard ERC-20, ERC-721, ERC-1155 tokens work without changes. | ||
| - DeFi protocols, DEXs, and AMMs migrate seamlessly. | ||
| - DAOs and governance contracts are fully compatible. | ||
| - Most Solidity contracts deploy identically to Ethereum. | ||
| - Factory contracts using PVM bytecode need pre-uploaded dependencies. | ||
| - Contracts using `EXTCODECOPY` for runtime manipulation require review (for projects that will use PVM bytecode, not EVM bytecode). | ||
| - Replace `transfer()` and `send()` with proper reentrancy guards (for projects that will use PVM bytecode, not EVM bytecode). | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this is framed as a checklist, like these are tasks, but "Standard ERC-20, ERC-721, ERC-1155 tokens work without changes" isn't a task, it's a statement. So we need to reframe this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The list items should all align, they should all either be tasks or they should all either be statements.
If we need to split this up into two sections, like "Considerations" and "Migration checklist" that could work
| ### Which Solidity features are not supported? | ||
| For REVM, Solidity features are supported. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a weird statement, like which Solidity features? That's what the question is asking. All of them?
| ### Can I use my existing development tools? | ||
| Yes! Both backends support: | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Yes! Both backends support: | |
| Yes. Both backends support: | 
Closes 1022
π Description
Provide a clear and concise description of your changes.
π Review Preference
Choose one:
π€ AI-Ready Docs
If content changed, regenerate AI files:
python3 scripts/generate_llms.pyβ Checklist