code: private byte[] computeSignature(Request request) {
          String timestampAndQuery = request.getTimestamp() + '\n' +
                  request.getSortedQueryParameters() + '\n';
  
          byte[] timestampAndQueryBytes = timestampAndQuery.getBytes(CHARSET_UTF8);
          byte[] bodyHashBytes = getSha256Hash(request.getData());
  
          return getHmacSha256Signature(appendArrays(timestampAndQueryBytes, bodyHashBytes));
      }
docs: Computes the signature for a request instance.
  
  @param request Request to compute signature for.
  @return HMAC-SHA2556 signature for the provided request.