:toc: macro

= Threshold network contracts

This package contains Threshold network contracts.

toc::[]

== Build, test and deploy

Threshold contracts use https://hardhat.org/[*Hardhat*] development environment.
To build and deploy these contracts, please follow the instructions presented
below.

=== Prerequisites

Please make sure you have the following prerequisites installed on your machine:

- https://nodejs.org[Node.js] >14.17.4
- https://yarnpkg.com[Yarn] >1.22.10

=== Build contracts

To build the smart contracts, install node packages first:
```
yarn install
```
Once packages are installed, you can build the smart contracts using:
```
yarn build
```
Compiled contracts will land in the `build` directory.

=== Test contracts

There are multiple test scenarios living in the `test` directory.
You can run them by doing:
```
yarn test
```

=== Deploy contracts

To deploy all contracts on the given network, please run:
```
yarn deploy --network <network>
```

If contracts haven't been built yet or changes occurred, this task will build
the contracts before running the deployment script. This command produces
an `export.json` file containing contract deployment info.
