function importMET(bytes8 _originChain, bytes8 _destinationChain, address[] _addresses, bytes _extraData, 
        bytes32[] _burnHashes, uint[] _supplyOnAllChains, uint[] _importData, bytes _proof) public returns (bool)
    {
        
        require(msg.sender == address(token));
        require(now >= chainHopStartTime);
        require(_importData.length == 8);
        require(_addresses.length == 2);
        require(_burnHashes.length == 2);
        require(!validator.hashClaimed(_burnHashes[1]));
        require(isReceiptValid(_originChain, _destinationChain, _addresses, _extraData, _burnHashes, 
        _supplyOnAllChains, _importData));
        require(_destinationChain == auctions.chain());
        require(_addresses[0] == address(token));
        require(_importData[1] != 0);
        
        
        
        merkleRoots[_burnHashes[1]] = bytesToBytes32(_proof);

        
        mintHashes[_burnHashes[1]] = keccak256(abi.encodePacked(_originChain, 
        _addresses[1], _importData[1], _importData[2]));
        
        emit LogImportRequest(_originChain, _burnHashes[1], _burnHashes[0], _addresses[1], _importData[1],
            _importData[2], _importData[0], _importData[6], _extraData);
        return true;
    }