Skip to content

kleros/tcr

Repository files navigation

Arbitrable Permission Lists on Ethereum

JavaScript Style Guide Tested with Truffle Conventional Commits Commitizen Friendly Styled with Prettier

Contracts for creating arbitrable permission lists on Ethereum.

Development

  1. Clone this repo.
  2. Run yarn install to install dependencies and then yarn build to compile the contracts.

Release

To bump the version of the package, use yarn release.

Scripts

  • yarn prettify - Apply prettier to the entire project.
  • yarn lint:sol - Lint the entire project's .sol files.
  • yarn lint:js - Lint the entire project's .js files.
  • yarn lint:sol --fix - Fix fixable linting errors in .sol files.
  • yarn lint:js --fix - Fix fixable linting errors in .js files.
  • yarn lint - Lint the entire project's .sol and .js files.
  • yarn test - Run the truffle tests.
  • yarn cz - Run commitizen.
  • yarn build - Compiles contracts and extracts the abi into the abi folder.
  • yarn release - Run standard-version`.

Test

Testrpc default gas limit is lower than the mainnet which prevents deploying some contracts. Before running truffle tests use: testrpc -l 8000000.

Testing contracts

  • Run npx hardhat compile to compile the contracts.
  • Run npx hardhat test to run all test cases in test folder.
  • Run npx hardhat test <location of test file> to run the test cases for specific contract.

Testing contracts on specific network

  • Run npx hardhat test --network <network name in hardhat.config.js> to run all test cases in test folder.
  • Run npx hardhat test <location of test file> --network <network name in hardhat.config.js> to run the test cases for specific contract.
  • Add private keys for the roles needed to test the contracts according to hardhat.config.js.

Contributing

See contributing.

Learn how to develop arbitrable and arbitrator contracts here.