The repo currently uses a mix of typescript tests (run with HardHat) and solidity tests (run with Forge). The project
The repo currently uses solidity tests (run with Forge). The project uses the default hardhat directory structure, and all build/test steps should be run using the yarn scripts to ensure
uses the default hardhat directory structure, and all build/test steps should be run using the yarn scripts to ensure
the correct options are set.
the correct options are set.
Install node modules with yarn (v1), and Node.js (14+).
Install node modules with yarn (v1), and Node.js (14+).
...
@@ -22,28 +21,12 @@ yarn build
...
@@ -22,28 +21,12 @@ yarn build
## Running Tests
## Running Tests
First get the dependencies:
`git submodule init` and `git submodule update`
Then the full test suite can be executed via `yarn`:
Then the full test suite can be executed via `yarn`:
```shell
```shell
yarn test
yarn test
```
```
To run only typescript tests:
```shell
yarn test:hh
```
To run only solidity tests:
```shell
yarn test:forge
```
## Deployment
## Deployment
Create a file that corresponds to the network name in the `deploy-config`
Create a file that corresponds to the network name in the `deploy-config`
...
@@ -52,7 +35,7 @@ directory and then run the command:
...
@@ -52,7 +35,7 @@ directory and then run the command:
```shell
```shell
L1_RPC=<ETHEREUM L1 RPC endpoint> \
L1_RPC=<ETHEREUM L1 RPC endpoint> \
PRIVATE_KEY_DEPLOYER=<PRIVATE KEY TO PAY FOR THE DEPLOYMENT> \
PRIVATE_KEY_DEPLOYER=<PRIVATE KEY TO PAY FOR THE DEPLOYMENT> \
npx hardhat deploy --network <network-name>
npx hardhat deploy --network <network-name>
```
```
In the `hardhat.config.ts`, there is a `deployConfigSpec` field that validates that the types
In the `hardhat.config.ts`, there is a `deployConfigSpec` field that validates that the types