예제 #1
0
    def check_protocol():
        from polaris import settings
        from polaris.utils import getLogger
        from django.conf import settings as django_settings

        logger = getLogger(__name__)
        if settings.LOCAL_MODE:
            logger.warning(
                "Polaris is in local mode. This makes the SEP-24 interactive flow "
                "insecure and should only be used for local development.")
        if not (settings.LOCAL_MODE
                or getattr(django_settings, "SECURE_SSL_REDIRECT")):
            logger.warning(
                "SECURE_SSL_REDIRECT is required to redirect HTTP traffic to HTTPS"
            )
        if getattr(django_settings, "SECURE_PROXY_SSL_HEADER"):
            logger.warning(
                "SECURE_PROXY_SSL_HEADER should only be set if Polaris is "
                "running behind an HTTPS reverse proxy.")
예제 #2
0
from django.utils.translation import gettext as _
from rest_framework.decorators import api_view, renderer_classes
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer

from polaris.models import Asset
from polaris.utils import render_error_response
from polaris.integrations import (
    registered_fee_func,
    calculate_fee,
    registered_info_func,
)


logger = getLogger(__name__)


@api_view(["GET"])
@renderer_classes([JSONRenderer, BrowsableAPIRenderer])
def info(request: Request) -> Response:
    info_data = {
        "deposit": {},
        "withdraw": {},
        "fee": {"enabled": True, "authentication_required": True},
        "transactions": {"enabled": True, "authentication_required": True},
        "transaction": {"enabled": True, "authentication_required": True},
    }
    for asset in Asset.objects.filter(sep6_enabled=True):
        try:
            fields_and_types = registered_info_func(asset, request.GET.get("lang"))