text: /*
   * @Author: 33357
   * @Date: 2021-03-01 10:13:07
   * @LastEditTime: 2021-03-01 16:13:27
   * @LastEditors: 33357
   */
  
  const CoinerChatContractABI = [
    {
      inputs: [
        {
          internalType: 'address',
          name: '_messageDBAddr',
          type: 'address',
        },
      ],
      stateMutability: 'nonpayable',
      type: 'constructor',
    },
    {
      anonymous: false,
      inputs: [
        {
          indexed: true,
          internalType: 'address',
          name: 'previousOwner',
          type: 'address',
        },
        {
          indexed: true,
          internalType: 'address',
          name: 'newOwner',
          type: 'address',
        },
      ],
      name: 'OwnershipTransferred',
      type: 'event',
    },
    {
      anonymous: false,
      inputs: [
        {
          indexed: true,
          internalType: 'address',
          name: 'person',
          type: 'address',
        },
        {
          indexed: true,
          internalType: 'address',
          name: 'group',
          type: 'address',
        },
        {
          indexed: false,
          internalType: 'uint256',
          name: 'messageId',
          type: 'uint256',
        },
      ],
      name: 'SendMessage',
      type: 'event',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_group',
          type: 'address',
        },
      ],
      name: 'getGroupMessageIds',
      outputs: [
        {
          internalType: 'uint256[]',
          name: '',
          type: 'uint256[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_group',
          type: 'address',
        },
        {
          internalType: 'uint256',
          name: '_limit',
          type: 'uint256',
        },
        {
          internalType: 'uint256',
          name: '_startIndex',
          type: 'uint256',
        },
      ],
      name: 'getGroupMessageIdsByLimit',
      outputs: [
        {
          internalType: 'uint256[]',
          name: '',
          type: 'uint256[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_group',
          type: 'address',
        },
      ],
      name: 'getGroupMessageIdsLength',
      outputs: [
        {
          internalType: 'uint256',
          name: '',
          type: 'uint256',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_group',
          type: 'address',
        },
      ],
      name: 'getGroupPersons',
      outputs: [
        {
          internalType: 'address[]',
          name: '',
          type: 'address[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'uint256',
          name: '_messageId',
          type: 'uint256',
        },
      ],
      name: 'getMessage',
      outputs: [
        {
          internalType: 'address',
          name: '',
          type: 'address',
        },
        {
          internalType: 'address',
          name: '',
          type: 'address',
        },
        {
          internalType: 'string',
          name: '',
          type: 'string',
        },
        {
          internalType: 'uint256',
          name: '',
          type: 'uint256',
        },
        {
          internalType: 'uint256',
          name: '',
          type: 'uint256',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_person',
          type: 'address',
        },
      ],
      name: 'getPersonGroups',
      outputs: [
        {
          internalType: 'address[]',
          name: '',
          type: 'address[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_person',
          type: 'address',
        },
      ],
      name: 'getPersonMessageIds',
      outputs: [
        {
          internalType: 'uint256[]',
          name: '',
          type: 'uint256[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_person',
          type: 'address',
        },
        {
          internalType: 'uint256',
          name: '_limit',
          type: 'uint256',
        },
        {
          internalType: 'uint256',
          name: '_startIndex',
          type: 'uint256',
        },
      ],
      name: 'getPersonMessageIdsByLimit',
      outputs: [
        {
          internalType: 'uint256[]',
          name: '',
          type: 'uint256[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_person',
          type: 'address',
        },
      ],
      name: 'getPersonMessageIdsLength',
      outputs: [
        {
          internalType: 'uint256',
          name: '',
          type: 'uint256',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'groupAddrs',
      outputs: [
        {
          internalType: 'address[]',
          name: '',
          type: 'address[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'isAccepted',
      outputs: [
        {
          internalType: 'bool',
          name: '',
          type: 'bool',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'messageDBAddr',
      outputs: [
        {
          internalType: 'address',
          name: '',
          type: 'address',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'messageServiceAddr',
      outputs: [
        {
          internalType: 'address',
          name: '',
          type: 'address',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'messagesLength',
      outputs: [
        {
          internalType: 'uint256',
          name: '',
          type: 'uint256',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'owner',
      outputs: [
        {
          internalType: 'address',
          name: '',
          type: 'address',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'personAddrs',
      outputs: [
        {
          internalType: 'address[]',
          name: '',
          type: 'address[]',
        },
      ],
      stateMutability: 'view',
      type: 'function',
    },
    {
      inputs: [],
      name: 'renounceOwnership',
      outputs: [],
      stateMutability: 'nonpayable',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_group',
          type: 'address',
        },
        {
          internalType: 'string',
          name: '_content',
          type: 'string',
        },
        {
          internalType: 'uint256',
          name: '_typeNumber',
          type: 'uint256',
        },
      ],
      name: 'sendMessage',
      outputs: [
        {
          internalType: 'bool',
          name: '',
          type: 'bool',
        },
      ],
      stateMutability: 'nonpayable',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: '_messageServiceAddr',
          type: 'address',
        },
      ],
      name: 'setMessageServiceAddr',
      outputs: [
        {
          internalType: 'bool',
          name: '',
          type: 'bool',
        },
      ],
      stateMutability: 'nonpayable',
      type: 'function',
    },
    {
      inputs: [
        {
          internalType: 'address',
          name: 'newOwner',
          type: 'address',
        },
      ],
      name: 'transferOwnership',
      outputs: [],
      stateMutability: 'nonpayable',
      type: 'function',
    },
  ];
  
  const CoinerChatContractAddress= '0x052bB54150313C685aAC197cd971A862C09EDEeF';
  