Skip to main content

Add a contract in celo-monorepo

Adding a contract in celo-monorepo

Setting up a unit/migration test suit for the contract you just created in celo-monorepo and a short guide to running it successfully on celo test net. We’ll be using Accounts.sol as an example.

After initial contract creation

After contract was created and it’s ready to be tested run yarn build to generate typechain which is essentially a TS wrapper for the contract. Keep in mind that everytime you change your contract you have to run yarn build once again.

Unit tests

Test directory is organized the same way as the contracts directory so feel free to navigate to the parent folder of your currently created contract and create a corresponding(.ts) file for it. For example: celo-monorepo/packages/protocol/contracts/common/Accounts.sol → celo-monorepo/packages/protocol/test/common/accounts.ts.


Some build issues can be resolved by simply deleting build and the typechain folder. Don’t forget to run yarn build once again.