"""Constants used throughout the Self MCP server.
This module contains all the constant values used across the Self MCP server,
including country codes, configuration limits, and default values.
"""
# Country code mappings (ISO 3166-1 alpha-3)
# Maps 3-letter country codes to their full names
COUNTRY_CODES = {
"USA": "United States",
"GBR": "United Kingdom",
"CAN": "Canada",
"AUS": "Australia",
"NZL": "New Zealand",
"IRN": "Iran",
"PRK": "North Korea",
"CUB": "Cuba",
"SYR": "Syria",
"RUS": "Russia",
"CHN": "China",
"IND": "India",
"JPN": "Japan",
"KOR": "South Korea",
"DEU": "Germany",
"FRA": "France",
"ITA": "Italy",
"ESP": "Spain",
"BRA": "Brazil",
"ARG": "Argentina",
"MEX": "Mexico",
# Extended country list
"AFG": "Afghanistan",
"ALB": "Albania",
"DZA": "Algeria",
"AND": "Andorra",
"AGO": "Angola",
"ATG": "Antigua and Barbuda",
"ARM": "Armenia",
"AUT": "Austria",
"AZE": "Azerbaijan",
"BHS": "Bahamas",
"BHR": "Bahrain",
"BGD": "Bangladesh",
"BRB": "Barbados",
"BLR": "Belarus",
"BEL": "Belgium",
"BLZ": "Belize",
"BEN": "Benin",
"BTN": "Bhutan",
"BOL": "Bolivia",
"BIH": "Bosnia and Herzegovina",
"BWA": "Botswana",
"BRN": "Brunei",
"BGR": "Bulgaria",
"BFA": "Burkina Faso",
"BDI": "Burundi",
"CPV": "Cabo Verde",
"KHM": "Cambodia",
"CMR": "Cameroon",
"CAF": "Central African Republic",
"TCD": "Chad",
"CHL": "Chile",
"COL": "Colombia",
"COM": "Comoros",
"COG": "Congo",
"CRI": "Costa Rica",
"HRV": "Croatia",
"CYP": "Cyprus",
"CZE": "Czech Republic",
"DNK": "Denmark",
"DJI": "Djibouti",
"DMA": "Dominica",
"DOM": "Dominican Republic",
"ECU": "Ecuador",
"EGY": "Egypt",
"SLV": "El Salvador",
"GNQ": "Equatorial Guinea",
"ERI": "Eritrea",
"EST": "Estonia",
"SWZ": "Eswatini",
"ETH": "Ethiopia",
"FJI": "Fiji",
"FIN": "Finland",
"GAB": "Gabon",
"GMB": "Gambia",
"GEO": "Georgia",
"GHA": "Ghana",
"GRC": "Greece",
"GRD": "Grenada",
"GTM": "Guatemala",
"GIN": "Guinea",
"GNB": "Guinea-Bissau",
"GUY": "Guyana",
"HTI": "Haiti",
"HND": "Honduras",
"HUN": "Hungary",
"ISL": "Iceland",
"IDN": "Indonesia",
"IRQ": "Iraq",
"IRL": "Ireland",
"ISR": "Israel",
"JAM": "Jamaica",
"JOR": "Jordan",
"KAZ": "Kazakhstan",
"KEN": "Kenya",
"KIR": "Kiribati",
"KWT": "Kuwait",
"KGZ": "Kyrgyzstan",
"LAO": "Laos",
"LVA": "Latvia",
"LBN": "Lebanon",
"LSO": "Lesotho",
"LBR": "Liberia",
"LBY": "Libya",
"LIE": "Liechtenstein",
"LTU": "Lithuania",
"LUX": "Luxembourg",
"MDG": "Madagascar",
"MWI": "Malawi",
"MYS": "Malaysia",
"MDV": "Maldives",
"MLI": "Mali",
"MLT": "Malta",
"MHL": "Marshall Islands",
"MRT": "Mauritania",
"MUS": "Mauritius",
"FSM": "Micronesia",
"MDA": "Moldova",
"MCO": "Monaco",
"MNG": "Mongolia",
"MNE": "Montenegro",
"MAR": "Morocco",
"MOZ": "Mozambique",
"MMR": "Myanmar",
"NAM": "Namibia",
"NRU": "Nauru",
"NPL": "Nepal",
"NLD": "Netherlands",
"NIC": "Nicaragua",
"NER": "Niger",
"NGA": "Nigeria",
"MKD": "North Macedonia",
"NOR": "Norway",
"OMN": "Oman",
"PAK": "Pakistan",
"PLW": "Palau",
"PSE": "Palestine",
"PAN": "Panama",
"PNG": "Papua New Guinea",
"PRY": "Paraguay",
"PER": "Peru",
"PHL": "Philippines",
"POL": "Poland",
"PRT": "Portugal",
"QAT": "Qatar",
"ROU": "Romania",
"RWA": "Rwanda",
"KNA": "Saint Kitts and Nevis",
"LCA": "Saint Lucia",
"VCT": "Saint Vincent and the Grenadines",
"WSM": "Samoa",
"SMR": "San Marino",
"STP": "Sao Tome and Principe",
"SAU": "Saudi Arabia",
"SEN": "Senegal",
"SRB": "Serbia",
"SYC": "Seychelles",
"SLE": "Sierra Leone",
"SGP": "Singapore",
"SVK": "Slovakia",
"SVN": "Slovenia",
"SLB": "Solomon Islands",
"SOM": "Somalia",
"ZAF": "South Africa",
"SSD": "South Sudan",
"LKA": "Sri Lanka",
"SDN": "Sudan",
"SUR": "Suriname",
"SWE": "Sweden",
"CHE": "Switzerland",
"TWN": "Taiwan",
"TJK": "Tajikistan",
"TZA": "Tanzania",
"THA": "Thailand",
"TLS": "Timor-Leste",
"TGO": "Togo",
"TON": "Tonga",
"TTO": "Trinidad and Tobago",
"TUN": "Tunisia",
"TUR": "Turkey",
"TKM": "Turkmenistan",
"TUV": "Tuvalu",
"UGA": "Uganda",
"UKR": "Ukraine",
"ARE": "United Arab Emirates",
"URY": "Uruguay",
"UZB": "Uzbekistan",
"VUT": "Vanuatu",
"VAT": "Vatican City",
"VEN": "Venezuela",
"VNM": "Vietnam",
"YEM": "Yemen",
"ZMB": "Zambia",
"ZWE": "Zimbabwe",
}
# Configuration constants for Self protocol
MAX_COUNTRIES_LENGTH = 40 # Maximum number of countries that can be excluded
BYTES_PER_UINT256 = 30 # Number of bytes that fit in a uint256 for country packing
COUNTRIES_PER_UINT256 = 10 # Number of 3-letter country codes per uint256
COUNTRY_CODE_LENGTH = 3 # Length of ISO 3166-1 alpha-3 country codes
# Age validation constants
MIN_AGE = 0 # Minimum allowed age for verification
MAX_AGE = 150 # Maximum allowed age for verification
# OFAC (Office of Foreign Assets Control) settings
# [basic, enhanced, comprehensive] OFAC check levels
DEFAULT_OFAC_SETTINGS = [False, False, False]