Premia - Next-Generation Options AMM

July 30, 2022 ยท View on GitHub

https://premia.finance

Deployments

Network
Ethereum Mainnet๐Ÿ“œ
Arbitrum Mainnet๐Ÿ“œ
Fantom๐Ÿ“œ
Optimism๐Ÿ“œ

Development

Install dependencies via Yarn:

yarn install

Setup Husky to format code on commit:

yarn prepare

Create a .env file with the following values defined:

KeyDescription
API_KEY_ALCHEMYAlchemy API key for node connectivity
API_KEY_ETHERSCANEtherscan API key for source code verification
PKEY_ETH_TESTprivate key for test/development use on testnets
FORK_MODEif true, the local Hardhat network will be forked from mainnet
REPORT_GASif true, a gas report will be generated after running tests

Create a .env.secret file with the following values defined:

KeyDescription
PKEY_ETH_MAINprivate key for production use on mainnets

Testing

Test contracts via Hardhat:

yarn run hardhat test

Activate gas usage reporting by setting the REPORT_GAS environment variable to "true":

REPORT_GAS=true yarn run hardhat test

Generate a code coverage report using solidity-coverage:

yarn run hardhat coverage

Licensing

The primary license for Premia contracts is the Business Source License 1.1 (BUSL-1.1), see LICENSE.

Exceptions

  • Interfaces are licensed under LGPL-3.0-or-later (as indicated in their SPDX headers), see LICENSE_LGPL
  • All files in contracts/test remain unlicensed.