All Projects → jbx-protocol → juice-contracts-v2

jbx-protocol / juice-contracts-v2

Licence: other
⚙️ Juicebox core V2 contracts.

Programming Languages

javascript
184084 projects - #8 most used programming language
solidity
1140 projects

juice-contracts-v2

Develop

To deploy the contracts to a local blockchain, run the following:

yarn chain --network hardhat

To run tests:

yarn test

Coverage

To check current test coverage:

node --require esm ./node_modules/.bin/hardhat coverage --network hardhat

A few notes:

  • Hardhat doesn't support esm yet, hence running manually with node.
  • We are currently using a forked version of solidity-coverage that includes optimizer settings. Ideally we will move to the maintained version after this is fixed on their end.

Deploy

Juicebox uses the Hardhat Deploy plugin to deploy contracts to a given network. But before using it, you must create a ./mnemonic.txt file containing the mnemonic phrase of the wallet used to deploy. You can generate a new mnemonic using this tool. Generate a mnemonic at your own risk.

Then, to execute the ./deploy/deploy.js script, run the following:

npx hardhat deploy --network $network

Contract artifacts will be outputted to ./deployments/$network/** and should be checked in to the repo.

Verification

To verify the contracts on Etherscan, make sure you have an ETHERSCAN_API_KEY set in your ./.env file. Then run the following:

npx hardhat --network $network etherscan-verify

This will verify all of the deployed contracts in ./deployments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].