@jbx-protocol/contracts

0.0.6 • Public • Published

juice-contracts

This repo contains the Juicebox Protocol smart contracts.

It was created at the time of the V2 rewrite, which requires a full migration from V1. V1 contracts are included for migration tests and posterity, but in general the repo is geared towards V2 and beyond.

Develop

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

yarn chain --network hardhat

To run tests (all, unit, integration):

yarn test
yarn test:unit
yarn test:integration

You can also filter by version, test name, etc.:

yarn test:unit --grep "ProxyPaymentAddressManager"

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.

NOTE: Since we make heavy use of the skipIfAlreadyDeployed parameter, if new contract(s) are added, their deployment configuration(s) should be added to the ./deploy/deploy.js script – not a one-off.

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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.6
    5
    • latest

Version History

Package Sidebar

Install

npm i @jbx-protocol/contracts

Weekly Downloads

15

Version

0.0.6

License

MIT

Unpacked Size

3.18 MB

Total Files

80

Last publish

Collaborators

  • filipviz
  • drgorilla
  • ba5ed
  • me.jango