export const FUND_ABI = [{
  constant: true,
  inputs: [],
  name: 'name',
  outputs: [
    {
      name: '',
      type: 'string',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  name: 'tokensToRelease',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_sender',
      type: 'address',
    },
    {
      name: '_receiver',
      type: 'address',
    },
    {
      name: '_tokenAddress',
      type: 'address',
    },
    {
      name: '_amount',
      type: 'uint256',
    },
    {
      name: '_rate',
      type: 'uint256',
    },
  ],
  name: 'hasRisk',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'LOCKER',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_spender',
      type: 'address',
    },
    {
      name: '_value',
      type: 'uint256',
    },
  ],
  name: 'approve',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'WITHDRAW',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'totalSupply',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'WHITELIST',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  name: 'activeInvestorIndex',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'fundType',
  outputs: [
    {
      name: '',
      type: 'uint8',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'status',
  outputs: [
    {
      name: '',
      type: 'uint8',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'TOKENBROKEN',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '_name',
      type: 'bytes32',
    },
  ],
  name: 'getComponentByName',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_from',
      type: 'address',
    },
    {
      name: '_to',
      type: 'address',
    },
    {
      name: '_value',
      type: 'uint256',
    },
  ],
  name: 'transferFrom',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_name',
      type: 'bytes32',
    },
  ],
  name: 'updateComponent',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'decimals',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'unhandledWithdraws',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_timerNames',
      type: 'bytes32[]',
    },
    {
      name: '_secondsList',
      type: 'uint256[]',
    },
  ],
  name: 'setMultipleTimeIntervals',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'unpause',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'pausedCycle',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'TOKEN_DENOMINATOR',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  name: 'tokens',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'componentList',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'STEP',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'version',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  name: 'amounts',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  name: 'activeTokens',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'paused',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'INITIAL_VALUE',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_spender',
      type: 'address',
    },
    {
      name: '_subtractedValue',
      type: 'uint256',
    },
  ],
  name: 'decreaseApproval',
  outputs: [
    {
      name: 'success',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  name: 'investors',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '_owner',
      type: 'address',
    },
  ],
  name: 'balanceOf',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'renounceOwnership',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'description',
  outputs: [
    {
      name: '',
      type: 'string',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'INITIAL_FEE',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  name: 'activeInvestors',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'pause',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'GETETH',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  name: 'isBrokenToken',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'PRICE',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'owner',
  outputs: [
    {
      name: '',
      type: 'address',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'symbol',
  outputs: [
    {
      name: '',
      type: 'string',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'RISK',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_to',
      type: 'address',
    },
    {
      name: '_value',
      type: 'uint256',
    },
  ],
  name: 'transfer',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'pausedTime',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'EXCHANGE',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'REIMBURSABLE',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_category',
      type: 'bytes32',
    },
    {
      name: '_maxSteps',
      type: 'uint256',
    },
  ],
  name: 'setMaxSteps',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'FEE',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'REBALANCE',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_spender',
      type: 'address',
    },
    {
      name: '_addedValue',
      type: 'uint256',
    },
  ],
  name: 'increaseApproval',
  outputs: [
    {
      name: 'success',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'productStatus',
  outputs: [
    {
      name: '',
      type: 'uint8',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [
    {
      name: '_owner',
      type: 'address',
    },
    {
      name: '_spender',
      type: 'address',
    },
  ],
  name: 'allowance',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'category',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_newOwner',
      type: 'address',
    },
  ],
  name: 'transferOwnership',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'MARKET',
  outputs: [
    {
      name: '',
      type: 'bytes32',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'accumulatedFee',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  inputs: [
    {
      name: '_name',
      type: 'string',
    },
    {
      name: '_symbol',
      type: 'string',
    },
    {
      name: '_description',
      type: 'string',
    },
    {
      name: '_category',
      type: 'bytes32',
    },
    {
      name: '_decimals',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'constructor',
},
{
  payable: true,
  stateMutability: 'payable',
  type: 'fallback',
},
{
  anonymous: false,
  inputs: [],
  name: 'Pause',
  type: 'event',
},
{
  anonymous: false,
  inputs: [],
  name: 'Unpause',
  type: 'event',
},
{
  anonymous: false,
  inputs: [
    {
      indexed: false,
      name: '_name',
      type: 'bytes32',
    },
    {
      indexed: false,
      name: '_componentAddress',
      type: 'address',
    },
  ],
  name: 'ComponentUpdated',
  type: 'event',
},
{
  anonymous: false,
  inputs: [
    {
      indexed: true,
      name: 'previousOwner',
      type: 'address',
    },
  ],
  name: 'OwnershipRenounced',
  type: 'event',
},
{
  anonymous: false,
  inputs: [
    {
      indexed: true,
      name: 'previousOwner',
      type: 'address',
    },
    {
      indexed: true,
      name: 'newOwner',
      type: 'address',
    },
  ],
  name: 'OwnershipTransferred',
  type: 'event',
},
{
  anonymous: false,
  inputs: [
    {
      indexed: true,
      name: 'owner',
      type: 'address',
    },
    {
      indexed: true,
      name: 'spender',
      type: 'address',
    },
    {
      indexed: false,
      name: 'value',
      type: 'uint256',
    },
  ],
  name: 'Approval',
  type: 'event',
},
{
  anonymous: false,
  inputs: [
    {
      indexed: true,
      name: 'from',
      type: 'address',
    },
    {
      indexed: true,
      name: 'to',
      type: 'address',
    },
    {
      indexed: false,
      name: 'value',
      type: 'uint256',
    },
  ],
  name: 'Transfer',
  type: 'event',
},
{
  constant: false,
  inputs: [
    {
      name: '_componentList',
      type: 'address',
    },
    {
      name: '_initialFundFee',
      type: 'uint256',
    },
    {
      name: '_withdrawFrequency',
      type: 'uint256',
    },
  ],
  name: 'initialize',
  outputs: [],
  payable: true,
  stateMutability: 'payable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'getTokens',
  outputs: [
    {
      name: '',
      type: 'address[]',
    },
    {
      name: '',
      type: 'uint256[]',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_exchangeId',
      type: 'bytes32',
    },
    {
      name: '_tokens',
      type: 'address[]',
    },
    {
      name: '_amounts',
      type: 'uint256[]',
    },
    {
      name: '_minimumRates',
      type: 'uint256[]',
    },
  ],
  name: 'buyTokens',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_exchangeId',
      type: 'bytes32',
    },
    {
      name: '_tokens',
      type: 'address[]',
    },
    {
      name: '_amounts',
      type: 'uint256[]',
    },
    {
      name: '_rates',
      type: 'uint256[]',
    },
  ],
  name: 'sellTokens',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'invest',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: true,
  stateMutability: 'payable',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'close',
  outputs: [
    {
      name: 'success',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'sellAllTokensOnClosedFund',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'getPrice',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'getETHBalance',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'getAssetsValue',
  outputs: [
    {
      name: '',
      type: 'uint256',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'addOwnerBalance',
  outputs: [],
  payable: true,
  stateMutability: 'payable',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_amount',
      type: 'uint256',
    },
  ],
  name: 'withdrawFee',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_fee',
      type: 'uint256',
    },
  ],
  name: 'setManagementFee',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: 'amount',
      type: 'uint256',
    },
  ],
  name: 'requestWithdraw',
  outputs: [],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [],
  name: 'withdraw',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'tokensWithAmount',
  outputs: [
    {
      name: '',
      type: 'address[]',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: '_key',
      type: 'uint8',
    },
    {
      name: 'enable',
      type: 'bool',
    },
  ],
  name: 'enableWhitelist',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: false,
  inputs: [
    {
      name: 'accounts',
      type: 'address[]',
    },
    {
      name: '_key',
      type: 'uint8',
    },
    {
      name: 'allowed',
      type: 'bool',
    },
  ],
  name: 'setAllowed',
  outputs: [
    {
      name: '',
      type: 'bool',
    },
  ],
  payable: false,
  stateMutability: 'nonpayable',
  type: 'function',
},
{
  constant: true,
  inputs: [],
  name: 'getActiveInvestors',
  outputs: [
    {
      name: '',
      type: 'address[]',
    },
  ],
  payable: false,
  stateMutability: 'view',
  type: 'function',
},
];
