Move kernel, primitives into plugins to utilise shared foundry & hardhat project
Update test directory structure in plugins to account for new changes
Had some submodule difficulties when migrating kernel so updated the contracts to use latest kernel release as that mitigated the submodule issue I was getting. As part of this had to generate new bls sigs, so added a script to do that - plugins/script/generateBlsSig.ts
Delete ethdk - there is currently no code in this directory and we have no upcoming work related to this. So thought removing would make the repo simpler to understand.
Feel free to push back on any of the above changes. Also if I missed any worthwhile changes, feel free to suggest them.
In terms of testing locally, all the tests pass as they did before (except the one mentioned, but that looks unrelated as was failing in a commit before these changes), workflows are passing in CI, and I also tried out the demos and they seem to work as before. I didn't try everything in the inpage, but tested we could still deploy an account, send a tx and call a contract.
Future/other potential changes
While walking through the relayer code with Yush from zkemail, he thought keeping the recovery contracts like SafeZkEmailRecoveryPlugin.sol next to the relayer code would make it easier for developers to understand how recovery works and what contracts are relevant. Haven't made this change but mentioning the idea here for reference.
While the READMEs have been updated to account for these changes, they probably still require updating fully to account for current WAX priorities and changes to the monorepo. README changes in this PR make sure it's not completely outdated. Added an issue to update these properly #211
This PR adds no monorepo tooling, and is primarily concerned with restructuring the directories. If we want to add some more sophisticated tooling, the idea is that could be covered by a future PR.
Not sure what the plans is with the sdk and barebones contracts - left them as they are for now
How can these changes be manually tested?
Examine directory structure locally
Run e2e tests
Does this PR resolve or contribute to any issues?
Resolves #192
Checklist
[x] I have manually tested these changes
[x] Post a link to the PR in the group chat
Guidelines
If your PR is not ready, mark it as a draft
The resolve conversation button is for reviewers, not authors
What is this PR doing?
Restructures the monorepo.
account-integrations
topackages
demos
intopackages
safe
toplugins
kernel
,primitives
intoplugins
to utilise shared foundry & hardhat projectplugins
to account for new changeskernel
so updated the contracts to use latestkernel
release as that mitigated the submodule issue I was getting. As part of this had to generate new bls sigs, so added a script to do that -plugins/script/generateBlsSig.ts
Feel free to push back on any of the above changes. Also if I missed any worthwhile changes, feel free to suggest them.
In terms of testing locally, all the tests pass as they did before (except the one mentioned, but that looks unrelated as was failing in a commit before these changes), workflows are passing in CI, and I also tried out the demos and they seem to work as before. I didn't try everything in the inpage, but tested we could still deploy an account, send a tx and call a contract.
Future/other potential changes
SafeZkEmailRecoveryPlugin.sol
next to the relayer code would make it easier for developers to understand how recovery works and what contracts are relevant. Haven't made this change but mentioning the idea here for reference.How can these changes be manually tested?
Does this PR resolve or contribute to any issues?
Resolves #192
Checklist
Guidelines
resolve conversation
button is for reviewers, not authors