From ff2ddb7a91c5f7c253de2cf5661f9e9f8f38f6f4 Mon Sep 17 00:00:00 2001 From: jose-donato <43375532+jose-donato@users.noreply.github.com> Date: Fri, 21 Jan 2022 19:58:28 +0000 Subject: [PATCH] Adds features to check crypto-related hacks (#1230) * added ich and ch features * added slug required and removed list of slugs * added slug required and removed list of slugs * updated to only have one command * lint * lint * added default parameter --- .../overview/overview_controller.py | 75 +++- .../cryptocurrency/overview/rekt_model.py | 179 +++++++++ .../cryptocurrency/overview/rekt_view.py | 72 ++++ scripts/test_crypto_ov.gst | 1 + .../test_get_crypto_hack[bitmart-rekt].yaml | 250 +++++++++++++ .../test_get_crypto_hack[cryptocom-rekt].yaml | 245 ++++++++++++ ...est_get_crypto_hack[polynetwork-rekt].yaml | 323 ++++++++++++++++ .../test_get_crypto_hack_slugs.yaml | 349 ++++++++++++++++++ .../test_get_crypto_hacks.yaml | 349 ++++++++++++++++++ .../test_rekt_view/test_get_crypto_hack.yaml | 250 +++++++++++++ .../test_rekt_view/test_get_crypto_hacks.yaml | 349 ++++++++++++++++++ .../test_rekt_model/test_get_crypto_hacks.csv | 71 ++++ .../test_get_crypto_hack_slugs.json | 1 + .../overview/test_rekt_model.py | 29 ++ .../cryptocurrency/overview/test_rekt_view.py | 15 + .../test_get_crypto_hack[bitmart-rekt].txt | 74 ++++ .../test_get_crypto_hack[cryptocom-rekt].txt | 69 ++++ ...test_get_crypto_hack[polynetwork-rekt].txt | 173 +++++++++ .../test_rekt_view/test_get_crypto_hack.txt | 74 ++++ .../test_rekt_view/test_get_crypto_hacks.txt | 12 + .../cryptocurrency/overview/ch/_index.md | 18 + website/data/menu/main.yml | 2 + 22 files changed, 2978 insertions(+), 2 deletions(-) create mode 100644 gamestonk_terminal/cryptocurrency/overview/rekt_model.py create mode 100644 gamestonk_terminal/cryptocurrency/overview/rekt_view.py create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[bitmart-rekt].yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack_slugs.yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hacks.yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hack.yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hacks.yaml create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/csv/test_rekt_model/test_get_crypto_hacks.csv create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/json/test_rekt_model/test_get_crypto_hack_slugs.json create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_model.py create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_view.py create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[bitmart-rekt].txt create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].txt create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].txt create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hack.txt create mode 100644 tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hacks.txt create mode 100644 website/content/cryptocurrency/overview/ch/_index.md diff --git a/gamestonk_terminal/cryptocurrency/overview/overview_controller.py b/gamestonk_terminal/cryptocurrency/overview/overview_controller.py index 432eaac02aa..2b7e7d6a17e 100644 --- a/gamestonk_terminal/cryptocurrency/overview/overview_controller.py +++ b/gamestonk_terminal/cryptocurrency/overview/overview_controller.py @@ -25,6 +25,8 @@ from gamestonk_terminal.cryptocurrency.overview import ( pycoingecko_view, coinpaprika_view, cryptopanic_view, + rekt_model, + rekt_view, withdrawalfees_model, withdrawalfees_view, coinpaprika_model, @@ -73,6 +75,7 @@ class OverviewController(BaseController): "wfpe", "btcrb", "altindex", + "ch", ] PATH = "/crypto/ov/" @@ -82,7 +85,11 @@ class OverviewController(BaseController): super().__init__(queue) if session and gtff.USE_PROMPT_TOOLKIT: + crypto_hack_slugs = rekt_model.get_crypto_hack_slugs() choices: dict = {c: {} for c in self.controller_choices} + choices["ch"]["--sort"] = {c: None for c in rekt_model.HACKS_COLUMNS} + choices["ch"]["-s"] = {c: None for c in crypto_hack_slugs} + choices["ch"]["--slug"] = {c: None for c in crypto_hack_slugs} choices["cghold"] = {c: None for c in pycoingecko_model.HOLD_COINS} choices["cgcompanies"] = {c: None for c in pycoingecko_model.HOLD_COINS} choices["cgnews"]["-s"] = {c: None for c in pycoingecko_model.NEWS_FILTERS} @@ -167,11 +174,75 @@ class OverviewController(BaseController): ewf overall exchange withdrawal fees wfpe crypto withdrawal fees per exchange [src][BlockchainCenter][/src] - altindex displays altcoin season index (if 75% of top 50 coins perform better than BTC) - btcrb display bitcoin rainbow price chart (logarithmic regression)[/cmds] + altindex display altcoin season index (if 75% of top 50 coins perform better than BTC) + btcrb display bitcoin rainbow price chart (logarithmic regression) +[src][Rekt][/src] + ch lists major crypto-related hacks """ console.print(text=help_text, menu="Cryptocurrency - Overview") + def call_ch(self, other_args): + """Process ch command""" + parser = argparse.ArgumentParser( + prog="ch", + add_help=False, + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + description="""Display list of major crypto-related hacks [Source: https://rekt.news] + Can be sorted by {Platform,Date,Amount [$],Audit,Slug,URL} with --sort + and reverse the display order with --descend + Show only N elements with --limit + Accepts --slug or -s to check individual crypto hack (e.g., -s polynetwork-rekt) + """, + ) + + parser.add_argument( + "-l", + "--limit", + dest="limit", + type=int, + help="Display N items", + default=15, + ) + parser.add_argument( + "--sort", + dest="sortby", + type=str, + help="Sort by given column. Default: Amount [$]", + default="Amount [$]", + nargs="+", + ) + parser.add_argument( + "--descend", + action="store_true", + help="Flag to sort in descending order (lowest first)", + dest="descend", + default=False, + ) + + parser.add_argument( + "-s", + "--slug", + dest="slug", + type=str, + help="Slug to check crypto hack (e.g., polynetwork-rekt)", + default="", + ) + + if other_args and "-" not in other_args[0][0]: + other_args.insert(0, "-s") + + ns_parser = parse_known_args_and_warn( + parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED + ) + if ns_parser: + rekt_view.display_crypto_hacks( + slug=ns_parser.slug, + top=ns_parser.limit, + export=ns_parser.export, + sortby=" ".join(ns_parser.sortby), + descend=ns_parser.descend, + ) + def call_btcrb(self, other_args: List[str]): """Process btcrb command""" parser = argparse.ArgumentParser( diff --git a/gamestonk_terminal/cryptocurrency/overview/rekt_model.py b/gamestonk_terminal/cryptocurrency/overview/rekt_model.py new file mode 100644 index 00000000000..65b54d73fa4 --- /dev/null +++ b/gamestonk_terminal/cryptocurrency/overview/rekt_model.py @@ -0,0 +1,179 @@ +"""Blockchain Center Model""" +from typing import List, Union +import pandas as pd +import requests +from requests.adapters import HTTPAdapter, RetryError +from urllib3.util.retry import Retry +from bs4 import BeautifulSoup +from gamestonk_terminal.helper_funcs import get_user_agent +from gamestonk_terminal.rich_config import console + +HACKS_COLUMNS = ["Platform", "Date", "Amount [$]", "Audit", "Slug", "URL"] + + +def _retry_session( + url: str, retries: int = 3, backoff_factor: float = 1.0 +) -> requests.Session: + """Helper methods that retries to make request + + + Parameters + ---------- + url: str + Url to mount a session + retries: int + How many retries + backoff_factor: float + Backoff schema - time periods between retry + + Returns + ------- + requests.Session + Mounted session + """ + + session = requests.Session() + retry = Retry( + total=retries, + read=retries, + connect=retries, + status_forcelist=[500, 502, 503, 504], + backoff_factor=backoff_factor, + ) + adapter = HTTPAdapter(max_retries=retry) + session.mount(url, adapter) + return session + + +def _make_request(url: str) -> Union[BeautifulSoup, None]: + """Helper method to scrap + + Parameters + ---------- + url : str + url to scrape + + Returns + ------- + BeautifulSoup object + """ + headers = {"User-Agent": get_user_agent()} + session = _retry_session("https://www.coingecko.com") + try: + req = session.get(url, headers=headers, timeout=5) + except Exception as error: + console.print(error) + raise RetryError( + "Connection error. Couldn't connect to CoinGecko and scrape the data. " + "Please visit CoinGecko site, and check if it's not under maintenance" + ) from error + + if req.status_code == 404: + return None + + if req.status_code >= 400: + raise Exception( + f"Couldn't connect to {url}. Status code: {req.status_code}. Reason: {req.reason}" + ) + + return BeautifulSoup(req.text, features="lxml") + + +def get_crypto_hacks() -> pd.DataFrame: + """Get major crypto-related hacks + [Source: https://rekt.news] + + Parameters + ---------- + + Returns + ------- + pandas.DataFrame: + Hacks with columns {Platform,Date,Amount [$],Audited,Slug,URL} + """ + soup = _make_request("https://rekt.news/leaderboard") + if soup: + rekt_list = soup.find("ol", {"class": "leaderboard-content"}).find_all("li") + df = pd.DataFrame(columns=HACKS_COLUMNS) + for item in rekt_list: + a = item.find("a", href=True) + audit = item.find("span", {"class": "leaderboard-audit"}).text + details = item.find("div", {"class": "leaderboard-row-details"}).text.split( + "|" + ) + url = a["href"] + title = a.text + amount = int(details[0][1:].replace(",", "")) + date = details[1].replace(" ", "") + df.loc[len(df.index)] = [ + title, + date, + amount, + audit, + url.replace("/", ""), + f"https://rekt.news{url}", + ] + df["Date"] = pd.to_datetime(df["Date"]) + return df + return pd.DataFrame() + + +def get_crypto_hack(slug: str) -> Union[str, None]: + """Get crypto hack + [Source: https://rekt.news] + + Parameters + ---------- + slug: str + slug of crypto hack + + Returns + ------- + pandas.DataFrame: + Hacks with columns {Platform,Date,Amount [$],Audited,URL} + """ + url = f"https://rekt.news/{slug}" + soup = _make_request(url) + if not soup: + console.print(f'Slug "{slug}" not found\n') + return None + title = soup.find("h1", {"class": "post-title"}).text + date = soup.find("time").text + content = ( + soup.find("section", {"class": "post-content"}) + .get_text("\n") + .replace("\r\n,", ", ") + .replace("\n,", ", ") + .replace("\r\n.", ".\n\t") + .replace("\n.", ".\n\t") + .replace("\r\n ", " ") + .replace("\n ", " ") + ).split("""SUBSCRIBE""")[0] + final_str = f""" + {title} + {date} + + {content} + + Detailed history in {url} + """ + return final_str + + +def get_crypto_hack_slugs() -> List[str]: + """Get all crypto hack slugs + [Source: https://rekt.news] + Returns + ------- + List[str]: + List with slugs + """ + soup = _make_request("https://rekt.news/leaderboard") + href_list = [] + if soup: + rekt_list = soup.find("ol", {"class": "leaderboard-content"}).find_all("li") + for item in rekt_list: + a = item.find("a", href=True)["href"].replace("/", "") + href_list.append(a) + return href_list + return href_list diff --git a/gamestonk_terminal/cryptocurrency/overview/rekt_view.py b/gamestonk_terminal/cryptocurrency/overview/rekt_view.py new file mode 100644 index 00000000000..4c293a4d99a --- /dev/null +++ b/gamestonk_terminal/cryptocurrency/overview/rekt_view.py @@ -0,0 +1,72 @@ +"""Rekt view""" +import os + +from gamestonk_terminal.cryptocurrency.overview import rekt_model +from gamestonk_terminal.helper_funcs import ( + export_data, + long_number_format, + rich_table_from_df, +) +from gamestonk_terminal import feature_flags as gtff +from gamestonk_terminal.rich_config import console + + +def display_crypto_hacks( + top: int, sortby: str, descend: bool, slug: str, export: str = "" +) -> None: + """Display list of major crypto-related hacks. If slug is passed + individual crypto hack is displayed instead of list of crypto hacks + [Source: https://rekt.news] + + Parameters + ---------- + slug: str + Crypto hack slug to check (e.g., polynetwork-rekt) + top: int + Number of hacks to search + sortby: str + Key by which to sort data {Platform,Date,Amount [$],Audit,Slug,URL} + descend: bool + Flag to sort data descending + export : str + Export dataframe data to csv,json,xlsx file + """ + if slug: + text = rekt_model.get_crypto_hack(slug) + if text: + console.print(text) + export_data( + export, + os.path.dirname(os.path.abspath(__file__)), + "ch", + text, + ) + else: + df = rekt_model.get_crypto_hacks() + + if df.empty: + console.print("\nError in rekt request\n") + else: + if sortby in rekt_model.HACKS_COLUMNS: + df = df.sort_values(by=sortby, ascending=descend) + df["Amount [$]"] = df["Amount [$]"].apply(lambda x: long_number_format(x)) + df["Date"] = df["Date"].dt.date + + if gtff.USE_TABULATE_DF: + rich_table_from_df( + df.head(top), + headers=list(df.columns), + floatfmt=".1f", + show_index=False, + title="Major Crypto Hacks", + ) + console.print() + else: + console.print(df.to_string(index=False), "\n") + + export_data( + export, + os.path.dirname(os.path.abspath(__file__)), + "ch", + df, + ) diff --git a/scripts/test_crypto_ov.gst b/scripts/test_crypto_ov.gst index c99d9b8ad68..2cea8cf4996 100644 --- a/scripts/test_crypto_ov.gst +++ b/scripts/test_crypto_ov.gst @@ -6,4 +6,5 @@ cgexchanges cghold news btcrb +ch exit \ No newline at end of file diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[bitmart-rekt].yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[bitmart-rekt].yaml new file mode 100644 index 00000000000..77f9ae63f26 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[bitmart-rekt].yaml @@ -0,0 +1,250 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 10.0; WOW64; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://rekt.news/bitmart-rekt + response: + body: + string: 'Redirecting to /bitmart-rekt/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Refresh: + - 0;url=/bitmart-rekt/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /bitmart-rekt/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::s7hnz-1642759157235-ae4cd2ec22de + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 10.0; WOW64; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://rekt.news/bitmart-rekt/ + response: + body: + string: !!binary | + H4sIAAAAAAAAA+V923LcRrLgr5QRHo9oN9C4XyiSGpIiLY1NSWPRY5+hHR0FoNANEw20cSHV9njC + X7ERJ2L3ZR9OxP7DPp1P8ZeczCygb2xSTZqyKU8o1I0GqrKy8p5VleDOB09fHp7+x6sjNqrH2d4O + frKM58NdReQK/BY83tvJ0vyclSLbVSaliIo8F1GtsFEpkl1lVNeTarvfT4q8rrRhVfM6jbSoGCss + KouqKsp0mOasv7dTRWU6qfc+SJo8qtMif7T1Y11Of8xEzerduIiaschrrbs4ygR+9cTuZZrHxaWW + FRHPXtdFyYei1+x+8IH46COhDUX9vBbjR8oXR5+dDk6fHZ0cKVu9bPeD5p//VPImy5Td3d3mcfak + 1ipR79d1mYZNLR4pMa+5Wo9gEKWnZOlwVCtb2zc1agDsE4ENrgw4B3DN82brp4jX0ehRvfUj0K8q + MqGJsixKuPHTT4+2Hu/0W+rs1Gmdib0vxHnNVHaQ1ie8xCuEttOXD3fGouYs52Oxq8RCdgR6AsGB + B0CzXeWpOE5Znx2W00ldQO/nFTvEWzyfsoonomT1iOcMmz1hzxOWF3WPXY6mrKkES+sns4FHvGJZ + UdXsQyNwT3pskvEozYfQhvGa5c04BFgmK3JWNCXLQFpEGRa8jDX2VZplMIyYAlrjMXQATEBimjxG + APAgLXG4snqi9NspRSNevhaAf1Mnqo+355KXRjjDZZkr+aU2TOtREyKgdvYoe32k37O/9fcrYEfV + H/M076djEJyqn/ALBKVN8qHC6ukEaEhP+nhjacSI50WegtCtDnt5eamVMICWi8uqP8NeMuQZz+OR + yOLjMhV5nE0XuHJaNmKl9UkRppl4Cfwbpz+IeKGxZeorbS9ScTkpynqhUZqndcoztQIsxa6h6cDF + NK5Hu7GAWQqVfqyAKYbbJEYLYNZK26zbpCwmoqyn1PUPJW9LMyMpWJjTrxEyUzeNvmH2w7Qew7TU + ESGqtSJ2deymzNaMfI2cLfVECV7oeinCKq3F+rb4ZIBCsNAB4a8ISH2Z1rUotyMg60LLqhnDXKaD + jJdDMZDUWt/xduK13PcPJV/LU/uNBWx58FtJ2HJXEqh5379IrJZt5W3iglkowHg1zaNdRWFVGS0j + NSyKIQQGfDjmOUy4JHIM4Xf/u+pJGu9+qjqn1osDOzhx/gFhysx7rgDe62INhn0h4ECH/jmfIqma + avQIRJmCjWrrpzbKmDXYXb3xz3+efdsjMMp3ldIDirGnvBZb7T2YfpIOIRRYQm3Rsy+QNhdvJM/U + qGjyRYtuOlcImxU87qjaH2DXvqRmP6qqPhe2qbuGZ4aBHzlmrMFNBQgACltPM7EMjW5VIyHq2wKk + SChXIS5EiHnRErq9DU2Q2jv97sGME7EA7UQW58W4iBvwUh27V0YeNfl51Z8U2TQBRatUJ4oDO/KD + 2OIRj5xEA6JfZfT1kMASTnh0rjqGHeh+mCSh65iBayGcGVa3AZiUwLrLojxXAyP2Es8PndDWdSvy + 7wwSNVo1jVB4ie35huOKKNDvDG1ClmHAJxMVOGe6ph2EluN5ceDcGaYRJlHgO7rKhReHAaBou5Yb + 8fjOEO3AVR3XC+PEEwZ3Hd337w7MCzw1MvUo1H3XCAMRGt7d52oBsNCNnTiJDM82ROB7yZ2BSWb8 + yTmosmb4J+epyk3PhZjO9M3ICCP/DnJ4LI6PX0wGpVu8ungeGslnn5XRQX8QNmkWn/A8TURV3xvU + qhreO8xxGseZuOSleCtotFPSuKz1JuQd+CStyC+A9TGfJHycZtPdL4qwqItPToq82E5rnvUuITH7 + i94DTX2s9xz6dOnTg08D738UpxXEAdPd6pJPlL2/4BhqwiPxY3uFgLf/LCEzhPznx/SEsKRR0kje + uRSYB27jYPS7hbyNkB8DodANP7rWM/arfkmDjGGM/oVh9T/X3xRPj+032d9PjtWD5As//Prk+Xej + l9XXn6rfm4Vojovvj8ss33/5lapdFkmyxZKiHPP60Z/x15+3frrtbHLsnr2z2TRXZjP667Oh7Ywv + h58eHWf6wLr4/tXf9t/ZXJzfci7eq3c6F/e3nMv+K/NdzsX7LefyMrm/uTwI7X/xlXU4UcXp88uK + 2//Bn66f2+MmT6MiFmrJ86HY/vIT3XZ1VXfM496XnxiHvq7Chw/Xpn5g49fTI101nx7j433X1tV9 + N8Dr4yPzSIWP4/eVWOrdiKUDsWwHKaBDSAnXgUHXB3h9gNemYbjvK1GcOxHF8mDy1vF7KwrGnWZt + 6KYKHxay3zCAAoZBomCYPlybAV27eO3K631ssy/b7B/D9YGOOncE942j44B0bv/gfSWifkciAlFM + m/TJdAKih070OCZ6mLokC9ggoI28fgrXh8dS05D65iFYMPPQIxPlmWCivPdXFt0FMm5IQx1pqBPB + dMOS8uWgbDokm+bBAZD44JCuD136erovvw6JojpS15UE92xJZHpimCZ9BdKuBURtuCu/nB66ARr3 + +Pj46a0p/o6jzNO3RQDWRVm/PjH+qg6PXp06R5VwR+Nnr/+uj4Wffvlcz87/RgwwlzlgPgQf+jBJ + 9+ZOpHtHHvVhkqi+C4nu7F8fJg3iu9DgoXjbh0nSf9yNpA/F9z5Moo46om5M0T+QJ77PNZI70v99 + 9cQPgHQP3RM/ABL97p74AdDgj+aJHwBJ/3ie+AEQ9d/aE9/nCv8d6f++euIHQLqH7okfAIl+d0/8 + AGjwR/PED4CkfzxP/ACI+m/tie9zf/qO9H9fPfEDIN1D98QPgES/uyd+ADT4o3niB0DSP54nfgBE + fX898U6f6Lq305eFhWERT/d24vSCpfGuMqBDpO1Z81LwqC6LoqaTodgkyjgeM58UVa3WYgzEr0Vb + oijK7ikWK9DJ+uVOs9tqe9KepXkuSmjEu4PwcJ2Oh0sdsmJYQMMLlWMFxkqZwvVlG1hRMfq+z6+W + bSBArboYKoxnMDH8icfp+3xvJ+cXiEw7PPxSAYMxWy2nGMNQo3nNhrJHNwhCNeF51x+mnsY0vz7e + 3gRyIkS8CBh//xq4/YXqGSDuwq+3Q118SOWX6iSNzoHL3SjKXszL83XNr8BakAIsbG0hKcu9Fp6o + lchEVAuQIJFf24iXZXGp7P3yv/5/N86Nw6kFlTRRCQO0mH0S19trKch7OygwHYhWrBRWFlg6gY9Q + ZkuwKplY1IgrikBqIm/hM2NZfahCa2+1vHRkQMuyv0wa6oC1KwoWp47F3usmj/m0x56KSFC9lNNj + WI+E5anweGci+y+o1pOaD3exYEvZw0/i/wLr9gCBlcYtZjMUN+hCRWV7ciLzxv3J7PKmmYG1iVk9 + SivW0ZZnFer+zgeqylR1b3vNtLriK1SaPknLjViC/q/2qG7ukZSrPZLy5h5ls9qjbG7u8cNotccP + o2sIOJPQSsiiqkU6dpJK/E/SYVMKaVA3NJp3qnWTZpRMaDck4jvZu6lAsG2yU4F7yYdzfnY4tnVv + hFUrfkdvohH60iV57GHRHwNrkaiTsgBagPTH7Jef//eOGO+dYJHhadlUYEi6usXTklOt4CvwXOiy + d/rQ8Jef/09vXpb4L6pLZElZjFl9WbAiYWldsVFRs0ueZUAarE08goFL0YxhejE7eH2ooV+Vk5Fz + O0XEajAZOZNeiCFOj8YwRDZlYzCoUZHm1RZhwOqi5hkOresnV8D/60NECO7KcQj8fsXQR7BQDIGo + MLMbaTgR0Xk1SkUWU31IU/UN2/Us3XQxrtB124KYRNmL0jJq0KdL2na26RSs8bDkgEw8BpQZhF3j + FOYUs7IZF00JGlsR0e+AguF6QRB4HoQttuf2J0Dmom+DCANVEn4uaJZEI8SJOHU5SjOkLcR1VPXJ + a1aK7xtRAY15WDQ1CQVoRJWG0HDEo3N2CdRkEZgY6tMKSIPVkqKqeDlloAQV6FMnDx2Zjy5AORpg + +3ROjsOjl+w11pcDR75O+c2Ur2TDVnFWpm46pu84pularq/s8TwvmjySLl/OCycCwEYxKC1YQ5hL + DAaRQfRcA+dBtOLikrjPuzmBXWjKtJ6yEKO30Vy+hwXOvKDWaY6yL0tl5UBt7/1aWuBxgSWZQDWw + xYJhpFeUvIQ4nVVNNRGy3nYRsSav04wlTYlyi7W/aSS0bvCWls+KS3Ehyh4RbdKySQo+KF6F1b8f + Go5+0mOxqCYQYlADmqskxqypqCRDeYZOY8rO85YMobiTHkDu6Bs66IPtATuUPWkCpBJwJs2axKGT + ATSbaQ4yh6NShXNOVgKi/zRKAc3bmLQlXBzdcX3bN3zPh3xV2cNn9BoOREdbMZyHR19XxKKqmYDA + g0YCOmAJMf5arIcmXrEabeEVQ/VXuEmGDiIKADYseleRj0RWpU0FYWmN5Zd9DCLoDokq+ekrfQSK + QhXxXEuLfv2mr78JHCPkYRzHYRKGIfcN+AxB/Q0eOEEc+IYjfD2KnDiwDT82dOEGZmIbjg0JfuC7 + AUSwaKA/BBmhcclE8wXLjFxAmbmCy7zAOuTxEGLB1s8e0K+n+y87eJBUgnSDKNZgNXrXzGyRlS0d + XrSEmXPS9S0LF60MO/BM2wSpQl3FdBV0p9VwQdLcMfUr4hGqH5rgqn6LSoPbk3rYySSwlWN+jDKw + WkZ/A0VuzBF6AECwIrxIi6ZiZGQx6qgmJYxMwg8eIZ6JJWD2PJFuP63yX37+z3ru/pfeBtBa9Mk7 + ClX0gCaoQuKIGA+RnmqW5gJJeH5z3NLpFjpwKQetk110y6RPG4i8y5MQ7ErguaEZJVYgHMG9SPjc + cSPLAb9n+sIWTmBaicdDLjzdd5PQAXccCN8Q4BVIIICzecUp4pMaVzPT2LaMbT1gn3x5eojLDxAm + WNYJhiuvnz0/6NErEkQetVYfQgcwFOBfYnAiWQJsAb1ZJxhhFdEMkMo0Bd+yLdMwAvBVVgToJ2Hk + c8sIXQ7q6UYBBxV1hTCtMLZjz+AhqHEY6H7AAz32XcjhUJwpaJZk+9eHtnHCXu8fH528fPniij3q + 6P9yTm4Z5vEkoaSwVfYeqEko4Cp+CyN4HJfg5ZEbfmjikkiSeLawXN0NY0e4kRELPzJjF4yuHvlO + 4lGMif6amVIJLiHAAVcHAhQjgRGbMf+uIK1s48NWOqv5fBhKUJGT0wzBMOT4nhgIVVBakSsUFrKQ + Q44agVJUSBidGNhqNOgPeBTwbFfmh+9nwPBxCP6sIFaJvE/x5CxEr4tzfH0UfclJTIAKzZiHgFAo + Io6a2M4lTtFtNRnMpsnxXQft+zgglqrQk7TNROuvVr3Q6VXmtCK3PSfGjYI2Z5EfGaYfh9yMQte1 + AogKDc59D3y0EwpDd+xQeE7MQTE2bytzKYnyHaKD1Sj5AG0IGnMSaaBNG5KEEEUitZcMxSMZ029p + vwKB1fBkEwRQ3x9R4rC1jl0YFGNGhnYFbHMJjOvcCJpahu9UqdocCJsvJD9g8ykuK7KsuCQ5lswT + 1faqKs+oYGxvrKNWkIR6HMWGFdhO6FtObHsQAHChx8IzfCO2RJyYno4CsGnbBQGYoWRujpINUUrs + 43sDEkfoLqQsuhN7iW+ZPEoiJ0j8IPH0wECUNm27gBLqyabqYTpJaJhu6EZu6ES+SDzLDH3XN82E + 64mum7Yw4BmhsmnbRfVo+XfcMr4U0vReQPCPAcAsbZXxN667T0B0LiCgN9I8GqFwHJ0+k0nxiwOw + M+CYBHxRvsAhGZKNT4sy53FxCHeu2n+IDDpZBKMI7jvL2NyREyQMxcmCxe0CwFKE1KPxMaGfCoqG + pCsko4ThSCnScQhpK4XV5Dpn1ouiZW0xOjldF0+i/W0NrczyWgT6aHJftz9IO7t1GmlCIR5vXw9F + +atos6+Psvqxrjl/mrdqlwwwtD8XEwpsF3TwqkYDoSCjqpY8h8yXOkgwe0i+2IdWwEKgKOD0y8// + tY72zxOJVJv2AGQgKiTAmD5IccgxKWqyrH330hoKsgqCiyzGfCynhAQS8bH2roM+SwZ9t4zzDgF8 + ybMUhWnSLgtV4OvSCl9iBFOt2yWkYaGGEOZj2o0zrkeQcIEoQgjMpyBtFwLoARhfcFpmbpciUkC/ + xMgNxDZOS6ARUJLCoIhWpK6I/5dEv2EK4JoJi2DoIp5eEQyZz5FPBqdR05DzJYOJKCYZhig5H7Zv + xhqTLGHrErqDOM10BnUlxHRjQnhWV9z787oNWqo2xa6QBKPiUkZlFCKDZMnXRFEGOsTlcx7h2krn + LjrvAQ+6LOLK1J8VE4FyNcXYA6xFl0AUaIkgUKrSiL189frokNGLGyGsAosDLBqWGFvBPCF4Sccp + 8grsEmTBuDKBiyPgj1/u97ApDN9mbAAbTMh8tqDnlVzuAJEGFkC8FnNcPxqDIPBzXHJAyU8x9x/L + vB8yH9zpaHAYpGI1xkmWXUhXaeygoZeayaROXAgwZFI3R5BfIQgQJGR1j4kK+JiSntE4lEOVAmM2 + jCqJhlFRlg0YgwzSkWgKCprDMBhTVtMKt31gOiOK3CgCwB5pnhdSHlGCcOl1tn7IDvkUWAaZ8BAm + KDACAPi4zkPNZ8uhUYZiDqh+CEHQiYZBLYghWlTc4mxlvRZ8DPgA1Vgs8hQZkMfSVHRZb2uqZaii + sX16k1tatat5SSnED+sXlVCL2gCUVjyjaZSJnqQSBSKCl9iAlsBCju/ZanLMj3EKGHlDBBuvyvRT + ksoKuYsvxBkjoqS8NFXkN6M39yWUq141kvswvZSQAmHNK7QVBc4Vp1AV+ApImF/nxTiyjFf1W99a + 964NpC8NJFAUbSTuF0Q32cgwK6Lz75uiFgu+YVo0TOTfFVNaV8BFD3yFH0wP5TNHYpdAh7xdnC3W + rz4A+hhGANJ9Ul4IdF3LlNgBQVTcWVTBU6pFosYiSdXvAEyORnqs7H0qO7NPsacMXjqy9RdR7va0 + x9EAN8niQZUO82aitNtQtAQqc+o5YnFRjcKi1prK12C0WpVWTTp5kKWoTEPRx92WJ82uHYd+YEMW + Ett6YkS68CAXDuwk/oiPJ49haC/wHd/xXFcoEDqBw4jbncIWL5XwAvFUZ7BVREtp31F3U4t24wds + XBrjLjwIbTnEF7cOQrA+5/i2t+7ZbPt+DTUGABQi+Rk8VDEw1GAQ5DhALHPNs25X8/WXEL1+8fzg + qNukY93Fi5df7fRH5tJu7AKAYVkQK9Y/TXOIZmZtKM/fQxeUdcnGfLjF3USOhiytzpW9j2cbZrLz + DkFsXzZLkBR68aQYFVmMr77CF83+Zb713jLg6GT/+ecz2uAuQ4qGUqKyim/HVaG23YD+jWj1ivaX + 108WOAtWQVnGsb3ZwZhxv8Ns4ca1sjRDPGzqusjneMyxobMgJJQpKsI2D6sia2rxOBNJva06kPVO + 3oB9KFOujsBUCtAVjANXsK3p0IjELBxcqxeDRYW4Qp32E8Wu+5EUoMnL++nyFu1xViPanVjYMiYj + 0IbcmGqv6gS9gTEvIM7IaZuiFJT8lqsHMZZ3cGCUJzjDbku83awnLW/KbDcBZ4UUqS6GuAgLKfiu + AsFVCWb5sMgKgI7vU1y9J1vK9wPvKjoQJBWXB8UbuGY6cwwT/wNidOZpVzEEKH3bmK7fjLO8kii3 + GcmlpUE40cfFij6ecAEacQgTQTxObCfQLI8ZjqF5kPRplukwW3Nsn64CTQ88ujIszbUdGN+wfM0z + VUN3NMe3mBn4muP4avs9+w1gbcdkumoYtub6quFpphGohmtohuWptqcZust8zYarwLOZ4WqO6zND + M4OAmY5m2e21DTg4OHBgAwRL7RpaumZ6tmrbGqTQqu0CWFMFUI7q25oXmKoFI/m+CvgYhql6puZ5 + JnM1G27QgKYWBDAvzTXhR6D5ht/+AMxNA2fqa74NA2owS09zDVu1NMezVKCN7htqoHm2h4MZ0AjI + F/jdD0MH2L5zodIMIiBd4AbMA6w8hmgbNLrrMZi7bRlIWwtoY/qa6dpqOyzMyINRALCuO90vH5gR + GEhVQDIAQdCMwFMtuOsyoLMZ2KoDYzs2iIjmAtlcYJsHszSBywx5ZiKPgIaWC3d1mLbuqTRtlfBT + Tc0JgE2OFhh++8O0Nd2GMR1P802fESooALYWIJfk9+w3TdBCQfU0RzfbmXoufloWMp+ZFsgazAnF + DMHZjqsiDYA9rhwR+U8IAbI24Oqq8osRu62W3YwwAnjAaQNRNz2L2QbIpa0C102ApwMvXZQZE/mC + FDKZqQNgQ7VMDaSRWUAZ3UeyuTA5B5o41g94FAhVBL5AX/Yolri70UAVxHONYVGczy1H2X5pk9EE + YoZ3YSssU79PW2F6Acg3M30/Q1KaagBEc0eqDxplXKhAbMOKdOIeihyQHvyEBmoOxAUBo+uRjSz5 + OzDEfW0ie1BUTOziMj1SPQvgonwDT3Uf2W353Q8DZMAzLzwdOPXMNDU/+DugMvJBQYML07RHhg4Y + eHjznhlYa2MhudUHs/7kXZl2G9ThHtllo6YyMHduprpgwJiFpiVSwWgAxTUHLQ1yUzPIgjAw0U4G + emypHqi/CoaXLBT1cMDUQAegL8MPFXWIrjIwYVL3wYjq0M0AS+tE4D5UeqIB+wzsaiJIzfgcNFUD + rfbJ5IMyomxEKuBjqC40IcTwF3ghF3XU+9wGPMk02BFijM2YBcYDWhiIvgNyrplrWd6fufy+DA8w + OkAXzSilq+Q6zqQJszSarfHIZSsI+6ZjXNrkDcTnZdXDQw+U/+WYpVUTzGnCNMOVErnqI4ibFSvK + bs+HjQpaIIIMEAddzTUpGxKziPURLpD22dEXh6a+tT0PZDdcjLYOncg8tsNDcegY3HIhsHJ9MwmM + p2HkRvte5FoHjmEf0vr4hm1bIi5luXFayfNU5ez8HWsfEWUh6MqLek4iSOKBIllKayapXGiF5Ak1 + ThJ6yg5bck1m5MLk8Kt2QRQa4aFL+QpzXIKgNS5s8RqYmEaioqSf1oI6CGW3ChxO2f6Lly/YPnER + lwMWQPewIbQg5rD9DJo0wxEyujsqUTYZSAniuQ8C0UEBXOImqmktA0fELW+Sj7iguSP7IXmi5xiJ + rtID4dFS9SJQBNSTGy+4FoDLWBTGXqXGfNo3DYCELZIEjy/hOlKa09LXBAJ2mjikAmD1erg0xi+T + JkPAtJ52meL+X/idJDZxrRNnTPFxTVPk9Gp0oPf1yGnsOmnotKWl4px5RY6rD4RIkuBlj5Zv8qnc + elrm3dJYMsefKftCOoXvvsc1fsx/Fg6mT9Y+lydvaZZ0XoJOeWTp+UxHNU0Odc0AyMJq/Rlgttru + bYeCnXWHgudHQ7PoTXdWZZZZf3749ey4MOrtyNnkyLBu9A0d14HM6w8Jn+Gbsr9tzwoffa3g+aKb + j64u9djwdPFiH5iLghPavMdmZ4xvPCcr3kSinMhzsi9AGdqVqkoIhltev/z8X6ixJKtAAIb077EP + IYGxT9ojnbQMyr58/QqlNVrYQJBrsoINywJcxGxBeEqaEPNp6xvWoaOOITC5hvcnL784mm3TLXi7 + VgJ/E1GU+xUA8opAyrO1GPLeUS6DdyqX9ywxV0UjlGcZ202gds8Rz8rWLK01OpejeScUVeQ9Nmpy + 8OUxnhVsN8u6vTNp6BeoSSf7aP+TXPHsuOtHuML5WO7RUxueCHnvNvJ1haEPQcp4GaZXTd4+3mXH + rXLdSch0+xZCRuN90o6nLA//uwneC3EJwsVLcJdZTKuP4HybIcS1WSblADlRyOMfLale0ymmwxFP + 88cQufzy83+W7Zkk3PuG0aRMpRWd8+uOBcntN0Z/Zqg9to/n1jU6oA5Ok7aPO3lGmV3mjwxVLtGW + LuwY3kY0l6TgrWK5tHw4v4v7H6tLiFRTNltCXPDv81q0ruV8FXUel2NYLiaQGFJ+P4rtZ+evrqy8 + LyyKI9aE1gpvJQYqllLhX4ahYOLOaSvmhxDM1E0o9yku8c/cPbnYvTD+4RzkB83x9EjBvdW0GRNC + i5qyppjsrmhgg0pwzFaiIsvkhOWWDsqqikeO4JPwUPZeytYr6dsKmaJiMi0pRFP2OFrBNkCd3b+a + PWG5DQxJZy/++//NDAipftf4l5//7+wBgiVQVbt7L+JZFHg9YpMCz7/E4VRZl931u9zu7sT87ZO/ + t8+0bHKIZK5PWBcXzds/UCX/iGJ7vlqbET3Bc6iUtS1CuyutFscNc5FmzXfK3l+bLBVgB0EvRFY0 + k9V1guUdB7lmsHiz/csqsib2xdHXp4On+6f7g0H3Bwshy8ra7e/+d1WRK3s/Kph3Vco2XPCheNX9 + wFJa/JaubltZ+RtsPYW277YVw+zrDm3Uwj2UYezEx/THqbaNwKUjiHpP4U2cwh3lRX9/ubMtO//U + U8D5wNBnCkXkvW5EuKIRv+0pnVvZVh74n3HrKSGtIQCmv3r7e339GpCrq5vbVr7JPzj79tG7GWnr + m/yb/CZy4/OPPz5rCTxH44bKka1rC+AGm1S/De6l8u3jjxFzTIiW690GV4vdBrcodEOgV6rczmYl + auvps9ER3q3bl7adDWbFaINbjby+vm3r/grZBmuq2JCvRL9NytfOZnVn6ye2cQXb1vwA2uY1a4OV + s5uDzYrVBvdbqYajIr1+mxK1M6lot5OjpTPgW3euSzub1ZNtZGCWcFguTdvSpMG6Sw2aNBlrKs/O + 2tN5c+RWS8+25HLd2awUbN70/ivOtq6vMTub1Y4tOIy1ZWZb1xWWnS1UhK3nxsbVZVuzw3XElXWl + ZOs07VY1ZGcLTnzdnBcLybY2LBxDZAeblYwNsO29uOe3V4dtSdE+nZ1vva4E7Gy1POsmafy1xWBb + 91j3dUZFWXNs773sa2ttsZdU/I8/frl5cdfZrBbrGtrevr5r63YVXR9/fH+lXGdUoTOfyaaVXFv3 + Wb+1IN3ry7Zgxmeb11etl6Lb13SR1p3Nqptu5R9XIryNy7J+xZArLnmDQqw53d9N/ZXUrsWqq7PN + i6Teql2bAtpaQsIkJDYti3orEpsCIiSosups80qotwnypnBa9/FbVlFJ1g9+58KpQZcJnnVFUMuW + 7pqaqa3NyqS+afBvPd+qUKrTuDvWR7VUfXclUfcY1KyrfmoF8XcucZJUfACFTZIa76yeCbymTCJ/ + jzKmVvP+LWqYaGno36yAScrubeqWWuP1bkqV7tFwXVOVRLYL/qHRF2xwx9Kjs6VqoTm6v6ICaWtA + C/RRt+1NK/4FHgnaPvuxW5CfH7eBxsDhGhwHtKTzpL3ZXsD8KM+aNX8vsJdX/L/M6Qrg9BaGAfrR + MIvr/kdfQ5N29R+P2Kxb+f+tT77c41q+2Yd54/GYhXX8noI77wC7OzYDBFniRnCVG+S+Z8y4coxl + DU8sy1vZhnkqsgJThSWeGNfx5CobHsBxkm+U5aMk3yj3zqz5WRPJMnOZZ8tHUVY4157cuEmP1p0P + WbeLpq9uoh1C1JCeL+uTfYV3S+DXK9N7fjbjvvktD3CsU8/50Q7lp29x703q1U+zBt2yRysJuP06 + eP36U6mt8Bs3V6FZe9IGAEP8VU6RzdcACJs0i5+D0CjH4vj4xWRQusWri+ehkXz2WRkdAIS0OgZz + FULcN5OsYTXp7ENWRJykTORK94vEgn7DJQhmCR/nBYpcAx81/vxhhCICvoM3Wf35Egy5ufx5QWei + ts++xZcy0629nb58H3N/VI+zvf8B5DOx9BuSAAA= + headers: + Age: + - '37299' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="bitmart-rekt" + etag: + - W/"a33923d398859abd93a8dd2f582a8d755fa00263991b4f301ce39d8697b4703e" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/bitmart-rekt/ + x-vercel-id: + - cdg1:cdg1::s7hnz-1642759157291-f9db6ffd283e + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].yaml new file mode 100644 index 00000000000..b84020262df --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].yaml @@ -0,0 +1,245 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:83.0) Gecko/20100101 Firefox/83.0 + method: GET + uri: https://rekt.news/cryptocom-rekt + response: + body: + string: 'Redirecting to /cryptocom-rekt/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Refresh: + - 0;url=/cryptocom-rekt/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /cryptocom-rekt/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::bcdqk-1642759157725-d93835f33fc7 + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:83.0) Gecko/20100101 Firefox/83.0 + method: GET + uri: https://rekt.news/cryptocom-rekt/ + response: + body: + string: !!binary | + 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 + 3+pstcU7i9vDYhR3/h+K4kKjTpEAAA== + headers: + Age: + - '80306' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="cryptocom-rekt" + etag: + - W/"94477a1f7fb444c61f83cfe20522339421952af7155add853bb44c7df5d68e81" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/cryptocom-rekt/ + x-vercel-id: + - cdg1:cdg1::bcdqk-1642759157772-75e4ebaf27e7 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].yaml new file mode 100644 index 00000000000..7929be805a1 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].yaml @@ -0,0 +1,323 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/polynetwork-rekt + response: + body: + string: 'Redirecting to /polynetwork-rekt/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Refresh: + - 0;url=/polynetwork-rekt/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /polynetwork-rekt/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::m9tv8-1642759157477-0d307a9638a2 + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/polynetwork-rekt/ + response: + body: + string: !!binary | + H4sIAAAAAAAAA+V963LbxrbmqyDc+8SWNgHifpEtOZRExU5825YcJ5F3qXBpkIhAgAFAUczeOZWn + ODWnaubP/DhV8w7zax4lTzJrrQZAgKJkSpZsJScVUyDQ6F69evW6dffHx1/sv9o7+uH1QBgV43jn + MX4KsZsMtzss6cB35gY7j+MoORUyFm93Jhnz0yRhftERRhkLtzujopjkW71emCZFLg3zwi0iX/LT + cUfwszTP0ywaRonQ23mc+1k0KXa+CKeJX0Rp8nDjn0U2/2fMCqHYDlJ/OmZJIVUXg5jhny7bnkVJ + kM6kOPXd+LBIM3fIutPtL75gX37JpCErnhVs/LDzZvDt0cnR08GLQWejG29/Mf3XvzrJNI4729vb + 00fxk0LKWdEviizypgV72AncwhWLETTS6XbiaDgqOhtbVxWaQrVPGBa40OCigkueTzd+9d3CHz0s + Nv4J/MvTmEksy9IMbvz668ONR497JXceF1ERs5037LQQROF1Gs+Fl6yYpdkpfMUqH/d4icdjVrhC + 4o7Zdidg/G1gKnAdBgIYt93ZZweR0BP2svmkSOHto1GUC/h/AWN5ih9uwLL8kQAdFLxoKKQJk4S/ + moryQsgLIDERwiwdt4joCsAYYeTm9NLI9U9ZBn8CwRX8EYgNE9JQAKHJiifQHpt/+Zdz1XqUMWis + mGZJlAzpxTE0NYc2C8GjP1KnV3YIaskOGVA/LULRxtsL4Yt87F9b7DJ3Jg2jYjT1pjnLyr6j+PWQ + hU//3uvnMCJ5b+xGSS8ag+zkvdA9w6qkSTLsCMV8AhykJz280WrRd5M0iUDulpudzWYSMlFK2Czv + 1dTz4XjqJsGIxcFBFrEkiOeNMTnKpmyp9IvUi2L2CkZvHP3CgkZhTZWXyp5FbDZJs6JRKEqiInJj + MQcq2bYiyV1hFgXFaDtg0Esm0pelatLhFglRo5rLBa5+d5KlE5YVc3r/TyRyrX6RIDR69DFypsqq + 0pPt3gR6I46o61IpYhcbnmbximYvkbPWmyjBjVdnzMujgq0ui09OUAgaL2D9SwJSzKKiYNmW72ZN + gcyn47GbzU9iNxuyE86q1S/eQLzaFfyJ5KvdsU8pYO2WryVh7VdJoBbvfsVJauvK67gGtTcguPk8 + 8bc7HSHP/DZRwzQdgm/gDsduAr3NiBdD+N77KX8SBdtfi8aR9nJXd14YP4KnUhvQpYp3KndDwHfB + 50Cb/tydI6um+eghiDL5G/nGr6WjURfYXr7xr38d/6NL1XR+yjtd4Jiw7xZso7wH3Q+jIXgDLdKa + xr3B2oSdFzRmop9Ok6ZGV40LjI1TN6i42jvBV3ucmz0/z3su01XZVCzVc2zfUAMJbnaAATBhi3nM + 2rXRrXzEWHHdCskZSkRwDbHGJC0ZXd6GIsjtx73qQT0SAQuBlzDESTpOgylYqWq4l1oeTZPTnIQ5 + jOI4Fw0/cHTfdgLN9V3fCCVg+sWBvrwm0IQTmM6ioeiObHth6JmG6pga1lNTdZ0KwwyGDnWG6CiB + FVq2Z3i6LGu+feMqcTqLquIxK9QtWzFM5jvyjWubkFo4cScTEUZONVXd8TTDsgLHuHGdihf6jm3I + osuswHOARN3UTN8Nblyj7piiYVpeEFpMcU1Dtu2bV2Y5luirsu/Jtql4DvMU6+Z91aAyzwyMIPQV + S1eYY1vhjSvjg/Fvxm4eT4f/ZuyLrmqZ4NOptuornm/fQA4P2MHBy8lJZqavz555Svjtt5m/2zvx + plEcvHCTKGR5cWu15vnw1uscR0EQs5mbsQ9WjXqKK5eV1oSsgzuJcrILoH3UJ6E7juL59pvUS4v0 + by/SJN2KCjfuziA2+0ruwkx9JHcN+jTp04JPBe9/GUT5JHbn2/nMnXR2vsI2xND12T/LK6x46wGv + WcCaHzyiJ0QltRL5/M6MYSi4hY3R97LmLaz5ETAKzfDDSy1jL+9l1Ai4E2nvTNF6z+XzdP9AP4+/ + e3Eg7oZvbO/7F89+Gr3Kv/9a/FlN2fQg/fkgi5P+q3eiNEvDcEMI02zsFg8f4LcHG79etzcJvh7f + WW+mF3oz+ubpUDfGs+HXg4NYPtHOfn799/6d9cX4lH2xXt9pX8xP2Zf+a/Uu+2J9yr68Cm+vL/di + 9r98p+1NRHb0bJa7+g/u/uq+PZomkZ8GTMwwsNl6+zdZN2VRNtSD7tu/KXu2LMKHDdeqvKvjn/2B + LKr7B/i4b+qy2DcdvD4YqAMRPg7+qMwSb8YsGZilG8gBGVxKuHYUut7F6128VhXF/KMyxbgRUzQL + Oq8d/GFFQblRrxVZFeFDw+FXFOCAopAoKKoN16pD1yZem/y6j2X6vEz/AK53ZZxzA7ivDA4cmnP9 + 3T8qE+UbMhGYouo0n1TDIX7IxI8D4ocqc7aADgLe8Ot9uN474DMNua/ugQZT9yxSUZYKKsr648qi + 2WDjmjyUkYcyMUxWNC5fBsqmQbKp7u4Ci3f36HrPpD/7ff5njzgqI3dNznBL50ymJ4qq0h+H6zWH + uA13+R+ji2aA2j04ONi/Nsfv2Ms8+pAHoJ1lxeEL5RtxOHh9ZAxyZo7GTw+/k8fMjt4+k+PTv9MA + qO0RUO+DDb2frDu/EevuyKLeTxYVN2HRje3r/eRBcBMe3Bdrez9Z+uPNWHpfbO/9ZOqoYuraHP0T + WeLbzJHckP9/VEt8D1h33y3xPWDRZ7fE94AHfzZLfA9Y+uezxPeAqf+tLfFtZvhvyP8/qiW+B6y7 + 75b4HrDos1vie8CDP5slvgcs/fNZ4nvA1P/Wlvg216dvyP8/qiW+B6y775b4HrDos1vie8CDP5sl + vgcs/fNZ4nvA1D+uJX7cI77uPO7xs4VeGsx3HgfRmRAF250T2kRa7jXPmOsXWZoWtDMUi/ixi9vM + J2leiAUbA/MLVp5SZFn1FA8r0M769kv1bbHcaS9EScIyKORWG+HhOhoPWy/E6TCFgmeii8cvlo4p + XH5mA09UjH7uuRfPbGCFUn427AhuDB3Dr7idvufuPE7cMySmbB6+iUDBWFg+TjGGpkaLMxudHbpB + NeQTN6neh65HAfWvh7fXqTlkLGhWjN8/pt5eTAPjpW4WAHMb3z5ca/MhncAUJxEdzala6ewEbna6 + qviFuhpSgGdby5o67bcaT8ScxcwvGEgQSy4t5GZZOuvs/P4f/7dq58rmxJROM9ERBihRf9Kol9dc + kHceo8BUVZRi1RGyFI9O4COU2Qy0SsyaM+LCRKBpwm/hM6U9feiE1s7KE6YjBYpnvTZ/6C08wNLB + Q6pjtvOOBQnLA3feFfrT4TQvBDB7Ap5JwjOqUODxhNfQmGFPCne4jW3+rWyzTQGJRWNEd4CkpZfp + zNgOp3NRuDepL68iHM+HCQUeGqv458Y5zu/HX4iiIIo7WytoxgMpCadPxMnRI6m4klKWr3wrv/qt + MFv1Vphd/dZpuuqt0/Tqt7Lpqrey6dVv/TJa9dYvo0uGopbnnPEjWM0RqeSaxCSMhtOMcfW7poq9 + /rE4rnFJ21btIbE44mBmkuHOWscJ0YBR6eplNt7BE4YC+BExdjJI49jN8vLAIZSHAmXZo5Fb/P7b + f+bCOM0Y1ApCilXXDK56jeffvDhNxx7LhtRbOp1XCi32UNHBXIuq3RsX4jA9F9k5P6wohhEUEMEd + ED03Oc2mk8Kfd3ZeFMLX6TmdbsSxksDPaRLw9f5rPOWYszOWubGQg8cTC3QuLYtYvlwaRiCi84+l + oRAail1wg4DBHEuHDIpm0gUOEyNhlArBp1Oc/jTLWOLPiTZJkgTkJ9JBfFviNvDEP/15mhZcuSyz + rTyuSAxDtVJqFZUOpUzznqKrhqLJsmIZuqnoju0oF/WPsM17xgV5qUUgaRdPi6azJ81xvUP5Bd8D + mBUNwdPJPyDFQM9exoKo2OK0rZQqlGk/m469XHInE3BU8Dx53jMtYMXSQ+RG96JwNrl8GKezF1Fe + nBwxd9xis2PZsiMbtmrotu48ybdVubOTQ/ExFL+kZmI26gqoTBpDT6ZjagUkSazOubuJG8/zKBfT + EJEZxKY+QhESVUt2fVO2VKaCxq+q5BqqJYv9ouCHfQdHT7dqObtIFQly7ruJFKU9EO+M5XlPPvdt + 1zRCNwhlJgeBG+qqEqp2yFzPdLzQZCozbMcxtc7O+mWvonL3cO8qKr3cJxqRXwsi5X2o3Db7lh/u + q8ZA9mUlHDDHMkzLNPZtWdN2NQiRFCRy3bIriCTFOXNzIUkLUhHTfMr1SFbQwdYMPHkhBO0/EuIU + 1EgPDLAXFYjlIbhh6EbZRb3aUBnlqWx2PolT8P0CauN1lp7PhecwvsJe2USOWqzl0qSosjLGhCAK + Q5ah2w+KMkryS9sb4HCz6XjB7HUlQjVkZpmObQW2ZruWoSmyr+kejLbKXCdUXF/3fUc2kdnrll3B + 7JYgrCsHRiiH+/vyQHf6hgqNK0oYho7q7tuGv2faTNlXDmSbkRysWXYFacj6YZpcQd6El1hBomof + HJimq+w6RmDt9f3QZvuDfZWZhh1apn2ggx5RIKwk7q1ZtiaxrcZLLXm1ajtl8VmUhJE/KtB//qr1 + va542UCU/f4S7zwiSURkAXcxCXwwraUA80INudtDwJw9FM8X/Mx7zUdeVBKeFRx+AKucZBDnxGwI + tdW1g41eYBlkmK0AUyyAFQeTmwlj4DRaGA6C4MJkHWG0gA22qwZFngRozcFXToaYXOBgPiKVRUiJ + n0BLX5xDz4qyu/WhezzsHghVH8GsR+H8KbkL/SQYnDN/WrCj84Veow64yRw8LWBVQuzCLjBeFDnZ + IAQ6neQutSQtSHiobAjUEvguvELy33CghDJCAnXlp+B4+ATX4I+Yf4odzaNhAiYMJFJ4mDM25nxs + sImUHLA+BR5BjMnvpdkGkExjmggP1Q1eX6PpBplUQZT48RTdJBC3EXYDC3L68A408IJlpxCdAKPT + ULoop9yjIDFt2D/US2IlCjlKptcLFFM1VE/1bMNiDCeKYdheoDEl1DxP0f0w1GTmeL3Fe8AY1iMu + n1D/TkoABkxdRH5vlZxKeRr/5bmiWp2dp6A8K0HCvmMWSmqoilcJAWrgIzAHBZcwXrQWmiBl5IfT + 4FeyU0rAou2G2HSF2QgmpjB2T1nZbCk3xH6EK1nYIamGDZmhpufFM/Au4B20UTMYWpDtPwzXbaN0 + YrnYkQ+7ED3e96ipgzjiCTyd48wepqQjJhk43WAd0U0tFQTyEGeFi7NpLkRjdBVdKMMrRWd9ZfSy + Pp/GIAHQxTW4gAnBNhP24Q5yoLOzUoPi44VaqVpoCOLuHOKdJOD4LShsDb1SKspu6cvg7E+ncYCK + FOYodXodrQ0THThbsfHS11aT2hUmECwvv5gm8fzVLGk2QsMuCS/T2YLcnzAdgyA22H7mhkXDICAr + 8b4H2tQDJdMwEK1ZSDLEo0o+pyZTL4584ZTN899/+686pIX5DERB0IQxDNIL74CNg9dI2UH1PE4R + Uh454R2cqNfgI5/NdQ8qEnmnQc4YincMtjtmBMEDCgbuTmJ2HhVzcDUhkg2o6cM0jgK8hzm5vNQa + dY/n6bRG9ymyOfGej5/U6G0YZcDcMJ1mYDsgKiN11tDwUTKZllwudVjL3tc2Bk3liN8DE7J42riN + hjcfwaxbMs94C7rAfNKl4JVQ9r8etILFMZare1v7BzN8vLqbQdrsZEkHVt+w5rw//hTz7gFazsI9 + rSR0JVtGvJd4XXo7ZaLty7h41HISvhwuHj5cWYrzFdGu8mbhjco3OkgxQnBx2PnEbfQBvw7e7Kky + HymIBFqdWp/+6vWHpePancIcVw2zoqJkIerjarwWzIfZMItKZcDlCl2dhmF6ms4w9dHFDNSMNA5N + rVr8F6FUe5KiK5NP0oSnXnh30hiC7dKpwT5s3X2uomzp6jTFIMsyMkAzNyIb0vaZT8ZgJ9KglJZa + A5ClRgaSeiNRkIR+yRa3ipFLjRekNX8vKg2qpaGRMG2SgwqhnIlw5sZTRvOu7Z2XZC055MR+dD7A + 8QM+eVFSOnXwIM0rz5HqzMlFRPawoMsJRREFyaf0GXeza9krPfiGBOOz0pjX6q/k6DtskDT+shIc + ZhFZuC7OefKnmZtHIFEh3Bew19WsQjECbzOY+qwZPFQjKvwA7wdpwmW6EBLGJY3qQQUBrCZKfRC7 + KAfiui01w8W4crNXTTcJtBWfinw+ptm8ctGfVP0EtYYCM1pyMWFCULahPd2XmLX1oQRiHddL0yKK + cykKOjur75OH9ZBTAMzbm2aDSeqP9tLk9dT7ls13sT8PqVcbvNSGlIPlZA/lrqDIG6sCR15OPtcV + x9L8wOHfy473k6AlDrV3Vws+2XgWAHfuppuhAuG0ptiyo/GOdfknaj9Tv51eVlPtAFxM8AsjH807 + RblgbdDrIJsOjmmUY/L552kEYfwXwjdTyiWv8HFwwnlpOq4c1YUiBiVcuUjgz4G3z+Lwi+VgthGp + VCnrgKH1hgmb52lSBngTloLFqWdEgZ6NO3Pn3IcueKixJUQhzcGRe8ZarmbGYndhAnKYwOQZRXm3 + Vowv+t8OhMO3bwbC0dP+EXwMfhD2+i85846E3YHw9nCwLxy9grvPnwuHrwd7z/rPhb1XL4/e9PeO + DhdhOgIYXnC59tPxKp8LnAwwQPWMJ8LTWVL6MqsrWe3JVnrqkE3cDMcSHvgsS2DOPyOuZIuhcT1w + 6SHMA3WBHCX3kZrOJ8yPYJbXWY8Wq8ifzKd8laIKYkDfVdTDjVUOft6wE6ivq0bq4ZAqO3RnplOj + vQIiOAUM0++nVxnP9mR6xVdjqnwlTyBQ97ql40KqgZahrspVvT3c31sMmig4Zlezna6u60sT893u + Uaug0pU1danMfv9Zs4hpaV1VtZYKvX3ZKqRrXVnVlsocPn2222+Wwm1AlmZ1Nd3oKrqzVDxjSZM6 + IE6X9AvtHu4fNavUtK6uKV1QRksFZ4Ojp622za4iLzd5MHgGE2+/1V3F7Mq2unqwdg/3Lg7M1lUj + s/tyt1V711Q06cKwLI+fbXVNWetq1jJLlzvlLPcIOLi71G1TvVBoqc9KPXgrxbNMCV8pnVcy4UL3 + DGCxA6yQVzR69OoINN93/edvB8LzV4dHUP7fcXG2K8sy/lvZEPh9/TJbEo1J588wHYRuE1ndEjgW + YkjcNwD+WupT/BPxHi487RnGekW+1VoaXDD/BotMe7hwdFAuHO33ceHoQLUPBn3PdHZDc6AOFotM + 65b90JLCPVtburCmcJG+yxcVjMDXYDLsOfu6ehAqtq4Ymmu7juzorqUFOkxYU1MVHWlct2yTxs9s + EBZcImRkkNRsji9yOc3gA+wolHDRKYKgZuZmEHzwXDX4JZhkj3DRDuJmn03KmKKssWoARHlwBvKP + UOjzcTrN0d9Owby6Ae4KABcU9wOk7Y0Oh5ihgLbRK+VppXLtDlsXpgl8ow1WGHMULoxdhNHLZMKA + ZKBwmOJ0wvwCvInZAZyU686Z0PYMXzd8U7Nt32FMUQ3dRDhb25RV03WZ6+qeaavg94LPk4+iLJWg + qmaSuvWgDFWGLkV3dX951FdgFvVqyopzIMplqq6rvuEZlqoEoe0rjhwGdmg4nqF5ZuAbpmtbRujJ + mqwZbqDpqmW6hmMHQWgFGkyiHLOzC81J3rkLGmsCPlMjswakB+COoqnrUhzLc1zr0hmEmhv6uuVb + jqIz2QwCT/GY4sDNwDIdzGMrihJohgaXqqW5purrrmMy0zVl6BLusfJZdAacAlulWdw9IWJLf7hW + /bSSkiEYaLC8TeTKhTl0+PdRQJ4Vu9Gw19x0oAB3dVV2TCRTLTcdvMAcC0XiPDdOjGw6gE2aUF6R + opwnyROcIjPMPUC4gctPOXiZPsTIOYS8+G1ZhNqT5x1fzSmyKYa/HLU8cQtgD8QQZyxGsZ6Mohgi + nlGWTiIfve7Z2E2gykm3XTmQAXRjygcTHAn60UB4lFX2aUwA5PAQwnE2qyKXEFOflBoEtzbNhi7M + NPpaJT/z6QTT+pRfgGAeeJvNu9jJEXbvWRJOM7fLRxEFhWuPlVtLGijiO/U17TZqqJJdYirM9Tiu + SSTDSkzOU5AShkrLJSZHXsxaeuVKwZi4aYx7kEA20qZYgFxaoABkx9ZUx7JLsTgi4Uep/IU1ydG0 + FwJ3FKt1FE4a53K65HTzxdMl8T2icfGBDvA/+CD5oxRC499/+y+hL4QUgwLTR5g0Z7jJC9VdGSFi + qILtXxCm3TnX2hOol2sCkA2e5Qc7EeNSc8Tvh27yiMYJu8XmrOQu0H6zLVOqBqZQBv6Bv29a7S1T + mP1KgYAc+sMjYNzdR8tGwK0Jw2i5KFfMq8lWpy08NhyWCaExPuSQ+gupWGZsX8AFEVyzmDGGGO+n + fH3Kz6JxhBK+qCOPzoUR1AH2ZHlnHuYDXrhzjwlfsySPgQ5MCfLEASl1ZK0bBcA1sqPRFbv0QAgK + TJrQNiXmjxIQweG8N83FnPkUbGbikLciYqCZ4xLYEC2VOGLxRMxYlIhcM4izKA7EGcsLET0BUbZF + cAY6O7//9j/fwRPhHTz5/bf/RYycjNycjGJ7E90FmdmDiY57oakDwKIAnI5K0OtRoGRSLVhlb8mX + kIR3pCSClEQT12pPuSkJWVzQLsZHAptOwNpHoCXA2hT0szZPlsbtsAABxaEyZfnCPknQQzHY1xwX + /osqHTCeIF+FMSZpcKEKg3uUcvQjGP6uir96J+YRdzXKImVXk8YyR+yCUBBD3KLUmVUj7OcpTaMI + nbW8rXj6yEZuwr55Pfj6EEKDNEvABZJ8zMjxZL3H17RS7yxCPwmmUEYzgRhb+V3lDlB2DloAGuNr + 0Njp0gShmm+sxKyw2s05+xY7A8V28bDEqG0MHds2QN/pugWeRbUDr/QixpjyItNUL1yRYKGnWi7j + kchwM/loRaj1LiU+zkZz4Yiz4onwDhNrIGaMb3+dwPtPhCOkDK6EScxAaq+K9d65VVItn6eTHAUq + L6YTWsR6AsaosqER52GCiyWlZfah8ozyn0tCUX4tw9FsmvAEfUMS+ch4WeoGvst1V9M9AD3mToOG + PMHYulw5rZa/aiChM8OMR4ZFmiJrQxAiGt1PsnU0BGkGz3C9AOIdTpMrRQ3dIi9zg6ItZaruqJpj + WSY42dU+z6/eQdldLMvVPmrrMnFYR8uP2uxrC8R+VO7xW5gkYVDu/svQOSBG0mxFe4lFZ1gXLelj + CR4NkAPMVxTOV3QOutU7/P7QOjCjb/IXT9zxZJuiVU9RTVsJHNriRr/6slwv1hhxc3dw9H1X2AXr + A/LRFV6dsnOkD/dO56v3EFc6cRpAH+J5SxfXa7xFERVT0Dh8/T24IGuHU4rt3FrYwAiH4DnlCzET + WJJOhyMS4QJPSxUkytQSF2ToBf1sFFdfCcyposqkovsneG4OLumr14eDPYHrdeEV6GQynWQFgPcB + eBvwxrc/7AnVT7c1dgdQ9BiRozXDgyJgUcHmu+TE5oxWNBJaaQ1h9i4ihIodrZnSmFo3VYkQsMga + xC6aYaqOVgrrgqApZflbG2jAOpBfUHoV2J9yoR4Xz4r0FCxFlSPG9UNcg6Zo2QMVwZ3FMbjTLjc/ + daXkjy0qQ4+YzqFAH4CCRW6JDFS9tLymH5wn0Wl60uq4ZliOauJubMO2rMoDLgPYiqt+6SyUMxUu + XeIFuRnM5U6dsN9/RSEIROz8Z/Iqd6FOki17bQfomsVznk2b4PzBRL3HfJdYmIIB9keVeVyEYgmI + L8yp4ALbPhzFWh6od4e5su3bph1YvuFrmumFiudrMlx6tuXKjAWB4QSuj7+UAvGrbRiKp8qeabvk + dL0Z9Pd/wFWVw7dv3gxe7g/elN7XZSbmWbKU3MAeTRP8YSSGExI90fSs3JxQe1+UgJkt/ZoUj4mA + zU1X+4ISIPfg8/KJy2bNqjeDo7dvXuISlXDw9uX+4RfV3HBxMxSyp46cmltmeJiFwTXqrVoN0Oo4 + T6qWqibNGsyr5GyXhZiJWuzmqlaXq3Bi0VIr90xCjcPE53G1VYeT3NA2MEJ4MGLOdQR62jBJyg0A + OMSlT4U2gepZGjbSzatGCSM39MenEyDhRpGZpiq2KRua4+iObJidnfE0LiJQqnwFK6X+eHPh99/+ + Byj3U5CzhJNW2jEGqvo/4f9WlL5MCKj1vPy9Fa5eJsgN+gmpvDftKb2gpyjP334ze54+/d7+cW8e + /jQaGj/8KH/nONFb87Ubvnj5/OTl4Eg3Dg6/83v4G6P4Q4ZPJtl0u9/v7zIl3u8fypt7wY/fvkuN + dz++/GH2k/F3HyRNNvp/GUbBNmgriP34z88tNubg6OTcZGLIMMZDz3wbFLl4rUHAzQ9emQ+hHQTN + fF8dX16xDFD/MlxeytWyQ7O1PD0vX6BbsfX8kmSmpYSeE3igtUMz0C2YhIqjYipOUWQmG54dBipI + QvgXEr3iHM+X/lWVzBetLbdEByb5183tDwa7nuzrriErljcIbNlydm37QDMM1WYHqm+pqqcpoQ+N + KZKyorGLyz4r2r48b+/qnuooLFBUVdYUOdAUVQ4NxfAMD3jgu8wPTDNULGz/xYqBpECkbdpgJKds + VZKB4tZq5wnfRlPujIfYI8HdJxfd/D23TP2WmRd6rVExDywprKDdRMMInII7PzJ2s6WDlokRGicZ + VwY4uBeF5wLQuaR4XTjFX8KrdlvhOUnM6qd+GuNWdwGXJtrOS50mw70RZc6RJhaGSwnfbUERekKB + MfNBgYIMYaKM5jHPca8wh1AfeKdVHE5GgOdxaT8dd3DLh7T5fNRyhaNfyu0D4KXSFhH0UNOzMnsC + A4DWZc4wgyT8wLiqAIV0Cpf8sMA0Cd1fWLnCQvkkXH6p91XiBsULcyDkkYM0d0dpujjqiclDcL+Z + 6GdTULW5+LMqcr+CZ29FEFG4qyqyqWuWY0ioVdGXrXNt0Fi4qkHMWmHtActPqT0vKsbsXKwsVC4q + sjwW/bDwRSDOZ4kI4lbwn2Pu7ICU5BQXdatgnFhVb+hF6he+3JVW7SVjmfvTt/2GRdMs0GYQe6ma + aluGYZaeKjQaB7wh2gxS7bMBJkQ+40sheSuFje4l7QsmmtJs3ExCV/v/W5MdJs1ZVNCO6AkeWyut + DIgypes+VdCOe2OumrcVUsbYP8HMcXCCIdR00ikPvuNOYIH7Ok0Lno+8tJCmuS3FEZ6Gp80+3JpP + PfzJNY/1MG/7ZLqtB57t6LavBLocKr7MLDfUHT0MvoT4+BE0bTm2YRuWabKOwHdFlvgDJV0i0RWw + QKzrxvPI4075y5dXlSgPiJ+5cRQgtke5i2+7c+LFbnKKvyFZPatBQVZw4wQqBbNc14dCydPQvB1g + lrriWYWVcPgWbOWbZ7uDao+xUF28fPXucW+ktjAeGhWA/qKhWP2UtlrWZWLXY/EObpqPK3ds0VwT + v4DOSET5aWdn83F1sJ6//HixJXq7QzV1hEns+myUxgH+oB6u2X61APQoB2Dwov/sec2baiedwElZ + prcaVSaWr9Fu1lIwCbVidWdhZMcRnu5v0ljerOqoR7+irHHjUlmqCQe9XqTJgo4FNYQwQ0IZ0dbP + alPZo5iFxZZoyLI8OYcJlkWuOIowDbPdKfCXudvUFgRFwynzTi6dFyfNCXGBO+Unil31JUxTzGI1 + wRD4LcJCyEduxre1VSAVNO9LCAV0z5fnBP2ua5LiYgtUC8oOf00xg+quyhFgK0+wh9stN5lDgNBU + n2bxdujGObIlPxviPgLwMbc7fLGh2EvjFJrAn2pdvsdL8p8e3+7IwBVw93fTc7gWZMFQVPwH1BGc + 0nZHYTDzy8J0fT6Ok5zTXRqsmSaBE9VDFKIegucAo1zw8EFGXuiGg+vMiqFIlmL6kqYagi4Zuk1X + jiQ7Fl0pmmTqBrSvaLZkqWDlDMmwNUF1bMkwbLH8W3+HanVDFWRRUXTJtEXFklTFERUTHF7NEnVL + Atsr2JIOV46lC4opGaYtKJLqOIJqSJpeXutAg4ENOzrUoIlVQU2WVEsXdV2yNVXUTahWFaEqQ7R1 + yXJUUYOWbFsEehRFFS1VsixVMCUdblCDquQ40C/JVOGLI9mKXX4BylUFe2pLtg4NStBLSzIVXdQk + w9JE4I1sK6IjWbqFjSlQCNjn2NUXRYa6beNMpB74wDrHdAQLqLIEJFuh1k1LgL7rmkJL/cAb1ZZU + UxfLZqFHFrQCFcuyUX2zYTAcBbkKRDogCJLiWKIGd03csqc6umhA24YOIiKZwDYThs2CXqowygKO + mYpjBDzUTLgrQ7dlS6Rui0SfqEqGA8NkSI5il19UXZJ1aNOwJFu1BSIFBUCXHBwl/rf+Th3UUFAt + yZDVsqeWiZ+ahoMvqBrIGvQJxQyr0w1TRB7A8Ji8RRx/IgiI1YFWU+R/BBpurRxugSiC+mCkFSRd + tTRBV0AudRFGXYX6ZBhLE2VGxXFBDqmCKkPFiqipEkijoAFnZBvZZkLnDChiaL8gyhBOEUxWnaGH + 7H6M5sApiJBpXpqeLtRHVv6RJqMJOA53oSs0Vb5NXaFaDsi3oNp2jKxURQeYZo5EG2aUciYCsxXN + l2n0UOSA9WAsJJjmwFwQMLoe6Tgk38GAmIcqDg+KioqvmILsi5YG9aJ8w5jKNg63ZldfFJABSz2z + ZBipp6oq2c53QMrIhgnqnKmqPgLPW1IsvHnLA1hIY8ZHqwdq/cldqXYdpsMtDpeOM1UAdWfGogkK + TNBQtfgiKA3guGSgpsHRlBTSIAKoaCOGeayJFkx/ERQvaSh6wwBVAy8AfwX8EHEO0VUMKozPfVCi + MrymgKY1fDAfIj2RYPgUfFXFKiXlOcxUCWa1TSofJiPKhi8CPYpoQhEiDL+BFTJxjlrPdaCTVIPu + I8VYTNBAeUAJBck3QM4ldeWQ92q73+M+AroIaKIh5MzO+EkhtzqZiXh4FABg4NfYrzcFJz3LafWl + DJsEfl4sj7woxgOCVWIVR5OWXcvIRRiltByRJuQXLGf2+T6k2m19ODh6KvT4QbuNrYU3u2auS9sz + fPVA9/bYnqG4mgnelWmroaPse77p9y3f1HYNRd/DJbp1y67K1wdRDr5XNIZAuSRxSygfEWcjjmNS + swgiQuBIHFFsSFnsOcS7CB5YMnpOACTIrknNLgxG3zEPQQQpv4QHxOAVf5GexBKHMIgQweZ0hozC + 0KoGzHRQztubC/2Xr14KfRrF6ihYWTXlrqAEDY7Qj3lWBgca4lZEwROyacz4OmgfBKKqBWgJpnjc + AuL0cr8Ol48gpb6X6WO+iShjF/jBNxa6RatSrKjLs+1jPH+GZ1ddvu9oiRuLbl/VAO3bC0MGt3DV + JErcCfRqAl47dRziAdB6XWGaxO4Mt+Mhd5CHMzwglHo/cWbTqFXijNkqzBCxhFZogd+XEycJl0lD + NVtKLi4GL00w90aEhCFedukAbTLnxxbbY9dqi68U15O9EVNlmMgY45pD0MS8nKx8zkH9qJe0bEnw + dnhOppL06oTYJQ3gEOar4QWF5XIfwhs0VuEN1rqgV+5cSscVjFwdZO/RE/QzakRCnMQjYx1UQlnp + KQ6mVNTLUQiP83g6/AfHE9wbfN/ZgY9SUVwCfNd8Yz0Ewiux73C7dTbh2Hf9Mv8ENBDwWAOdgXJd + c0b4DG6AcyoqJOHf/wpeqPWCVHnSrTa50So6P/fkwpzB9Uc+uxrcdGkfI2bRSP/VS9J8LWtxwCF3 + Q9Y6z7yKeBF3f105oC9evRnUufmGISuF65NIWeyfX5Cv53vf31Cw5DsVrD12EMEr8Ln+O9CXDnZo + /TduWXxfphwjqNzQgUtdtMv1glT/FcJk/UWFikibat4eEuwgqHEwGnFEK7w8HU4rATkHImRZdRIg + cOfXEcjG2N8HUUTEs4vC2Me7wkHZ7RuJpaxfQyypvb+V7XXazX8+IWIzWlgBcxkHlIIE4zsdgl9L + QBYZrb6MU9p+XW61Eg4JXI7wQh6B5/L7b/9ZnTMf8wMaUYXsgnv4cbcJ7hSL+D6DGOOocolpDNSg + VlUWW1NL1Yrqsz0+3FUpcYMIQgWEPrmOULak4INi2cohLu7i6sFyHpHgqus8YsO+L2Cuq5KLVOrC + L0e3nE0gMKT4fhToT09fX0i/NzLjSDWRtTS2nAIRUZrBATolZ+LGYSvGh+DMFFOPlVsQC3/05Gz7 + TPnR2E12pwfzQWfnaTqJpmMiqDlTVuBU35QMLJAzF6MVxDfgHeZrrSirhDsJn0RHZ+cVL70Uvi2x + yU8nc77jvLPDwVa5g1rfvxg9lccqaLXr//2fWoHQ1K8K//7b/64fYLVUFW5YoGgxqL3AywmbpLh5 + KPDmnVXRXa+K7W7OzE8f/H24p7gr2JtfHrA2M+d8HQ+UHyIE7/dfYSNSzXTaX0JRW7O2m/Kq2a6X + sCie/tTZ+WYaRwz0YIrH5NPpZDlP0F524DmD5k2c+5OihNt/Ofj+6GS/f9Q/OemUyx4QZcXlPpre + T3madHb+2cG4K+9swYU7ZK+rL4iygH+5qdvqrFhJ6HQ7tJC31ZHtnqLQWifcQ0HGN90xhmGdLdzO + Qv91O7jXGu503iZ0xYJ2FTKv4tduB+wQUHHcahXKUqv/6HYq+7LVWQvWWcBjwpV7wregtY+5oFde + ISvWe4Fw8xjfoouODJi7rKD9wvMHeP6ytaWPbwlBYBaP/khAq0dZBCDx1paPG3DXwKKyAmjgi+N/ + PLyDRjbeJ++Tzc21OLy5KWDpk6vAsk+oyCUw2ccNFOtFb24ZK3vj02FjV7z7ICT2CbZ9AgzEN95P + ZVljx03hXDBjnU2DSwjYGxXgNQ1OhW59gt9uVWiWgaxJdE5KKNaT4yXs6aXxvRy1eqMrHFew0qv5 + cC2MaqyuwoxeVHfrwNTlvGlBUMP8OF4fKnpB3CUGdd2KlknBbYKclHUP7Tf49FFAARtCQ5t8JJp0 + qWz49LoL+Gg+GTc3q92dwLPj9WGdPzh661a0IZT95MN2vD588wdHbc16agoqoAbOiDURmhdUXL4Z + dN26Skq4gqwwno/bwM2rVUSrSDkh3nPH4nL45vcdGv0LsJX4KuI1PrgTkOYH18Fn5kJ6GSrz5uZl + eMwwe24OxFw2+adDYT5+ChP9QQPVeCFL6yPeflJkYNUiWb425PLm5gqw5c3NO0FZ5o4MH6t7z1Db + 2GjI091DKx8vaRjEV4O5WbV2E37dBuQySdXH4SdfpjovQiZfzYI2SvLmZo2PjGU+DzAyj2A+ChX5 + Uu58OiBkDGCXMJCFqmc3RkB+32mjH7/v4CIo3S2/thCPH9wO2HG7K0EqVf24fZDj9x3yPvyWpeUO + ycOlJw04Y15gA92GOwYxft+pXr0AYAytI19QHT+4P6DF7xN06m41EG2gFJMiuwBIjA5cifeLPt4d + Yg9v4inizQboMLZXNo1UCJ8XXxi58wnBhR+sjSv8oFrquTGkMHWtgSf84DpQwlWMUa2b4CgscHOF + hw8+hAr8oA2V+z55sMDEfYCkXQfxt6JGuJScD6D3fpCazc3PhcnLA5jPjsS7uXkJBu+DdeB3QYUc + tYx6C3EXnpZQuw8uoOwuv7Lk/NAE/Qyoug8+AlAXLOStZRZXnXfcaOQAXl16APciBimXcwQbBQY3 + QXC5BdrcRPRbekSwt9Xd/f4zulkC3Va3377ktzm0bXWXMG3p/hKYbVWAo9hubpbwtXVth/tH9NoC + sLZ6hEi1vEaCqK1ul9i0nDQOSttiy2os2jKT9HKXv1fCzTao4AxYAMwK1bOaCqcmAcFkK8pMdXG7 + IkvhnFkaq4vnhi+lc0FPjQi7qO5DQLBY8uR2UV9POFmLVO66gKwfTAauW9FGzeTPl8OtSFhkA5GM + dbFV10kHrlvXxqdQNKABbgt5ldu6k/XAVvlC2V3ArB63IS0/KJzrwq1yfl0TWfV4CfX0EmpuBWJ1 + 47pwqseroE6vovBjwVU3rsRQ5eJ43IA7XZ3svh5+6sZd4qVykf+zoqQe16vA7dXM+nZvg+dUTm6A + ikrW5vhDIKarJeA6QKllwvPDGKiL9bZbwD7lgnEbiKethfJ1wUqvuaDexkfdqObI+jCntR/1WQFO + j5eQRpel9o6RTjcuRTXl0rD3mbBMuVzfDYRpafOPRreHWkqK4RPDlXLxPWpZ7BUIo6un1fUgTDco + lnQvQpQufP+bIpPygb4FDNJqb0AZ09wm5mi1iepoYYMvxxk9uYPsaQNUdKNWWwQeerxA/Vw90GsD + iG5cghja3AB1Fwihxw3oz0YXpBUwoRsfAwtaapRVAKAPVmB/lmN+3yE/uWB+DNonqa6GZB8vQ3Ne + W4GsAPxcrOAuYXuevO80QD3fd06uBeYJb1+N4vm+U/lsH4bdXN3P9XA9N7gBvQ5eJ5fHW4bpPL4M + QvOqCOljASk3UEVwnXTnaJxcGx1dicF5/L5zOTbm+86dsuIOADeBt+CV3y7c5vtOY8ZHq6A233eE + W4PZPL4hQub1IoIlXE4I80g5Hl+GYfkA3cVrwlcuKLoXAJ114u/jMDSrBR+6vSJxvyUcE7zlB9NS + 1wfOrNyZsnGCyzwmeMsPJUfXRcvcaDVwMdVN7TVauzwHui4+ZpWkvE08zDJmuRkEJs9b3o5HellW + dpGAXg1rWXbghkiWJ3WiI/oo9MrSq7u3oJVIHO5GOfaWUiK3iVi5UcFUHhOuZDvjcGOUyo21sCmP + r0aVXK3x18Ws3PgwIKVQRXLR9cEob/94hl/iTtImavxHp7T86gA0nf1KERxi6/if9XmsGmsBCoNP + j/u6oCRC6XXrQ2EX0BxWHP/SNGvp9Nc+w0gOWuk2G7N5Y43DX3jKftWZr3uAqvC+00ZUgADgFo98 + qT1gyAJyge+oVungV7eDJ7WhiTYiA7CtNXLyxZEjTKjF0C2AElaMmeXoHz6wR/K1eswI7aCLbawc + wE+NK3DbQ4PgA43DePWYVKAES6NRnuG/ajRWIQWsGJfyIGVjYPZYVkSn7VHRL4xKq/rVQ/IHP6V/ + 20PMj/KvGuTFIf/Or//AY5hcy/1aF2geDiulAQ/jnhwefs31J3zHo7ZQtMRdgMp/nrJsjkN9RSXe + NIqDZyA8nQN2cPBycpKZ6euzZ54Sfvtt5u9CLVF+AMLvgRNRS9gwn1RaG3c5kLQxNAD8G4kHfYdL + ENAMPk5TFL0pfBT49ZcRikrAQhfCq+etOvhx4+cpoWRsHf/j18c9fmvncc9LgznCRIAnsPP/AbQx + Q46L1AAA + headers: + Age: + - '74413' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="polynetwork-rekt" + etag: + - W/"0b6ecc1859be5792ed241a5dae49430652262817f9a0f08dc48ec3b21c3ad4e3" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/polynetwork-rekt/ + x-vercel-id: + - cdg1:cdg1::m9tv8-1642759157532-0b3308014475 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack_slugs.yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack_slugs.yaml new file mode 100644 index 00000000000..d4fc8506173 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hack_slugs.yaml @@ -0,0 +1,349 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://rekt.news/leaderboard + response: + body: + string: 'Redirecting to /leaderboard/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Refresh: + - 0;url=/leaderboard/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /leaderboard/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::frcm4-1642759157002-2df22cd90554 + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://rekt.news/leaderboard/ + response: + body: + string: !!binary | + H4sIAAAAAAAAA+V96XIbR9Lgq7QRirEUg7NxyxI14GVS4mWSOqzPE4xCdwFooi/1QQjyeGKe4ovY + iP3+7I+N2HfYX/so8ySbmdU3iiBIQTDtb2IsAo3uqurMrLwz68V3u6c7lz+f7SmTwDK3XuC/isns + 8csSt0vwnTN964Vp2FPF4+bLkutxzbFtrgUlZeLx0cvSJAhc/3mtNnLswK+O/YAFhlbVHKukaJ7j + +45njA1bqW298DXPcIOt70ahrQWGYz999mvgzX81eaAEL3VHCy1uB9X4w57J8U+Zv5wZtu7Mqqaj + MfMicDw25uXw5Xff8b/8hVfHPDgMuPW0dL735vLq8mDveK/0rGy+/C78xz9KdmiapZcvX4Y/mK+C + qs+DQRB4xjAM+NOSzgJWCSYwSalcMo3xJCg9e77sphCGfcXxhoUJ0wFu+T189pvGAm3yNHj2K8DP + d0xe5Z7neHDht9+ePvvhRS2CzovACEy+dc6ngVJRjgD83Bs6zNNf1MQvLyweMMVmFn9Z0rl4CoAJ + 0AYEAMBelnb5vqHUlB1v7gYODHJo33A/MMaAmBuuXDuhZzPT8C3lL8xyf8D/AFNc/Ap4Q6gzb16q + RVNpE+ZdcBg3DEaVHl5OycHQcOY8IXhsVh0bwSQchj73olUhQdTwpQ5+qg18gJFfs5hh1wwLsOnX + RuwGh6q69rikBHMX3o1+qeGF3Iwasx3bAEooTjubzaoeTFC1+cyvJasXgDpgtj7hpr7vGdzWzXkG + WpdeyAt3HztDw+SnAFfL+ML1zM1NtV6498bgM9fxgsxNhm0EBjMrPqySv2xU62VlZujB5KXO4S15 + hb4UhnHGzwm9mWEWSSB5xvUcl3vBnJ7bCBHkZiTUZOb6GswPGXATr9JQ6/VKp9uuRghfnDT0TMmU + t2A99yTSU+bRGR/6RsDl9+IvV4iSzAM4fgFdwcwIAu491xAr6Z1+aFkAtSuTeWN+JcAkf/AeyM4/ + uBFs56fcFLrzs94L3/lHCb3ps38Ty8nzkfsIskR2Kcyf29rLUknxPS2/qLHjjEGSsbHFbHhTj+Aw + hu+1a/+Vob/8sdK+bJ5st/rH7Y8gVxN2Xxh4KxaOCj4LEhIl0BGbw4Bu6E+eAmGRdPSf/RaJxeSG + l8UL//jHf/y9TMOUrv1SGSCm7LKAP4uuweuPjDHIrtzSsqIoA1qbfw4qqAxUNCe0s9xObS8A1nSY + HkO1doWP1gQ0a5rv1xhvqfVOo6sO+z2trepVuFgCAMD2CeYmz49Gl/wJ58F9ByTRbVdAkcERbScC + dHQZbkFov6jFPySY0PkIYAkoth3L0UPg4DG6CzNPQnvq11zHnI8M0/QrbU3vt7ReX28yjWntURWA + vojo20cCvuQybVppN1r9em84Gg07bbXfaeI4yaruM+DIA9TNHG9a6Tf07qjbG7aHrXq9qfUePCRu + 5YraGPLuqNXtNdodrvXrDx7NJZZwxVy3AphTO2qrP2y2u129337wmI3hSOv32vUK41192IcltjrN + jsb0B4/Y6ncq7U53qI+6vME67Xqv9/DBuv1uRVPr2rDe6zSGfT5sdB/+rk0YbNjR2/pIa3RbDd7v + dUcPHkwgw0wFUGVYb3c6ehfIGpbK+g946X2+v3/iXnkd5+zmcNgYvXnjadu1q2FomPoxs40RCKm1 + jer747WPaRm6bvIZ8/idQyOjEtxFKk5IPDDX8EkwAPtRX42YZZjzl+fO0Amcvx47tvPcCJhZnoEp + 8bd6GbbqD/Vym/7t0L9d+LeB1/+iG75rsvlLf8bc0tbfcI7KiGn81+gTDvz8ezGygiN//wP9Qquk + WQxNXJlxtFye42T0PRr5OY78AwAK5fDTW0Vjza95NIkFc9RuGs3aUf2zs7vf+my+O96vbI/Oe8MP + x4fXk1P/w4+VT6rDw33n075n2oPT95XqzBmNnikjx7NY8PR7/Pb9s9/u+zY2Pm5+s7cJF95m8vpg + 3Gpbs/GPe/tm/ap58+nsp8E3e5f2Jt+le/ZN36WzyXcZnKnf8l26m3yX09H63uVR7P6T980dt8Iv + D2c+a/3MduXv9kMIpr6j84rH7DF//vav9VanXqm31f3y2782dnr1CvzTg89qfbuFf3b36hV1dx9/ + HnRa9cqg08fP+3vqXgX+2f+jAqvyMGCBkVVvtRECddAp4XO/QZ+38fM2flYbjc4fFSjtBwGl2YWX + b+7/YUmh8aC3btTVCvzTRPQ3GgCBRoNIoaH24LPap88d/NwRnwd4z0DcM9iHz9t13HN7cL2xt9+n + PTfY/qMCsf5AIAJQ1BbtJ7XdJ3jUCR77BA+1LsACPAhgIz7vwuedfbHTEPrqDnAwdadLLKqrAovq + /nFpsZMB44owrCMM6wSweqMp6KuNtNkm2lS3twHE2zv0eadDf3YH4s8OQbSO0O0IgHdbAsj0S0NV + 6U9f8LU+QRuuij/tMooBmnd/f3/33hD/xlrm5V0aQPPGCy6OG68r472zy/aezzsT6+DiXd3iPePt + Yd2c/kQIUPMYUB+DDH2coPv8INB9I4n6OEEUPARED5avjxMG+kNg8Fik7eME6ceHgfSxyN7HCdRJ + DNSVIfonksTr9JE8EP5/VEn8CED32CXxIwDR7y6JHwEM/myS+BGA9M8niR8BUP9bS+J1evgfCP8/ + qiR+BKB77JL4EYDod5fEjwAGfzZJ/AhA+ueTxI8AqP+tJfE649MPhP8fVRI/AtA9dkn8CED0u0vi + RwCDP5skfgQg/fNJ4kcA1D+uJH5RI7huvaiJUriho8+3XujGjWLoL0tXlEQaJZt7nGmB5zgBZYbC + LaJ8jnuKZjLMN8e6BEqiFz8vXK5ESfWKgUUScBOLc97hs2GNcw+YztiBG28qDKssChUJt5dmYPHE + 5FONLZZm4IBV/2ZcUpgJr4BfMXO+xrZe2OwGFxNND98qsAJLKVZOWDDVJC3PKG3RBRrBd5kdPw+v + buj0fjW8vMrII8717MD4/SHjxh8qgCnjhic1BZm0Z4B15tvdk2R/pErBimtoU0B6PFdpS2feVHb7 + wlgZosAazGikUv6pzC8Vn5tcCzgQFLdvvYl5njMrbf37P/9vPM/S6SoOVRdR8QIRcfQvEUH0WdD1 + 1gukn3iIiMpKiudg0QT+lKfzDFjhB8eUXI93QAlrQG57uEKvs+THiqiuyuwfrNKweUDFEEhGgOQz + uKSciGtKRcFqzQVkZ8dloW7Aut7a9AHJL4IlQWTJYnQeMMMEcD558V2lolQqWx2Qt8Cf8L/4kvIP + Jf5Y79Ua9RrIjEYe/giQtQJlaAQW84IYINtGcAxf7wGLk9rgK6DQ6HeWQKGh1uqtTUABmKLrhLYe + g2En+n4POKyDJhqt7jKa6NfU/iagcROaGrMrIJ7HPAHJO7qo7NPFjcOlvpxKQC/ZAFywWtIieFRU + JBL8quwbNrM1HkFEUTcGk+ZSmADz6G4CJkOmj0FcxOyDvm2aOtQ7qKOubgISzNe4rfPPMSwG0fcN + Q6PbxRKhJVtlI8DgzJ+PjBgUe/Bt39gwIMACW8JLW7XGRnhpCMaMEVoxJN6KrwWusTGQdMvqMpCo + vU2AZPgl2SPDj5veHu32Ml7RqNXbmwABrF5jUz4MbXue6KLi2jZe2zBQWsuAAhDZzFbhYHpUJlj9 + PHEsgwNI3oSaA7bF6sA4BMMBuxwo9P2bQSRWxOrfGCLMdCesMhK8IpErePEBDOSnkNmBHzDLLStn + XJv6E4ObX0M1zS4Wpt4Go00pZTecFwD0jvMHgOfCdGaW4QdlZYd7gTH9GsC07iCexiYAo1EfEM1J + ZI9oDIIOoHuAZZebDjbU+BpwNJdoJPVGrUFSR/3G4LA496YsSHbT0NdiwByLnzJEs32xcw8YrYMF + N9VlNNPckB2MXt5EOKNb+cM9wHDAzKHj2eviLlTkfrugbm7EPQLL9wKwhSOQXIivypnn4NYy7wGd + r+cq9WXstr0hK2fsGVZRIv0I1x7CcR3TgA/z+NGvg81y/8BGFFsQrkOTW2xs88ShdkHXjunaPWBz + ybWJx76K7apLfUmdmroR8ewyQ081XEP/nbyty4HR3JDaP2EetuQq7p8DcfkBW+iAAZ0Ya+K46lLT + CNhtZxM67+fAmfKE4X64xG/3gMh6ILFUgWtvyIfiOq5vaGZCJmfR9wfQyXqgsozJ1nu1+mYYiqFN + ASaFLXRGVx8AmXUwl0Z/mcsNlH11Exsn9U7f4pveGDh65d4yOtmQ5mY7M90ZJ3JYfN08KBpLKWMj + YmfImZdw1OEefNk8GJbz042EKgz0xnO9yDoOxeXfa7MsjX/Wa42N2H3cMmwew6Ri2BXXczAJYi+6 + jkCBXxTDxk6piwkR3wo4d3nheptgrKPQCzXHGjoxxezHFzZNK0vVEnVDET+ds2Ay5JSmMeK+j2ki + Fa3pepm4OfcesJ3WaA82lnlTkojgtyacG2aGYks10S2J3xRq0itgojRXgcpaCGdpqkm7Vt8I4cyz + Yuhn/juIoaVgUDdkBDJvaKRBYvzygL3y1d6kxlJlvhH5G7+1U9ZjnlHRmIutjGKQnMM1ZUdcuwdE + 0vDGN4MKbJSN+JFSvqFK+cbmckzuAsdGNozm3KQZJjv45R5kMfA0phtM+dFzwq+hjP4yb7S6oXig + G9pTN3I9J5YvXHuIP3od9NEr99tLDL3NZDDeGL7jFZX6d3jxAXx1PVC5PckCSWUj0b9g4njaBDt1 + x3zk8uD0fAev3IuNJE99FUCWcJFu5B751gChxALuGjrYOho5XbWpshd9V56eihNqChvp2SogWg/N + LNFXG5GB/K3Zi6klesnRzn0if+uAQLfcby3TRzYSJGb2HOtiEu1MfN08JJZtl81w1Rnz3CJTfQ/X + HsBTcafxr+Ef3SX+xCS49603xzD0xtzLUsc2Xbn4PQhkSRZfe0NZfEJJ1Xma5bmgqK4Cj7VEJpYF + 95B7tjZBIMzUJiBLUtMu+n4PYKyDODrLsgQ6tUZnE8Qx5GZaUgKf7wEDEdL8KgA0l+6OjeQyDh08 + YSwBAX27BxDWQQjtO8TIRmw3zzFTwx4+bxwGSzLPmhtyrudVcYkmvjloLNXDN0MRmfh+5TPaJR8q + 2Ri/8mEls2Qd4Ggt45S9DTGKRiOmij2T3wAY7q9ffXNYdDZkotEmyWpYtEl+BwWrtcTZgxtlIxa8 + zhyLTVPP1+7gVDnGC/cAxuX2zleBYQm/6G8oJfWazV0+9uGNAidbqfqazc/gujKIrt8DKusgkeaS + wD7AZjMRbTdTRqImDsHFOpLVXD3rAIt6x87ZiPbJworu6Em4dvd093TD1HFXMvdGRAubeo7rmIaf + WCTxhXtAgwJNb8rKBe6xXa59I6CglbaRmOyQ20n+JRkn9kPyLtdBI41y91bn+cbcxD1sDlP089DF + xwmVzQTgQBObs2CS5v0fxRc2Do0lall3Q5l0wYRXhsa4omHKC5ovE65sG2Nlh1Jgnv4IDwUTJeP3 + WclrvuPYPrf9ua/sGqZpjPlXZnwss/rVTXFc0EX8CUv7iwziC/egmzWk/ndF+aIMFGDjbURts7hn + GrbJhon0OaYryhFcugc0vtp53OktcwZtRB8RsFBvB8Tm9LP27fHazUKjeQs0mquRxTpg0Wwus3g3 + wjB8hkfLFuXvBV19gAA+dbn9hbsuB4jGdaxlZS2ZMWq3Xe422zJgoaKyGWCNuO6YJvNSQI34Ll25 + B5DWQTpqq7eEdG7TUWqOufXClc0ycpwAe3xNuMcV0+AKyFw6dN1XnJHiOxbHv3gRAy5KnAPiwyUW + KBN2w5URM01uKzeGFhiWEjgKCwLgnWWFf3axhFdxPAVTzwKPjXkVHgQzAEyBQIG/thMoIN1dkwdc + YbauwO02x0SbGchmZUj3c59nJma0UB/ACPeA+Pe473It+EGZwQiu63HNYNFglA8K9Acf8Q2o+ovW + DS/qw+ATA37hTJvQG1df1NwEatg/bOuFgE4MN2p8FwMsi7a0YV58ZzjEk5mHPNtJ7nmtxrkbeiZ1 + wpvorYPpWUkJmDfmwcvS1dBk9hQo6+32xc754fYeURQtxofXM5yEssQKKtjgDU+q92niwjDi+Hrb + cWBfYjM4x8Mzoz1YZWZB2NpuNptV504YhABqXNaMBdrk1c3Lm8bH9ra9He7P90AUOq4RWgskri92 + vHvoMvAGn7Oq4dQAyaZ4YeoWWMGWe9ScAf6ldQhuA3fTgmoRdBbApDnu3CN7orQFFKrE3Q2T68ke + Sjd6aQunxHGV//d/kp1F4f/45n//638lP+CwNJSPVMi9G9ja0U/V2xfmOjPYbPpwXtrSHRv1rXjs + p3uXB7W98x21/uz5VwCTA7F7vsZsBCdwdFibX6t/bu60NXW/NdzhO+0Ga3Za/Vanp476jd2h1tEG + Xa3T3G43WjulrdXvXY6CzJt6oa0M54sgj9cczLDW3yMaPAccHPxU2sK/yu7gFCepJkAfUZq3Xhjt + obDKzju0uWGG16Wt1yEwCFvZhn3BTcrey71ljr2K3Zi/GB30Llp0nux9uLzaHVwOrq5gt89d/rIE + bMo0NEY0fu07dmnr1xIwONcvPYcPwCXP4i8ZVl16/h+/lnQgl9LzEqa4CSu9VC6NOAtCAHPpOXBi + n5dLQn49L0l6DMLtSOE4NLMAkPCp02jU6X/lkpBTz0uJoILbMzMKWVv6DWZgY1jef+RmgHtphr+X + S/yzxj0XR7pEZo//DxScF/7B9/F/IH4Mpp3i2MDin8AajhU/cFCOjDzHUrIDl5VhiKLGp4eQEwBG + J0xXgN1OsGErSqgJZ17wSgELcf49CAiPA0hswx7TMxbMMofpAiAa/FOFtQ4ZMe3nKzQtFfRYGyw2 + LUV4oGcAGzxWRFfKqmuPYXjfDMcweLHzIwAvQWIjyftehsR8X0QJ/hr9ThF/J7VBirm0lWEWcztg + NMM90ehS3B36Ct4FknSuoAbkKeSHQHP7lXI4QtldVmaTuQLwAgS/UuKlIqpMBwT8E1jbcVlxTaYh + KgD+IHvt0BrCWCqgXnFCT8mQeFV5j1IfUDZHrcCCB0CdgP0KOz7CpeHhdJ7/aq0oBBjF7ShlWMy2 + qsxhsJ6AdgkGd/ItHWUobHVX2YJJF8YcIqPR5SgM/v2v/+Gj4uNzgb0Z/nVCkFlVsHwARzPOp8o/ + n/Tqx1hjhY/6gPfT4zNlBmiceY49hq2og8IF+gzwQ0DSiTMDonBQysCTnV61d0w4H3LYvj7KWMAa + 7rub0AQEYRsC5YaFJpALqmIUbLSAI4tpDHwQsTs28Ac2Y/P17k/AEqqYqhS1Wrb/ZmF3Rm2EluFW + 1ptSiuD6CgjOTJlBcG4KuHln74MU1/u4mTTmg2YLiATgKDqb+8BcYfJjZQwsULDW3HhV5ReiIPjB + 8OENpnzu/1IiHdt3lAlo50KFsp3ZmpGixs0+ZVhZ7ANa2HaRpbN020mbZMqQ01wJOUlfy9zuw0ng + JioqkqIlv4xkm5AY05WnbAyQoYbksJVgJYqFPknHrqIoU0StUvywzjWArsdMQhV2zEHxQmOOwVoE + pDuOYqIiBIwU+DLTtNAKTbSGAJkW8vHUjDJGCuj9CmigwCJAK0aU4yq+HY+ti0LxW/ZhpsNpUUiq + d+I61/1ThmJ1JRSnc2VQLMaW4laoNA7Tp4A03Gkq7LSAYU4JbEGG+80OKhx4XmwSx6IwWnAqDke4 + e0EiItvMScRIbXLh1UFt+gVszZFhG4GwdZ0bZioWZ7YPtq5pWPg+SuCFflD9pbRe7Klxw1WpgEx7 + sRZ56N3IK7QrlaCv2+2uhL3GIvbiwaX4u5w5CrBTAWPAGPJIlIdi++gOSkufcyGs/v2v/6kVOOW/ + //Vf+FgIm9MLMKsKtIQpgO+V8qTbrXazXDdex9q5aNL8VYaXXGfYLGZIbbkTM7nuqRK8tPsr7Kq0 + 4WkWLzJTAUBleKCSoF2A/BH1egYMbY6qJ6AqZl6kmewNLn6GlT3pxBwTMSH6IGHrRp9UjX8+aTez + v9NDlAbmC9ygBwmsPNJxyQ8VmWU+arZcbEfL5sBrDY1QTjwS4ZIYViMOKqthRyoPKUywelv314tq + ACO2tpWiOdPztojku+WkvDGsDNtddSVsx3NmsB3NcYuAdHy/QhlYhHXh4YtYoQd7raoUl0iORfQB + kPQsI8O8Ia56sSMkFyqgGtj+wkOIA6GTEswN0HqftLsJSSANlEldQrYLb+AHEeWB9R9NRvkHCiWE + rR2j2KNXitFs894cR4XHOneiNG1uK0Nje4VNm/ajzaIRxpWicEDSzVdQr9TQZUwsDyEO5rnJQQm9 + ALWFFElATCTxOhIDkHYXzIK7z4lsyHb7mJzKijsx/AmiWQjT9SIDXhi7A0uF2xcJ/2yvwj8lCVES + hLRWQUjaCzfnf8lMAPcC/cvlHMbNYW8MTcfRhwy2BELGsENEzZNWO7cfBPJ+yY39S6mqDEBEBr4C + igjoMdGPing1dMZQdeyTRh24d8JuL98d0XO4uwJDhBJmngEzj8vCEQ93oAGoC+1VuQbNJR4pHqiK + knfgcaGn7pvMnwBloMqzx2AshqOhIPaxx1vqIVoveQD4RctkqZOHFXoq5ygladm7jFJy/YZXopF8 + w+EMoaTzZQhlSuPDXdjqGP4gjAp7eISRjhkiBcWrzkUAA3gsilLEQWiD9goARdPjhlto5wM+0TdD + ihCg/IK7ARfenU4wKSvRW6GBAuq97+OrZw0MQQPEJwjusQswYsjEiaM4UOTRw/VQNAeei0YH8hmF + JthBIPRpAmHFwGVUfoBEnHWSQh0TOgQ0Z841m1bU6rWbFcX5VtI5SljJoyBrsiwhiGa3XSAIeZfl + DGFIvQu56eBmkMb2NY8nXOAieJYQyOeAooOUeONxOoVHuFlh94KSNjJIDauC+tXsVtuRGkwWUcBM + 4gIjZB4AVEMrIy8ahdjMhVCLRqtPOpgwgaOwItKQb6A00VGMR1QkJMHaN7sanTBUEW2wAZOOxwqa + 9UKD7OKmv9s/v9guWoboVnHnF/tF5/d+Y9GBlE4jlw6OS+4i2DMYeZ2DSGi2EpEgzFnhOcqsFx0T + 5JC3CPWRTO8qvusEEsFeVuYcvUh4fhmaVBZgM/RcVO/Q6wvbmRyV4vg42sGhH8eHo4scYDfDMPWa + kd3HRt5yL1S+wXcOwY1IHKs5BIPpnfNAFdpey9DbLJq2cd/rDFqTTtU519MtfsBB5JmNDVsRPiGf + OoXrERGoT+noXjcC2qVNNFYJ02VlAgwdXoZ2uODSbDSiY76E+zbzVuQmDJBBayYzLOGiB878S4mk + gvidjTioD2vEmVoDgKQ9xgXm1KI7KduCPIe55io++2WNuWVYVFdR4ZqyQIzQ2aL5bkGoYlguBnGN + G3QCIjojT11kMFvsGr4n6RY2LraMgrv4GggrwNiCLh5MPM5vD8jsfBRSFz2ZWFenDFEyCxasOZ7r + YNagQiZcmbI9TGBReUHvwH4fiRgSR8Xex1idQVwATW6gEw0GR0OOizif4Ea+sOBsh3Y+DjMx9HVz + gGbNGkkZwG2d2wsWWfNuSyDb0VxGP1GAIKUfSUvzUlkyZ4aSaA4pBZF/aziPMCJ0bdjrVTq/U/kQ + GVrNxjFIW4aWFuAExbNtuOg+RjEgkoDgaY+c0KBumSy0tQmI4yfHpyenVeUAUK6jCj5zhE4quDcQ + 7g2FhADba3YoN6Ku8VLUJf3kC2bbCt7kC3mvdRne6kUtbEEkt2U+5eIMUqyJm0jzESlWYEspI5PN + Yv0YjywVe43U4kQbwm2ie7FWdnE2OL8c1N5vn2wrpvEpFJ3uXMcxyyTFo8Cq5XMT99uTNAahxIlT + oMzDA74hKCHyzCBNZU13tBMwDSY01x1fb2N6EYBCimg/0ye/4HtewUKXNJCXonlBB3PyHQMzezPp + +Z5FeHYeKbJ3ozgMrNSL4MtceFclt0LDJ7ijhhbF9MopYho9WQBhraiAl6M2/DJELPTnz228Tpz9 + vXTjLbasl2BDXQiWx4nrmW2XdJnPbbvM+KXb3SWwy/hMmYAsxGDdCJ3/CNU4hjPjxARBGGMKigVy + GQAUubxwzzj2HFYKog0GAJz54RjgFyTKUe4lZ05o6ooXjoHRmiBtcVPDFUELoIwbo7nY6qhf+WWM + 46GIJv+yMiORaPA1IxlgB9/km614zkBRs7o7n0XSin8lHN+iUC06Kc8Gh7tStKIqM1feO/aURd4E + P/UPJ2E10GJBZcZwJKGs3S+3uo1yt9WutrsNBQePAwgRaeih5cY8FDZgFAcIbT+kvFT86dSxXKYc + OfjHJ9cmoQ7jdwYltqR8OXoc56ntXR4oLjMoLvjWNrA+ec2YbtIpCfA+GL8s+LQMeeC9c6cvS36o + gAzJC06txVMFMow1nTyD7ehgA2WU8NZR4iEsyfxclwlvVXSHCx2F0ontGPbRkChtfQQMupSYZ3HS + ZXVllPFAUnYSc5UnamowEyPAcfYH58dXby92L0mOxt92SPSuNThUx9i6eKdKM++Okp37UFCIVojQ + 5s5CkCFywUchdUC1ZQFaMbZ0wyKqPlTIqEEbwkTzB6a0x4DvED3XAPXjBc+1GJCwFw4ruAcNkcwu + bMLIICFTWAfV1HRcQKofAvAmoYUMfGiYIFDR9JgY2iQ1Zii3PRDy2cMUKhARpsi28SlGhAjzmIbO + MU+xiLMnj5HuTL5MYjlZIiKvV5Ifv0a6INUJu15IeXmmHUaOInqr2Me3nAgho40F3UlKG8khDjlW + Hs0ipY5EO7e4GWAAAT0Zaj0Xy0AqoLAu/5yJKPsGXlGG4Tg2OBdeh5yVILS16RxuD0LhkFwvbnrp + ORvy1NHMIRwFizM612EphmTnUmRGXzzMQoK8Rn+VxIt0PRnciQkyfBnBIYn4cw8jCYmRGd2fDVDt + YVqgGC7at4CaCTdHwBFGgOLCm4oUKwpDBmlUN3IjR7UsRAtxS0YyXdHzWSYjlSJVZSp9CSjciPEp + A30XiNjqOomgjjas5wHL5uPCHlzBpyBLcJPhsNe7G4eZGbMuxii7bXHzHdqk3DiesAOHImYOy6CI + PKZCUVYoORYoeDuewMcRgztIpGZhnajODjBMX5uAeBShhTjfY50gp30nks2Wp6EVd9zdUff8QR9S + TDTuxkR6NkfOchFjw22DG2YydLxI8TLAQN2YCdp3vDk6BcGKwC1GMToPUGGDcTP0OAZSRmh6KGh7 + vML0Q8CYbzMXBWLoosOI4rGpnxFdOyClbJ9RJQRJ1Whl5L4fhnOkBLBjGKX8myGShYeROdhqqGOj + K5+2uijDEuFAoBAXlLFx5CbUMAV57a6i+FQWqVmTObGlqB1178R79lwTKdZXMWXSmTJYp5GleAZc + SYL2dP++AQwtXyyRxE49UGiEf0goJDoDHDtDctrqdHEembloc2AqHCc/vi9+QmLSEG2+j7cB8GH+ + V8oATVGFKseE64IBZ6XUHdJtROrNiGL9sW8aSzGIR/uZdHCgPOYJXyEQB7EGQ7wHRRax7yPlkhP0 + SJSb6+YN7ejIGmkeSHKKQMEmatxt9cqPepFRy0IxhzwXubEYSSjMcQvddGSRvcKjGHmNInJIW4Sc + JPmO6Zh5FdlKxP09PkYDyhPxoewU9KQsrHDoR44SsnkneBPY5jNGBrAfMFFxsmYmUK/Re1YOJMiV + HdFTjOjencZxy6k1MjyvlPSTHDSTxfN8hJU7WI5bigzccjJxKYngL2hakfkDgLJCG8E+w61GiYtx + MccIdt8X9OzDbrMxRERBpAHGAxUx7PeYaOxxwCWawvBu18gQYCtHIkcZOVpIcmEhjChyuoZUewJE + kiYdRTrZk73jkygusUa019HmDHC5hTwN2blDRW/W3SH84oE8MkwvGMcyTKuy6oJk9HjYHFK3OVYu + 4oaZMYOYJrkw/BnlyMFOtAzfjxLIx5hdY8Q5lfA7WaFHhvWFew7d/CYEC3abeR5tQcNGt4ExhtUJ + 5DRalpIcR6RMbUebUjblL8B2RvmE9F9KFLmnKm7cxetEJ/mscB1SDp0/L6kQDajfbTPt3HaIkAyt + CyHfpTGB+qKFhCcXleLHYQLhBJZ5q0ThpEtljxhlQT4Ju8ZiU0Slyx00ZwNmguZ1aEf6GqaGWQ4q + fnEuM4phlMFUL0Khgzi+owM2KAVPZGaENoo6FLVlLGIApZ0k/sgYA9QUbgcidYsivmgRKfsO+UiQ + y6fubxZi+1FkIKjheZQgSpNQmT8O4jlIX2IoeDmXw11oUsQMoaEeKxKUxCqrlK7MSac6dpyxyYt0 + dXk0PTq++TI40mzNmb8L28c/7oXWJ8s8/TTtvnk/2A3OX/feXnfUyw9v3xtXFx/HV+NZ3zD2+5N3 + xtXN+Nhtt1/fuPP2tlnXrz5+PtWs16OP9t7gaGid7041bzQ8OWOnzf3WsPLJP9y7Ph29bV66reGb + abv1+kSdfbncebc72UvJ9dbzrIohy7uTuCVHPMlodqVK3+RUpiyxphNI9YrLmSG8JmkJRWZJBhIt + Zh3YM4+jfXBhfMb6pWACP4wjvVMEobvHqHxgNgJWrxV/bdSPRfkhXgP95IaLH2IB9qTROBbpREK6 + +U6UkE/sLl3RehULgFhTNCWXZhGlZ3Hl8LpS9W/2sKoHI1SVhUlur1g7yVRaoP7tOFSRAVJhxAxT + ZOXxz4HHQeRThT/5bTIOTWweCsYgAlubGC6Gr3XK3RiaZB2SQ4fUetQx5lGVG5oJfqaLCN6QuEVD + L0pFEfcOuTKEtUS5gGCo7tyG1Nv5gToJjt982Lf1q/OfQ33v8rPvH55WvgRH24eT7Q8z81PrerD7 + k/WhV3c7PfX9zWxyZF1fXDs/T/bavrt/Nbr6ecTs3u7RIW9tqyezI/ig9YOD9izoH1ydz8+5F4yD + N1/2jg7f/eR9an64nO1PZm+PBs5Zf/vgyxdrh88/+e8zlDKXGhjpkVjLCEV2nJeMYOpFgllIWEin + y1BLbng51fCZgi9QJjcONu2oKucRpxaZYKh5ivwBSWkFtm+BDe1FloAlbEsRVzOEGYJaZkil5pSh + TIWOUU062ofo/m3U89aNEHF52OBSMvlEQyrxWqvOSQlq4rA1aVFWcgzb/fm85IiylbCcJgfnGf1i + pkJ2Bimif4Y5xqKUQPklrNfVDnmUqMcCoDy7wDR1JdsdCODtGZi4HqWrCMOALAjhCdSwIkikk/n5 + XJbc6CKFBdiQQ8U/WeTPHA/4PbClvcuDdWKWeD0dHSdD7MKZckX83u1DlBy5thJ+b5Hji2z/Djmu + UmZhQ1RnkAMgt6LLxBWYSAgUC+JtlICUgFvyg0BLpAd94e8RiBL700aBnl5URKstP9nCuUWQJUOD + a2nh2FrDqYRkktpxqbIKaL5NqBerlVfwEmRPkpNgt1/MBcydJFcqSybLWhU4eEkWbjkBoR0FNxCy + ouTboTJwkRToTzAd+DCbCUG5w0acnK1kUygqgjOTbncAGJvPkCNQ5x9DE8UYxG+BGCyOSDY8oTuQ + FkCIn01wHhDhwhMIa0kfw3bBFLk1ubBS4gS1GdZbAtWlc/pgNMxNsOflZGBOWreoAIfjgX7cfa0F + 3p73+VxvTI+s+esvrZ29t8Pt3YPG54+6v9eadH/+eNU5uTy33g/3m27XOznf+1BpbWtvjMvzg/7+ + fHzCP364OP1ytMPVs0/Wu4/qiff+S3s07Hx8456d7x1orc/NL/6Os9871366mVz3Lz63P5jbu8Zx + veU2PtiTlK7SEwcL8aAVKkdk5/FJyKvXb9/NO+TdfrITSNkH3YHxMtg2VeXUVgagATTqWAuUXx0K + 8KgFAjKcJ71qv31cxnrdYyoSo8i7kPJBxoG95m3eo3MN5dHX4oGHxW1+d9aE7CRAGT5WqKpNuzLn + eHl2Aik+DoPYg+5z5gtf29i4ofo73ID5JRroFyDnEVU0V6OfsxmmqXVPwT/YhsQlAH8q9Y95d3hx + vl4kYaMQXIbctjKKJzDmtk13lbDd4umEMiQVBW7yVGbTJAcKZpGUvVFiNyeTg5kFTBE2hWVx9NCB + KhVnWpN/JLdzDFEBALuF8lw4wJPy+o0pFlxE2SpgGfPUMu5FhvH36Jr7LJ7H2WMnkOGBqmazwNCo + AIdwvu4WIF06kUbeAKRwbGQh/BodQ7gMj6sdq7gKbuVR2XgJGdxGzvdcxplD88IHbcKxceUQ29Hl + cH6B4Q1snumgKJ5hQhEDm9mflgnTudwE3JO+i13TkCQuqRUmim2qw0NZLhoSwCBTSgevgpIkcpo8 + xLMI1LhJvVym/Qv6/U1Hm4rMmR8pHgyTITbZ2IAtLjiEqMgfks+Yzzmot4FGWRGuZ3zB7IxDW0SJ + 1VaUMTujMhPhxZs5UWRPFIivkzNQ7sRbsBIbjQYQgJ6nptyZmwVrWki2pdZ0egilhF66QkFbLkCT + cyOz9CJKtqLWazCHlCWcOCLtBF35HGHpgWH8v5XFsq4n3Wq/FbfNE6rV24szynTjaZugOKEGOwT5 + mKiG2RdRMQj62NaJEzJ88SxP2QaPz/gscOgVFJv8YZhSjNy9g9PzK3N+DTG0nDejruoZOrwc7bmh + 6CgIHDdaD1XDxScHofSL9wAhA0OYc9Cdv0fP+WesnkNdGlskYN8latJDfHrdLDY+SVTqesicMlpQ + aKKzLJfhQXIKpwwZxXQj0Ui9VJZMlsEEHvu5NFtsAEqJyNCkdnE+GYbAbCzOBSDLiZcpUyeMCg/a + CKLxHLovB77ymk/nphClaEjMdcr3iswRdB6T2zN2VyId6ClXxQ56hDyDOqyZVEpHWfvoS0oyxeJo + G8VRqwqIadeJk9ymYPHCAsdRfxLD87hv+IGByQ2iggY7kpNXRNQH0M9pRxpQTg1/QhX4sFIM4d3T + 96mFra7Z45fuiX0wfnd+NVDHn9Sh4wYfPm4fHu4fHNbnp303sD+/39udXU8H1+8uD1o3b850b+gP + uGr/9PGnk+CL+vORsTfaG1beumfvxmrl+NO0MZ0031asz59C4/XHS7t3udvY9a+D7XcD/eJs9yas + e9v13uX1+Y+WPte2z1LKXDj1teA7WaGRzcKpqDLiXEHZzsyWoc909FuZhci2EcwCRDaayr7rGCZy + 89AX5jK1WySso9WNXb/g44SbVEIQBb74Z9CugXtYSNwMSHYnYhoUUo1GHiPVG57I4mKx3Y2dp1AV + R9LO9lPNwMaIBHajhY44tAXWKpejXhnJkbXSTJr8ibZFXa91JydacJPJUF1U626ppIyny+CavDtK + lGFB4+aUvBzid0XXkXmMF9zbIhqC974SPQxoPMKTx0EbEylwQA03DpZXYquEg9DCtPO5ULV86mQl + LlSUocMojRKUqRAT0oGVITVQNjmSAa4wF29D7EfVwKQBYpoX2QvJcbXVRJ+YMA/fi/t+tnYhfVuw + CmBla1UTSHW7DjGwG8wMGzTQSjefnVE44jfHCzpJfd0ylSF/BK6EPDrFyk0ZJ0hOrc1SR3zcrpQP + pPHOGLdC6fY1g0eZVVxJVuc6flABDTkAc82foIIG/4DKDDvGriDWorl8EAjMpCw4yo/k1PwqoPQK + oLmkWmmMsZdI7BEnQRSvE3VUHcZuU/FyBxEXGXj/TqRlzuuVIay5oFdgsVCeby+2SMJBS0mt34JW + 8Z6bGqWKi4CjbzLMT+Ie6HHYeSzeJSOsVqMNTJ+oo41DpUHOSIAaQHjD59i+Ct+COPyTTrV5TAEQ + xE1Sdp/0ihNVfJmU9LXjqi3OQ5ZnM5qSEr7uKsmMuUOFJZhqr6iOL0YnxMjSjQV2pvAKRrMPwaY0 + o+SRXPFeVdk+Pdk9ivr8YY2OHgtlZM3YcIgaEJQVPSS8Mzs/QNJIwYinxDmS4moLg9ks6nOD2HvS + rvaTtq1rxV83Ps1ZisD0oOccCpPDhZehMHMisgyBK1R9ZObJRg9hXLjnwtEwwkeVWL4UndmWcRNM + ObcJM/Y8ilBEPUsyOcjoRjBnmBQCYDSoQC+aJqrHxNIQUTgrMltxZ8550v8EhseCP3EH9kxVCAi6 + EVXbppIUEFpsEcjIv4YC13YwuqinopJGwdYY68U9wJeOsJYGGuOzrYt79/7eThn2i4rTytt3ua8z + SftAITV2dEI+ll9yX2Muj1Rf2no+mWnEVjPdIVlMM1FtUFlJ3ybOJsdnciU/iM4EmZgstF40CZfm + Ch7NQjxnhfqeheOpJbhqraLF9GRyMRpdiqkLlIg+/xRy00e9JKSMDjQ+hpwa+AXC4eRRb9xMGhfa + zViUJLK1MkWxldgcJquGNmw5kbl4Kao6CECk2wZMHLXgjZVrk2MYMuEUWGS0Xr8JAmmVUsnK55xr + OtNnYFlauOyA7YdisyOLMuRnKC1rBRll08TqZOBhkQ5WBXk3AHUxUDWyxDH/c44WE4B87PGxSM+U + JvAoT2HKZ8Qo8fAOYJvK0+PB5SFcy5sjIypCChxM4UDp2aq2j9e7J1Ftb0gRGZ15fn8XZPE8cBny + imH7W9jmYhwvGVwuKQVT07lFxTQAPWFj2Kj1Y7f/XL6MiCHEbkuSeteO2HsgrkLPjtRPOi5HNHAT + cXUqlSVEEoGAhkUuBMqepGoun6IMyFjx1Cl0Sb/HRgbUntHD+AOGlda7KbuZg9ml1Xq5Y9tzWO2v + km1TPNhchtWiMLzc3sngsy9r6ZUMK8VnOmnsuTQ8Spn0AAVR9WRLlE6WRakVpbgxwWkVRn064VfK + ecJ02UPRyT/WX3B/in7xODad+EFFsxhPwLqauK51vaWs1EgvOThehqzcqfIFXK1g0d9y6roEZc0V + qizTg9KziDvZx/EuQp/MSjGjfE9SdmsFs1ujAti5pN0/hnAtPGIupBR8tCSwWZGS9iKgBmiu6/gi + UDekLvPkXUbE//tf//VKOTZ8PDSAmlCgUfk04BY2XPMMc/4MVCHYj8eHF6fKk2a18W2sEIDVNZu7 + XF47KX7yKyzCi5TB3o1eSatkaSBeXZHLLrptCr2SIyElF5IUt0z0mtzaxk66zaiU0Rbp6JFmQ6G7 + CWW3oKqCDgI7FojYsaLayiuj1DaNJ42M14u5bg1bE1NfYnnQPdu5WJWZkvW7vTaZQ+5l+FrFmEjn + yXJRGFeKnUOqLcYUIyxbnYhSY3JpUyUs7SP9lULrKuYZqQn0Q2KgTHSiFa6CuMFTbHtaToAtR0SH + WyyL0UzAFOY1RYimtDgcFxsPU5VN5FIN4tQ2L8p2qwiRms4PG5sCgB525fT0tXt+mjXd0Z0I6ZVg + FhQ8dWGFfi+ivNGIerQsdb8Pph4ePWP498A75Zm/KQuVcZdrKfozc2a9rPEceCM33ckthSfoTk2W + g8SAFiUdsUPmCG1VQLVIRIy8RlS3zkwGzJmhYdLq1ZXt6g6qQML3SoXRb5BAPnDP52Jgj32J6tXT + CannAaY4lEFX4owcfU/U2Muu7A4Oo5aKgLOhYadtLgr9XzxeoZi9ra3f095rdeqtSiPvYU/AK01u + u7vwcRuDj3caNI3u3bmG8ty27PhSxKPymZymNOTJAXGKF6JbELZgdghqb1DttqMut5i2kmtg4Qtl + OAq9CEftOhEhDtCBW2/xxdpJi6YCKlaoCeiRV3lduJCUBOQmkOtDpjhUTolTgim4KfK9MTkXoU5J + Q6jJxBniB8wDITuP+8YGItOFEo2FGMWyAjaMun2n3UASp/ypObfckDjwtJxkugH4cYf9Qke75c81 + w74kRATUG2jd6CUwSfErfrk1ut1bpRLsiN/MGVkCt2N4FfdBV9boJRlcit106pjIfGZPRZk4+mcB + 9mZSZIeGInV6GCGwMUFxm2FCOJZ7YhMvFNtogJL9r3PyP4hu79tM1IXaUW8RTwh1jxqeIjJ5wGkr + /4znlnFt/Y2AezUTXlWevRTDYBF96ipaEsqpbWOM9axDR3n6o+fMAFiZCLYsM7FRDHntAGC47c99 + ZRfViDHPlRlnVpLlpJeZrZuZd1GOUsUlGDae8BFQ/6wjh5QnzBIEBYfyDUKR+TRzPFucqBP1YKNQ + Vly7QaoYKlJRz/chHVWNsRY+h2HTRb1SMmt6heoBOtlRl8ZWMkAeaCSneYsYBsDjjrCv8Dxpgx1V + FInWQqLDoucw8s/72KIcB/GTw55GqMWtl3KSEwOGxriCst7Ji1tYSPpTMTJ69+ZHo9efsGUdM7vk + PMz4KRZ7oraTHqwZ8kiGljP2ZGKhRSfmzhz7DFiZ85UMH2CNnCCRBEhQCCORjEJ4jdTgfz6B1U6j + EFpVOeMeWEu5jjWIQXE4NjYUqdenpEplmo5UscIQ1GeghdCbp1Ec05jyOHUyXfwoOjkI6QVlgsjE + ivshcBfPg18zRbRrNLU8Th4vTBoov9tvdcw92E7KERsu0cA7vTzvKKbhZabKkENmaClBIJ/I2cOR + 4x7LPCPt2GNDPGo5k4YABpEgHBaf+mDQqbK+AdYQ8yhzXaQ/xSEebnEPHZgieWnR24xnRveEjp1p + Y5Mufu3ItGhoKTbFTyZATIrOuxtILaJT6vpo362/rYpTGD+H1VME7ywynrhNGxj3SubJqvIapXEv + yvIWbkix81HNi23nICnWT04IBlMQ6zDFESAiiBqIhClLRPWEZeYEgZM06MsVDn5bSznGrdxDEv+2 + gNnOKhktBcw25f7K5t147chCeAW8NmV7FTRpT6eYOqnWdGS6Z2WRG8nh5MzLqJ3IlHM3KgdCQbxe + xz68j5i9uQToTVkp/Ao93S+Yrq/UmbTb7jbbKdxPXW5/4a7LTTRHyF8BBC2tnE7XkUGHL+ZNc5j3 + HSFVcd7F+GpkbVJmuejkY/JRQKo0xzpqbJ/2pFVVLTwhyY3agGPHf2J1O6F3E+UlpIkLA3sede4h + vYiJxozAlv8m1hbXAlB6nZ+ksGBgFz6P8YgRQQZ4fEuc60QintoEGbbt3JALY83U0Ii1p8JhWmLV + S5vK320eX7AR3yWtdAkptHqrbMFF0zgdvLTcpfwzWsSxcixykUT6Xlx/NY8i7NgZPOK1T2BZ06x8 + Y5my6/igNo2R4P0ls5R1n/0Lr44rFauXN1BMfxZI+jvA6Orq5Ori4kdxKhJ8d2FEuLeW4e0wwqeQ + e3PABdwwDA1TPwQMlvb5/v6Je+V1nLObw2Fj9OaNp23DzYa/D6+LRJ2geey78blLpgPAwClIzRHf + CEv0nSOTHCGeptRPK4R/Avz6ZYKo0vkIj6g/yo2BZ+C5cA0XDAP9/bcXNXFp60UNzRr4Mwksc+v/ + A7bQpLzIDgEA + headers: + Age: + - '77150' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 09:59:17 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="leaderboard" + etag: + - W/"3168140bab8752738ad4aad7fb8d98c71f31c5d24cb89bdb3209402a664e9b9c" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/leaderboard/ + x-vercel-id: + - cdg1:cdg1::frcm4-1642759157057-25f6fc8f76ce + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hacks.yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hacks.yaml new file mode 100644 index 00000000000..e55890f9145 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_model/test_get_crypto_hacks.yaml @@ -0,0 +1,349 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/leaderboard + response: + body: + string: 'Redirecting to /leaderboard/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 09:59:16 GMT + Refresh: + - 0;url=/leaderboard/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /leaderboard/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::mjpxh-1642759156599-b9051361a359 + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/leaderboard/ + response: + body: + string: !!binary | + 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 + A7bQpLzIDgEA + headers: + Age: + - '77150' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 09:59:16 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="leaderboard" + etag: + - W/"3168140bab8752738ad4aad7fb8d98c71f31c5d24cb89bdb3209402a664e9b9c" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/leaderboard/ + x-vercel-id: + - cdg1:cdg1::mjpxh-1642759156655-2bfe2df58c21 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hack.yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hack.yaml new file mode 100644 index 00000000000..b540c325891 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hack.yaml @@ -0,0 +1,250 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/bitmart-rekt + response: + body: + string: 'Redirecting to /bitmart-rekt/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 15:26:41 GMT + Refresh: + - 0;url=/bitmart-rekt/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /bitmart-rekt/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::rxssm-1642778801953-2e04dc396ee8 + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/bitmart-rekt/ + response: + body: + string: !!binary | + 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 + ts++xZcy0629nb58H3N/VI+zvf8B5DOx9BuSAAA= + headers: + Age: + - '56944' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 15:26:42 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="bitmart-rekt" + etag: + - W/"a33923d398859abd93a8dd2f582a8d755fa00263991b4f301ce39d8697b4703e" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/bitmart-rekt/ + x-vercel-id: + - cdg1:cdg1::rxssm-1642778801998-f9d8f716aef3 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hacks.yaml b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hacks.yaml new file mode 100644 index 00000000000..390903e87fd --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/cassettes/test_rekt_view/test_get_crypto_hacks.yaml @@ -0,0 +1,349 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/leaderboard + response: + body: + string: 'Redirecting to /leaderboard/ (308) + + ' + headers: + Connection: + - keep-alive + Content-Type: + - text/plain + Date: + - Fri, 21 Jan 2022 15:26:42 GMT + Refresh: + - 0;url=/leaderboard/ + Transfer-Encoding: + - chunked + cache-control: + - public, max-age=0, must-revalidate + location: + - /leaderboard/ + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-vercel-cache: + - MISS + x-vercel-id: + - cdg1::sch48-1642778802164-9d5d37ebab5f + status: + code: 308 + message: Permanent Redirect +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://rekt.news/leaderboard/ + response: + body: + string: !!binary | + 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 + A7bQpLzIDgEA + headers: + Age: + - '96795' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - text/html; charset=utf-8 + Date: + - Fri, 21 Jan 2022 15:26:42 GMT + Transfer-Encoding: + - chunked + X-Vercel-Cache: + - HIT + access-control-allow-origin: + - '*' + cache-control: + - public, max-age=0, must-revalidate + content-disposition: + - inline; filename="leaderboard" + etag: + - W/"3168140bab8752738ad4aad7fb8d98c71f31c5d24cb89bdb3209402a664e9b9c" + server: + - Vercel + strict-transport-security: + - max-age=63072000 + x-matched-path: + - /en/leaderboard/ + x-vercel-id: + - cdg1:cdg1::sch48-1642778802208-8cfe7fa50897 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/csv/test_rekt_model/test_get_crypto_hacks.csv b/tests/gamestonk_terminal/cryptocurrency/overview/csv/test_rekt_model/test_get_crypto_hacks.csv new file mode 100644 index 00000000000..85162cd0ba2 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/csv/test_rekt_model/test_get_crypto_hacks.csv @@ -0,0 +1,71 @@ +,Platform,Date,Amount [$],Audit,Slug,URL +0,Poly Network - REKT,2021-08-10,611000000,Unaudited,polynetwork-rekt,https://rekt.news/polynetwork-rekt/ +1,BitMart - REKT,2021-12-04,196000000,N/A,bitmart-rekt,https://rekt.news/bitmart-rekt/ +2,Compound - REKT,2021-09-29,147000000,Unaudited,compound-rekt,https://rekt.news/compound-rekt/ +3,Vulcan Forged - REKT,2021-12-13,140000000,Unaudited,vulcan-forged-rekt,https://rekt.news/vulcan-forged-rekt/ +4,Cream Finance - REKT 2,2021-10-27,130000000,Unaudited,cream-rekt-2,https://rekt.news/cream-rekt-2/ +5,Badger - REKT,2021-12-02,120000000,Unaudited,badger-rekt,https://rekt.news/badger-rekt/ +6,Ascendex - REKT,2021-12-12,77700000,Unaudited,ascendex-rekt,https://rekt.news/ascendex-rekt/ +7,EasyFi - REKT,2021-04-19,59000000,Unaudited,easyfi-rekt,https://rekt.news/easyfi-rekt/ +8,Uranium Finance - REKT,2021-04-28,57200000,Unaudited,uranium-rekt,https://rekt.news/uranium-rekt/ +9,bZx - REKT,2021-11-05,55000000,Unaudited,bzx-rekt,https://rekt.news/bzx-rekt/ +10,PancakeBunny - REKT,2021-05-19,45000000,Unaudited,pancakebunny-rekt,https://rekt.news/pancakebunny-rekt/ +11,Kucoin - REKT,2020-09-29,45000000,Internal audit,epic-hack-homie,https://rekt.news/epic-hack-homie/ +12,Alpha Finance - REKT,2021-02-13,37500000,"Quantstamp, Peckshield",alpha-finance-rekt,https://rekt.news/alpha-finance-rekt/ +13,Vee Finance - REKT,2021-09-21,34000000,"Slowmist, Certik",veefinance-rekt,https://rekt.news/veefinance-rekt/ +14,Crypto.com - REKT,2022-01-18,33700000,Deloitte,cryptocom-rekt,https://rekt.news/cryptocom-rekt/ +15,Meerkat Finance - BSC - REKT,2021-03-04,32000000,Unaudited,meerkat-finance-bsc-rekt,https://rekt.news/meerkat-finance-bsc-rekt/ +16,MonoX - REKT,2021-11-30,31400000,"Halborn, Peckshield",monox-rekt,https://rekt.news/monox-rekt/ +17,Spartan Protocol - REKT,2021-05-02,30500000,Certik,spartan-rekt,https://rekt.news/spartan-rekt/ +18,Grim Finance - REKT,2021-12-18,30000000,Solidity Finance,grim-finance-rekt,https://rekt.news/grim-finance-rekt/ +19,StableMagnet - REKT,2021-06-23,27000000,Techrate,stablemagnet-rekt,https://rekt.news/stablemagnet-rekt/ +20,Paid Network - REKT,2021-03-05,27000000,Unaudited,paid-rekt,https://rekt.news/paid-rekt/ +21,Harvest Finance - REKT,2020-10-26,25000000,"Haechi, Peckshield",harvest-finance-rekt,https://rekt.news/harvest-finance-rekt/ +22,XToken - REKT,2021-05-12,24000000,Peckshield,xtoken-rekt,https://rekt.news/xtoken-rekt/ +23,Popsicle Finance - REKT,2021-08-03,20000000,Peckshield,popsicle-rekt,https://rekt.news/popsicle-rekt/ +24,Pickle Finance - REKT,2020-11-22,19700000,Unaudited,pickle-finance-rekt,https://rekt.news/pickle-finance-rekt/ +25,Cream Finance - REKT,2021-08-30,18800000,Unaudited,cream-rekt,https://rekt.news/cream-rekt/ +26,Snowdog - REKT,2021-11-25,18100000,Unaudited,snowdog-rekt,https://rekt.news/snowdog-rekt/ +27,bEarn - REKT,2021-05-17,18000000,Unaudited,bearn-rekt,https://rekt.news/bearn-rekt/ +28,Indexed Finance - REKT,2021-10-14,16000000,Unaudited,indexed-finance-rekt,https://rekt.news/indexed-finance-rekt/ +29,Eminence - Rekt in prod,2020-09-28,15000000,Unaudited,eminence-rekt-in-prod,https://rekt.news/eminence-rekt-in-prod/ +30,Furucombo - REKT,2021-02-27,14000000,Unaudited,furucombo-rekt,https://rekt.news/furucombo-rekt/ +31,Compounder Finance - REKT,2020-12-02,12000000,Solidity Finance,deathbed-confessions-c3pr,https://rekt.news/deathbed-confessions-c3pr/ +32,Value DeFi - REKT 3,2021-05-07,11000000,Unaudited,value-rekt3,https://rekt.news/value-rekt3/ +33,Yearn - REKT,2021-02-05,11000000,Unaudited,yearn-rekt,https://rekt.news/yearn-rekt/ +34,Arbix Finance - REKT,2022-01-04,10000000,Certik,arbix-rekt,https://rekt.news/arbix-rekt/ +35,Rari Capital - REKT,2021-05-08,10000000,Quantstamp,rari-capital-rekt,https://rekt.news/rari-capital-rekt/ +36,Value DeFi - REKT 2,2021-05-05,10000000,Unaudited,value-rekt2,https://rekt.news/value-rekt2/ +37,Cover - REKT,2020-12-29,9400000,Arcadia Group,cover-rekt,https://rekt.news/cover-rekt/ +38,Punk Protocol - REKT,2021-08-10,8950000,Unaudited,punkprotocol-rekt,https://rekt.news/punkprotocol-rekt/ +39,Visor Finance - REKT,2021-12-21,8200000,Unaudited,visor-finance-rekt,https://rekt.news/visor-finance-rekt/ +40,THORChain - REKT 2,2021-07-22,8000000,THORChain,thorchain-rekt2,https://rekt.news/thorchain-rekt2/ +41,Hack Epidemic (Origin Protocol - REKT),2020-11-17,8000000,Unaudited,hack-epidemic,https://rekt.news/hack-epidemic/ +42,LCX - REKT,2022-01-08,7940000,Unaudited,lcx-rekt,https://rekt.news/lcx-rekt/ +43,Anyswap - REKT,2021-07-10,7900000,Unaudited,anyswap-rekt,https://rekt.news/anyswap-rekt/ +44,Warp Finance - REKT,2020-12-18,7800000,Hacken,warp-finance-rekt,https://rekt.news/warp-finance-rekt/ +45,BurgerSwap - REKT,2021-05-28,7200000,Unaudited,burgerswap-rekt,https://rekt.news/burgerswap-rekt/ +46,Value DeFi - REKT,2020-11-14,7000000,Peckshield,value-defi-rekt,https://rekt.news/value-defi-rekt/ +47,Alchemix - REKT,2021-06-16,6500000,Unaudited,alchemix-rekt,https://rekt.news/alchemix-rekt/ +48,Belt - REKT,2021-05-29,6300000,Haechi,belt-rekt,https://rekt.news/belt-rekt/ +49,Bondly - REKT,2021-07-15,5900000,Unaudited,bondly-rekt,https://rekt.news/bondly-rekt/ +50,Roll - REKT,2021-03-14,5700000,Unaudited,roll-rekt,https://rekt.news/roll-rekt/ +51,THORChain - REKT,2021-07-15,5000000,Unaudited,thorchain-rekt,https://rekt.news/thorchain-rekt/ +52,X-Token - REKT X2,2021-08-29,4500000,Unaudited,xtoken-rekt-x2,https://rekt.news/xtoken-rekt-x2/ +53,Eleven Finance - REKT,2021-06-22,4500000,Unaudited,11-rekt,https://rekt.news/11-rekt/ +54,ChainSwap - REKT,2021-07-11,4400000,Unaudited,chainswap-rekt,https://rekt.news/chainswap-rekt/ +55,DAO Maker - REKT,2021-09-04,4000000,TBC,daomaker-rekt,https://rekt.news/daomaker-rekt/ +56,JayPegs Automart - REKT,2021-09-17,3100000,Unaudited,jaypegs-automart-rekt,https://rekt.news/jaypegs-automart-rekt/ +57,PancakeBunny - REKT 2,2021-07-16,2400000,Unaudited,pancakebunny2-rekt,https://rekt.news/pancakebunny2-rekt/ +58,DODO - REKT,2021-03-09,2000000,Unaudited,au-dodo-rekt,https://rekt.news/au-dodo-rekt/ +59,Akropolis - REKT,2020-11-12,2000000,"CertiK, SmartDec",akropolis-rekt,https://rekt.news/akropolis-rekt/ +60,Bent Finance - REKT,2021-12-21,1750000,Unaudited,bent-finance,https://rekt.news/bent-finance/ +61,8ight Finance - REKT,2021-12-08,1750000,Unaudited,8ight-finance-rekt,https://rekt.news/8ight-finance-rekt/ +62,Levyathan - REKT,2021-07-30,1500000,Unaudited,levyathan-rekt,https://rekt.news/levyathan-rekt/ +63,The Big Combo (Growth DeFi - REKT),2021-02-09,1300000,Consensys Dilligence,the-big-combo,https://rekt.news/the-big-combo/ +64,Autoshark - REKT,2021-05-24,745000,Techrate,autoshark-rekt,https://rekt.news/autoshark-rekt/ +65,Merlin Labs - REKT,2021-05-26,680000,Hacken,merlinlabs-rekt,https://rekt.news/merlinlabs-rekt/ +66,Merlin Labs - REKT 2,2021-05-26,550000,Unaudited,merlin2-rekt,https://rekt.news/merlin2-rekt/ +67,Merlin Labs - R3KT,2021-06-29,330000,Unaudited,merlin3-rekt,https://rekt.news/merlin3-rekt/ +68,Saddle Finance - REKT,2021-01-20,275735,"Openzeppelin, Certik, Quantstamp",saddle-finance-rekt,https://rekt.news/saddle-finance-rekt/ +69,SafeDollar - REKT,2021-06-28,248000,Unaudited,safedollar-rekt,https://rekt.news/safedollar-rekt/ diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/json/test_rekt_model/test_get_crypto_hack_slugs.json b/tests/gamestonk_terminal/cryptocurrency/overview/json/test_rekt_model/test_get_crypto_hack_slugs.json new file mode 100644 index 00000000000..cbb54c68c28 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/json/test_rekt_model/test_get_crypto_hack_slugs.json @@ -0,0 +1 @@ +["polynetwork-rekt", "bitmart-rekt", "compound-rekt", "vulcan-forged-rekt", "cream-rekt-2", "badger-rekt", "ascendex-rekt", "easyfi-rekt", "uranium-rekt", "bzx-rekt", "pancakebunny-rekt", "epic-hack-homie", "alpha-finance-rekt", "veefinance-rekt", "cryptocom-rekt", "meerkat-finance-bsc-rekt", "monox-rekt", "spartan-rekt", "grim-finance-rekt", "stablemagnet-rekt", "paid-rekt", "harvest-finance-rekt", "xtoken-rekt", "popsicle-rekt", "pickle-finance-rekt", "cream-rekt", "snowdog-rekt", "bearn-rekt", "indexed-finance-rekt", "eminence-rekt-in-prod", "furucombo-rekt", "deathbed-confessions-c3pr", "value-rekt3", "yearn-rekt", "arbix-rekt", "rari-capital-rekt", "value-rekt2", "cover-rekt", "punkprotocol-rekt", "visor-finance-rekt", "thorchain-rekt2", "hack-epidemic", "lcx-rekt", "anyswap-rekt", "warp-finance-rekt", "burgerswap-rekt", "value-defi-rekt", "alchemix-rekt", "belt-rekt", "bondly-rekt", "roll-rekt", "thorchain-rekt", "xtoken-rekt-x2", "11-rekt", "chainswap-rekt", "daomaker-rekt", "jaypegs-automart-rekt", "pancakebunny2-rekt", "au-dodo-rekt", "akropolis-rekt", "bent-finance", "8ight-finance-rekt", "levyathan-rekt", "the-big-combo", "autoshark-rekt", "merlinlabs-rekt", "merlin2-rekt", "merlin3-rekt", "saddle-finance-rekt", "safedollar-rekt"] \ No newline at end of file diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_model.py b/tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_model.py new file mode 100644 index 00000000000..baa8e4206cd --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_model.py @@ -0,0 +1,29 @@ +import pytest + +from gamestonk_terminal.cryptocurrency.overview import rekt_model + + +@pytest.mark.vcr +def test_get_crypto_hacks(recorder): + df = rekt_model.get_crypto_hacks() + recorder.capture(df) + + +@pytest.mark.vcr +def test_get_crypto_hack_slugs(recorder): + slugs = rekt_model.get_crypto_hack_slugs() + recorder.capture(slugs) + + +@pytest.mark.vcr +@pytest.mark.parametrize( + "slug", + [ + "bitmart-rekt", + "polynetwork-rekt", + "cryptocom-rekt", + ], +) +def test_get_crypto_hack(slug, recorder): + df = rekt_model.get_crypto_hack(slug) + recorder.capture(df) diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_view.py b/tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_view.py new file mode 100644 index 00000000000..c99e73dde67 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/test_rekt_view.py @@ -0,0 +1,15 @@ +import pytest + +from gamestonk_terminal.cryptocurrency.overview import rekt_view + + +@pytest.mark.vcr +@pytest.mark.record_stdout +def test_get_crypto_hack(): + rekt_view.display_crypto_hacks(10, "Amount [$]", False, "bitmart-rekt", "") + + +@pytest.mark.vcr +@pytest.mark.record_stdout +def test_get_crypto_hacks(): + rekt_view.display_crypto_hacks(10, "Amount [$]", False, "", "") diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[bitmart-rekt].txt b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[bitmart-rekt].txt new file mode 100644 index 00000000000..abd540ef01e --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[bitmart-rekt].txt @@ -0,0 +1,74 @@ + + BitMart - REKT + Sunday, December 5, 2021 + + Is CeFi any safer than DeFi? +BitMart, the self-proclaimed “ +Most Trusted Crypto Trading Platform +”, has lost ~$196M from two of its hot wallets on Ethereum and BSC. +The stolen assets +(mostly memecoins) total ~$100M on Ethereum and ~$96M on BSC. +As news began to +circulate, BitMart Telegram admins dismissed rumours as “ +fake news +”, while stating that requests about the possible hack were creating “ +unnecessary tension +”. +Eventually, BitMart CEO Sheldon Xia +announced that the withdrawals had in fact been down to a “ +security breach +”, going on to inform users that “ +At this moment we are temporarily suspending withdrawals until further notice. +” +However, Xia put the total loss at $150M, despite the fact that total losses were already known to be +~$196M, a figure that BitMart continues to use in its official +statement. + +CEXs are supposed to provide their users with trust. +Just two days ago, +Celsius also +lost $50M from a hot wallet in the +BadgerDAO front-end attack, also +downplaying the loss. +With this latest “ +security breach +” sending BitMart straight to number 2 on our +leaderboard, one obvious question springs to mind. +If CeFi isn’t any safer, why use it? +The attack began on Ethereum with +this transaction at 21:31:09 +UTC for ~$33M of SHIB, commencing on BSC around half an hour +later with ~$41M SAFEMOON. +On Ethereum, the affected wallet, labelled +Bitmart 2, was drained of the majority of its contents. The only substantial remaining asset balance is ~$40M of BitMart’s own +token, presumably because of the difficulty unloading it outside of the exchange. +The affected wallet on BSC: +0x8c128dba2cb66399341aa877315be1054be75da8 +Breakdown of losses by token on Ethereum (~$100M). +Breakdown of losses by token on BSC (~$96M). +The hacker transferred BitMart user funds from the hot wallets to the following addresses: +Ethereum 1: +0x39fb0dcd13945b835d47410ae0de7181d3edf270 +Ethereum 2: +0x4bb7d80282f5e0616705d7f832acfc59f89f7091 +BSC: +0x25fb126b6c6b5c8ef732b86822fa0f0024e16c61 +From there, the various memecoins were swapped via 1inch to ETH and BNB before being washed via TornadoCash. +BitMart is still investigating what caused the security breach, and has yet to comment on any reimbursement for affected users. +The +Security section of their website states that <0.5% of their assets are kept in hot wallets. +This puts BitMart’s total assets at over $39 billion… +If that figure is really true, then a full refund for affected users should be no problem. +Centralised platforms exist as a trusted go-between for those who may have reservations about interacting directly with crypto. +Users give up custody of their assets with the expectation that the people managing them are experts in security and best practise. +It remains to be seen how the attacker managed to gain access to the wallets in question. +Hopefully it wasn’t another basic OPSEC error such as granting unlimited approvals to an EOA, as in Celsius’ case. +These are understandable mistakes when it comes to individuals and smaller balances. But at this level it’s hard to forgive, especially when CeFi represents the corrupt legacy financial system cashing in on the innovation of DeFi. +A Cayman-registered corporation has lost close to $200M. Their communications team first denied and then downplayed the losses. All this while freezing withdrawals until out of the news cycle, when the fear of a “bank run” has subsided. +Do these middlemen deserve to take a profit? +And if they insist on doing so, will BitMart at least commit to refunding their users? +If you enjoy our work, please consider donating to our +Gitcoin Grant + + + Detailed history in https://rekt.news/bitmart-rekt + \ No newline at end of file diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].txt b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].txt new file mode 100644 index 00000000000..a79ba238f48 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[cryptocom-rekt].txt @@ -0,0 +1,69 @@ + + Crypto.com - REKT + Wednesday, January 19, 2022 + + + +It’s worse than we thought. +After our initial investigation, +ErgoBTC uncovered even more lost funds from Crypto.com. +Another 444 BTC: ~$18.7M. +That brings the total value lost up to $33.7M, and moves Crypto.com up to position 15 on the leaderboard. +And still no acknowledgement of any loss from Crypto.com. +“All funds safe” ??? +They’re lying to you. +ErgoBTC investigates… +We noted this abnormally large withdrawal from @cryptocom's payout wallet +bc1q7cyrfmck2ffu2ud3rn5l5a8yv6f0chkp0zpemf via +06f7b6adac715ea7f30e2f23f52b3dfeed53... +Shortly after, several hundred withdrawals are consolidated into 4 outputs for 67.75 BTC. +The 271 BTC then make a series 24 or 25 BTC deposits to a well known BTC tumbler. 173 BTC at address +bc1qk8wlwypvvr6v5lmsngg5a248k2a9cgrsrw5jsq is likely associated with the hack, has not yet been sent to the tumbler. +This tumbler has been commonly used in hacks attributed to the DPRK Lazarus Group and more recently in the attempted laundering of BTC from to this summer's Darkside ransomware activity. +These findings double the damage from our initial investigation, and increase the pressure on Crypto.com to come clean about what happened. +At least the +CEO is happy… +Crypto.com should stop +shitposting and tell their users where their money has gone. +Our original article continues below. + + +Another CEX rekt, but they have yet to admit it. +The first message from crypto.com about the attack was at Jan-17-2022 04:44 AM UTC, stating that: +”We have a small number of users reporting suspicious activity on their accounts. +We will be pausing withdrawals shortly, as our team is investigating. +All funds are safe. +” +~8 hours later, at 12:17, Crypto.com doubled down on their statements, with +a tweet that said: +”Earlier today a small number of users experienced unauthorized activity in their accounts. +All funds are safe. +” +Later that day, at 18:44 +UTC, hundreds of users crypto.com wallets were drained. Funds were not safe. +How did the attacker bypass users 2FA, and their email withdrawal approvals? +If, as CEO +@Kris_HK also claimed +“all funds are safe” +Why are +so +many +users claiming to have lost their ETH? +Peckshield suggests that the total loss is about $15M, with at least +4.6K ETH taken directly from hundreds of different users wallets. +Certik wrote that: +The total loss is around 4,836 ETH and 282 users' wallets have been affected by the hack. +The stolen ETH was sent to Tornado Cash and the address has been inactive since Jan-18-2022 01:21:13 AM +UTC. +The hacker bypassed existing 2FA, they bypassed the withdrawal whitelist, could this attack really have come from outside? +Even a +"SOC2" audit from Deloitte couldn't stop this attack, which gives Crypto.com position 29 on +the leaderboard. + +When one of the most recognisable crypto brands falls victim to an exploit, it damages the reputation of the entire industry. Centralised exchanges rely on retail investors, who will be easily put off by events such as this. +Will crypto.com ever admit that funds were not safe? +Surely a $15M recompensation plan is better than trying to pretend that nothing happened. +Or maybe they will quietly refund the affected users, rather than announce anything official. +We await the official post-mortem from crypto.com. + + + Detailed history in https://rekt.news/cryptocom-rekt + \ No newline at end of file diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].txt b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].txt new file mode 100644 index 00000000000..48d9ca1dcde --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_model/test_get_crypto_hack[polynetwork-rekt].txt @@ -0,0 +1,173 @@ + + Poly Network - REKT + Wednesday, August 11, 2021 + + This is it rekt readers; the big one. +$611 million dollars stolen. +That’s more than the +Mt Gox hack. + More than the GDP of several small countries. More than the entire rekt.news leaderboard added together. +The biggest cryptocurrency hack... +ever. + +Poly Network = rekt. +But how? +Credit: +breadcrumbs.app, +slowmist, +blocksec +Attacker ETH: +0xc8a65fadf0e0ddaf421f28feab69bf6e2e589963 +Attacker BSC: +0x0D6e286A7cfD25E0c01fEe9756765D8033B32C71 +This was not the usual smart contract flash loan / arbitrage affair. +The hacker exploited the Proxy Lock Contracts of Poly Network on three different chains. +Ethereum: +0x250e76987d838a75310c34bf422ea9f1ac4cc906 +BSC: +0x05f0fDD0E49A5225011fff92aD85cC68e1D1F08e +Polygon: +0x28FF66a1B95d7CAcf8eDED2e658f768F44841212 +Credit: +@kelvinfichter +"Poly has a contract called the " +EthCrossChainManager +". It's a privileged contract that has the right to trigger messages from another chain. It's a standard thing for cross-chain projects. +It has a function named +verifyHeaderAndExecuteTx that anyone can call to execute a cross-chain transaction. +It (1) verifies that the block header is correct by checking signatures (seems the other chain was a poa sidechain or) and then (2) checks that the transaction was included within that block with a Merkle proof. +Here's the code. +One of the last things the function does is call +executeCrossChainTx, which makes the call to the target contract. This is where the critical flaw sits. +Poly checks that the target is a contract, but they forgot to prevent users from calling a very important target... the +EthCrossChainData contract +By sending this cross-chain message, the user could trick the +EthCrossChainManager into calling the +EthCrossChainData contract, passing the +onlyOwner check. Now the user just had to craft the right data to be able to trigger the function that changes the public keys… +The only remaining challenge was to figure out how to make the +EthCrossChainManager call the right function. Now comes a little bit of complexity around how Solidity picks which function you're trying to call. +The first four bytes of transaction input data is called the "signature hash" or "sighash" for short. It's a short piece of information that tells a Solidity contract what you're trying to do. +The sighash of a function is calculated by taking the first four bytes of the hash of " + +( + +)". For example, the sighash of the ERC20 transfer function is the first four bytes of the hash of "transfer(address,uint256)". +Poly's contract was willing to call any contract. However, it would only call the contract function that corresponded to the following sighash: +Errr but wait... +"_method" here was user input. All the attacker had to do to call the right function was figure out +some value for " +_method +" that, when combined with those other values and hashed, had the same leading four bytes as the sighash of our target function. +With just a little bit of grinding, you can easily find some input that produces the right sighash. You don't need to find a full hash collision, you're only checking the first four bytes. So is this theory correct? +Well... here's the actual sighash of the target function: +http://ethers.utils.id ('putCurEpochConPubKeyBytes(bytes)').slice(0, 10) +'0x41973cd9' +And the sighash that the attacker crafted... +http://ethers.utils.id ('f1121318093(bytes,bytes,uint64)').slice(0, 10) +'0x41973cd9' +Fantastic. No private key compromise required! Just craft the right data and boom... the contract will just hack itself! +One of the biggest design lessons that people need to take away from this is: if you have cross-chain relay contracts like this, +MAKE SURE THAT THEY CAN'T BE USED TO CALL SPECIAL CONTRACTS. The +EthCrossDomainManager shouldn't have owned the +EthCrossDomainData contract. +Separate concerns. If your contract absolutely needs to have special privileges like this, make sure that users can't use cross-chain messages to call those special contracts." +On the Ethereum blockchain, the hacker stole +USDC - 96,389,444 +WBTC - 1,032 +DAI - 673,227 +UNI - 43,023 +SHIBA - 259,737,345,149 +renBTC +- 14.47 +USDT - 33,431,197 +wETH - 26,109 +FEI USD - 616,082 +On BSC, the hacker stole: +BNB - 6,613.44 +USDC - 87,603,373 +ETH - 299 +BTCB - 26,629 +BUSD - 1,023 +On the Polygon blockchain, the hacker stole: +USDC - 85,089,610 +TOTAL VALUE LOST - ~$611,000,000 +At the time of writing, the stolen funds are located in the following wallets: +ETH: +0xC8a65Fadf0e0dDAf421F28FEAb69Bf6E2E589963 +BSC: +0x0D6e286A7cfD25E0c01fEe9756765D8033B32C71 +Polygon: +0x5dc3603C9D42Ff184153a8a9094a73d461663214 +DeFi storylines are rarely straightforward, and this one is no exception. +Even anonymous actors adore attention. +Shortly after the exploit, an unexpected protagonist appeared, going by the name of +hanashiro.eth. +hanashiro.eth first gained attention when they +sent the hacker a tip about how to handle USDT, for which they +received 13.37 Ether from the hacker as a reward. +Many others sent messages to the hacker afterwards, but none were quite as successful as hanashiro.eth. +With a truly crypto native level of philanthropic showmanship, hanashiro.eth went on to donate their stolen money to a few of the foundational organisations which support our industry, such as Infura, Etherscan, and +rekt.news. + +But not all of the funds were so freely accessible. +Tether froze all of the 33M USDT that were stolen on the Ethereum chain. +Their coin - their choice… A fact worth remembering if you use USDT. +By this point the shit had really hit the fan; and all eyes were on +Poly Network, who resorted to posting an open letter to the attacker begging them to return the funds. +A single tweet asking a criminal to return six hundred million dollars... Maybe Gensler was right when he said we are in the +“Wild West” phase of cryptocurrency. +Consider the mindset of the attacker at this point in the story. Which do you think they felt more; euphoria, or terror? +Stealing 600 million dollars whilst sat at your computer must be a surreal experience. +The experience of then trying to launder that money must be equally intense. +Aside from JPEGS, tornado.cash would be the obvious starting point, and that’s exactly where our hacker went. +They +sent themself a transaction containing the message; +Wonder why Tornado? Will miners stop me? Teach me please +Was that psyops or stupidity? In crypto it’s never quite clear... +On the run with 600 million, and broadcasting messages to an audience of thousands. +The hacker was growing too confident. +When +@WardBradt tweeted the following; +Did the PolyNetwork Exploiter accidentally use the wrong sender address for this tx +0xb12681d9e +? The sender address is tied to FTX, Binance, Okex accounts. +Suddenly the attacker's attitude changed. +Surely a hacker who feels confident enough to attempt an attack of this scale wouldn’t make such a basic OPSEC error? Or maybe they used fake KYC documents… +Either way, we began to see signs of fear from the attacker. +The hacker +began to suggest that they might return +"some tokens" or even abandon them, saying that they were +"not so interested in the money". +Then the hacker considered the idea of creating a DAO to distribute the stolen funds. +Finally, the pressure became too much, and the hacker announced that they were +“READY TO SURRENDER” +In an unexpected and unprecedented move, the attacker is now returning the funds to Poly Network. +They announced that they were +"READY TO RETURN THE FUNDS!" in an Ethereum transaction that was sent from the same wallet used for the attack. +Before sending the first return transaction, the hacker created a token called "The hacker is ready to surrender" and sent this token to Poly Network who announced that they had set up a +multisig controlled by ‘’known Poly addresses’’. + +A summary of the hackers' communication with Poly Network can be found here. +At the time of writing, the hacker has returned the following: +On the Ethereum blockchain: +$2.6M +On the BSC: +$1.1M +On the Polygon blockchain: +$1M +Will the hacker continue to return the funds, or is this just another stunt? +Can they really just return the money and be forgiven? +Poly Network. 611 million. +And you thought you knew all the big protocols in DeFi. +This industry has grown bigger than our echo chamber can handle. +This may be the first, but it won’t be the last hack of this size that we will see over the coming years. Yet the market seems unfazed, and rightly so. +For +better or for +worse, crypto will make the news, and the +world will have to take notice as our industry becomes the norm. +This is just another inevitable part of the progress. + + + Detailed history in https://rekt.news/polynetwork-rekt + \ No newline at end of file diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hack.txt b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hack.txt new file mode 100644 index 00000000000..bd56946b8e8 --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hack.txt @@ -0,0 +1,74 @@ + + BitMart - REKT + Sunday, December 5, 2021 + + Is CeFi any safer than DeFi? +BitMart, the self-proclaimed “ +Most Trusted Crypto Trading Platform +”, has lost ~$196M from two of its hot wallets on Ethereum and BSC. +The stolen assets +(mostly memecoins) total ~$100M on Ethereum and ~$96M on BSC. +As news began to +circulate, BitMart Telegram admins dismissed rumours as “ +fake news +”, while stating that requests about the possible hack were creating “ +unnecessary tension +”. +Eventually, BitMart CEO Sheldon Xia +announced that the withdrawals had in fact been down to a “ +security breach +”, going on to inform users that “ +At this moment we are temporarily suspending withdrawals until further notice. +” +However, Xia put the total loss at $150M, despite the fact that total losses were already known to be +~$196M, a figure that BitMart continues to use in its official +statement. + +CEXs are supposed to provide their users with trust. +Just two days ago, +Celsius also +lost $50M from a hot wallet in the +BadgerDAO front-end attack, also +downplaying the loss. +With this latest “ +security breach +” sending BitMart straight to number 2 on our +leaderboard, one obvious question springs to mind. +If CeFi isn’t any safer, why use it? +The attack began on Ethereum with +this transaction at 21:31:09 +UTC for ~$33M of SHIB, commencing on BSC around half an hour +later with ~$41M SAFEMOON. +On Ethereum, the affected wallet, labelled +Bitmart 2, was drained of the majority of its contents. The only substantial remaining asset balance is ~$40M of BitMart’s own +token, presumably because of the difficulty unloading it outside of the exchange. +The affected wallet on BSC: +0x8c128dba2cb66399341aa877315be1054be75da8 +Breakdown of losses by token on Ethereum (~$100M). +Breakdown of losses by token on BSC (~$96M). +The hacker transferred BitMart user funds from the hot wallets to the following addresses: +Ethereum 1: +0x39fb0dcd13945b835d47410ae0de7181d3edf270 +Ethereum 2: +0x4bb7d80282f5e0616705d7f832acfc59f89f7091 +BSC: +0x25fb126b6c6b5c8ef732b86822fa0f0024e16c61 +From there, the various memecoins were swapped via 1inch to ETH and BNB before being washed via TornadoCash. +BitMart is still investigating what caused the security breach, and has yet to comment on any reimbursement for affected users. +The +Security section of their website states that <0.5% of their assets are kept in hot wallets. +This puts BitMart’s total assets at over $39 billion… +If that figure is really true, then a full refund for affected users should be no problem. +Centralised platforms exist as a trusted go-between for those who may have reservations about interacting directly with crypto. +Users give up custody of their assets with the expectation that the people managing them are experts in security and best practise. +It remains to be seen how the attacker managed to gain access to the wallets in question. +Hopefully it wasn’t another basic OPSEC error such as granting unlimited approvals to an EOA, as in Celsius’ case. +These are understandable mistakes when it comes to individuals and smaller balances. But at this level it’s hard to forgive, especially when CeFi represents the corrupt legacy financial system cashing in on the innovation of DeFi. +A Cayman-registered corporation has lost close to $200M. Their communications team first denied and then downplayed the losses. All this while freezing withdrawals until out of the news cycle, when the fear of a “bank run” has subsided. +Do these middlemen deserve to take a profit? +And if they insist on doing so, will BitMart at least commit to refunding their users? +If you enjoy our work, please consider donating to our +Gitcoin Grant + + + Detailed history in https://rekt.news/bitmart-rekt + diff --git a/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hacks.txt b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hacks.txt new file mode 100644 index 00000000000..bd79ff124ea --- /dev/null +++ b/tests/gamestonk_terminal/cryptocurrency/overview/txt/test_rekt_view/test_get_crypto_hacks.txt @@ -0,0 +1,12 @@ + Platform Date Amount [$] Audit Slug URL +0 Poly Network - REKT 2021-08-10 611 M Unaudited polynetwork-rekt https://rekt.news/polynetwork-rekt/ +1 BitMart - REKT 2021-12-04 196 M N/A bitmart-rekt https://rekt.news/bitmart-rekt/ +2 Compound - REKT 2021-09-29 147 M Unaudited compound-rekt https://rekt.news/compound-rekt/ +3 Vulcan Forged - REKT 2021-12-13 140 M Unaudited vulcan-forged-rekt https://rekt.news/vulcan-forged-rekt/ +4 Cream Finance - REKT 2 2021-10-27 130 M Unaudited cream-rekt-2 https://rekt.news/cream-rekt-2/ +5 Badger - REKT 2021-12-02 120 M Unaudited badger-rekt https://rekt.news/badger-rekt/ +6 Ascendex - REKT 2021-12-12 77.700 M Unaudited ascendex-rekt https://rekt.news/ascendex-rekt/ +7 EasyFi - REKT 2021-04-19 59 M Unaudited easyfi-rekt https://rekt.news/easyfi-rekt/ +8 Uranium Finance - REKT 2021-04-28 57.200 M Unaudited uranium-rekt https://rekt.news/uranium-rekt/ +9 bZx - REKT 2021-11-05 55 M Unaudited bzx-rekt https://rekt.news/bzx-rekt/ + diff --git a/website/content/cryptocurrency/overview/ch/_index.md b/website/content/cryptocurrency/overview/ch/_index.md new file mode 100644 index 00000000000..be3aafd4ef5 --- /dev/null +++ b/website/content/cryptocurrency/overview/ch/_index.md @@ -0,0 +1,18 @@ +``` +usage: ch [-l N] [-s {Platform,Date,Amount [$],Audit,Slug,URL}] [--descend] [-h] [--export {csv,json,xlsx}] + +Display list of major crypto-related hacks [Source: https://rekt.news] +Can be sorted by {Platform,Date,Amount [$],Audit,Slug,URL} with --sort and reverse the display order with --descend +Show only N elements with --limit N +Accepts --slug or -s to check individual crypto hack (e.g., -s polynetwork-rekt) + +optional arguments: + -s SLUG, --slug SLUG Rekt news slug to check (e.g., polynetwork-rekt) + -l N, --limit N display N number records (default: 15) + --sort {Platform,Date,Amount [$],Audit,Slug,URL} + Sort by given column. Default: Amount [$] + --descend Flag to sort in descending order (lowest first) (default: False) + -h, --help show this help message (default: False) + --export {csv,json,xlsx} + Export raw data into csv, json, xlsx (default: ) +``` diff --git a/website/data/menu/main.yml b/website/data/menu/main.yml index f3521b57023..d25e49ea95b 100755 --- a/website/data/menu/main.yml +++ b/website/data/menu/main.yml @@ -666,6 +666,8 @@ main: - name: overview ref: "/cryptocurrency/overview" sub: + - name: ch + ref: "/cryptocurrency/overview/ch" - name: btcrb ref: "/cryptocurrency/overview/btcrb" - name: cgglobal