celo-org / celo-monorepo

Official repository for core projects comprising the Celo platform
https://celo.org
Apache License 2.0
684 stars 360 forks source link

[Epic] Replace Truffle + Ganache with Foundry suite #11098

Open martinvol opened 5 days ago

martinvol commented 5 days ago
### Tests
- [ ] https://github.com/celo-org/celo-monorepo/issues/10319
- [ ] https://github.com/celo-org/celo-monorepo/issues/11099
- [ ] Replace truffle e2e tests with forge ones
- [ ] Migrate to Foundry or delete test:scripts

Documentation for scripts can be found here: https://docs.celo.org/community/release-process/smart-contracts Also see: https://github.com/celo-org/celo-monorepo/issues/11078

### Scripts
- [ ] Migrate script verify-deployed to Foundry
- [ ] Migrate script check-versions to Foundry
- [ ] Migrate script make-release to Foundry
- [ ] Migrate script verify-release to Foundry (to verify a chain)
- [ ] https://github.com/celo-org/celo-monorepo/issues/11102
- [ ] Migrate script ci:test-make-release to Foundry
- [ ] Create a script to easily verify contracts on the exploreres (celoscan, blockscout, sourcify)
- [ ] Migrate script test:release-snapshots to Foundry
- [ ] https://github.com/celo-org/celo-monorepo/issues/11100
- [ ] Generate types without typechain
- [ ] Investigate how to implement storage checks with anvil
### Devchain
- [ ] Make transfer precompile work on Anvil
- [ ] Migrate CI jobs out of Ganache
- [ ] https://github.com/celo-org/celo-monorepo/issues/11101
m-chrzan commented 2 days ago

RE: Generate types without typechain

Once everything is using Foundry (i.e. written in Solidity), we shouldn't need any type generation within the packages itself. Or is this to generate TS types for other packages/external projects to use? If so, is there a reason to not keep using TypeChain specifically?