kleros/kleros-v2

View on GitHub
contracts/deploy/utils/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { ethers } from "ethers";
import { Network } from "hardhat/types";

// TODO: derive this from hardhat.config and make it rely on viem/chains

export enum HardhatChain {
  HARDHAT = 31337,
}

export enum HomeChains {
  ARBITRUM_ONE = 42161,
  ARBITRUM_SEPOLIA = 421614,
  HARDHAT = HardhatChain.HARDHAT,
}

export enum ForeignChains {
  ETHEREUM_MAINNET = 1,
  ETHEREUM_SEPOLIA = 11155111,
  GNOSIS_MAINNET = 100,
  GNOSIS_CHIADO = 10200,
  HARDHAT = HardhatChain.HARDHAT,
}

export enum Courts {
  FORKING = 0,
  GENERAL = 1,
}

export const isMainnet = (network: Network) => network.tags.production ?? false;
export const isDevnet = (network: Network) => network.name.endsWith("Devnet");

export const isSkipped = async (network: Network, skip: boolean) => {
  if (skip) {
    console.error(`Error: incompatible network ${network.name} for this deployment script`);
    return true;
  }
  return false;
};

export const PNK = (n: number) => ethers.utils.parseUnits(String(n));
export const ETH = (n: number) => ethers.utils.parseUnits(String(n));