Ejemplo n.º 1
0
def display_terra_asset_history(
    asset: str = "",
    address: str = "",
    export: str = "",
    external_axes: Optional[List[plt.Axes]] = None,
) -> None:
    """Displays the 30-day history of specified asset in terra address
    [Source: https://terra.engineer/]

    Parameters
    ----------
    asset : str
        Terra asset {ust,luna,sdt}
    address : str
        Terra address. Valid terra addresses start with 'terra'
    export : str
        Export dataframe data to csv,json,xlsx file
    external_axes : Optional[List[plt.Axes]], optional
        External axes (1 axis is expected in the list), by default None
    """

    df = terraengineer_model.get_history_asset_from_terra_address(
        address=address, asset=asset)

    # This plot has 1 axis
    if not external_axes:
        _, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
    else:
        if len(external_axes) != 1:
            logger.error("Expected list of one axis item.")
            console.print("[red]Expected list of one axis item./n[/red]")
            return
        (ax, ) = external_axes

    ax.plot(df["x"], df["y"])
    ax.set_ylabel(f"{asset.upper()} Amount")
    ax.set_title(f"{asset.upper()} Amount in {address}")
    ax.get_yaxis().set_major_formatter(
        ticker.FuncFormatter(lambda x, _: lambda_long_number_format(x)))

    cfg.theme.style_primary_axis(ax)

    if not external_axes:
        cfg.theme.visualize_output()

    export_data(
        export,
        os.path.dirname(os.path.abspath(__file__)),
        "aterra",
        df,
    )
Ejemplo n.º 2
0
def display_terra_asset_history(asset: str = "",
                                address: str = "",
                                export: str = "") -> None:
    """Displays the 30-day history of specified asset in terra address
    [Source: https://docs.llama.fi/api]

    Parameters
    ----------
    asset : str
        Terra asset {ust,luna,sdt}
    address : str
        Terra address. Valid terra addresses start with 'terra'
    export : str
        Export dataframe data to csv,json,xlsx file
    """

    df = terraengineer_model.get_history_asset_from_terra_address(
        address=address, asset=asset)

    fig, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)

    ax.plot(df["x"], df["y"])
    ax.set_xlabel("Time")
    ax.tick_params(axis="x", labelrotation=45)
    ax.set_xlim(df["x"].iloc[0], df["x"].iloc[-1])
    dateFmt = mdates.DateFormatter("%m/%d/%Y")
    fig.tight_layout(pad=4)
    ax.xaxis.set_major_formatter(dateFmt)
    ax.set_ylabel(f"{asset.upper()} Amount")
    ax.grid(alpha=0.5)
    ax.set_title(f"{asset.upper()} Amount in Address {address}")
    ax.get_yaxis().set_major_formatter(
        ticker.FuncFormatter(lambda x, _: long_number_format(x)))

    if gtff.USE_ION:
        plt.ion()
    plt.show()
    print("")

    export_data(
        export,
        os.path.dirname(os.path.abspath(__file__)),
        "aterra",
        df,
    )
Ejemplo n.º 3
0
def display_anchor_yield_reserve(
        export: str = "",
        external_axes: Optional[List[plt.Axes]] = None) -> None:
    """Displays the 30-day history of the Anchor Yield Reserve.
    [Source: https://terra.engineer/]

    Parameters
    ----------
    export : str
        Export dataframe data to csv,json,xlsx file
    external_axes : Optional[List[plt.Axes]], optional
        External axes (1 axis is expected in the list), by default None
    """

    df = terraengineer_model.get_history_asset_from_terra_address(
        address="terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8")

    # This plot has 1 axis
    if not external_axes:
        _, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
    else:
        if len(external_axes) != 1:
            logger.error("Expected list of one axis item.")
            console.print("[red]Expected list of one axis item./n[/red]")
            return
        (ax, ) = external_axes

    ax.plot(df["x"], df["y"])
    ax.set_ylabel("UST Amount")
    ax.set_title("Anchor UST Yield Reserve")
    ax.get_yaxis().set_major_formatter(
        ticker.FuncFormatter(lambda x, _: lambda_long_number_format(x)))

    cfg.theme.style_primary_axis(ax)

    if not external_axes:
        cfg.theme.visualize_output()

    export_data(
        export,
        os.path.dirname(os.path.abspath(__file__)),
        "ayr",
        df,
    )
Ejemplo n.º 4
0
def display_anchor_yield_reserve(export: str = "") -> None:
    """Displays the 30-day history of the Anchor Yield Reserve.
    [Source: https://docs.llama.fi/api]

    Parameters
    ----------
    export : str
        Export dataframe data to csv,json,xlsx file
    """

    df = terraengineer_model.get_history_asset_from_terra_address(
        address="terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8")

    fig, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)

    ax.plot(df["x"], df["y"])
    ax.set_xlabel("Time")
    ax.tick_params(axis="x", labelrotation=45)
    ax.set_xlim(df["x"].iloc[0], df["x"].iloc[-1])
    dateFmt = mdates.DateFormatter("%m/%d/%Y")
    fig.tight_layout(pad=4)
    ax.xaxis.set_major_formatter(dateFmt)
    ax.set_ylabel("UST Amount")
    ax.grid(alpha=0.5)
    ax.set_title("Anchor UST Yield Reserve")
    ax.get_yaxis().set_major_formatter(
        ticker.FuncFormatter(lambda x, _: long_number_format(x)))

    if gtff.USE_ION:
        plt.ion()
    plt.show()
    print("")

    export_data(
        export,
        os.path.dirname(os.path.abspath(__file__)),
        "ayr",
        df,
    )
def test_get_history_asset_from_terra_address(asset, address, recorder):
    df = terraengineer_model.get_history_asset_from_terra_address(
        asset=asset, address=address)
    recorder.capture(df)