-
Notifications
You must be signed in to change notification settings - Fork 192
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
Migration to extensions checklist #234
Comments
@damianmarti checklist is updated. You can check changes using |
@rin-st thanks!! What about adding to the first step something like this: Use
To create the branch, so the new branch has no files or history (we don't need a history in this branch because we won't merge this branch to main). And then use this branch as the starting branch to build the extension running:
From challenge-[n]-[challenge-name]--extension branch. |
Probably we will need a branch like So updated as you said, thanks! |
@rin-st great! Maybe we can add something like this after the git switch --orphan: Add an empty commit and push the branch:
|
Thanks! Updated |
@rin-st I think in step 5 is missing to add ScaffoldEthAppWithProviders.tsx.args.mjs to components with
|
@rin-st Oh, sorry, it's there: just copy all other args.mjs files from challenge 0 PR |
Use this as example Challenge 0 example
Checklist
1. Branches
Use
To create the branch, so the new branch has no files or history (we don't need a history in this branch because we won't merge this branch to main).
Add an empty commit and push the branch:
And then use this branch as the starting branch to build the extension running:
From challenge-[n]-[challenge-name]--extension branch.
2. README.md
Surface structure of extension:
Copy
README.md
from current challenge version and place it in the root of extension. This README will be used by the SRE website.Change this part:
to:
3. README.md.args.mjs
Create
README.md.args.mjs
insideextension
folder. Structure of the file:We're setting
skipQuickStart
totrue
since the default quick start is not very good for us, as in the case of extensions it will be written before the description.extraContents
is mostly the same as mainREADME.md
, except## Checkpoint 0: 📦 Environment 📚
: node/yarn/git and npx create-eth parts are removed since we don't need those parts from inside an already created instance. Alsoyarn chain/deploy/start
is a bit different.Use
\
before backticks4. packages/hardhat
Add your
openzeppelin
contracts mostly uses^0.8.20
, so probably you need to change solidity versions in contracts. For example I needed to change version from 0.8.4 to 0.8.20 in challenge 2 since it usesOwnable
ofopenzeppelin
5. packages/nextjs
Add your
public
folder withhero.png
andthumbnail-challenge-n.png
file. Changen
to number of your challenge. Take these files frompublic
folder of that challenge branch inse-2-challenges
repository.Template files are mostly the same. What needed to be changed:
/app/layout.tsx.args.mjs
: change number of the challenge in titlepage.tsx.args.mjs
challenge number insideexternalExtensionName
. Changedescription
, take it from return of homepage component ofse-2-challenges
challenge branch. Removew-[75%]
and similar classNames of wrapper div if needed/components/Header.tsx.args.mjs
changemenuIconImports
,menuObjects
andlogoSubtitle
. Don't include home and debug pages/utils/scaffold-eth/getMetadata.ts.args.mjs
change challenge number insidethumbnailPath
next.config.args.mjs
most likely you don't need that fileargs.mjs
files from challenge 0 PRpackage.json
add deps if needed6. New template files
create-eth
with yourtemplate.mjs
files.args.mjs
filesIf I forgot something or if you find something new please add it to this checklist
Thank you!
The text was updated successfully, but these errors were encountered: