Grifter Stats

[3]:
"""
Update Parameters Here
"""
FILE = "Quaks"
GRIFTER_ADDRESS = "0x111c26a02ca4050684d4083d72e2a7c1dcba853f"
TOKEN_COL = "TOKEN_ID"
TOP_N = 150
[4]:
"""
@author: mdigi14
"""

import pandas as pd
import math

from honestnft_utils import config


RARITY_PATH = f"{config.RARITY_FOLDER}/{FILE}_raritytools.csv"
MINT_PATH = f"{config.MINTING_FOLDER}/{FILE}_minting.csv"


"""
Generate Report
"""

RARITY_DB = pd.read_csv(RARITY_PATH)
RARITY_DB = RARITY_DB[RARITY_DB[TOKEN_COL].duplicated() == False]

LOWER_BOUND = 0
UPPER_BOUND = int(math.ceil(max(RARITY_DB[TOKEN_COL] / 100.0)) * 100)


MINT_DB = pd.read_csv(MINT_PATH)
MINT_DB = MINT_DB[MINT_DB["to_account"] == GRIFTER_ADDRESS]
RARE_MINT_DB = MINT_DB[MINT_DB["rank"] < TOP_N]


ALT_DB = RARITY_DB[RARITY_DB[TOKEN_COL] > LOWER_BOUND]
ALT_DB = ALT_DB[ALT_DB[TOKEN_COL] < UPPER_BOUND]
RARE_DB = ALT_DB[ALT_DB["Rank"] < TOP_N]

rare_tokens_in_range = len(RARE_DB)

tokens_minted_by_grifter = len(list(MINT_DB[TOKEN_COL]))
rare_tokens_minted_by_grifter = len(RARE_MINT_DB)

grifter_mint_share = tokens_minted_by_grifter / (UPPER_BOUND - LOWER_BOUND)
grifter_rare_mint_share = rare_tokens_minted_by_grifter / rare_tokens_in_range

print("Project: ", FILE)
print("Grifter: ", GRIFTER_ADDRESS)
print("\n")

print("Total tokens in range: ", UPPER_BOUND - LOWER_BOUND)
print("Total rares in range: ", rare_tokens_in_range)
print("\n")

print("Total tokens minted by grifter: ", tokens_minted_by_grifter)
print("Rare tokens minted by grifter: ", rare_tokens_minted_by_grifter)
print("\n")

print("Rare tokens minted by grifter (by ID): ", list(RARE_MINT_DB[TOKEN_COL]))
print("\n")

print(
    "Percentage of tokens in range minted by grifter: ",
    "{:.2%}".format(grifter_mint_share),
)
print(
    "Percentage of rare tokens in range minted by grifter: ",
    "{:.2%}".format(grifter_rare_mint_share),
)
print(
    "Multiple of rare token pct vs total token pct: ",
    round(grifter_rare_mint_share / grifter_mint_share),
)
Project:  Quaks
Grifter:  0x111c26a02ca4050684d4083d72e2a7c1dcba853f


Total tokens in range:  6000
Total rares in range:  149


Total tokens minted by grifter:  5
Rare tokens minted by grifter:  0


Rare tokens minted by grifter (by ID):  []


Percentage of tokens in range minted by grifter:  0.08%
Percentage of rare tokens in range minted by grifter:  0.00%
Multiple of rare token pct vs total token pct:  0