0.3.2 • Published 12 months ago

@kleros/vea-contracts v0.3.2

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

@kleros/kleros-v2-contracts

Smart contracts for Kleros v2

Deployed Addresses

Refresh the list of deployed contracts by running ./scripts/generateDeploymentsMarkdown.sh.

v2-prealpha-3

Goerli

Arbitrum Goerli (Nitro)

Rinkeby

Arbitrum Rinkeby

Getting Started

Install the Dependencies

yarn install

Run Tests

yarn test

Compile the Contracts

yarn build

Run Linter on Files

yarn lint

Fix Linter Issues on Files

yarn fix

Deploy Instructions

NOTICE: the commands below work only if you are inside the contracts/ directory.

0. Set the Environment Variables

Copy .env.example file as .env and edit it accordingly.

cp .env.example .env

The following env vars are required:

  • PRIVATE_KEY: the private key of the deployer account used for the testnets.
  • MAINNET_PRIVATE_KEY: the private key of the deployer account used for Mainnet.
  • INFURA_API_KEY: the API key for infura.

The ones below are optional:

  • ETHERSCAN_API_KEY: to verify the source of the newly deployed contracts on Etherscan.
  • ARBISCAN_API_KEY: to verify the source of the newly deployed contracts on Arbitrum.

1. Update the Constructor Parameters (optional)

If some of the constructor parameters (such as the Meta Evidence) needs to change, you need to update the files in the deploy/ directory.

2. Deploy to a Local Network

The complete deployment is multi-chain, so a deployment to the local network can only simulate either the Home chain or the Foreign chain.

Shell 1: the node

yarn hardhat node --tags nothing

Shell 2: the deploy script

yarn hardhat deploy --network localhost --tags HomeChain

3. Deploy to Public Testnets

# Goerli
yarn hardhat deploy --network arbitrumGoerli --tags Arbitration
yarn hardhat deploy --network goerli --tags ForeignChain
yarn hardhat deploy --network arbitrumGoerli --tags HomeChain

# Rinkeby
yarn hardhat deploy --network arbitrumRinkeby --tags Arbitration
yarn hardhat deploy --network rinkeby --tags ForeignChain
yarn hardhat deploy --network arbitrumRinkeby --tags HomeChain

The deployed addresses should be output to the screen after the deployment is complete. If you miss that, you can always go to the deployments/<network> directory and look for the respective file.

Running Test Fixtures

Shell 1: the node

yarn hardhat node --tags Arbitration,ForeignGateway,HomeGateway

Shell 2: the test script

yarn hardhat test --network localhost test/pre-alpha1/index.ts

4. Verify the Source Code for Contracts

This must be done for each network separately.

yarn hardhat --network <arbitrumGoerli|arbitrumRinkeby|arbitrum|goerli|rinkeby|mainnet> etherscan-verify

Ad-hoc procedures

Populating the policy registry and courts

1/ Export the registry data from V1

yarn hardhat run scripts/getPoliciesV1.ts  --network mainnet | tee policies.v1.json
yarn hardhat run scripts/getCourtsV1.ts --network mainnet | tee courts.v1.json

2/ Import the data to V2 - Local Network

Shell 1:

yarn hardhat node --tags Arbitration

Shell 2:

yarn hardhat run scripts/populatePolicyRegistry.ts --network localhost
yarn hardhat run scripts/populateCourts.ts --network localhost

3/ Import the data to V2 - Public Testnet

yarn hardhat run scripts/populatePolicyRegistry.ts --network arbitrumRinkeby
yarn hardhat run scripts/populateCourts.ts --network arbitrumRinkeby
0.3.0

12 months ago

0.2.1

12 months ago

0.2.0

12 months ago

0.3.2

12 months ago

0.3.1

12 months ago

0.1.13

1 year ago

0.1.14

1 year ago

0.1.10

1 year ago

0.1.11

1 year ago

0.1.12

1 year ago

0.1.9

2 years ago

0.1.7

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago