whole_func_string: function Poloniex(key, secret) {
      if (key && secret) {
        authenticated = true;
      }
  
      // Generate headers signed by this user's key and secret.
      // The secret is encapsulated and never exposed
      this._getPrivateHeaders = function (parameters) {
        if (!authenticated) {
          throw 'Poloniex: Error. API key and secret required';
        }
  
        // Convert to `arg1=foo&arg2=bar`
        const paramString = Object.keys(parameters).map(function (param) {
          return encodeURIComponent(param) + '=' + encodeURIComponent(parameters[param]);
        }).join('&');
  
        const signature = crypto.createHmac('sha512', secret).update(paramString).digest('hex');
  
        return {
          Key: key,
          Sign: signature
        };
      };
    }
func_code_string: function Poloniex(key, secret) {
      if (key && secret) {
        authenticated = true;
      }
  
      // Generate headers signed by this user's key and secret.
      // The secret is encapsulated and never exposed
      this._getPrivateHeaders = function (parameters) {
        if (!authenticated) {
          throw 'Poloniex: Error. API key and secret required';
        }
  
        // Convert to `arg1=foo&arg2=bar`
        const paramString = Object.keys(parameters).map(function (param) {
          return encodeURIComponent(param) + '=' + encodeURIComponent(parameters[param]);
        }).join('&');
  
        const signature = crypto.createHmac('sha512', secret).update(paramString).digest('hex');
  
        return {
          Key: key,
          Sign: signature
        };
      };
    }
func_documentation_string: Constructor