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

import { ethers } from "ethers";
import {
  FactoryOptions,
  HardhatEthersHelpers as HardhatEthersHelpersBase,
} from "@nomiclabs/hardhat-ethers/types";

import * as Contracts from ".";

declare module "hardhat/types/runtime" {
  interface HardhatEthersHelpers extends HardhatEthersHelpersBase {
    getContractFactory(
      name: "ILayerZeroFeeEstimator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILayerZeroFeeEstimator__factory>;
    getContractFactory(
      name: "IMessagePassingBridge",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMessagePassingBridge__factory>;
    getContractFactory(
      name: "IStaticOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStaticOracle__factory>;
    getContractFactory(
      name: "AccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlEnumerableUpgradeable__factory>;
    getContractFactory(
      name: "AccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlUpgradeable__factory>;
    getContractFactory(
      name: "IAccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable__factory>;
    getContractFactory(
      name: "IAccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlUpgradeable__factory>;
    getContractFactory(
      name: "OwnableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OwnableUpgradeable__factory>;
    getContractFactory(
      name: "IERC1822ProxiableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1822ProxiableUpgradeable__factory>;
    getContractFactory(
      name: "IERC1271Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1271Upgradeable__factory>;
    getContractFactory(
      name: "IBeaconUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBeaconUpgradeable__factory>;
    getContractFactory(
      name: "ERC1967UpgradeUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1967UpgradeUpgradeable__factory>;
    getContractFactory(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initializable__factory>;
    getContractFactory(
      name: "UUPSUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UUPSUpgradeable__factory>;
    getContractFactory(
      name: "PausableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PausableUpgradeable__factory>;
    getContractFactory(
      name: "ReentrancyGuardUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable__factory>;
    getContractFactory(
      name: "ERC20Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Upgradeable__factory>;
    getContractFactory(
      name: "ERC20PermitUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PermitUpgradeable__factory>;
    getContractFactory(
      name: "IERC20PermitUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20PermitUpgradeable__factory>;
    getContractFactory(
      name: "ERC20BurnableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20BurnableUpgradeable__factory>;
    getContractFactory(
      name: "ERC20PausableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PausableUpgradeable__factory>;
    getContractFactory(
      name: "IERC20MetadataUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20MetadataUpgradeable__factory>;
    getContractFactory(
      name: "IERC20Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Upgradeable__factory>;
    getContractFactory(
      name: "ERC20PresetMinterPauserUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PresetMinterPauserUpgradeable__factory>;
    getContractFactory(
      name: "ContextUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ContextUpgradeable__factory>;
    getContractFactory(
      name: "EIP712Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EIP712Upgradeable__factory>;
    getContractFactory(
      name: "ERC165Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC165Upgradeable__factory>;
    getContractFactory(
      name: "IERC165Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165Upgradeable__factory>;
    getContractFactory(
      name: "AccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControl__factory>;
    getContractFactory(
      name: "IAccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControl__factory>;
    getContractFactory(
      name: "Ownable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Ownable__factory>;
    getContractFactory(
      name: "IERC1822Proxiable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1822Proxiable__factory>;
    getContractFactory(
      name: "IBeacon",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBeacon__factory>;
    getContractFactory(
      name: "ERC1967Upgrade",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1967Upgrade__factory>;
    getContractFactory(
      name: "Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Proxy__factory>;
    getContractFactory(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initializable__factory>;
    getContractFactory(
      name: "Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pausable__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;
    getContractFactory(
      name: "IERC20Permit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Permit__factory>;
    getContractFactory(
      name: "IERC20Metadata",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Metadata__factory>;
    getContractFactory(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "IERC721Metadata",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Metadata__factory>;
    getContractFactory(
      name: "IERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721__factory>;
    getContractFactory(
      name: "IERC777",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC777__factory>;
    getContractFactory(
      name: "IERC777Recipient",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC777Recipient__factory>;
    getContractFactory(
      name: "IERC777Sender",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC777Sender__factory>;
    getContractFactory(
      name: "ERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC165__factory>;
    getContractFactory(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165__factory>;
    getContractFactory(
      name: "IERC1820Registry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1820Registry__factory>;
    getContractFactory(
      name: "IConstantFlowAgreementV1",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IConstantFlowAgreementV1__factory>;
    getContractFactory(
      name: "IInstantDistributionAgreementV1",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IInstantDistributionAgreementV1__factory>;
    getContractFactory(
      name: "IConstantInflowNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IConstantInflowNFT__factory>;
    getContractFactory(
      name: "IConstantOutflowNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IConstantOutflowNFT__factory>;
    getContractFactory(
      name: "IFlowNFTBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlowNFTBase__factory>;
    getContractFactory(
      name: "ISuperAgreement",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperAgreement__factory>;
    getContractFactory(
      name: "ISuperApp",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperApp__factory>;
    getContractFactory(
      name: "ISuperfluid",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperfluid__factory>;
    getContractFactory(
      name: "ISuperfluidGovernance",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperfluidGovernance__factory>;
    getContractFactory(
      name: "ISuperfluidToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperfluidToken__factory>;
    getContractFactory(
      name: "ISuperToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperToken__factory>;
    getContractFactory(
      name: "ISuperTokenFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperTokenFactory__factory>;
    getContractFactory(
      name: "ERC20WithTokenInfo",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20WithTokenInfo__factory>;
    getContractFactory(
      name: "ISETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISETH__factory>;
    getContractFactory(
      name: "ISETHCustom",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISETHCustom__factory>;
    getContractFactory(
      name: "TokenInfo",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenInfo__factory>;
    getContractFactory(
      name: "EventsEmitter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EventsEmitter__factory>;
    getContractFactory(
      name: "ConstantInflowNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ConstantInflowNFT__factory>;
    getContractFactory(
      name: "ConstantOutflowNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ConstantOutflowNFT__factory>;
    getContractFactory(
      name: "FlowNFTBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlowNFTBase__factory>;
    getContractFactory(
      name: "UUPSProxiable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UUPSProxiable__factory>;
    getContractFactory(
      name: "IUniswapV3Factory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3Factory__factory>;
    getContractFactory(
      name: "Avatar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Avatar__factory>;
    getContractFactory(
      name: "Controller",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Controller__factory>;
    getContractFactory(
      name: "GlobalConstraintInterface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GlobalConstraintInterface__factory>;
    getContractFactory(
      name: "IntVoteInterface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IntVoteInterface__factory>;
    getContractFactory(
      name: "ReputationInterface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ReputationInterface__factory>;
    getContractFactory(
      name: "SchemeRegistrar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SchemeRegistrar__factory>;
    getContractFactory(
      name: "Faucet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Faucet__factory>;
    getContractFactory(
      name: "FuseFaucet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FuseFaucet__factory>;
    getContractFactory(
      name: "FuseFaucetV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FuseFaucetV2__factory>;
    getContractFactory(
      name: "SuperfluidFaucet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SuperfluidFaucet__factory>;
    getContractFactory(
      name: "ClaimersDistribution",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ClaimersDistribution__factory>;
    getContractFactory(
      name: "CompoundVotingMachine",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CompoundVotingMachine__factory>;
    getContractFactory(
      name: "GoodDollarStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodDollarStaking__factory>;
    getContractFactory(
      name: "IGovernanceStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGovernanceStaking__factory>;
    getContractFactory(
      name: "IStakingUpgrade",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStakingUpgrade__factory>;
    getContractFactory(
      name: "RewardsMinter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RewardsMinter__factory>;
    getContractFactory(
      name: "GovernanceStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernanceStaking__factory>;
    getContractFactory(
      name: "GReputation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GReputation__factory>;
    getContractFactory(
      name: "MultiBaseGovernanceShareField",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultiBaseGovernanceShareField__factory>;
    getContractFactory(
      name: "Reputation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Reputation__factory>;
    getContractFactory(
      name: "StakersDistribution",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakersDistribution__factory>;
    getContractFactory(
      name: "IdentityV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IdentityV2__factory>;
    getContractFactory(
      name: "AggregatorV3Interface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AggregatorV3Interface__factory>;
    getContractFactory(
      name: "CERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CERC20__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;
    getContractFactory(
      name: "IAaveIncentivesController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAaveIncentivesController__factory>;
    getContractFactory(
      name: "IAdminWallet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAdminWallet__factory>;
    getContractFactory(
      name: "IDonationStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDonationStaking__factory>;
    getContractFactory(
      name: "IERC2917",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC2917__factory>;
    getContractFactory(
      name: "IFirstClaimPool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFirstClaimPool__factory>;
    getContractFactory(
      name: "IGoodDollar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoodDollar__factory>;
    getContractFactory(
      name: "IGoodStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoodStaking__factory>;
    getContractFactory(
      name: "IHasRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHasRouter__factory>;
    getContractFactory(
      name: "IIdentity",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IIdentity__factory>;
    getContractFactory(
      name: "IIdentityV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IIdentityV2__factory>;
    getContractFactory(
      name: "ILendingPool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILendingPool__factory>;
    getContractFactory(
      name: "IMultichainRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMultichainRouter__factory>;
    getContractFactory(
      name: "INameService",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.INameService__factory>;
    getContractFactory(
      name: "IQuoterV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IQuoterV2__factory>;
    getContractFactory(
      name: "ISwapRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISwapRouter__factory>;
    getContractFactory(
      name: "IUBIScheme",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUBIScheme__factory>;
    getContractFactory(
      name: "ProxyAdmin",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProxyAdmin__factory>;
    getContractFactory(
      name: "Reserve",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Reserve__factory>;
    getContractFactory(
      name: "Staking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Staking__factory>;
    getContractFactory(
      name: "Uniswap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Uniswap__factory>;
    getContractFactory(
      name: "UniswapFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapFactory__factory>;
    getContractFactory(
      name: "UniswapPair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapPair__factory>;
    getContractFactory(
      name: "InvitesFuseV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.InvitesFuseV2__factory>;
    getContractFactory(
      name: "InvitesV1",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.InvitesV1__factory>;
    getContractFactory(
      name: "InvitesV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.InvitesV2__factory>;
    getContractFactory(
      name: "OneTimeReward",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OneTimeReward__factory>;
    getContractFactory(
      name: "IBancorExchangeProvider",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBancorExchangeProvider__factory>;
    getContractFactory(
      name: "IBroker",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBroker__factory>;
    getContractFactory(
      name: "IGoodDollarExchangeProvider",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoodDollarExchangeProvider__factory>;
    getContractFactory(
      name: "IGoodDollarExpansionController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoodDollarExpansionController__factory>;
    getContractFactory(
      name: "IMentoReserve",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMentoReserve__factory>;
    getContractFactory(
      name: "AaveMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AaveMock__factory>;
    getContractFactory(
      name: "AaveUSDMockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AaveUSDMockOracle__factory>;
    getContractFactory(
      name: "BatUSDMockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BatUSDMockOracle__factory>;
    getContractFactory(
      name: "CBATMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CBATMock__factory>;
    getContractFactory(
      name: "CDAILowWorthMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CDAILowWorthMock__factory>;
    getContractFactory(
      name: "CDAIMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CDAIMock__factory>;
    getContractFactory(
      name: "CDAINonMintableMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CDAINonMintableMock__factory>;
    getContractFactory(
      name: "CDecimalsMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CDecimalsMock__factory>;
    getContractFactory(
      name: "CeloDistributionHelperTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CeloDistributionHelperTest__factory>;
    getContractFactory(
      name: "CeloDistributionHelperTestHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CeloDistributionHelperTestHelper__factory>;
    getContractFactory(
      name: "CompUSDMockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CompUSDMockOracle__factory>;
    getContractFactory(
      name: "CSDTMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CSDTMock__factory>;
    getContractFactory(
      name: "CUSDCMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CUSDCMock__factory>;
    getContractFactory(
      name: "DaiEthPriceMockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DaiEthPriceMockOracle__factory>;
    getContractFactory(
      name: "DAIMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DAIMock__factory>;
    getContractFactory(
      name: "DecimalsMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DecimalsMock__factory>;
    getContractFactory(
      name: "DistributionBridgeMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DistributionBridgeMock__factory>;
    getContractFactory(
      name: "DistributionHelperTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DistributionHelperTest__factory>;
    getContractFactory(
      name: "DistributionHelperTestHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DistributionHelperTestHelper__factory>;
    getContractFactory(
      name: "EthUSDMockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EthUSDMockOracle__factory>;
    getContractFactory(
      name: "FeesFormulaMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FeesFormulaMock__factory>;
    getContractFactory(
      name: "GasPriceMockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GasPriceMockOracle__factory>;
    getContractFactory(
      name: "GoodCompoundStakingTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodCompoundStakingTest__factory>;
    getContractFactory(
      name: "GoodDollarStakingMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodDollarStakingMock__factory>;
    getContractFactory(
      name: "GoodFundManagerTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodFundManagerTest__factory>;
    getContractFactory(
      name: "IdentityMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IdentityMock__factory>;
    getContractFactory(
      name: "IncentiveControllerMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IncentiveControllerMock__factory>;
    getContractFactory(
      name: "LendingPoolMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LendingPoolMock__factory>;
    getContractFactory(
      name: "IWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWrapper__factory>;
    getContractFactory(
      name: "MultichainRouterMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultichainRouterMock__factory>;
    getContractFactory(
      name: "IGoodDollarStakingTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoodDollarStakingTest__factory>;
    getContractFactory(
      name: "OverMintTester",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OverMintTester__factory>;
    getContractFactory(
      name: "OverMintTesterRegularStake",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OverMintTesterRegularStake__factory>;
    getContractFactory(
      name: "PayableMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PayableMock__factory>;
    getContractFactory(
      name: "SixteenDecimalsTokenMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SixteenDecimalsTokenMock__factory>;
    getContractFactory(
      name: "StakingMockFixedAPY",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakingMockFixedAPY__factory>;
    getContractFactory(
      name: "SwapHelperTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SwapHelperTest__factory>;
    getContractFactory(
      name: "TwentyDecimalsTokenMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TwentyDecimalsTokenMock__factory>;
    getContractFactory(
      name: "UpgradableMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UpgradableMock__factory>;
    getContractFactory(
      name: "UpgradableMock2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UpgradableMock2__factory>;
    getContractFactory(
      name: "UpgradableMock3",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UpgradableMock3__factory>;
    getContractFactory(
      name: "UpgradableMock4",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UpgradableMock4__factory>;
    getContractFactory(
      name: "USDCMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.USDCMock__factory>;
    getContractFactory(
      name: "CeloDistributionHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CeloDistributionHelper__factory>;
    getContractFactory(
      name: "DistributionHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DistributionHelper__factory>;
    getContractFactory(
      name: "ExchangeHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ExchangeHelper__factory>;
    getContractFactory(
      name: "GoodMarketMaker",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodMarketMaker__factory>;
    getContractFactory(
      name: "ContributionCalc",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ContributionCalc__factory>;
    getContractFactory(
      name: "GoodReserveCDai",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodReserveCDai__factory>;
    getContractFactory(
      name: "AaveStakingFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AaveStakingFactory__factory>;
    getContractFactory(
      name: "GoodAaveStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodAaveStaking__factory>;
    getContractFactory(
      name: "GoodAaveStakingV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodAaveStakingV2__factory>;
    getContractFactory(
      name: "BaseShareField",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaseShareField__factory>;
    getContractFactory(
      name: "BaseShareFieldV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaseShareFieldV2__factory>;
    getContractFactory(
      name: "CompoundStakingFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CompoundStakingFactory__factory>;
    getContractFactory(
      name: "GoodCompoundStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodCompoundStaking__factory>;
    getContractFactory(
      name: "GoodCompoundStakingV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodCompoundStakingV2__factory>;
    getContractFactory(
      name: "DonationsStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DonationsStaking__factory>;
    getContractFactory(
      name: "FuseStakingV3",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FuseStakingV3__factory>;
    getContractFactory(
      name: "IConsensus",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IConsensus__factory>;
    getContractFactory(
      name: "PegSwap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PegSwap__factory>;
    getContractFactory(
      name: "GoodFundManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodFundManager__factory>;
    getContractFactory(
      name: "SimpleStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SimpleStaking__factory>;
    getContractFactory(
      name: "SimpleStakingV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SimpleStakingV2__factory>;
    getContractFactory(
      name: "UniswapV2SwapHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV2SwapHelper__factory>;
    getContractFactory(
      name: "StakingRewardsFixedAPY",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakingRewardsFixedAPY__factory>;
    getContractFactory(
      name: "ERC20PresetMinterPauserUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PresetMinterPauserUpgradeable__factory>;
    getContractFactory(
      name: "ERC677",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC677__factory>;
    getContractFactory(
      name: "ERC677Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC677Receiver__factory>;
    getContractFactory(
      name: "GoodDollar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodDollar__factory>;
    getContractFactory(
      name: "IFeesFormula",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFeesFormula__factory>;
    getContractFactory(
      name: "MultichainFeeFormula",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultichainFeeFormula__factory>;
    getContractFactory(
      name: "ERC20Permit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Permit__factory>;
    getContractFactory(
      name: "SelfApprove",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SelfApprove__factory>;
    getContractFactory(
      name: "IGoodDollarCustom",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoodDollarCustom__factory>;
    getContractFactory(
      name: "ISuperGoodDollar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperGoodDollar__factory>;
    getContractFactory(
      name: "ISuperToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISuperToken__factory>;
    getContractFactory(
      name: "SuperfluidToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SuperfluidToken__factory>;
    getContractFactory(
      name: "SuperGoodDollar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SuperGoodDollar__factory>;
    getContractFactory(
      name: "SuperToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SuperToken__factory>;
    getContractFactory(
      name: "UUPSProxiable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UUPSProxiable__factory>;
    getContractFactory(
      name: "Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Proxy__factory>;
    getContractFactory(
      name: "UUPSProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UUPSProxy__factory>;
    getContractFactory(
      name: "UBIScheme",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UBIScheme__factory>;
    getContractFactory(
      name: "UBISchemeV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UBISchemeV2__factory>;
    getContractFactory(
      name: "AdminWallet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AdminWallet__factory>;
    getContractFactory(
      name: "AdminWalletFuse",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AdminWalletFuse__factory>;
    getContractFactory(
      name: "BancorFormula",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BancorFormula__factory>;
    getContractFactory(
      name: "BulkWhitelist",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BulkWhitelist__factory>;
    getContractFactory(
      name: "BuyAndBridgeHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BuyAndBridgeHelper__factory>;
    getContractFactory(
      name: "BuyGDClone",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BuyGDClone__factory>;
    getContractFactory(
      name: "BuyGDCloneFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BuyGDCloneFactory__factory>;
    getContractFactory(
      name: "DonateGDClone",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DonateGDClone__factory>;
    getContractFactory(
      name: "DAOContract",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DAOContract__factory>;
    getContractFactory(
      name: "DAOUpgradeableContract",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DAOUpgradeableContract__factory>;
    getContractFactory(
      name: "FuseOldBridgeKill",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FuseOldBridgeKill__factory>;
    getContractFactory(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initializable__factory>;
    getContractFactory(
      name: "IUpgradeabilityOwnerStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUpgradeabilityOwnerStorage__factory>;
    getContractFactory(
      name: "Ownable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Ownable__factory>;
    getContractFactory(
      name: "GDFaucet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GDFaucet__factory>;
    getContractFactory(
      name: "GoodDollarMintBurnWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GoodDollarMintBurnWrapper__factory>;
    getContractFactory(
      name: "IRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRouter__factory>;
    getContractFactory(
      name: "PausableControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PausableControl__factory>;
    getContractFactory(
      name: "IdentityFix",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IdentityFix__factory>;
    getContractFactory(
      name: "LastauthReduction",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LastauthReduction__factory>;
    getContractFactory(
      name: "Multicall",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Multicall__factory>;
    getContractFactory(
      name: "MultichainBridgeHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultichainBridgeHelper__factory>;
    getContractFactory(
      name: "NameService",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.NameService__factory>;
    getContractFactory(
      name: "OneTimePayments",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OneTimePayments__factory>;
    getContractFactory(
      name: "OneTimePaymentsV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OneTimePaymentsV2__factory>;
    getContractFactory(
      name: "MentoExchange",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MentoExchange__factory>;
    getContractFactory(
      name: "ProtocolUpgradeV4Mento",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolUpgradeV4Mento__factory>;
    getContractFactory(
      name: "OldMarketMaker",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OldMarketMaker__factory>;
    getContractFactory(
      name: "ProtocolUpgrade",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolUpgrade__factory>;
    getContractFactory(
      name: "ProtocolUpgradeFuse",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolUpgradeFuse__factory>;
    getContractFactory(
      name: "ProtocolUpgradeFuseRecover",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolUpgradeFuseRecover__factory>;
    getContractFactory(
      name: "ProtocolUpgradeRecover",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolUpgradeRecover__factory>;
    getContractFactory(
      name: "ERC1967Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1967Proxy__factory>;
    getContractFactory(
      name: "ProxyFactory1967",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProxyFactory1967__factory>;
    getContractFactory(
      name: "ReputationTestHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ReputationTestHelper__factory>;
    getContractFactory(
      name: "ReserveRestore",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ReserveRestore__factory>;

    getContractAt(
      name: "ILayerZeroFeeEstimator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ILayerZeroFeeEstimator>;
    getContractAt(
      name: "IMessagePassingBridge",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMessagePassingBridge>;
    getContractAt(
      name: "IStaticOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IStaticOracle>;
    getContractAt(
      name: "AccessControlEnumerableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlEnumerableUpgradeable>;
    getContractAt(
      name: "AccessControlUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlUpgradeable>;
    getContractAt(
      name: "IAccessControlEnumerableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable>;
    getContractAt(
      name: "IAccessControlUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlUpgradeable>;
    getContractAt(
      name: "OwnableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OwnableUpgradeable>;
    getContractAt(
      name: "IERC1822ProxiableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1822ProxiableUpgradeable>;
    getContractAt(
      name: "IERC1271Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1271Upgradeable>;
    getContractAt(
      name: "IBeaconUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IBeaconUpgradeable>;
    getContractAt(
      name: "ERC1967UpgradeUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1967UpgradeUpgradeable>;
    getContractAt(
      name: "Initializable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Initializable>;
    getContractAt(
      name: "UUPSUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UUPSUpgradeable>;
    getContractAt(
      name: "PausableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PausableUpgradeable>;
    getContractAt(
      name: "ReentrancyGuardUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    getContractAt(
      name: "ERC20Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Upgradeable>;
    getContractAt(
      name: "ERC20PermitUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PermitUpgradeable>;
    getContractAt(
      name: "IERC20PermitUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20PermitUpgradeable>;
    getContractAt(
      name: "ERC20BurnableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20BurnableUpgradeable>;
    getContractAt(
      name: "ERC20PausableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PausableUpgradeable>;
    getContractAt(
      name: "IERC20MetadataUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20MetadataUpgradeable>;
    getContractAt(
      name: "IERC20Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Upgradeable>;
    getContractAt(
      name: "ERC20PresetMinterPauserUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PresetMinterPauserUpgradeable>;
    getContractAt(
      name: "ContextUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ContextUpgradeable>;
    getContractAt(
      name: "EIP712Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.EIP712Upgradeable>;
    getContractAt(
      name: "ERC165Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165Upgradeable>;
    getContractAt(
      name: "IERC165Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165Upgradeable>;
    getContractAt(
      name: "AccessControl",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControl>;
    getContractAt(
      name: "IAccessControl",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControl>;
    getContractAt(
      name: "Ownable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Ownable>;
    getContractAt(
      name: "IERC1822Proxiable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1822Proxiable>;
    getContractAt(
      name: "IBeacon",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IBeacon>;
    getContractAt(
      name: "ERC1967Upgrade",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1967Upgrade>;
    getContractAt(
      name: "Proxy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Proxy>;
    getContractAt(
      name: "Initializable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Initializable>;
    getContractAt(
      name: "Pausable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Pausable>;
    getContractAt(
      name: "ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    getContractAt(
      name: "IERC20Permit",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Permit>;
    getContractAt(
      name: "IERC20Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Metadata>;
    getContractAt(
      name: "IERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "IERC721Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Metadata>;
    getContractAt(
      name: "IERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721>;
    getContractAt(
      name: "IERC777",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC777>;
    getContractAt(
      name: "IERC777Recipient",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC777Recipient>;
    getContractAt(
      name: "IERC777Sender",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC777Sender>;
    getContractAt(
      name: "ERC165",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165>;
    getContractAt(
      name: "IERC165",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165>;
    getContractAt(
      name: "IERC1820Registry",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1820Registry>;
    getContractAt(
      name: "IConstantFlowAgreementV1",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IConstantFlowAgreementV1>;
    getContractAt(
      name: "IInstantDistributionAgreementV1",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IInstantDistributionAgreementV1>;
    getContractAt(
      name: "IConstantInflowNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IConstantInflowNFT>;
    getContractAt(
      name: "IConstantOutflowNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IConstantOutflowNFT>;
    getContractAt(
      name: "IFlowNFTBase",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlowNFTBase>;
    getContractAt(
      name: "ISuperAgreement",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperAgreement>;
    getContractAt(
      name: "ISuperApp",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperApp>;
    getContractAt(
      name: "ISuperfluid",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperfluid>;
    getContractAt(
      name: "ISuperfluidGovernance",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperfluidGovernance>;
    getContractAt(
      name: "ISuperfluidToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperfluidToken>;
    getContractAt(
      name: "ISuperToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperToken>;
    getContractAt(
      name: "ISuperTokenFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperTokenFactory>;
    getContractAt(
      name: "ERC20WithTokenInfo",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20WithTokenInfo>;
    getContractAt(
      name: "ISETH",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISETH>;
    getContractAt(
      name: "ISETHCustom",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISETHCustom>;
    getContractAt(
      name: "TokenInfo",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenInfo>;
    getContractAt(
      name: "EventsEmitter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.EventsEmitter>;
    getContractAt(
      name: "ConstantInflowNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ConstantInflowNFT>;
    getContractAt(
      name: "ConstantOutflowNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ConstantOutflowNFT>;
    getContractAt(
      name: "FlowNFTBase",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlowNFTBase>;
    getContractAt(
      name: "UUPSProxiable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UUPSProxiable>;
    getContractAt(
      name: "IUniswapV3Factory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3Factory>;
    getContractAt(
      name: "Avatar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Avatar>;
    getContractAt(
      name: "Controller",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Controller>;
    getContractAt(
      name: "GlobalConstraintInterface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GlobalConstraintInterface>;
    getContractAt(
      name: "IntVoteInterface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IntVoteInterface>;
    getContractAt(
      name: "ReputationInterface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ReputationInterface>;
    getContractAt(
      name: "SchemeRegistrar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SchemeRegistrar>;
    getContractAt(
      name: "Faucet",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Faucet>;
    getContractAt(
      name: "FuseFaucet",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FuseFaucet>;
    getContractAt(
      name: "FuseFaucetV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FuseFaucetV2>;
    getContractAt(
      name: "SuperfluidFaucet",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SuperfluidFaucet>;
    getContractAt(
      name: "ClaimersDistribution",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ClaimersDistribution>;
    getContractAt(
      name: "CompoundVotingMachine",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CompoundVotingMachine>;
    getContractAt(
      name: "GoodDollarStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodDollarStaking>;
    getContractAt(
      name: "IGovernanceStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGovernanceStaking>;
    getContractAt(
      name: "IStakingUpgrade",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IStakingUpgrade>;
    getContractAt(
      name: "RewardsMinter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.RewardsMinter>;
    getContractAt(
      name: "GovernanceStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernanceStaking>;
    getContractAt(
      name: "GReputation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GReputation>;
    getContractAt(
      name: "MultiBaseGovernanceShareField",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultiBaseGovernanceShareField>;
    getContractAt(
      name: "Reputation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Reputation>;
    getContractAt(
      name: "StakersDistribution",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.StakersDistribution>;
    getContractAt(
      name: "IdentityV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IdentityV2>;
    getContractAt(
      name: "AggregatorV3Interface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AggregatorV3Interface>;
    getContractAt(
      name: "CERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CERC20>;
    getContractAt(
      name: "ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    getContractAt(
      name: "IAaveIncentivesController",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAaveIncentivesController>;
    getContractAt(
      name: "IAdminWallet",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAdminWallet>;
    getContractAt(
      name: "IDonationStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IDonationStaking>;
    getContractAt(
      name: "IERC2917",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC2917>;
    getContractAt(
      name: "IFirstClaimPool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFirstClaimPool>;
    getContractAt(
      name: "IGoodDollar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoodDollar>;
    getContractAt(
      name: "IGoodStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoodStaking>;
    getContractAt(
      name: "IHasRouter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IHasRouter>;
    getContractAt(
      name: "IIdentity",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IIdentity>;
    getContractAt(
      name: "IIdentityV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IIdentityV2>;
    getContractAt(
      name: "ILendingPool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ILendingPool>;
    getContractAt(
      name: "IMultichainRouter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMultichainRouter>;
    getContractAt(
      name: "INameService",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.INameService>;
    getContractAt(
      name: "IQuoterV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IQuoterV2>;
    getContractAt(
      name: "ISwapRouter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISwapRouter>;
    getContractAt(
      name: "IUBIScheme",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUBIScheme>;
    getContractAt(
      name: "ProxyAdmin",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProxyAdmin>;
    getContractAt(
      name: "Reserve",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Reserve>;
    getContractAt(
      name: "Staking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Staking>;
    getContractAt(
      name: "Uniswap",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Uniswap>;
    getContractAt(
      name: "UniswapFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapFactory>;
    getContractAt(
      name: "UniswapPair",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapPair>;
    getContractAt(
      name: "InvitesFuseV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.InvitesFuseV2>;
    getContractAt(
      name: "InvitesV1",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.InvitesV1>;
    getContractAt(
      name: "InvitesV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.InvitesV2>;
    getContractAt(
      name: "OneTimeReward",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OneTimeReward>;
    getContractAt(
      name: "IBancorExchangeProvider",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IBancorExchangeProvider>;
    getContractAt(
      name: "IBroker",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IBroker>;
    getContractAt(
      name: "IGoodDollarExchangeProvider",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoodDollarExchangeProvider>;
    getContractAt(
      name: "IGoodDollarExpansionController",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoodDollarExpansionController>;
    getContractAt(
      name: "IMentoReserve",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMentoReserve>;
    getContractAt(
      name: "AaveMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AaveMock>;
    getContractAt(
      name: "AaveUSDMockOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AaveUSDMockOracle>;
    getContractAt(
      name: "BatUSDMockOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BatUSDMockOracle>;
    getContractAt(
      name: "CBATMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CBATMock>;
    getContractAt(
      name: "CDAILowWorthMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CDAILowWorthMock>;
    getContractAt(
      name: "CDAIMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CDAIMock>;
    getContractAt(
      name: "CDAINonMintableMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CDAINonMintableMock>;
    getContractAt(
      name: "CDecimalsMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CDecimalsMock>;
    getContractAt(
      name: "CeloDistributionHelperTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CeloDistributionHelperTest>;
    getContractAt(
      name: "CeloDistributionHelperTestHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CeloDistributionHelperTestHelper>;
    getContractAt(
      name: "CompUSDMockOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CompUSDMockOracle>;
    getContractAt(
      name: "CSDTMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CSDTMock>;
    getContractAt(
      name: "CUSDCMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CUSDCMock>;
    getContractAt(
      name: "DaiEthPriceMockOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DaiEthPriceMockOracle>;
    getContractAt(
      name: "DAIMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DAIMock>;
    getContractAt(
      name: "DecimalsMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DecimalsMock>;
    getContractAt(
      name: "DistributionBridgeMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DistributionBridgeMock>;
    getContractAt(
      name: "DistributionHelperTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DistributionHelperTest>;
    getContractAt(
      name: "DistributionHelperTestHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DistributionHelperTestHelper>;
    getContractAt(
      name: "EthUSDMockOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.EthUSDMockOracle>;
    getContractAt(
      name: "FeesFormulaMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FeesFormulaMock>;
    getContractAt(
      name: "GasPriceMockOracle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GasPriceMockOracle>;
    getContractAt(
      name: "GoodCompoundStakingTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodCompoundStakingTest>;
    getContractAt(
      name: "GoodDollarStakingMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodDollarStakingMock>;
    getContractAt(
      name: "GoodFundManagerTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodFundManagerTest>;
    getContractAt(
      name: "IdentityMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IdentityMock>;
    getContractAt(
      name: "IncentiveControllerMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IncentiveControllerMock>;
    getContractAt(
      name: "LendingPoolMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LendingPoolMock>;
    getContractAt(
      name: "IWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IWrapper>;
    getContractAt(
      name: "MultichainRouterMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultichainRouterMock>;
    getContractAt(
      name: "IGoodDollarStakingTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoodDollarStakingTest>;
    getContractAt(
      name: "OverMintTester",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OverMintTester>;
    getContractAt(
      name: "OverMintTesterRegularStake",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OverMintTesterRegularStake>;
    getContractAt(
      name: "PayableMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PayableMock>;
    getContractAt(
      name: "SixteenDecimalsTokenMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SixteenDecimalsTokenMock>;
    getContractAt(
      name: "StakingMockFixedAPY",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.StakingMockFixedAPY>;
    getContractAt(
      name: "SwapHelperTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SwapHelperTest>;
    getContractAt(
      name: "TwentyDecimalsTokenMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TwentyDecimalsTokenMock>;
    getContractAt(
      name: "UpgradableMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UpgradableMock>;
    getContractAt(
      name: "UpgradableMock2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UpgradableMock2>;
    getContractAt(
      name: "UpgradableMock3",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UpgradableMock3>;
    getContractAt(
      name: "UpgradableMock4",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UpgradableMock4>;
    getContractAt(
      name: "USDCMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.USDCMock>;
    getContractAt(
      name: "CeloDistributionHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CeloDistributionHelper>;
    getContractAt(
      name: "DistributionHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DistributionHelper>;
    getContractAt(
      name: "ExchangeHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ExchangeHelper>;
    getContractAt(
      name: "GoodMarketMaker",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodMarketMaker>;
    getContractAt(
      name: "ContributionCalc",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ContributionCalc>;
    getContractAt(
      name: "GoodReserveCDai",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodReserveCDai>;
    getContractAt(
      name: "AaveStakingFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AaveStakingFactory>;
    getContractAt(
      name: "GoodAaveStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodAaveStaking>;
    getContractAt(
      name: "GoodAaveStakingV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodAaveStakingV2>;
    getContractAt(
      name: "BaseShareField",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BaseShareField>;
    getContractAt(
      name: "BaseShareFieldV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BaseShareFieldV2>;
    getContractAt(
      name: "CompoundStakingFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CompoundStakingFactory>;
    getContractAt(
      name: "GoodCompoundStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodCompoundStaking>;
    getContractAt(
      name: "GoodCompoundStakingV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodCompoundStakingV2>;
    getContractAt(
      name: "DonationsStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DonationsStaking>;
    getContractAt(
      name: "FuseStakingV3",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FuseStakingV3>;
    getContractAt(
      name: "IConsensus",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IConsensus>;
    getContractAt(
      name: "PegSwap",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PegSwap>;
    getContractAt(
      name: "GoodFundManager",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodFundManager>;
    getContractAt(
      name: "SimpleStaking",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SimpleStaking>;
    getContractAt(
      name: "SimpleStakingV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SimpleStakingV2>;
    getContractAt(
      name: "UniswapV2SwapHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV2SwapHelper>;
    getContractAt(
      name: "StakingRewardsFixedAPY",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.StakingRewardsFixedAPY>;
    getContractAt(
      name: "ERC20PresetMinterPauserUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PresetMinterPauserUpgradeable>;
    getContractAt(
      name: "ERC677",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC677>;
    getContractAt(
      name: "ERC677Receiver",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC677Receiver>;
    getContractAt(
      name: "GoodDollar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodDollar>;
    getContractAt(
      name: "IFeesFormula",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFeesFormula>;
    getContractAt(
      name: "MultichainFeeFormula",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultichainFeeFormula>;
    getContractAt(
      name: "ERC20Permit",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Permit>;
    getContractAt(
      name: "SelfApprove",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SelfApprove>;
    getContractAt(
      name: "IGoodDollarCustom",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoodDollarCustom>;
    getContractAt(
      name: "ISuperGoodDollar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperGoodDollar>;
    getContractAt(
      name: "ISuperToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISuperToken>;
    getContractAt(
      name: "SuperfluidToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SuperfluidToken>;
    getContractAt(
      name: "SuperGoodDollar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SuperGoodDollar>;
    getContractAt(
      name: "SuperToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SuperToken>;
    getContractAt(
      name: "UUPSProxiable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UUPSProxiable>;
    getContractAt(
      name: "Proxy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Proxy>;
    getContractAt(
      name: "UUPSProxy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UUPSProxy>;
    getContractAt(
      name: "UBIScheme",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UBIScheme>;
    getContractAt(
      name: "UBISchemeV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UBISchemeV2>;
    getContractAt(
      name: "AdminWallet",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AdminWallet>;
    getContractAt(
      name: "AdminWalletFuse",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AdminWalletFuse>;
    getContractAt(
      name: "BancorFormula",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BancorFormula>;
    getContractAt(
      name: "BulkWhitelist",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BulkWhitelist>;
    getContractAt(
      name: "BuyAndBridgeHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BuyAndBridgeHelper>;
    getContractAt(
      name: "BuyGDClone",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BuyGDClone>;
    getContractAt(
      name: "BuyGDCloneFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BuyGDCloneFactory>;
    getContractAt(
      name: "DonateGDClone",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DonateGDClone>;
    getContractAt(
      name: "DAOContract",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DAOContract>;
    getContractAt(
      name: "DAOUpgradeableContract",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DAOUpgradeableContract>;
    getContractAt(
      name: "FuseOldBridgeKill",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FuseOldBridgeKill>;
    getContractAt(
      name: "Initializable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Initializable>;
    getContractAt(
      name: "IUpgradeabilityOwnerStorage",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUpgradeabilityOwnerStorage>;
    getContractAt(
      name: "Ownable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Ownable>;
    getContractAt(
      name: "GDFaucet",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GDFaucet>;
    getContractAt(
      name: "GoodDollarMintBurnWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GoodDollarMintBurnWrapper>;
    getContractAt(
      name: "IRouter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IRouter>;
    getContractAt(
      name: "PausableControl",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PausableControl>;
    getContractAt(
      name: "IdentityFix",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IdentityFix>;
    getContractAt(
      name: "LastauthReduction",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LastauthReduction>;
    getContractAt(
      name: "Multicall",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Multicall>;
    getContractAt(
      name: "MultichainBridgeHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultichainBridgeHelper>;
    getContractAt(
      name: "NameService",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.NameService>;
    getContractAt(
      name: "OneTimePayments",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OneTimePayments>;
    getContractAt(
      name: "OneTimePaymentsV2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OneTimePaymentsV2>;
    getContractAt(
      name: "MentoExchange",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MentoExchange>;
    getContractAt(
      name: "ProtocolUpgradeV4Mento",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolUpgradeV4Mento>;
    getContractAt(
      name: "OldMarketMaker",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OldMarketMaker>;
    getContractAt(
      name: "ProtocolUpgrade",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolUpgrade>;
    getContractAt(
      name: "ProtocolUpgradeFuse",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolUpgradeFuse>;
    getContractAt(
      name: "ProtocolUpgradeFuseRecover",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolUpgradeFuseRecover>;
    getContractAt(
      name: "ProtocolUpgradeRecover",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolUpgradeRecover>;
    getContractAt(
      name: "ERC1967Proxy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1967Proxy>;
    getContractAt(
      name: "ProxyFactory1967",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProxyFactory1967>;
    getContractAt(
      name: "ReputationTestHelper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ReputationTestHelper>;
    getContractAt(
      name: "ReserveRestore",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ReserveRestore>;

    // default types
    getContractFactory(
      name: string,
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<ethers.ContractFactory>;
    getContractFactory(
      abi: any[],
      bytecode: ethers.utils.BytesLike,
      signer?: ethers.Signer
    ): Promise<ethers.ContractFactory>;
    getContractAt(
      nameOrAbi: string | any[],
      address: string,
      signer?: ethers.Signer
    ): Promise<ethers.Contract>;
  }
}
