Adds command to get anchor protocol stats (#1517)

* added feature

* updated image and failing test

* typo

* added command to test script

Co-authored-by: jmaslek <jmaslek11@gmail.com>
This commit is contained in:
jose-donato
2022-03-19 12:03:55 +00:00
committed by GitHub
parent bb2e4c8a45
commit 107ad03ffb
15 changed files with 764 additions and 6 deletions

View File

@@ -0,0 +1,65 @@
"""Cryptosaurio model"""
__docformat__ = "numpy"
import logging
from typing import Tuple, Any
import pandas as pd
import requests
from gamestonk_terminal.decorators import log_start_end
logger = logging.getLogger(__name__)
api_url = "https://barney.cryptosaurio.com"
@log_start_end(log=logger)
def get_anchor_data(address: str = "") -> Tuple[Any, Any, str]:
"""Returns anchor protocol earnings data of a certain terra address
[Source: https://cryptosaurio.com/]
Parameters
----------
address : str
Terra address. Valid terra addresses start with 'terra'
Returns
-------
Tuple:
- pandas.DataFrame: Earnings over time in UST
- pandas.DataFrame: History of transactions
- str: Overall statistics
"""
if not address.startswith("terra"):
raise Exception(
"Select a valid address. Valid terra addresses start with 'terra'"
)
response = requests.get(f"{api_url}/get-anchor-protocol-data-v2/{address}")
if response.status_code != 200:
raise Exception(f"Status code: {response.status_code}. Reason: {response.text}")
data = response.json()
df = pd.DataFrame(reversed(data["historicalData"]))
df["time"] = pd.to_datetime(df["time"])
df["yield"] = df["yield"].astype("float64")
df_deposits = pd.DataFrame(data["deposits"], columns=["out", "fee", "time"])
df_deposits["out"] = df_deposits["out"].astype("float64")
df_deposits["fee"] = df_deposits["fee"].astype("float64")
df_deposits["time"] = pd.to_datetime(df_deposits["time"])
df_deposits["Type"] = df_deposits.apply(
lambda row: "Deposit" if row.out > 0 else "Withdrawal", axis=1
)
df_deposits.columns = ["Amount [UST]", "Fee [UST]", "Date", "Type"]
df_deposits = df_deposits[["Type", "Amount [UST]", "Fee [UST]", "Date"]]
stats_str = f"""Current anchor APY is {data['currentRate']}%
Deposit amount in Anchor Earn of address {address} is {data["totalYield"]["ustHoldings"]} UST
which is generating approximately:
- {data["estimatedYield"]["perHour"]} UST hourly
- {data["estimatedYield"]["perDay"]} UST daily
- {data["estimatedYield"]["perWeek"]} UST weekly
- {data["estimatedYield"]["perMonth"]} UST monthly
- {data["estimatedYield"]["perYear"]} UST yearly"""
return df, df_deposits, stats_str

View File

@@ -0,0 +1,86 @@
"""Cryptosaurio View"""
__docformat__ = "numpy"
import logging
import os
from typing import List, Optional
import matplotlib.pyplot as plt
from gamestonk_terminal import config_terminal as cfg
from gamestonk_terminal.config_plot import PLOT_DPI
from gamestonk_terminal.cryptocurrency.defi import (
cryptosaurio_model,
)
from gamestonk_terminal.decorators import log_start_end
from gamestonk_terminal.helper_funcs import (
export_data,
plot_autoscale,
print_rich_table,
)
from gamestonk_terminal.rich_config import console
logger = logging.getLogger(__name__)
@log_start_end(log=logger)
def display_anchor_data(
address: str = "",
export: str = "",
show_transactions: bool = False,
external_axes: Optional[List[plt.Axes]] = None,
) -> None:
"""Displays anchor protocol earnings data of a certain terra address
[Source: https://cryptosaurio.com/]
Parameters
----------
asset : str
Terra asset {ust,luna,sdt}
address : str
Terra address. Valid terra addresses start with 'terra'
show_transactions : bool
Flag to show history of transactions in Anchor protocol for address specified. Default False
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, df_deposits, stats_str = cryptosaurio_model.get_anchor_data(address=address)
# 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
print("")
print(stats_str)
print("")
if show_transactions:
print_rich_table(
df_deposits,
headers=list(df_deposits.columns),
show_index=False,
title="Transactions history in Anchor Earn",
)
ax.plot(df["time"], df["yield"])
ax.set_ylabel("Earnings Value [UST]")
ax.set_title("Earnings in Anchor Earn")
cfg.theme.style_primary_axis(ax)
if not external_axes:
cfg.theme.visualize_output()
export_data(
export,
os.path.dirname(os.path.abspath(__file__)),
"anchor",
df,
)

View File

@@ -13,6 +13,7 @@ from gamestonk_terminal import feature_flags as gtff
from gamestonk_terminal.cryptocurrency.defi import (
coindix_model,
coindix_view,
cryptosaurio_view,
defipulse_view,
defirate_view,
graph_model,
@@ -69,6 +70,7 @@ class DefiController(BaseController):
"sratio",
"sreturn",
"lcsc",
"anchor",
]
PATH = "/crypto/defi/"
@@ -131,10 +133,53 @@ class DefiController(BaseController):
sratio Displays terra blockchain staking ratio history
sreturn Displays terra blockchain staking returns history
[src][Smartstake][/src]
lcsc Displays Luna circulating supply changes[/cmds]
lcsc Displays Luna circulating supply changes
[src][CryptoSaurio][/src]
anchor Display anchor earnings data[/cmds]
"""
console.print(text=help_text, menu="Cryptocurrency - Decentralized Finance")
@log_start_end(log=logger)
def call_anchor(self, other_args: List[str]):
parser = argparse.ArgumentParser(
add_help=False,
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
prog="anchor",
description="""
Displays anchor protocol earnings data of a certain terra address
--transactions flag can be passed to show history of previous transactions
[Source: https://cryptosaurio.com/]
""",
)
parser.add_argument(
"--address",
dest="address",
type=check_terra_address_format,
help="Terra address. Valid terra addresses start with 'terra'",
required="-h" not in other_args,
)
parser.add_argument(
"--transactions",
action="store_true",
help="Flag to show transactions history in anchor earn",
dest="transactions",
default=False,
)
if other_args and not other_args[0][0] == "-":
other_args.insert(0, "--address")
ns_parser = parse_known_args_and_warn(
parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
)
if ns_parser:
cryptosaurio_view.display_anchor_data(
show_transactions=ns_parser.transactions,
export=ns_parser.export,
address=ns_parser.address,
)
@log_start_end(log=logger)
def call_aterra(self, other_args: List[str]):
parser = argparse.ArgumentParser(

View File

@@ -33,7 +33,7 @@ def display_terra_asset_history(
external_axes: Optional[List[plt.Axes]] = None,
) -> None:
"""Displays the 30-day history of specified asset in terra address
[Source: https://docs.llama.fi/api]
[Source: https://terra.engineer/]
Parameters
----------
@@ -86,7 +86,7 @@ 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://docs.llama.fi/api]
[Source: https://terra.engineer/]
Parameters
----------

View File

@@ -15,4 +15,5 @@ pools
swaps
ayr
aterra --asset luna --address terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8
exit
anchor terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8
exit

View File

@@ -0,0 +1,117 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.27.1
method: GET
uri: https://barney.cryptosaurio.com/get-anchor-protocol-data-v2/terra13kc0x8kr3sq8226myf4nmanmn2mrk9s5s9wsnz
response:
body:
string: !!binary |
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
headers:
Access-Control-Allow-Headers:
- Content-Type,If-None-Match
Access-Control-Allow-Methods:
- GET,PUT,PATCH
Access-Control-Allow-Origin:
- '*'
Access-Control-Expose-Headers:
- Etag
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 6ee01a03ef235d1f-LIS
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Fri, 18 Mar 2022 18:41:18 GMT
Expect-CT:
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=m3JG55jhXo%2F6aYPNNU3vddLvCWgQ5TgZ2YNDx0rJo9hSmhOib8LybeeKWmpFc4uFWuJNXsyAoS2kdBwP4S31vUwJmGRkXGjljj9FYIxelvYPW%2BKG2LlEkUBcLXS5IF4mNLZy2tgNxu8362DTGBIaICv07LNoeA%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Transfer-Encoding:
- chunked
Via:
- 1.1 vegur, 1.1 vegur
X-Frame-Options:
- SAMEORIGIN
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
status:
code: 200
message: OK
version: 1

View File

@@ -0,0 +1,55 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.27.1
method: GET
uri: https://barney.cryptosaurio.com/get-anchor-protocol-data-v2/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8
response:
body:
string: "<!DOCTYPE html>\n<html>\n<head>\n<meta name=\"viewport\" content=\"width=device-width,
initial-scale=1\">\n<meta charset=\"utf-8\">\n<title>Application Error</title>\n<style
media=\"screen\">\n\t\t html,body,iframe {\n\t\t\tmargin: 0;\n\t\t\tpadding:
0;\n\t\t }\n\t\t html,body {\n\t\t\theight: 100%;\n\t\t\toverflow: hidden;\n\t\t
\ }\n\t\t iframe {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tborder:
0;\n\t\t }\n\t\t</style>\n</head>\n<body>\n<iframe src=\"//www.herokucdn.com/error-pages/application-error.html\"></iframe>\n<script
defer src=\"https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194\"
integrity=\"sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==\"
data-cf-beacon='{\"rayId\":\"6ee0151308065d43\",\"version\":\"2021.12.0\",\"r\":1,\"token\":\"fe5d8e495e7149f78b1c5ca550bc563e\",\"si\":100}'
crossorigin=\"anonymous\"></script>\n</body>\n</html>"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 6ee0151308065d43-LIS
Cache-Control:
- no-cache, no-store
Connection:
- keep-alive
Content-Type:
- text/html; charset=utf-8
Date:
- Fri, 18 Mar 2022 18:38:25 GMT
Expect-CT:
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=XyEZWHcMzbVFcTQ4BIxOFS7c1IuflqL3vPaBTun%2BRnyYJi5MJKwbWFppXcYoIIC2pT2N24MrHhO2JEvvpU7VpGxWpvbFuZ8hWBww1xFP%2FhHymthSjcRds7x82PnpgjIGUPJmh1KtLbl4%2Bli%2B6oDvpnRvRU9soQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Transfer-Encoding:
- chunked
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
status:
code: 503
message: Service Unavailable
version: 1

View File

@@ -0,0 +1,119 @@
interactions:
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
User-Agent:
- python-requests/2.27.1
method: GET
uri: https://barney.cryptosaurio.com/get-anchor-protocol-data-v2/terra13kc0x8kr3sq8226myf4nmanmn2mrk9s5s9wsnz
response:
body:
string: !!binary |
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
8PfpDwAA//8DAEzb2aZlMgAA
headers:
Access-Control-Allow-Headers:
- Content-Type,If-None-Match
Access-Control-Allow-Methods:
- GET,PUT,PATCH
Access-Control-Allow-Origin:
- '*'
Access-Control-Expose-Headers:
- Etag
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 6ee011defc3603d6-LIS
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Fri, 18 Mar 2022 18:35:45 GMT
Expect-CT:
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
NEL:
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
Report-To:
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=clAM5GqiOl%2BKfZB8u4PUSa1MsvfuitJbP5ZCJ9hrGsnucJwehwl9QzumkjVgYQPCc1nf56P3kwQnutlDTF4LY7UqUGMHBiFqukeIqobJruWy5nlhRHSbaSO3tMkgc%2BYxE4dusKCVR4Re2%2BXf5gutGw1LsRxj%2FA%3D%3D"}],"group":"cf-nel","max_age":604800}'
Server:
- cloudflare
Transfer-Encoding:
- chunked
Via:
- 1.1 vegur, 1.1 vegur
X-Frame-Options:
- SAMEORIGIN
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
status:
code: 200
message: OK
version: 1

View File

@@ -0,0 +1,190 @@
,time,yield
0,2021-09-11,0.0
1,2021-09-12,1.63
2,2021-09-13,4.24
3,2021-09-14,6.87
4,2021-09-15,9.7
5,2021-09-16,12.47
6,2021-09-17,14.9
7,2021-09-18,17.55
8,2021-09-19,20.69
9,2021-09-20,23.31
10,2021-09-21,25.89
11,2021-09-22,28.75
12,2021-09-23,31.12
13,2021-09-24,34.21
14,2021-09-25,36.51
15,2021-09-26,39.63
16,2021-09-27,42.13
17,2021-09-28,44.96
18,2021-09-29,47.5
19,2021-09-30,50.11
20,2021-10-01,51.77
21,2021-10-02,54.53
22,2021-10-03,56.58
23,2021-10-04,59.43
24,2021-10-05,61.94
25,2021-10-06,64.26
26,2021-10-07,66.84
27,2021-10-08,69.18
28,2021-10-09,71.5
29,2021-10-10,74.08
30,2021-10-11,76.86
31,2021-10-12,79.81
32,2021-10-13,82.62
33,2021-10-14,85.48
34,2021-10-15,88.43
35,2021-10-16,91.09
36,2021-10-17,94.2
37,2021-10-18,97.18
38,2021-10-19,100.27
39,2021-10-20,103.2
40,2021-10-21,106.04
41,2021-10-22,109.77
42,2021-10-23,113.2
43,2021-10-24,116.97
44,2021-10-25,120.34
45,2021-10-26,123.84
46,2021-10-27,127.64
47,2021-10-28,131.12
48,2021-10-29,134.71
49,2021-10-30,137.95
50,2021-10-31,141.9
51,2021-11-01,145.93
52,2021-11-02,148.58
53,2021-11-03,152.27
54,2021-11-04,156.76
55,2021-11-05,159.14
56,2021-11-06,162.5
57,2021-11-07,166.38
58,2021-11-08,170.61
59,2021-11-09,173.56
60,2021-11-10,177.4
61,2021-11-11,181.52
62,2021-11-12,185.44
63,2021-11-13,189.58
64,2021-11-14,193.22
65,2021-11-15,197.01
66,2021-11-16,201.18
67,2021-11-17,204.81
68,2021-11-18,209.26
69,2021-11-19,212.81
70,2021-11-20,217.18
71,2021-11-21,221.17
72,2021-11-22,224.9
73,2021-11-23,229.15
74,2021-11-24,233.65
75,2021-11-25,236.8
76,2021-11-26,240.14
77,2021-11-27,244.8
78,2021-11-28,249.15
79,2021-11-29,252.66
80,2021-11-30,256.98
81,2021-12-01,261.86
82,2021-12-02,264.28
83,2021-12-03,268.58
84,2021-12-04,272.57
85,2021-12-05,277.38
86,2021-12-06,280.61
87,2021-12-07,284.36
88,2021-12-08,289.02
89,2021-12-09,292.88
90,2021-12-10,296.59
91,2021-12-11,300.2
92,2021-12-12,303.89
93,2021-12-13,309.16
94,2021-12-14,311.78
95,2021-12-15,315.18
96,2021-12-16,318.2
97,2021-12-17,321.6
98,2021-12-18,325.36
99,2021-12-19,328.17
100,2021-12-20,331.01
101,2021-12-21,335.59
102,2021-12-22,337.6
103,2021-12-23,341.1
104,2021-12-24,344.42
105,2021-12-25,347.81
106,2021-12-26,351.08
107,2021-12-27,354.47
108,2021-12-28,357.45
109,2021-12-29,360.59
110,2021-12-30,363.86
111,2021-12-31,367.18
112,2022-01-01,370.48
113,2022-01-02,373.34
114,2022-01-03,377.09
115,2022-01-04,380.19
116,2022-01-05,384.1
117,2022-01-06,386.81
118,2022-01-07,390.08
119,2022-01-08,393.7
120,2022-01-09,396.95
121,2022-01-10,400.19
122,2022-01-11,403.71
123,2022-01-12,406.17
124,2022-01-13,409.21
125,2022-01-14,412.64
126,2022-01-15,415.01
127,2022-01-16,418.44
128,2022-01-17,422.22
129,2022-01-18,424.45
130,2022-01-19,428.3
131,2022-01-20,431.53
132,2022-01-21,434.88
133,2022-01-22,436.75
134,2022-01-23,439.34
135,2022-01-24,441.78
136,2022-01-25,444.4
137,2022-01-26,446.89
138,2022-01-27,449.43
139,2022-01-28,451.83
140,2022-01-29,453.79
141,2022-01-30,456.69
142,2022-01-31,458.6
143,2022-02-01,461.27
144,2022-02-02,463.79
145,2022-02-03,466.12
146,2022-02-04,468.88
147,2022-02-05,471.2
148,2022-02-06,473.91
149,2022-02-07,476.85
150,2022-02-08,479.4
151,2022-02-09,482.24
152,2022-02-10,485.44
153,2022-02-11,488.47
154,2022-02-12,490.97
155,2022-02-13,494.59
156,2022-02-14,497.94
157,2022-02-15,500.97
158,2022-02-16,504.32
159,2022-02-17,507.0
160,2022-02-18,510.29
161,2022-02-19,513.29
162,2022-02-20,516.26
163,2022-02-21,519.09
164,2022-02-22,522.0
165,2022-02-23,524.44
166,2022-02-24,527.48
167,2022-02-25,529.94
168,2022-02-26,532.49
169,2022-02-27,535.38
170,2022-02-28,538.9
171,2022-03-01,541.5
172,2022-03-02,544.28
173,2022-03-03,547.37
174,2022-03-04,550.59
175,2022-03-05,552.93
176,2022-03-06,555.94
177,2022-03-07,558.78
178,2022-03-08,561.83
179,2022-03-09,564.73
180,2022-03-10,567.68
181,2022-03-11,570.58
182,2022-03-12,573.48
183,2022-03-13,576.72
184,2022-03-14,579.63
185,2022-03-15,582.49
186,2022-03-16,585.53
187,2022-03-17,588.52
188,2022-03-18,590.71
1 time yield
2 0 2021-09-11 0.0
3 1 2021-09-12 1.63
4 2 2021-09-13 4.24
5 3 2021-09-14 6.87
6 4 2021-09-15 9.7
7 5 2021-09-16 12.47
8 6 2021-09-17 14.9
9 7 2021-09-18 17.55
10 8 2021-09-19 20.69
11 9 2021-09-20 23.31
12 10 2021-09-21 25.89
13 11 2021-09-22 28.75
14 12 2021-09-23 31.12
15 13 2021-09-24 34.21
16 14 2021-09-25 36.51
17 15 2021-09-26 39.63
18 16 2021-09-27 42.13
19 17 2021-09-28 44.96
20 18 2021-09-29 47.5
21 19 2021-09-30 50.11
22 20 2021-10-01 51.77
23 21 2021-10-02 54.53
24 22 2021-10-03 56.58
25 23 2021-10-04 59.43
26 24 2021-10-05 61.94
27 25 2021-10-06 64.26
28 26 2021-10-07 66.84
29 27 2021-10-08 69.18
30 28 2021-10-09 71.5
31 29 2021-10-10 74.08
32 30 2021-10-11 76.86
33 31 2021-10-12 79.81
34 32 2021-10-13 82.62
35 33 2021-10-14 85.48
36 34 2021-10-15 88.43
37 35 2021-10-16 91.09
38 36 2021-10-17 94.2
39 37 2021-10-18 97.18
40 38 2021-10-19 100.27
41 39 2021-10-20 103.2
42 40 2021-10-21 106.04
43 41 2021-10-22 109.77
44 42 2021-10-23 113.2
45 43 2021-10-24 116.97
46 44 2021-10-25 120.34
47 45 2021-10-26 123.84
48 46 2021-10-27 127.64
49 47 2021-10-28 131.12
50 48 2021-10-29 134.71
51 49 2021-10-30 137.95
52 50 2021-10-31 141.9
53 51 2021-11-01 145.93
54 52 2021-11-02 148.58
55 53 2021-11-03 152.27
56 54 2021-11-04 156.76
57 55 2021-11-05 159.14
58 56 2021-11-06 162.5
59 57 2021-11-07 166.38
60 58 2021-11-08 170.61
61 59 2021-11-09 173.56
62 60 2021-11-10 177.4
63 61 2021-11-11 181.52
64 62 2021-11-12 185.44
65 63 2021-11-13 189.58
66 64 2021-11-14 193.22
67 65 2021-11-15 197.01
68 66 2021-11-16 201.18
69 67 2021-11-17 204.81
70 68 2021-11-18 209.26
71 69 2021-11-19 212.81
72 70 2021-11-20 217.18
73 71 2021-11-21 221.17
74 72 2021-11-22 224.9
75 73 2021-11-23 229.15
76 74 2021-11-24 233.65
77 75 2021-11-25 236.8
78 76 2021-11-26 240.14
79 77 2021-11-27 244.8
80 78 2021-11-28 249.15
81 79 2021-11-29 252.66
82 80 2021-11-30 256.98
83 81 2021-12-01 261.86
84 82 2021-12-02 264.28
85 83 2021-12-03 268.58
86 84 2021-12-04 272.57
87 85 2021-12-05 277.38
88 86 2021-12-06 280.61
89 87 2021-12-07 284.36
90 88 2021-12-08 289.02
91 89 2021-12-09 292.88
92 90 2021-12-10 296.59
93 91 2021-12-11 300.2
94 92 2021-12-12 303.89
95 93 2021-12-13 309.16
96 94 2021-12-14 311.78
97 95 2021-12-15 315.18
98 96 2021-12-16 318.2
99 97 2021-12-17 321.6
100 98 2021-12-18 325.36
101 99 2021-12-19 328.17
102 100 2021-12-20 331.01
103 101 2021-12-21 335.59
104 102 2021-12-22 337.6
105 103 2021-12-23 341.1
106 104 2021-12-24 344.42
107 105 2021-12-25 347.81
108 106 2021-12-26 351.08
109 107 2021-12-27 354.47
110 108 2021-12-28 357.45
111 109 2021-12-29 360.59
112 110 2021-12-30 363.86
113 111 2021-12-31 367.18
114 112 2022-01-01 370.48
115 113 2022-01-02 373.34
116 114 2022-01-03 377.09
117 115 2022-01-04 380.19
118 116 2022-01-05 384.1
119 117 2022-01-06 386.81
120 118 2022-01-07 390.08
121 119 2022-01-08 393.7
122 120 2022-01-09 396.95
123 121 2022-01-10 400.19
124 122 2022-01-11 403.71
125 123 2022-01-12 406.17
126 124 2022-01-13 409.21
127 125 2022-01-14 412.64
128 126 2022-01-15 415.01
129 127 2022-01-16 418.44
130 128 2022-01-17 422.22
131 129 2022-01-18 424.45
132 130 2022-01-19 428.3
133 131 2022-01-20 431.53
134 132 2022-01-21 434.88
135 133 2022-01-22 436.75
136 134 2022-01-23 439.34
137 135 2022-01-24 441.78
138 136 2022-01-25 444.4
139 137 2022-01-26 446.89
140 138 2022-01-27 449.43
141 139 2022-01-28 451.83
142 140 2022-01-29 453.79
143 141 2022-01-30 456.69
144 142 2022-01-31 458.6
145 143 2022-02-01 461.27
146 144 2022-02-02 463.79
147 145 2022-02-03 466.12
148 146 2022-02-04 468.88
149 147 2022-02-05 471.2
150 148 2022-02-06 473.91
151 149 2022-02-07 476.85
152 150 2022-02-08 479.4
153 151 2022-02-09 482.24
154 152 2022-02-10 485.44
155 153 2022-02-11 488.47
156 154 2022-02-12 490.97
157 155 2022-02-13 494.59
158 156 2022-02-14 497.94
159 157 2022-02-15 500.97
160 158 2022-02-16 504.32
161 159 2022-02-17 507.0
162 160 2022-02-18 510.29
163 161 2022-02-19 513.29
164 162 2022-02-20 516.26
165 163 2022-02-21 519.09
166 164 2022-02-22 522.0
167 165 2022-02-23 524.44
168 166 2022-02-24 527.48
169 167 2022-02-25 529.94
170 168 2022-02-26 532.49
171 169 2022-02-27 535.38
172 170 2022-02-28 538.9
173 171 2022-03-01 541.5
174 172 2022-03-02 544.28
175 173 2022-03-03 547.37
176 174 2022-03-04 550.59
177 175 2022-03-05 552.93
178 176 2022-03-06 555.94
179 177 2022-03-07 558.78
180 178 2022-03-08 561.83
181 179 2022-03-09 564.73
182 180 2022-03-10 567.68
183 181 2022-03-11 570.58
184 182 2022-03-12 573.48
185 183 2022-03-13 576.72
186 184 2022-03-14 579.63
187 185 2022-03-15 582.49
188 186 2022-03-16 585.53
189 187 2022-03-17 588.52
190 188 2022-03-18 590.71

View File

@@ -0,0 +1,19 @@
# IMPORTATION STANDARD
# IMPORTATION THIRDPARTY
import pytest
# IMPORTATION INTERNAL
from gamestonk_terminal.cryptocurrency.defi import cryptosaurio_model
@pytest.mark.vcr
@pytest.mark.parametrize(
"address",
[("terra13kc0x8kr3sq8226myf4nmanmn2mrk9s5s9wsnz")],
)
def test_get_anchor_data(address, recorder):
df, _, _ = cryptosaurio_model.get_anchor_data(
address=address,
)
recorder.capture(df)

View File

@@ -0,0 +1,25 @@
# IMPORTATION STANDARD
# IMPORTATION THIRDPARTY
import pytest
# IMPORTATION INTERNAL
from gamestonk_terminal.cryptocurrency.defi import cryptosaurio_view
@pytest.mark.vcr
@pytest.mark.record_stdout
def test_display_anchor_data(mocker):
# MOCK EXPORT_DATA
mocker.patch(
target="gamestonk_terminal.cryptocurrency.defi.cryptosaurio_view.export_data"
)
# MOCK VISUALIZE_OUTPUT
mocker.patch(
target="gamestonk_terminal.helper_classes.TerminalStyle.visualize_output"
)
cryptosaurio_view.display_anchor_data(
address="terra13kc0x8kr3sq8226myf4nmanmn2mrk9s5s9wsnz"
)

View File

@@ -0,0 +1,10 @@
Current anchor APY is 19.41%
Deposit amount in Anchor Earn of address terra13kc0x8kr3sq8226myf4nmanmn2mrk9s5s9wsnz is 5471.90 UST
which is generating approximately:
- 0.12 UST hourly
- 2.91 UST daily
- 20.43 UST weekly
- 88.53 UST monthly
- 1062.35 UST yearly

View File

@@ -27,5 +27,7 @@
sratio Displays terra blockchain staking ratio history
sreturn Displays terra blockchain staking returns history
[Smartstake]
lcsc Displays Luna circulating supply changes
lcsc Displays Luna circulating supply changes
[CryptoSaurio]
anchor Display anchor earnings data

View File

@@ -0,0 +1,22 @@
```
usage: anchor [--transactions] [--address ADDRESS] [-h] [--export {csv,json,xlsx}]
```
Displays anchor protocol earnings data of a certain terra address [Source: https://cryptosaurio.com/]
```
optional arguments:
--transactions Flag to show transactions history in anchor earn
--address ADDRESS Terra address. Valid terra addresses start with 'terra' (default: None)
-h, --help show this help message (default: False)
--export {csv,json,xlsx}
Export raw data into csv, json, xlsx (default: )
```
Example:
```
2022 Mar 18, 14:29 (✨) /crypto/defi/ $ anchor terra13kc0x8kr3sq8226myf4nmanmn2mrk9s5s9wsnz --transactions
```
![anchor](https://user-images.githubusercontent.com/43375532/159065235-e8fb189d-f670-4391-a7fc-064640b9607d.png)

View File

@@ -777,7 +777,7 @@ main:
- name: stats
ref: "/terminal/cryptocurrency/due_diligence/mcapdom"
- name: nonzero
ref: "/terminal/cryptocurrency/due_diligence/nonzero"
ref: "/terminal/cryptocurrency/due_diligence/nonzero"
- name: onchain
ref: "/terminal/cryptocurrency/onchain"
sub:
@@ -880,6 +880,8 @@ main:
- name: defi
ref: "/terminal/cryptocurrency/defi"
sub:
- name: anchor
ref: "/terminal/cryptocurrency/defi/anchor"
- name: ldapps
ref: "/terminal/cryptocurrency/defi/ldapps"
- name: gdapps