/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */

import { Signer, Contract, ContractFactory, Overrides } from "ethers";
import { Provider, TransactionRequest } from "@ethersproject/providers";

import type { RatingManager } from "../RatingManager";

export class RatingManager__factory extends ContractFactory {
  constructor(signer?: Signer) {
    super(_abi, _bytecode, signer);
  }

  deploy(
    overrides?: Overrides & { from?: string | Promise<string> }
  ): Promise<RatingManager> {
    return super.deploy(overrides || {}) as Promise<RatingManager>;
  }
  getDeployTransaction(
    overrides?: Overrides & { from?: string | Promise<string> }
  ): TransactionRequest {
    return super.getDeployTransaction(overrides || {});
  }
  attach(address: string): RatingManager {
    return super.attach(address) as RatingManager;
  }
  connect(signer: Signer): RatingManager__factory {
    return super.connect(signer) as RatingManager__factory;
  }
  static connect(
    address: string,
    signerOrProvider: Signer | Provider
  ): RatingManager {
    return new Contract(address, _abi, signerOrProvider) as RatingManager;
  }
}

const _abi = [
  {
    inputs: [
      {
        internalType: "address",
        name: "_admin",
        type: "address",
      },
      {
        internalType: "uint256",
        name: "_ratingDecrementGraceTime",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "_ratingIncrementPerDay",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "_ratingDecrementPerDay",
        type: "uint256",
      },
    ],
    name: "RatingManager__Init",
    outputs: [],
    stateMutability: "nonpayable",
    type: "function",
  },
  {
    inputs: [
      {
        internalType: "uint256",
        name: "x",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "y",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "z",
        type: "uint256",
      },
    ],
    name: "changeRatingSlabs",
    outputs: [],
    stateMutability: "nonpayable",
    type: "function",
  },
  {
    inputs: [
      {
        internalType: "uint256",
        name: "a",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "b",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "c",
        type: "uint256",
      },
      {
        internalType: "uint256",
        name: "d",
        type: "uint256",
      },
    ],
    name: "changeUAPRewardsOfSlab",
    outputs: [],
    stateMutability: "nonpayable",
    type: "function",
  },
  {
    inputs: [
      {
        internalType: "uint256",
        name: "_rating",
        type: "uint256",
      },
    ],
    name: "getUAPForRating",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "globalRatingPause",
    outputs: [
      {
        internalType: "bool",
        name: "",
        type: "bool",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "ratingDecrementGraceTime",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "ratingDecrementPerDay",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "ratingIncrementPerDay",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "rating_x",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "rating_y",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "rating_z",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "uap_slab_a",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "uap_slab_b",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "uap_slab_c",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
  {
    inputs: [],
    name: "uap_slab_d",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256",
      },
    ],
    stateMutability: "view",
    type: "function",
  },
];

const _bytecode =
  "0x608060405234801561001057600080fd5b5061059a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638b18aac311610097578063a9e4d14711610066578063a9e4d1471461019a578063bcbaa1b6146101ad578063c0bbeed7146101c0578063ed1e360d146101c957600080fd5b80638b18aac31461016c5780639167e77f146101755780639d6edeef1461017e578063a5c976a01461019157600080fd5b80636527c112116100d35780636527c1121461013457806371d6e8d21461013d5780637c64eb011461015a57806385ee43d51461016357600080fd5b80634788c8f4146100fa5780635ee2b1a41461011657806362a4fb6f1461012b575b600080fd5b61010360095481565b6040519081526020015b60405180910390f35b610129610124366004610532565b6101d2565b005b61010360015481565b61010360085481565b60045461014a9060ff1681565b604051901515815260200161010d565b61010360025481565b61010360075481565b610103600b5481565b61010360055481565b61012961018c366004610506565b610203565b61010360065481565b6101296101a83660046104a6565b610321565b6101036101bb3660046104ed565b61044b565b610103600a5481565b61010360035481565b6000546201000090046001600160a01b031633146101ef57600080fd5b600893909355600991909155600a55600b55565b6000546201000090046001600160a01b0316331461022057600080fd5b600083116102755760405162461bcd60e51b815260206004820152601a60248201527f782073686f756c642062652067726561746572207468616e203000000000000060448201526064015b60405180910390fd5b8282116102c45760405162461bcd60e51b815260206004820152601a60248201527f792073686f756c642062652067726561746572207468616e2078000000000000604482015260640161026c565b8181116103135760405162461bcd60e51b815260206004820152601a60248201527f7a2073686f756c642062652067726561746572207468616e2079000000000000604482015260640161026c565b600592909255600655600755565b600054610100900460ff1661033c5760005460ff1615610340565b303b155b6103a35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161026c565b600054610100900460ff161580156103c5576000805461ffff19166101011790555b6000805462010000600160b01b031916620100006001600160a01b0388160217815560018590556002849055600383905562013880600555620186a06006556201d4c0600755600855674563918244f40000600955678ac7230489e80000600a5567d02ab486cedc0000600b558015610444576000805461ff00191690555b5050505050565b6000600554821161045e57505060085490565b6005548211801561047157506006548211155b1561047e57505060095490565b6006548211801561049157506007548211155b1561049e575050600a5490565b5050600b5490565b600080600080608085870312156104bc57600080fd5b84356001600160a01b03811681146104d357600080fd5b966020860135965060408601359560600135945092505050565b6000602082840312156104ff57600080fd5b5035919050565b60008060006060848603121561051b57600080fd5b505081359360208301359350604090920135919050565b6000806000806080858703121561054857600080fd5b505082359460208401359450604084013593606001359250905056fea2646970667358221220526f0c8adf3d0bccc76f26c87d714e204c556e2c411ae0ec1890fa4d363c18ee64736f6c63430008070033";
