From 67fce6f06acad25c234c112a94f19d2fba4065e3 Mon Sep 17 00:00:00 2001 From: hdbg Date: Mon, 2 Mar 2026 22:02:06 +0100 Subject: [PATCH] feat(server::evm): more criterion types --- mise.lock | 9 + mise.toml | 1 + scripts/gen_erc20_registry.py | 150 + server/Cargo.lock | 8 + server/Cargo.toml | 5 +- server/crates/arbiter-server/Cargo.toml | 1 + .../2026-02-14-171124-0000_init/up.sql | 142 +- .../src/actors/keyholder/mod.rs | 3 +- server/crates/arbiter-server/src/db/models.rs | 197 +- server/crates/arbiter-server/src/db/schema.rs | 105 +- server/crates/arbiter-server/src/evm/abi.rs | 84 + server/crates/arbiter-server/src/evm/mod.rs | 5 +- .../crates/arbiter-server/src/evm/policies.rs | 101 +- .../src/evm/policies/ether_transfer.rs | 201 +- .../src/evm/policies/token_transfers.rs | 291 + server/crates/arbiter-server/src/evm/utils.rs | 17 + .../crates/arbiter-tokens-registry/Cargo.toml | 7 + .../arbiter-tokens-registry/src/evm/mod.rs | 1 + .../src/evm/nonfungible.rs | 13 + .../arbiter-tokens-registry/src/evm/tokens.rs | 13248 ++++++++++++++++ .../crates/arbiter-tokens-registry/src/lib.rs | 1 + 21 files changed, 14105 insertions(+), 485 deletions(-) create mode 100644 scripts/gen_erc20_registry.py create mode 100644 server/crates/arbiter-server/src/evm/abi.rs create mode 100644 server/crates/arbiter-server/src/evm/policies/token_transfers.rs create mode 100644 server/crates/arbiter-tokens-registry/Cargo.toml create mode 100644 server/crates/arbiter-tokens-registry/src/evm/mod.rs create mode 100644 server/crates/arbiter-tokens-registry/src/evm/nonfungible.rs create mode 100644 server/crates/arbiter-tokens-registry/src/evm/tokens.rs create mode 100644 server/crates/arbiter-tokens-registry/src/lib.rs diff --git a/mise.lock b/mise.lock index 847643a..f3fc6ba 100644 --- a/mise.lock +++ b/mise.lock @@ -55,6 +55,15 @@ backend = "aqua:protocolbuffers/protobuf/protoc" "platforms.macos-x64" = { checksum = "sha256:312f04713946921cc0187ef34df80241ddca1bab6f564c636885fd2cc90d3f88", url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.6/protoc-29.6-osx-x86_64.zip"} "platforms.windows-x64" = { checksum = "sha256:1ebd7c87baffb9f1c47169b640872bf5fb1e4408079c691af527be9561d8f6f7", url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.6/protoc-29.6-win64.zip"} +[[tools.python]] +version = "3.14.3" +backend = "core:python" +"platforms.linux-arm64" = { checksum = "sha256:be0f4dc2932f762292b27d46ea7d3e8e66ddf3969a5eb0254a229015ed402625", url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260303/cpython-3.14.3+20260303-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz"} +"platforms.linux-x64" = { checksum = "sha256:0a73413f89efd417871876c9accaab28a9d1e3cd6358fbfff171a38ec99302f0", url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260303/cpython-3.14.3+20260303-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz"} +"platforms.macos-arm64" = { checksum = "sha256:4703cdf18b26798fde7b49b6b66149674c25f97127be6a10dbcf29309bdcdcdb", url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260303/cpython-3.14.3+20260303-aarch64-apple-darwin-install_only_stripped.tar.gz"} +"platforms.macos-x64" = { checksum = "sha256:76f1cc26e3d262eae8ca546a93e8bded10cf0323613f7e246fea2e10a8115eb7", url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260303/cpython-3.14.3+20260303-x86_64-apple-darwin-install_only_stripped.tar.gz"} +"platforms.windows-x64" = { checksum = "sha256:950c5f21a015c1bdd1337f233456df2470fab71e4d794407d27a84cb8b9909a0", url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260303/cpython-3.14.3+20260303-x86_64-pc-windows-msvc-install_only_stripped.tar.gz"} + [[tools.rust]] version = "1.93.0" backend = "core:rust" diff --git a/mise.toml b/mise.toml index 888f9df..1860773 100644 --- a/mise.toml +++ b/mise.toml @@ -9,3 +9,4 @@ protoc = "29.6" "cargo:cargo-nextest" = "0.9.126" "cargo:cargo-shear" = "latest" "cargo:cargo-insta" = "1.46.3" +python = "3.14.3" diff --git a/scripts/gen_erc20_registry.py b/scripts/gen_erc20_registry.py new file mode 100644 index 0000000..97c814e --- /dev/null +++ b/scripts/gen_erc20_registry.py @@ -0,0 +1,150 @@ +#!/usr/bin/env python3 +""" +Fetch the Uniswap default token list and emit Rust `TokenInfo` statics. + +Usage: + python3 gen_erc20_registry.py # fetch from IPFS + python3 gen_erc20_registry.py tokens.json # local file + python3 gen_erc20_registry.py tokens.json out.rs # custom output file +""" + +import json +import re +import sys +import unicodedata +import urllib.request + +UNISWAP_URL = "https://ipfs.io/ipns/tokens.uniswap.org" + +SOLANA_CHAIN_ID = 501000101 +IDENTIFIER_RE = re.compile(r"[^A-Za-z0-9]+") + + +def load_tokens(source=None): + if source: + with open(source) as f: + return json.load(f) + req = urllib.request.Request( + UNISWAP_URL, + headers={"Accept": "application/json", "User-Agent": "gen_tokens/1.0"}, + ) + with urllib.request.urlopen(req, timeout=60) as resp: + return json.loads(resp.read()) + + +def escape(s: str) -> str: + return s.replace("\\", "\\\\").replace('"', '\\"') + + +def to_screaming_case(name: str) -> str: + normalized = unicodedata.normalize("NFKD", name or "") + ascii_name = normalized.encode("ascii", "ignore").decode("ascii") + snake = IDENTIFIER_RE.sub("_", ascii_name).strip("_").upper() + if not snake: + snake = "TOKEN" + if snake[0].isdigit(): + snake = f"TOKEN_{snake}" + return snake + + +def static_name_for_token(token: dict, used_names: set[str]) -> str: + base = to_screaming_case(token.get("name", "")) + if base not in used_names: + used_names.add(base) + return base + + address = token["address"] + suffix = f"{token['chainId']}_{address[2:].upper()[-8:]}" + candidate = f"{base}_{suffix}" + + i = 2 + while candidate in used_names: + candidate = f"{base}_{suffix}_{i}" + i += 1 + + used_names.add(candidate) + return candidate + + +def main(): + source = sys.argv[1] if len(sys.argv) > 1 else None + output = sys.argv[2] if len(sys.argv) > 2 else "generated_tokens.rs" + data = load_tokens(source) + tokens = data["tokens"] + + # Deduplicate by (chainId, address) + seen = set() + unique = [] + for t in tokens: + key = (t["chainId"], t["address"].lower()) + if key not in seen: + seen.add(key) + unique.append(t) + + unique.sort(key=lambda t: (t["chainId"], t.get("symbol", "").upper())) + evm_tokens = [t for t in unique if t["chainId"] != SOLANA_CHAIN_ID] + + ver = data["version"] + lines = [] + w = lines.append + + w( + f"// Auto-generated from Uniswap token list v{ver['major']}.{ver['minor']}.{ver['patch']}" + ) + w(f"// {len(evm_tokens)} tokens") + w("// DO NOT EDIT - regenerate with gen_erc20_registry.py") + w("") + + used_static_names = set() + token_statics = [] + for t in evm_tokens: + static_name = static_name_for_token(t, used_static_names) + token_statics.append((static_name, t)) + + for static_name, t in token_statics: + addr = t["address"] + name = escape(t.get("name", "")) + symbol = escape(t.get("symbol", "")) + decimals = t.get("decimals", 18) + logo = t.get("logoURI") + chain = t["chainId"] + + logo_val = f'Some("{escape(logo)}")' if logo else "None" + + w(f"pub static {static_name}: TokenInfo = TokenInfo {{") + w(f' name: "{name}",') + w(f' symbol: "{symbol}",') + w(f" decimals: {decimals},") + w(f' contract: address!("{addr}"),') + w(f" chain: {chain},") + w(f" logo_uri: {logo_val},") + w("};") + w("") + + w("pub static TOKENS: &[&TokenInfo] = &[") + for static_name, _ in token_statics: + w(f" &{static_name},") + w("];") + w("") + w("pub fn get_token(") + w(" chain_id: alloy::primitives::ChainId,") + w(" address: alloy::primitives::Address,") + w(") -> Option<&'static TokenInfo> {") + w(" match (chain_id, address) {") + for static_name, t in token_statics: + w( + f' ({t["chainId"]}, addr) if addr == address!("{t["address"]}") => Some(&{static_name}),' + ) + w(" _ => None,") + w(" }") + w("}") + w("") + + with open(output, "w") as f: + f.write("\n".join(lines)) + + print(f"Wrote {len(token_statics)} tokens to {output}") + + +if __name__ == "__main__": + main() diff --git a/server/Cargo.lock b/server/Cargo.lock index 97c6f44..e13fa32 100644 --- a/server/Cargo.lock +++ b/server/Cargo.lock @@ -710,6 +710,7 @@ version = "0.1.0" dependencies = [ "alloy", "arbiter-proto", + "arbiter-tokens-registry", "argon2", "async-trait", "chacha20poly1305", @@ -744,6 +745,13 @@ dependencies = [ "zeroize", ] +[[package]] +name = "arbiter-tokens-registry" +version = "0.1.0" +dependencies = [ + "alloy", +] + [[package]] name = "arbiter-useragent" version = "0.1.0" diff --git a/server/Cargo.toml b/server/Cargo.toml index 618d2de..cd97da5 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,9 +1,6 @@ [workspace] members = [ - "crates/arbiter-client", - "crates/arbiter-proto", - "crates/arbiter-server", - "crates/arbiter-useragent", + "crates/*", ] resolver = "3" diff --git a/server/crates/arbiter-server/Cargo.toml b/server/crates/arbiter-server/Cargo.toml index 8fe03f1..5a2856c 100644 --- a/server/crates/arbiter-server/Cargo.toml +++ b/server/crates/arbiter-server/Cargo.toml @@ -44,6 +44,7 @@ strum = { version = "0.27.2", features = ["derive"] } pem = "3.0.6" k256 = "0.13.4" alloy.workspace = true +arbiter-tokens-registry.path = "../arbiter-tokens-registry" [dev-dependencies] insta = "1.46.3" diff --git a/server/crates/arbiter-server/migrations/2026-02-14-171124-0000_init/up.sql b/server/crates/arbiter-server/migrations/2026-02-14-171124-0000_init/up.sql index e5e8d34..8b942d7 100644 --- a/server/crates/arbiter-server/migrations/2026-02-14-171124-0000_init/up.sql +++ b/server/crates/arbiter-server/migrations/2026-02-14-171124-0000_init/up.sql @@ -68,6 +68,12 @@ create table if not exists evm_wallet ( create unique index if not exists uniq_evm_wallet_address on evm_wallet (address); create unique index if not exists uniq_evm_wallet_aead on evm_wallet (aead_encrypted_id); +create table if not exists evm_ether_transfer_limit ( + id integer not null primary key, + window_secs integer not null, -- window duration in seconds + max_volume blob not null -- big-endian 32-byte U256 +) STRICT; + -- Shared grant properties: client scope, timeframe, fee caps, and rate limit create table if not exists evm_basic_grant ( id integer not null primary key, @@ -84,24 +90,29 @@ create table if not exists evm_basic_grant ( created_at integer not null default(unixepoch('now')) ) STRICT; +-- Shared transaction log for all EVM grants, used for rate limit tracking and auditing +create table if not exists evm_transaction_log ( + id integer not null primary key, + grant_id integer not null references evm_basic_grant(id) on delete restrict, + client_id integer not null references program_client(id) on delete restrict, + wallet_id integer not null references evm_wallet(id) on delete restrict, + chain_id integer not null, + eth_value blob not null, -- always present on any EVM tx + signed_at integer not null default(unixepoch('now')) +) STRICT; + create index if not exists idx_evm_basic_grant_wallet_chain on evm_basic_grant(client_id, wallet_id, chain_id); +-- =============================== -- ERC20 token transfer grant +-- =============================== create table if not exists evm_token_transfer_grant ( id integer not null primary key, basic_grant_id integer not null unique references evm_basic_grant(id) on delete cascade, - token_contract blob not null -- 20-byte ERC20 contract address + token_contract blob not null, -- 20-byte ERC20 contract address + receiver blob -- 20-byte recipient address or null if every recipient allowed ) STRICT; --- Specific recipient addresses for a token transfer grant (only used when target_all = 0) -create table if not exists evm_token_transfer_grant_target ( - id integer not null primary key, - grant_id integer not null references evm_token_transfer_grant(id) on delete cascade, - address blob not null -- 20-byte recipient address -) STRICT; - -create unique index if not exists uniq_token_transfer_target on evm_token_transfer_grant_target(grant_id, address); - -- Per-window volume limits for token transfer grants create table if not exists evm_token_transfer_volume_limit ( id integer not null primary key, @@ -110,76 +121,11 @@ create table if not exists evm_token_transfer_volume_limit ( max_volume blob not null -- big-endian 32-byte U256 ) STRICT; --- ERC20 token approval grant -create table if not exists evm_token_approval_grant ( - id integer not null primary key, - basic_grant_id integer not null unique references evm_basic_grant(id) on delete cascade, - token_contract blob not null, -- 20-byte ERC20 contract address - max_total_approval blob not null -- big-endian 32-byte U256; max cumulative approval value -) STRICT; - --- Specific spender addresses for a token approval grant (only used when target_all = 0) -create table if not exists evm_token_approval_grant_target ( - id integer not null primary key, - grant_id integer not null references evm_token_approval_grant(id) on delete cascade, - address blob not null -- 20-byte spender address -) STRICT; - -create unique index if not exists uniq_token_approval_target on evm_token_approval_grant_target(grant_id, address); - --- Plain ether transfer grant -create table if not exists evm_ether_transfer_grant ( - id integer not null primary key, - basic_grant_id integer not null unique references evm_basic_grant(id) on delete cascade -) STRICT; - --- Specific recipient addresses for an ether transfer grant (only used when target_all = 0) -create table if not exists evm_ether_transfer_grant_target ( - id integer not null primary key, - grant_id integer not null references evm_ether_transfer_grant(id) on delete cascade, - address blob not null -- 20-byte recipient address -) STRICT; - -create unique index if not exists uniq_ether_transfer_target on evm_ether_transfer_grant_target(grant_id, address); - --- Per-window volume limits for ether transfer grants -create table if not exists evm_ether_transfer_volume_limit ( - id integer not null primary key, - grant_id integer not null references evm_ether_transfer_grant(id) on delete cascade, - window_secs integer not null, - max_volume blob not null -- big-endian 32-byte U256 -) STRICT; - --- Unknown / opaque contract call grant -create table if not exists evm_unknown_call_grant ( - id integer not null primary key, - basic_grant_id integer not null unique references evm_basic_grant(id) on delete cascade, - contract blob not null, -- 20-byte target contract address - selector blob -- 4-byte function selector, null = allow any selector -) STRICT; - --- Log table for ether transfer grant usage -create table if not exists evm_ether_transfer_log ( - id integer not null primary key, - grant_id integer not null references evm_ether_transfer_grant(id) on delete restrict, - client_id integer not null references program_client(id) on delete restrict, - wallet_id integer not null references evm_wallet(id) on delete restrict, - chain_id integer not null, -- EIP-155 chain ID - recipient_address blob not null, -- 20-byte recipient address - value blob not null, -- big-endian 32-byte U256 - created_at integer not null default(unixepoch('now')) -) STRICT; - -create index if not exists idx_ether_transfer_log_grant on evm_ether_transfer_log(grant_id); -create index if not exists idx_ether_transfer_log_client on evm_ether_transfer_log(client_id); -create index if not exists idx_ether_transfer_log_wallet on evm_ether_transfer_log(wallet_id); - -- Log table for token transfer grant usage create table if not exists evm_token_transfer_log ( id integer not null primary key, grant_id integer not null references evm_token_transfer_grant(id) on delete restrict, - client_id integer not null references program_client(id) on delete restrict, - wallet_id integer not null references evm_wallet(id) on delete restrict, + log_id integer not null references evm_transaction_log(id) on delete restrict, chain_id integer not null, -- EIP-155 chain ID token_contract blob not null, -- 20-byte ERC20 contract address recipient_address blob not null, -- 20-byte recipient address @@ -188,39 +134,25 @@ create table if not exists evm_token_transfer_log ( ) STRICT; create index if not exists idx_token_transfer_log_grant on evm_token_transfer_log(grant_id); -create index if not exists idx_token_transfer_log_client on evm_token_transfer_log(client_id); -create index if not exists idx_token_transfer_log_wallet on evm_token_transfer_log(wallet_id); +create index if not exists idx_token_transfer_log_log_id on evm_token_transfer_log(log_id); +create index if not exists idx_token_transfer_log_chain on evm_token_transfer_log(chain_id); --- Log table for token approval grant usage -create table if not exists evm_token_approval_log ( + +-- =============================== +-- Ether transfer grant (uses base log) +-- =============================== +create table if not exists evm_ether_transfer_grant ( id integer not null primary key, - grant_id integer not null references evm_token_approval_grant(id) on delete restrict, - client_id integer not null references program_client(id) on delete restrict, - wallet_id integer not null references evm_wallet(id) on delete restrict, - chain_id integer not null, -- EIP-155 chain ID - token_contract blob not null, -- 20-byte ERC20 contract address - spender_address blob not null, -- 20-byte spender address - value blob not null, -- big-endian 32-byte U256 - created_at integer not null default(unixepoch('now')) + basic_grant_id integer not null unique references evm_basic_grant(id) on delete cascade, + limit_id integer not null references evm_ether_transfer_limit(id) on delete restrict ) STRICT; -create index if not exists idx_token_approval_log_grant on evm_token_approval_log(grant_id); -create index if not exists idx_token_approval_log_client on evm_token_approval_log(client_id); -create index if not exists idx_token_approval_log_wallet on evm_token_approval_log(wallet_id); - --- Log table for unknown contract call grant usage -create table if not exists evm_unknown_call_log ( +-- Specific recipient addresses for an ether transfer grant +create table if not exists evm_ether_transfer_grant_target ( id integer not null primary key, - grant_id integer not null references evm_unknown_call_grant(id) on delete restrict, - client_id integer not null references program_client(id) on delete restrict, - wallet_id integer not null references evm_wallet(id) on delete restrict, - chain_id integer not null, -- EIP-155 chain ID - contract blob not null, -- 20-byte target contract address - selector blob, -- 4-byte function selector, null if none - call_data blob, -- full call data, null if not stored - created_at integer not null default(unixepoch('now')) + grant_id integer not null references evm_ether_transfer_grant(id) on delete cascade, + address blob not null -- 20-byte recipient address ) STRICT; -create index if not exists idx_unknown_call_log_grant on evm_unknown_call_log(grant_id); -create index if not exists idx_unknown_call_log_client on evm_unknown_call_log(client_id); -create index if not exists idx_unknown_call_log_wallet on evm_unknown_call_log(wallet_id); +create unique index if not exists uniq_ether_transfer_target on evm_ether_transfer_grant_target(grant_id, address); + diff --git a/server/crates/arbiter-server/src/actors/keyholder/mod.rs b/server/crates/arbiter-server/src/actors/keyholder/mod.rs index 6008a7e..c8e97ab 100644 --- a/server/crates/arbiter-server/src/actors/keyholder/mod.rs +++ b/server/crates/arbiter-server/src/actors/keyholder/mod.rs @@ -1,3 +1,4 @@ +use chrono::Utc; use diesel::{ ExpressionMethods as _, OptionalExtension, QueryDsl, SelectableHelper, dsl::{insert_into, update}, @@ -312,7 +313,7 @@ impl KeyHolder { current_nonce: nonce.to_vec(), schema_version: 1, associated_root_key_id: *root_key_history_id, - created_at: chrono::Utc::now().timestamp() as i32, + created_at: Utc::now().into() }) .returning(schema::aead_encrypted::id) .get_result(&mut conn) diff --git a/server/crates/arbiter-server/src/db/models.rs b/server/crates/arbiter-server/src/db/models.rs index 97f61ab..e3ebddf 100644 --- a/server/crates/arbiter-server/src/db/models.rs +++ b/server/crates/arbiter-server/src/db/models.rs @@ -2,12 +2,7 @@ #![allow(clippy::all)] use crate::db::schema::{ - self, aead_encrypted, arbiter_settings, evm_basic_grant, evm_ether_transfer_grant, - evm_ether_transfer_grant_target, evm_ether_transfer_log, evm_ether_transfer_volume_limit, - evm_token_approval_grant, evm_token_approval_grant_target, - evm_token_approval_log, evm_token_transfer_grant, evm_token_transfer_grant_target, - evm_token_transfer_log, evm_token_transfer_volume_limit, evm_unknown_call_grant, - evm_unknown_call_log, evm_wallet, root_key_history, tls_history, + self, aead_encrypted, arbiter_settings, evm_basic_grant, evm_ether_transfer_grant, evm_ether_transfer_grant_target, evm_ether_transfer_limit, evm_token_transfer_grant, evm_token_transfer_log, evm_token_transfer_volume_limit, evm_transaction_log, evm_wallet, root_key_history, tls_history }; use chrono::{DateTime, Utc}; use diesel::{prelude::*, sqlite::Sqlite}; @@ -29,6 +24,22 @@ pub mod types { #[sql_type = "Integer"] #[repr(transparent)] // hint compiler to optimize the wrapper struct away pub struct SqliteTimestamp(pub DateTime); + impl SqliteTimestamp { + pub fn now() -> Self { + SqliteTimestamp(Utc::now()) + } + } + + impl From> for SqliteTimestamp { + fn from(dt: chrono::DateTime) -> Self { + SqliteTimestamp(dt) + } + } + impl Into> for SqliteTimestamp { + fn into(self) -> chrono::DateTime { + self.0 + } + } impl ToSql for SqliteTimestamp { fn to_sql<'b>( @@ -78,7 +89,7 @@ pub struct AeadEncrypted { pub current_nonce: Vec, pub schema_version: i32, pub associated_root_key_id: i32, // references root_key_history.id - pub created_at: i32, + pub created_at: SqliteTimestamp, } #[derive(Models, Queryable, Debug, Insertable, Selectable)] @@ -143,8 +154,8 @@ pub struct EvmWallet { #[diesel(table_name = schema::program_client, check_for_backend(Sqlite))] pub struct ProgramClient { pub id: i32, - pub public_key: Vec, pub nonce: i32, + pub public_key: Vec, pub created_at: SqliteTimestamp, pub updated_at: SqliteTimestamp, } @@ -153,12 +164,26 @@ pub struct ProgramClient { #[diesel(table_name = schema::useragent_client, check_for_backend(Sqlite))] pub struct UseragentClient { pub id: i32, - pub public_key: Vec, pub nonce: i32, + pub public_key: Vec, pub created_at: SqliteTimestamp, pub updated_at: SqliteTimestamp, } +#[derive(Models, Queryable, Debug, Insertable, Selectable)] +#[diesel(table_name = evm_ether_transfer_limit, check_for_backend(Sqlite))] +#[view( + NewEvmEtherTransferLimit, + derive(Insertable), + omit(id, created_at), + attributes_with = "deriveless" +)] +pub struct EvmEtherTransferLimit { + pub id: i32, + pub window_secs: i32, + pub max_volume: Vec, +} + #[derive(Models, Queryable, Debug, Insertable, Selectable)] #[diesel(table_name = evm_basic_grant, check_for_backend(Sqlite))] #[view( @@ -182,6 +207,24 @@ pub struct EvmBasicGrant { pub created_at: SqliteTimestamp, } +#[derive(Models, Queryable, Debug, Insertable, Selectable)] +#[diesel(table_name = evm_transaction_log, check_for_backend(Sqlite))] +#[view( + NewEvmTransactionLog, + derive(Insertable), + omit(id), + attributes_with = "deriveless" +)] +pub struct EvmTransactionLog { + pub id: i32, + pub grant_id: i32, + pub client_id: i32, + pub wallet_id: i32, + pub chain_id: i32, + pub eth_value: Vec, + pub signed_at: SqliteTimestamp, +} + #[derive(Models, Queryable, Debug, Insertable, Selectable)] #[diesel(table_name = evm_ether_transfer_grant, check_for_backend(Sqlite))] #[view( @@ -193,6 +236,7 @@ pub struct EvmBasicGrant { pub struct EvmEtherTransferGrant { pub id: i32, pub basic_grant_id: i32, + pub limit_id: i32, // references evm_ether_transfer_limit.id } #[derive(Models, Queryable, Debug, Insertable, Selectable)] @@ -209,49 +253,6 @@ pub struct EvmEtherTransferGrantTarget { pub address: Vec, } -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_ether_transfer_volume_limit, check_for_backend(Sqlite))] -#[view( - NewEvmEtherTransferVolumeLimit, - derive(Insertable), - omit(id), - attributes_with = "deriveless" -)] -pub struct EvmEtherTransferVolumeLimit { - pub id: i32, - pub grant_id: i32, - pub window_secs: i32, - pub max_volume: Vec, -} - -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_token_approval_grant, check_for_backend(Sqlite))] -#[view( - NewEvmTokenApprovalGrant, - derive(Insertable), - omit(id), - attributes_with = "deriveless" -)] -pub struct EvmTokenApprovalGrant { - pub id: i32, - pub basic_grant_id: i32, - pub token_contract: Vec, - pub max_total_approval: Vec, -} - -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_token_approval_grant_target, check_for_backend(Sqlite))] -#[view( - NewEvmTokenApprovalGrantTarget, - derive(Insertable), - omit(id), - attributes_with = "deriveless" -)] -pub struct EvmTokenApprovalGrantTarget { - pub id: i32, - pub grant_id: i32, - pub address: Vec, -} #[derive(Models, Queryable, Debug, Insertable, Selectable)] #[diesel(table_name = evm_token_transfer_grant, check_for_backend(Sqlite))] @@ -265,20 +266,7 @@ pub struct EvmTokenTransferGrant { pub id: i32, pub basic_grant_id: i32, pub token_contract: Vec, -} - -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_token_transfer_grant_target, check_for_backend(Sqlite))] -#[view( - NewEvmTokenTransferGrantTarget, - derive(Insertable), - omit(id), - attributes_with = "deriveless" -)] -pub struct EvmTokenTransferGrantTarget { - pub id: i32, - pub grant_id: i32, - pub address: Vec, + pub receiver: Option>, } #[derive(Models, Queryable, Debug, Insertable, Selectable)] @@ -296,40 +284,6 @@ pub struct EvmTokenTransferVolumeLimit { pub max_volume: Vec, } -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_unknown_call_grant, check_for_backend(Sqlite))] -#[view( - NewEvmUnknownCallGrant, - derive(Insertable), - omit(id), - attributes_with = "deriveless" -)] -pub struct EvmUnknownCallGrant { - pub id: i32, - pub basic_grant_id: i32, - pub contract: Vec, - pub selector: Option>, -} - -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_ether_transfer_log, check_for_backend(Sqlite))] -#[view( - NewEvmEtherTransferLog, - derive(Insertable), - omit(id, created_at), - attributes_with = "deriveless" -)] -pub struct EvmEtherTransferLog { - pub id: i32, - pub grant_id: i32, - pub client_id: i32, - pub wallet_id: i32, - pub chain_id: i32, - pub recipient_address: Vec, - pub value: Vec, - pub created_at: SqliteTimestamp, -} - #[derive(Models, Queryable, Debug, Insertable, Selectable)] #[diesel(table_name = evm_token_transfer_log, check_for_backend(Sqlite))] #[view( @@ -341,51 +295,10 @@ pub struct EvmEtherTransferLog { pub struct EvmTokenTransferLog { pub id: i32, pub grant_id: i32, - pub client_id: i32, - pub wallet_id: i32, + pub log_id: i32, pub chain_id: i32, pub token_contract: Vec, pub recipient_address: Vec, pub value: Vec, pub created_at: SqliteTimestamp, } - -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_token_approval_log, check_for_backend(Sqlite))] -#[view( - NewEvmTokenApprovalLog, - derive(Insertable), - omit(id, created_at), - attributes_with = "deriveless" -)] -pub struct EvmTokenApprovalLog { - pub id: i32, - pub grant_id: i32, - pub client_id: i32, - pub wallet_id: i32, - pub chain_id: i32, - pub token_contract: Vec, - pub spender_address: Vec, - pub value: Vec, - pub created_at: SqliteTimestamp, -} - -#[derive(Models, Queryable, Debug, Insertable, Selectable)] -#[diesel(table_name = evm_unknown_call_log, check_for_backend(Sqlite))] -#[view( - NewEvmUnknownCallLog, - derive(Insertable), - omit(id, created_at), - attributes_with = "deriveless" -)] -pub struct EvmUnknownCallLog { - pub id: i32, - pub grant_id: i32, - pub client_id: i32, - pub wallet_id: i32, - pub chain_id: i32, - pub contract: Vec, - pub selector: Option>, - pub call_data: Option>, - pub created_at: SqliteTimestamp, -} diff --git a/server/crates/arbiter-server/src/db/schema.rs b/server/crates/arbiter-server/src/db/schema.rs index 7a035f3..24c0777 100644 --- a/server/crates/arbiter-server/src/db/schema.rs +++ b/server/crates/arbiter-server/src/db/schema.rs @@ -41,6 +41,7 @@ diesel::table! { evm_ether_transfer_grant (id) { id -> Integer, basic_grant_id -> Integer, + limit_id -> Integer, } } @@ -53,71 +54,19 @@ diesel::table! { } diesel::table! { - evm_ether_transfer_log (id) { + evm_ether_transfer_limit (id) { id -> Integer, - grant_id -> Integer, - client_id -> Integer, - wallet_id -> Integer, - chain_id -> Integer, - recipient_address -> Binary, - value -> Binary, - created_at -> Integer, - } -} - -diesel::table! { - evm_ether_transfer_volume_limit (id) { - id -> Integer, - grant_id -> Integer, window_secs -> Integer, max_volume -> Binary, } } -diesel::table! { - evm_token_approval_grant (id) { - id -> Integer, - basic_grant_id -> Integer, - token_contract -> Binary, - max_total_approval -> Binary, - } -} - -diesel::table! { - evm_token_approval_grant_target (id) { - id -> Integer, - grant_id -> Integer, - address -> Binary, - } -} - -diesel::table! { - evm_token_approval_log (id) { - id -> Integer, - grant_id -> Integer, - client_id -> Integer, - wallet_id -> Integer, - chain_id -> Integer, - token_contract -> Binary, - spender_address -> Binary, - value -> Binary, - created_at -> Integer, - } -} - diesel::table! { evm_token_transfer_grant (id) { id -> Integer, basic_grant_id -> Integer, token_contract -> Binary, - } -} - -diesel::table! { - evm_token_transfer_grant_target (id) { - id -> Integer, - grant_id -> Integer, - address -> Binary, + receiver -> Nullable, } } @@ -125,8 +74,7 @@ diesel::table! { evm_token_transfer_log (id) { id -> Integer, grant_id -> Integer, - client_id -> Integer, - wallet_id -> Integer, + log_id -> Integer, chain_id -> Integer, token_contract -> Binary, recipient_address -> Binary, @@ -145,25 +93,14 @@ diesel::table! { } diesel::table! { - evm_unknown_call_grant (id) { - id -> Integer, - basic_grant_id -> Integer, - contract -> Binary, - selector -> Nullable, - } -} - -diesel::table! { - evm_unknown_call_log (id) { + evm_transaction_log (id) { id -> Integer, grant_id -> Integer, client_id -> Integer, wallet_id -> Integer, chain_id -> Integer, - contract -> Binary, - selector -> Nullable, - call_data -> Nullable, - created_at -> Integer, + eth_value -> Binary, + signed_at -> Integer, } } @@ -225,26 +162,12 @@ diesel::joinable!(arbiter_settings -> tls_history (tls_id)); diesel::joinable!(evm_basic_grant -> evm_wallet (wallet_id)); diesel::joinable!(evm_basic_grant -> program_client (client_id)); diesel::joinable!(evm_ether_transfer_grant -> evm_basic_grant (basic_grant_id)); +diesel::joinable!(evm_ether_transfer_grant -> evm_ether_transfer_limit (limit_id)); diesel::joinable!(evm_ether_transfer_grant_target -> evm_ether_transfer_grant (grant_id)); -diesel::joinable!(evm_ether_transfer_log -> evm_ether_transfer_grant (grant_id)); -diesel::joinable!(evm_ether_transfer_log -> evm_wallet (wallet_id)); -diesel::joinable!(evm_ether_transfer_log -> program_client (client_id)); -diesel::joinable!(evm_ether_transfer_volume_limit -> evm_ether_transfer_grant (grant_id)); -diesel::joinable!(evm_token_approval_grant -> evm_basic_grant (basic_grant_id)); -diesel::joinable!(evm_token_approval_grant_target -> evm_token_approval_grant (grant_id)); -diesel::joinable!(evm_token_approval_log -> evm_token_approval_grant (grant_id)); -diesel::joinable!(evm_token_approval_log -> evm_wallet (wallet_id)); -diesel::joinable!(evm_token_approval_log -> program_client (client_id)); diesel::joinable!(evm_token_transfer_grant -> evm_basic_grant (basic_grant_id)); -diesel::joinable!(evm_token_transfer_grant_target -> evm_token_transfer_grant (grant_id)); diesel::joinable!(evm_token_transfer_log -> evm_token_transfer_grant (grant_id)); -diesel::joinable!(evm_token_transfer_log -> evm_wallet (wallet_id)); -diesel::joinable!(evm_token_transfer_log -> program_client (client_id)); +diesel::joinable!(evm_token_transfer_log -> evm_transaction_log (log_id)); diesel::joinable!(evm_token_transfer_volume_limit -> evm_token_transfer_grant (grant_id)); -diesel::joinable!(evm_unknown_call_grant -> evm_basic_grant (basic_grant_id)); -diesel::joinable!(evm_unknown_call_log -> evm_unknown_call_grant (grant_id)); -diesel::joinable!(evm_unknown_call_log -> evm_wallet (wallet_id)); -diesel::joinable!(evm_unknown_call_log -> program_client (client_id)); diesel::joinable!(evm_wallet -> aead_encrypted (aead_encrypted_id)); diesel::allow_tables_to_appear_in_same_query!( @@ -253,17 +176,11 @@ diesel::allow_tables_to_appear_in_same_query!( evm_basic_grant, evm_ether_transfer_grant, evm_ether_transfer_grant_target, - evm_ether_transfer_log, - evm_ether_transfer_volume_limit, - evm_token_approval_grant, - evm_token_approval_grant_target, - evm_token_approval_log, + evm_ether_transfer_limit, evm_token_transfer_grant, - evm_token_transfer_grant_target, evm_token_transfer_log, evm_token_transfer_volume_limit, - evm_unknown_call_grant, - evm_unknown_call_log, + evm_transaction_log, evm_wallet, program_client, root_key_history, diff --git a/server/crates/arbiter-server/src/evm/abi.rs b/server/crates/arbiter-server/src/evm/abi.rs new file mode 100644 index 0000000..cef8d9f --- /dev/null +++ b/server/crates/arbiter-server/src/evm/abi.rs @@ -0,0 +1,84 @@ +use alloy::sol; + +sol! { + interface IERC20 { + event Transfer(address indexed from, address indexed to, uint256 value); + event Approval(address indexed owner, address indexed spender, uint256 value); + + function totalSupply() external view returns (uint256); + function balanceOf(address account) external view returns (uint256); + function transfer(address to, uint256 value) external returns (bool); + function allowance(address owner, address spender) external view returns (uint256); + function approve(address spender, uint256 value) external returns (bool); + function transferFrom(address from, address to, uint256 value) external returns (bool); + } +} + +sol! { + /// ERC-721: Non-Fungible Token Standard. + #[derive(Debug)] + interface IERC721 { + event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); + event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); + event ApprovalForAll(address indexed owner, address indexed operator, bool approved); + + function balanceOf(address owner) external view returns (uint256 balance); + function ownerOf(uint256 tokenId) external view returns (address owner); + function safeTransferFrom(address from, address to, uint256 tokenId) external; + function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external; + function transferFrom(address from, address to, uint256 tokenId) external; + function approve(address to, uint256 tokenId) external; + function setApprovalForAll(address operator, bool approved) external; + function getApproved(uint256 tokenId) external view returns (address operator); + function isApprovedForAll(address owner, address operator) external view returns (bool); + } +} + +sol! { + /// Wrapped Ether — the only functions beyond ERC-20 that matter. + #[derive(Debug)] + interface IWETH { + function deposit() external payable; + function withdraw(uint256 wad) external; + } +} + +sol! { + /// Permit2 — Uniswap's canonical token approval manager. + /// Replaces per-contract ERC-20 approve() with a single approval hub. + #[derive(Debug)] + interface IPermit2 { + struct TokenPermissions { + address token; + uint256 amount; + } + + struct PermitSingle { + TokenPermissions details; + address spender; + uint256 sigDeadline; + } + + struct PermitBatch { + TokenPermissions[] details; + address spender; + uint256 sigDeadline; + } + + struct AllowanceTransferDetails { + address from; + address to; + uint160 amount; + address token; + } + + function approve(address token, address spender, uint160 amount, uint48 expiration) external; + function permit(address owner, PermitSingle calldata permitSingle, bytes calldata signature) external; + function permit(address owner, PermitBatch calldata permitBatch, bytes calldata signature) external; + function transferFrom(address from, address to, uint160 amount, address token) external; + function transferFrom(AllowanceTransferDetails[] calldata transferDetails) external; + + function allowance(address user, address token, address spender) + external view returns (uint160 amount, uint48 expiration, uint48 nonce); + } +} diff --git a/server/crates/arbiter-server/src/evm/mod.rs b/server/crates/arbiter-server/src/evm/mod.rs index 053fed5..c08ad52 100644 --- a/server/crates/arbiter-server/src/evm/mod.rs +++ b/server/crates/arbiter-server/src/evm/mod.rs @@ -1,4 +1,5 @@ pub mod safe_signer; +pub mod abi; use alloy::{ consensus::TxEip1559, @@ -55,7 +56,7 @@ impl Engine { pub async fn create_grant( &self, client_id: i32, - full_grant: FullGrant, + full_grant: FullGrant, ) -> Result { let mut conn = self.db.get().await?; @@ -129,4 +130,4 @@ impl Engine { } Err(AnalyzeError::UnsupportedTransactionType) } -} +} \ No newline at end of file diff --git a/server/crates/arbiter-server/src/evm/policies.rs b/server/crates/arbiter-server/src/evm/policies.rs index 1234275..aa6e63d 100644 --- a/server/crates/arbiter-server/src/evm/policies.rs +++ b/server/crates/arbiter-server/src/evm/policies.rs @@ -2,14 +2,21 @@ use std::fmt::Display; use alloy::primitives::{Address, Bytes, ChainId, U256}; use chrono::{DateTime, Duration, Utc}; -use diesel::{result::QueryResult, sqlite::Sqlite}; -use diesel_async::AsyncConnection; +use diesel::{ + ExpressionMethods as _, QueryDsl, SelectableHelper, result::QueryResult, + sqlite::Sqlite, +}; +use diesel_async::{AsyncConnection, RunQueryDsl}; use miette::Diagnostic; use thiserror::Error; -use crate::db::models; +use crate::{ + db::models::{self, EvmBasicGrant}, + evm::utils, +}; pub mod ether_transfer; +pub mod token_transfers; pub struct EvalContext { // Which wallet is this transaction for @@ -47,17 +54,23 @@ pub enum EvalViolation { #[error("Transaction is outside of the grant's validity period")] #[diagnostic(code(arbiter_server::evm::eval_violation::invalid_time))] InvalidTime, + + #[error("Transaction type is not allowed by this grant")] + #[diagnostic(code(arbiter_server::evm::eval_violation::invalid_transaction_type))] + InvalidTransactionType, } pub type DatabaseID = i32; -pub struct GrantMetadata { - pub basic_grant_id: DatabaseID, - pub policy_grant_id: DatabaseID, +pub struct Grant { + pub id: DatabaseID, + pub shared_grant_id: DatabaseID, // ID of the basic grant for shared-logic checks like rate limits and validity periods + pub shared: SharedGrantSettings, + pub settings: PolicySettings, } pub trait Policy: Sized { - type Grant: Send + 'static + Into; + type Settings: Send + 'static + Into; type Meaning: Display + Send + 'static + Into; fn analyze(context: &EvalContext) -> Option; @@ -65,16 +78,16 @@ pub trait Policy: Sized { // Evaluate whether a transaction with the given meaning complies with the provided grant, and return any violations if not // Empty vector means transaction is compliant with the grant fn evaluate( + context: &EvalContext, meaning: &Self::Meaning, - grant: &Self::Grant, - meta: &GrantMetadata, + grant: &Grant, db: &mut impl AsyncConnection, ) -> impl Future>> + Send; // Create a new grant in the database based on the provided grant details, and return its ID fn create_grant( basic: &models::EvmBasicGrant, - grant: &Self::Grant, + grant: &Self::Settings, conn: &mut impl AsyncConnection, ) -> impl std::future::Future> + Send; @@ -83,20 +96,28 @@ pub trait Policy: Sized { fn try_find_grant( context: &EvalContext, conn: &mut impl AsyncConnection, - ) -> impl Future>>; + ) -> impl Future>>> + Send; // Records, updates or deletes rate limits // In other words, records grant-specific things after transaction is executed fn record_transaction( context: &EvalContext, - grant: &GrantMetadata, + meaning: &Self::Meaning, + log_id: i32, + grant: &Grant, conn: &mut impl AsyncConnection, ) -> impl Future>; } +pub enum ReceiverTarget { + Specific(Vec
), // only allow transfers to these addresses + Any, // allow transfers to any address +} + // Classification of what transaction does pub enum SpecificMeaning { EtherTransfer(ether_transfer::Meaning), + TokenTransfer(token_transfers::Meaning), } #[derive(Clone, Debug, PartialEq, Eq, Hash)] @@ -106,7 +127,13 @@ pub struct TransactionRateLimit { } #[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub struct BasicGrant { +pub struct VolumeRateLimit { + pub max_volume: U256, + pub window: Duration, +} + +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +pub struct SharedGrantSettings { pub wallet_id: i32, pub chain: ChainId, @@ -119,11 +146,53 @@ pub struct BasicGrant { pub rate_limit: Option, } +impl SharedGrantSettings { + fn try_from_model(model: EvmBasicGrant) -> QueryResult { + Ok(Self { + wallet_id: model.wallet_id, + chain: model.chain_id as u64, // safe because chain_id is stored as i32 but is guaranteed to be a valid ChainId by the API when creating grants + valid_from: model.valid_from.map(Into::into), + valid_until: model.valid_until.map(Into::into), + max_gas_fee_per_gas: model + .max_gas_fee_per_gas + .map(|b| utils::try_bytes_to_u256(&b)) + .transpose()?, + max_priority_fee_per_gas: model + .max_priority_fee_per_gas + .map(|b| utils::try_bytes_to_u256(&b)) + .transpose()?, + rate_limit: match (model.rate_limit_count, model.rate_limit_window_secs) { + (Some(count), Some(window_secs)) => Some(TransactionRateLimit { + count: count as u32, + window: Duration::seconds(window_secs as i64), + }), + _ => None, + }, + }) + } + + pub async fn query_by_id( + conn: &mut impl AsyncConnection, + id: i32, + ) -> diesel::result::QueryResult { + use crate::db::schema::evm_basic_grant; + + let basic_grant: EvmBasicGrant = evm_basic_grant::table + .select(EvmBasicGrant::as_select()) + .filter(evm_basic_grant::id.eq(id)) + .first::(conn) + .await?; + + Self::try_from_model(basic_grant) + } +} + pub enum SpecificGrant { - EtherTransfer(ether_transfer::Grant), + EtherTransfer(ether_transfer::Settings), + TokenTransfer(token_transfers::Settings), } pub struct FullGrant { - pub basic: BasicGrant, + pub basic: SharedGrantSettings, pub specific: PolicyGrant, -} \ No newline at end of file +} diff --git a/server/crates/arbiter-server/src/evm/policies/ether_transfer.rs b/server/crates/arbiter-server/src/evm/policies/ether_transfer.rs index 55fb59a..bc67c33 100644 --- a/server/crates/arbiter-server/src/evm/policies/ether_transfer.rs +++ b/server/crates/arbiter-server/src/evm/policies/ether_transfer.rs @@ -1,26 +1,24 @@ -use std::{fmt::Display, time::Duration}; +use std::fmt::Display; use alloy::primitives::{Address, U256}; -use chrono::{DateTime, Utc}; +use chrono::{DateTime, Duration, Utc}; use diesel::dsl::insert_into; use diesel::sqlite::Sqlite; use diesel::{ExpressionMethods, JoinOnDsl, prelude::*}; use diesel_async::{AsyncConnection, RunQueryDsl}; use crate::db::models::{ - EvmEtherTransferGrant, EvmEtherTransferGrantTarget, EvmEtherTransferVolumeLimit, SqliteTimestamp, + EvmBasicGrant, EvmEtherTransferGrant, EvmEtherTransferGrantTarget, EvmEtherTransferLimit, + NewEvmEtherTransferLimit, SqliteTimestamp, +}; +use crate::db::schema::{evm_ether_transfer_limit, evm_transaction_log}; +use crate::evm::policies::{ + Grant, SharedGrantSettings, SpecificGrant, SpecificMeaning, VolumeRateLimit, }; -use crate::evm::policies::{GrantMetadata, SpecificGrant, SpecificMeaning}; use crate::{ db::{ - models::{ - self, NewEvmEtherTransferGrant, NewEvmEtherTransferGrantTarget, - NewEvmEtherTransferVolumeLimit, - }, - schema::{ - evm_ether_transfer_grant, evm_ether_transfer_grant_target, - evm_ether_transfer_volume_limit, - }, + models::{self, NewEvmEtherTransferGrant, NewEvmEtherTransferGrantTarget}, + schema::{evm_ether_transfer_grant, evm_ether_transfer_grant_target}, }, evm::{policies::Policy, utils}, }; @@ -49,19 +47,13 @@ impl Into for Meaning { } } -#[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub struct VolumeLimit { - window: Duration, - max_volume: U256, -} - // A grant for ether transfers, which can be scoped to specific target addresses and volume limits -pub struct Grant { +pub struct Settings { target: Vec
, - limits: Vec, + limit: VolumeRateLimit, } -impl Into for Grant { +impl Into for Settings { fn into(self) -> SpecificGrant { SpecificGrant::EtherTransfer(self) } @@ -72,20 +64,17 @@ async fn query_relevant_past_transaction( longest_window: Duration, db: &mut impl AsyncConnection, ) -> QueryResult)>> { - use crate::db::schema::evm_ether_transfer_log; - let past_transactions: Vec<(Vec, SqliteTimestamp)> = - evm_ether_transfer_log::table - .filter(evm_ether_transfer_log::grant_id.eq(grant_id)) - .filter( - evm_ether_transfer_log::created_at - .ge(SqliteTimestamp(chrono::Utc::now() - longest_window)), - ) - .select(( - evm_ether_transfer_log::value, - evm_ether_transfer_log::created_at, - )) - .load(db) - .await?; + let past_transactions: Vec<(Vec, SqliteTimestamp)> = evm_transaction_log::table + .filter(evm_transaction_log::grant_id.eq(grant_id)) + .filter( + evm_transaction_log::signed_at.ge(SqliteTimestamp(chrono::Utc::now() - longest_window)), + ) + .select(( + evm_transaction_log::eth_value, + evm_transaction_log::signed_at, + )) + .load(db) + .await?; let past_transaction: Vec<(U256, DateTime)> = past_transactions .into_iter() .filter_map(|(value_bytes, timestamp)| { @@ -97,30 +86,22 @@ async fn query_relevant_past_transaction( } async fn check_rate_limits( - grant: &Grant, - meta: &GrantMetadata, + grant: &Grant, db: &mut impl AsyncConnection, ) -> QueryResult> { let mut violations = Vec::new(); - // This has double meaning: checks for limit presence, and finds biggest window - // to extract all needed historical transactions in one go later - let longest_window = grant.limits.iter().map(|limit| limit.window).max(); + let window = grant.settings.limit.window; - if let Some(longest_window) = longest_window { - let _past_transaction = query_relevant_past_transaction(meta.policy_grant_id, longest_window, db).await?; + let past_transaction = query_relevant_past_transaction(grant.id, window, db).await?; - for limit in &grant.limits { - let window_start = chrono::Utc::now() - limit.window; - let cumulative_volume: U256 = _past_transaction - .iter() - .filter(|(_, timestamp)| timestamp >= &window_start) - .fold(U256::default(), |acc, (value, _)| acc + *value); + let window_start = chrono::Utc::now() - grant.settings.limit.window; + let cumulative_volume: U256 = past_transaction + .iter() + .filter(|(_, timestamp)| timestamp >= &window_start) + .fold(U256::default(), |acc, (value, _)| acc + *value); - if cumulative_volume > limit.max_volume { - violations.push(EvalViolation::VolumetricLimitExceeded); - } - } - // TODO: Implement actual rate limit checking logic + if cumulative_volume > grant.settings.limit.max_volume { + violations.push(EvalViolation::VolumetricLimitExceeded); } Ok(violations) @@ -128,7 +109,7 @@ async fn check_rate_limits( pub struct EtherTransfer; impl Policy for EtherTransfer { - type Grant = Grant; + type Settings = Settings; type Meaning = Meaning; @@ -144,19 +125,19 @@ impl Policy for EtherTransfer { } async fn evaluate( + _: &EvalContext, meaning: &Self::Meaning, - grant: &Self::Grant, - meta: &GrantMetadata, + grant: &Grant, db: &mut impl AsyncConnection, ) -> QueryResult> { let mut violations = Vec::new(); // Check if the target address is within the grant's allowed targets - if !grant.target.contains(&meaning.to) { + if !grant.settings.target.contains(&meaning.to) { violations.push(EvalViolation::InvalidTarget { target: meaning.to }); } - let rate_violations = check_rate_limits(grant, meta, db).await?; + let rate_violations = check_rate_limits(grant, db).await?; violations.extend(rate_violations); Ok(violations) @@ -164,12 +145,22 @@ impl Policy for EtherTransfer { async fn create_grant( basic: &models::EvmBasicGrant, - grant: &Self::Grant, + grant: &Self::Settings, conn: &mut impl AsyncConnection, ) -> diesel::result::QueryResult { + let limit_id: i32 = insert_into(evm_ether_transfer_limit::table) + .values(NewEvmEtherTransferLimit { + window_secs: grant.limit.window.num_seconds() as i32, + max_volume: utils::u256_to_bytes(grant.limit.max_volume).to_vec(), + }) + .returning(evm_ether_transfer_limit::id) + .get_result(conn) + .await?; + let grant_id: i32 = insert_into(evm_ether_transfer_grant::table) .values(&NewEvmEtherTransferGrant { basic_grant_id: basic.id, + limit_id, }) .returning(evm_ether_transfer_grant::id) .get_result(conn) @@ -185,24 +176,13 @@ impl Policy for EtherTransfer { .await?; } - for limit in &grant.limits { - insert_into(evm_ether_transfer_volume_limit::table) - .values(NewEvmEtherTransferVolumeLimit { - grant_id, - window_secs: limit.window.as_secs() as i32, - max_volume: utils::u256_to_bytes(limit.max_volume).to_vec(), - }) - .execute(conn) - .await?; - } - Ok(grant_id) } async fn try_find_grant( context: &EvalContext, conn: &mut impl AsyncConnection, - ) -> diesel::result::QueryResult> { + ) -> diesel::result::QueryResult>> { use crate::db::schema::{ evm_basic_grant, evm_ether_transfer_grant, evm_ether_transfer_grant_target, }; @@ -212,7 +192,7 @@ impl Policy for EtherTransfer { // Find a grant where: // 1. The basic grant's wallet_id and client_id match the context // 2. Any of the grant's targets match the context's `to` address - let grant: Option = evm_ether_transfer_grant::table + let grant: Option<(EvmBasicGrant, EvmEtherTransferGrant)> = evm_ether_transfer_grant::table .inner_join( evm_basic_grant::table .on(evm_ether_transfer_grant::basic_grant_id.eq(evm_basic_grant::id)), @@ -224,29 +204,28 @@ impl Policy for EtherTransfer { .filter(evm_basic_grant::wallet_id.eq(context.wallet_id)) .filter(evm_basic_grant::client_id.eq(context.client_id)) .filter(evm_ether_transfer_grant_target::address.eq(&target_bytes)) - .select(EvmEtherTransferGrant::as_select()) - .first::(conn) + .select(( + EvmBasicGrant::as_select(), + EvmEtherTransferGrant::as_select(), + )) + .first(conn) .await .optional()?; - let Some(grant) = grant else { + let Some((basic_grant, grant)) = grant else { return Ok(None); }; - use crate::db::schema::evm_ether_transfer_volume_limit; - - // Load grant targets let target_bytes: Vec = evm_ether_transfer_grant_target::table .select(EvmEtherTransferGrantTarget::as_select()) .filter(evm_ether_transfer_grant_target::grant_id.eq(grant.id)) .load(conn) .await?; - // Load volume limits - let limit_rows: Vec = evm_ether_transfer_volume_limit::table - .filter(evm_ether_transfer_volume_limit::grant_id.eq(grant.id)) - .select(EvmEtherTransferVolumeLimit::as_select()) - .load(conn) + let limit: EvmEtherTransferLimit = evm_ether_transfer_limit::table + .filter(evm_ether_transfer_limit::id.eq(grant.limit_id)) + .select(EvmEtherTransferLimit::as_select()) + .first::(conn) .await?; // Convert bytes back to Address @@ -259,51 +238,31 @@ impl Policy for EtherTransfer { }) .collect(); - // Convert database rows to VolumeLimit - let limits: Vec = limit_rows - .into_iter() - .filter_map(|limit| { - // TODO: Handle invalid volumes more gracefully - let max_volume = utils::bytes_to_u256(&limit.max_volume)?; - Some(VolumeLimit { - window: Duration::from_secs(limit.window_secs as u64), - max_volume, - }) - }) - .collect(); - - let domain_grant = Grant { + let settings = Settings { target: targets, - limits, + limit: VolumeRateLimit { + max_volume: utils::try_bytes_to_u256(&limit.max_volume) + .map_err(|err| diesel::result::Error::DeserializationError(Box::new(err)))?, + window: chrono::Duration::seconds(limit.window_secs as i64), + }, }; - Ok(Some(( - domain_grant, - GrantMetadata { - basic_grant_id: grant.basic_grant_id, - policy_grant_id: grant.id, - }, - ))) + Ok(Some(Grant { + id: grant.id, + shared_grant_id: grant.basic_grant_id, + shared: SharedGrantSettings::try_from_model(basic_grant)?, + settings, + })) } async fn record_transaction( - context: &EvalContext, - grant: &GrantMetadata, - conn: &mut impl AsyncConnection, + _context: &EvalContext, + _: &Self::Meaning, + _log_id: i32, + _grant: &Grant, + _conn: &mut impl AsyncConnection, ) -> diesel::result::QueryResult<()> { - use crate::db::schema::evm_ether_transfer_log; - - insert_into(evm_ether_transfer_log::table) - .values(models::NewEvmEtherTransferLog { - grant_id: grant.policy_grant_id, - value: utils::u256_to_bytes(context.value).to_vec(), - client_id: context.client_id, - wallet_id: context.wallet_id, - chain_id: context.chain as i32, - recipient_address: context.to.to_vec(), - }) - .execute(conn) - .await?; + // Basic log is sufficient Ok(()) } diff --git a/server/crates/arbiter-server/src/evm/policies/token_transfers.rs b/server/crates/arbiter-server/src/evm/policies/token_transfers.rs new file mode 100644 index 0000000..6a8d092 --- /dev/null +++ b/server/crates/arbiter-server/src/evm/policies/token_transfers.rs @@ -0,0 +1,291 @@ +use alloy::{ + primitives::{Address, U256}, + sol_types::SolCall, +}; +use arbiter_tokens_registry::evm::nonfungible::{self, TokenInfo}; +use chrono::{DateTime, Duration, Utc}; +use diesel::dsl::insert_into; +use diesel::sqlite::Sqlite; +use diesel::{ExpressionMethods, prelude::*}; +use diesel_async::{AsyncConnection, RunQueryDsl}; + +use crate::db::models::{ + EvmBasicGrant, EvmTokenTransferGrant, EvmTokenTransferVolumeLimit, NewEvmTokenTransferGrant, + NewEvmTokenTransferLog, NewEvmTokenTransferVolumeLimit, SqliteTimestamp, +}; +use crate::db::schema::{ + evm_token_transfer_grant, evm_token_transfer_log, evm_token_transfer_volume_limit, +}; +use crate::evm::{ + abi::IERC20::transferCall, + policies::{Grant, Policy, SharedGrantSettings, SpecificGrant, SpecificMeaning, VolumeRateLimit}, + utils, +}; + +use super::{DatabaseID, EvalContext, EvalViolation}; + +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +pub struct Meaning { + token: &'static TokenInfo, + to: Address, + value: U256, +} +impl std::fmt::Display for Meaning { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Transfer of {} {} to {}", + self.value, self.token.symbol, self.to + ) + } +} +impl Into for Meaning { + fn into(self) -> SpecificMeaning { + SpecificMeaning::TokenTransfer(self) + } +} + +// A grant for token transfers, which can be scoped to specific target addresses and volume limits +pub struct Settings { + token_contract: Address, + target: Option
, + volume_limits: Vec, +} +impl Into for Settings { + fn into(self) -> SpecificGrant { + SpecificGrant::TokenTransfer(self) + } +} + +async fn query_relevant_past_transfers( + grant_id: i32, + longest_window: Duration, + db: &mut impl AsyncConnection, +) -> QueryResult)>> { + let past_logs: Vec<(Vec, SqliteTimestamp)> = evm_token_transfer_log::table + .filter(evm_token_transfer_log::grant_id.eq(grant_id)) + .filter( + evm_token_transfer_log::created_at + .ge(SqliteTimestamp(chrono::Utc::now() - longest_window)), + ) + .select(( + evm_token_transfer_log::value, + evm_token_transfer_log::created_at, + )) + .load(db) + .await?; + + let past_transfers: Vec<(U256, DateTime)> = past_logs + .into_iter() + .filter_map(|(value_bytes, timestamp)| { + let value = utils::bytes_to_u256(&value_bytes)?; + Some((value, timestamp.0)) + }) + .collect(); + + Ok(past_transfers) +} + +async fn check_volume_rate_limits( + grant: &Grant, + db: &mut impl AsyncConnection, +) -> QueryResult> { + let mut violations = Vec::new(); + + let Some(longest_window) = grant.settings.volume_limits.iter().map(|l| l.window).max() else { + return Ok(violations); + }; + + let past_transfers = query_relevant_past_transfers(grant.id, longest_window, db).await?; + + for limit in &grant.settings.volume_limits { + let window_start = chrono::Utc::now() - limit.window; + let cumulative_volume: U256 = past_transfers + .iter() + .filter(|(_, timestamp)| timestamp >= &window_start) + .fold(U256::default(), |acc, (value, _)| acc + *value); + + if cumulative_volume > limit.max_volume { + violations.push(EvalViolation::VolumetricLimitExceeded); + break; + } + } + + Ok(violations) +} + +pub struct TokenTransferPolicy; +impl Policy for TokenTransferPolicy { + type Settings = Settings; + type Meaning = Meaning; + + fn analyze(context: &EvalContext) -> Option { + let token = nonfungible::get_token(context.chain, context.to)?; + let decoded = transferCall::abi_decode_raw_validate(&context.calldata).ok()?; + + Some(Meaning { + token, + to: decoded.to, + value: decoded.value, + }) + } + + async fn evaluate( + context: &EvalContext, + meaning: &Self::Meaning, + grant: &Grant, + db: &mut impl AsyncConnection, + ) -> QueryResult> { + let mut violations = Vec::new(); + + // erc20 transfer shouldn't carry eth value + if !context.value.is_zero() { + violations.push(EvalViolation::InvalidTransactionType); + return Ok(violations); + } + + if let Some(allowed) = grant.settings.target { + if allowed != meaning.to { + violations.push(EvalViolation::InvalidTarget { target: meaning.to }); + } + } + + let rate_violations = check_volume_rate_limits(grant, db).await?; + violations.extend(rate_violations); + + Ok(violations) + } + + async fn create_grant( + basic: &EvmBasicGrant, + grant: &Self::Settings, + conn: &mut impl AsyncConnection, + ) -> QueryResult { + // Store the specific receiver as bytes (None means any receiver is allowed) + let receiver: Option> = grant.target.map(|addr| addr.to_vec()); + + let grant_id: i32 = insert_into(evm_token_transfer_grant::table) + .values(NewEvmTokenTransferGrant { + basic_grant_id: basic.id, + token_contract: grant.token_contract.to_vec(), + receiver, + }) + .returning(evm_token_transfer_grant::id) + .get_result(conn) + .await?; + + for limit in &grant.volume_limits { + insert_into(evm_token_transfer_volume_limit::table) + .values(NewEvmTokenTransferVolumeLimit { + grant_id, + window_secs: limit.window.num_seconds() as i32, + max_volume: utils::u256_to_bytes(limit.max_volume).to_vec(), + }) + .execute(conn) + .await?; + } + + Ok(grant_id) + } + + async fn try_find_grant( + context: &EvalContext, + conn: &mut impl AsyncConnection, + ) -> QueryResult>> { + use crate::db::schema::{evm_basic_grant, evm_token_transfer_grant}; + + let token_contract_bytes = context.to.to_vec(); + + let grant: Option<(EvmBasicGrant, EvmTokenTransferGrant)> = evm_token_transfer_grant::table + .inner_join( + evm_basic_grant::table + .on(evm_token_transfer_grant::basic_grant_id.eq(evm_basic_grant::id)), + ) + .filter(evm_basic_grant::wallet_id.eq(context.wallet_id)) + .filter(evm_basic_grant::client_id.eq(context.client_id)) + .filter(evm_token_transfer_grant::token_contract.eq(&token_contract_bytes)) + .select(( + EvmBasicGrant::as_select(), + EvmTokenTransferGrant::as_select(), + )) + .first(conn) + .await + .optional()?; + + let Some((basic_grant, token_grant)) = grant else { + return Ok(None); + }; + + let volume_limits_db: Vec = + evm_token_transfer_volume_limit::table + .filter(evm_token_transfer_volume_limit::grant_id.eq(token_grant.id)) + .select(EvmTokenTransferVolumeLimit::as_select()) + .load(conn) + .await?; + + let volume_limits: Vec = volume_limits_db + .into_iter() + .map(|row| { + Ok(VolumeRateLimit { + max_volume: utils::try_bytes_to_u256(&row.max_volume).map_err(|err| { + diesel::result::Error::DeserializationError(Box::new(err)) + })?, + window: Duration::seconds(row.window_secs as i64), + }) + }) + .collect::>>()?; + + let token_contract: [u8; 20] = token_grant.token_contract.try_into().map_err(|_| { + diesel::result::Error::DeserializationError( + "Invalid token contract address length".into(), + ) + })?; + + let target: Option
= match token_grant.receiver { + None => None, + Some(bytes) => { + let arr: [u8; 20] = bytes.try_into().map_err(|_| { + diesel::result::Error::DeserializationError( + "Invalid receiver address length".into(), + ) + })?; + Some(Address::from(arr)) + } + }; + + let settings = Settings { + token_contract: Address::from(token_contract), + target, + volume_limits, + }; + + Ok(Some(Grant { + id: token_grant.id, + shared_grant_id: token_grant.basic_grant_id, + shared: SharedGrantSettings::try_from_model(basic_grant)?, + settings, + })) + } + + async fn record_transaction( + context: &EvalContext, + meaning: &Self::Meaning, + log_id: i32, + grant: &Grant, + conn: &mut impl AsyncConnection, + ) -> QueryResult<()> { + insert_into(evm_token_transfer_log::table) + .values(NewEvmTokenTransferLog { + grant_id: grant.id, + log_id, + chain_id: context.chain as i32, + token_contract: context.to.to_vec(), + recipient_address: meaning.to.to_vec(), + value: utils::u256_to_bytes(meaning.value).to_vec(), + }) + .execute(conn) + .await?; + + Ok(()) + } +} diff --git a/server/crates/arbiter-server/src/evm/utils.rs b/server/crates/arbiter-server/src/evm/utils.rs index 4372282..7358173 100644 --- a/server/crates/arbiter-server/src/evm/utils.rs +++ b/server/crates/arbiter-server/src/evm/utils.rs @@ -1,5 +1,12 @@ use alloy::primitives::U256; +#[derive(thiserror::Error, Debug)] +#[error("Expected {expected} bytes but got {actual} bytes")] +pub struct LengthError { + pub expected: usize, + pub actual: usize, +} + pub fn u256_to_bytes(value: U256) -> [u8; 32] { value.to_le_bytes() } @@ -7,3 +14,13 @@ pub fn bytes_to_u256(bytes: &[u8]) -> Option { let bytes: [u8; 32] = bytes.try_into().ok()?; Some(U256::from_le_bytes(bytes)) } + +pub fn try_bytes_to_u256(bytes: &[u8]) -> diesel::result::QueryResult { + let bytes: [u8; 32] = bytes.try_into().map_err(|_| { + diesel::result::Error::DeserializationError(Box::new(LengthError { + expected: 32, + actual: bytes.len(), + })) + })?; + Ok(U256::from_le_bytes(bytes)) +} diff --git a/server/crates/arbiter-tokens-registry/Cargo.toml b/server/crates/arbiter-tokens-registry/Cargo.toml new file mode 100644 index 0000000..d403554 --- /dev/null +++ b/server/crates/arbiter-tokens-registry/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "arbiter-tokens-registry" +version = "0.1.0" +edition = "2024" + +[dependencies] +alloy.workspace = true diff --git a/server/crates/arbiter-tokens-registry/src/evm/mod.rs b/server/crates/arbiter-tokens-registry/src/evm/mod.rs new file mode 100644 index 0000000..34f9e88 --- /dev/null +++ b/server/crates/arbiter-tokens-registry/src/evm/mod.rs @@ -0,0 +1 @@ +pub mod nonfungible; \ No newline at end of file diff --git a/server/crates/arbiter-tokens-registry/src/evm/nonfungible.rs b/server/crates/arbiter-tokens-registry/src/evm/nonfungible.rs new file mode 100644 index 0000000..581195d --- /dev/null +++ b/server/crates/arbiter-tokens-registry/src/evm/nonfungible.rs @@ -0,0 +1,13 @@ +use alloy::primitives::{Address, ChainId, address}; + +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct TokenInfo { + pub name: &'static str, + pub symbol: &'static str, + pub decimals: u32, + pub contract: Address, + pub chain: ChainId, + pub logo_uri: Option<&'static str>, +} + +include!("tokens.rs"); diff --git a/server/crates/arbiter-tokens-registry/src/evm/tokens.rs b/server/crates/arbiter-tokens-registry/src/evm/tokens.rs new file mode 100644 index 0000000..ba59489 --- /dev/null +++ b/server/crates/arbiter-tokens-registry/src/evm/tokens.rs @@ -0,0 +1,13248 @@ +// Auto-generated from Uniswap token list v18.7.0 +// 1203 tokens +// DO NOT EDIT - regenerate with gen_erc20_registry.py + +pub static TOKEN_1INCH: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0x111111111117dC0aa78b770fA6A738034120C302"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static ANCIENT8: TokenInfo = TokenInfo { + name: "Ancient8", + symbol: "A8", + decimals: 18, + contract: address!("0x3E5A19c91266aD8cE2477B91585d1856B84062dF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/39170/standard/A8_Token-04_200x200.png?1720798300"), +}; + +pub static AAVE: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static ARCBLOCK: TokenInfo = TokenInfo { + name: "Arcblock", + symbol: "ABT", + decimals: 18, + contract: address!("0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2341/thumb/arcblock.png?1547036543"), +}; + +pub static ALCHEMY_PAY: TokenInfo = TokenInfo { + name: "Alchemy Pay", + symbol: "ACH", + decimals: 8, + contract: address!("0xEd04915c23f00A313a544955524EB7DBD823143d"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12390/thumb/ACH_%281%29.png?1599691266"), +}; + +pub static ACROSS_PROTOCOL_TOKEN: TokenInfo = TokenInfo { + name: "Across Protocol Token", + symbol: "ACX", + decimals: 18, + contract: address!("0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/28161/large/across-200x200.png?1696527165"), +}; + +pub static AMBIRE_ADEX: TokenInfo = TokenInfo { + name: "Ambire AdEx", + symbol: "ADX", + decimals: 18, + contract: address!("0xADE00C28244d5CE17D72E40330B1c318cD12B7c3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/847/thumb/Ambire_AdEx_Symbol_color.png?1655432540"), +}; + +pub static AERGO: TokenInfo = TokenInfo { + name: "Aergo", + symbol: "AERGO", + decimals: 18, + contract: address!("0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4490/thumb/aergo.png?1647696770"), +}; + +pub static AEVO: TokenInfo = TokenInfo { + name: "Aevo", + symbol: "AEVO", + decimals: 18, + contract: address!("0xB528edBef013aff855ac3c50b381f253aF13b997"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/35893/standard/aevo.png"), +}; + +pub static AGEUR: TokenInfo = TokenInfo { + name: "agEur", + symbol: "agEUR", + decimals: 18, + contract: address!("0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19479/standard/agEUR.png?1696518915"), +}; + +pub static ADVENTURE_GOLD: TokenInfo = TokenInfo { + name: "Adventure Gold", + symbol: "AGLD", + decimals: 18, + contract: address!("0x32353A6C91143bfd6C7d363B546e62a9A2489A20"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/18125/thumb/lpgblc4h_400x400.jpg?1630570955"), +}; + +pub static AIOZ_NETWORK: TokenInfo = TokenInfo { + name: "AIOZ Network", + symbol: "AIOZ", + decimals: 18, + contract: address!("0x626E8036dEB333b408Be468F951bdB42433cBF18"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14631/thumb/aioz_logo.png?1617413126"), +}; + +pub static ALCHEMIX: TokenInfo = TokenInfo { + name: "Alchemix", + symbol: "ALCX", + decimals: 18, + contract: address!("0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14113/thumb/Alchemix.png?1614409874"), +}; + +pub static ALEPH_IM: TokenInfo = TokenInfo { + name: "Aleph im", + symbol: "ALEPH", + decimals: 18, + contract: address!("0x27702a26126e0B3702af63Ee09aC4d1A084EF628"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11676/thumb/Monochram-aleph.png?1608483725"), +}; + +pub static ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE: TokenInfo = TokenInfo { + name: "Alethea Artificial Liquid Intelligence", + symbol: "ALI", + decimals: 18, + contract: address!("0x6B0b3a982b4634aC68dD83a4DBF02311cE324181"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/22062/thumb/alethea-logo-transparent-colored.png?1642748848"), +}; + +pub static MY_NEIGHBOR_ALICE: TokenInfo = TokenInfo { + name: "My Neighbor Alice", + symbol: "ALICE", + decimals: 6, + contract: address!("0xAC51066d7bEC65Dc4589368da368b212745d63E8"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14375/thumb/alice_logo.jpg?1615782968"), +}; + +pub static ALLORA: TokenInfo = TokenInfo { + name: "Allora", + symbol: "ALLO", + decimals: 18, + contract: address!("0x8408D45b61f5823298F19a09B53b7339c0280489"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70609/large/allo-token.png?1763451165"), +}; + +pub static ALPHA_VENTURE_DAO: TokenInfo = TokenInfo { + name: "Alpha Venture DAO", + symbol: "ALPHA", + decimals: 18, + contract: address!("0xa1faa113cbE53436Df28FF0aEe54275c13B40975"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12738/thumb/AlphaToken_256x256.png?1617160876"), +}; + +pub static ALTLAYER: TokenInfo = TokenInfo { + name: "AltLayer", + symbol: "ALT", + decimals: 18, + contract: address!("0x8457CA5040ad67fdebbCC8EdCE889A335Bc0fbFB"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/34608/standard/Logomark_200x200.png"), +}; + +pub static AMP: TokenInfo = TokenInfo { + name: "Amp", + symbol: "AMP", + decimals: 18, + contract: address!("0xfF20817765cB7f73d4bde2e66e067E58D11095C2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12409/thumb/amp-200x200.png?1599625397"), +}; + +pub static ANKR: TokenInfo = TokenInfo { + name: "Ankr", + symbol: "ANKR", + decimals: 18, + contract: address!("0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4324/thumb/U85xTl2.png?1608111978"), +}; + +pub static ARAGON: TokenInfo = TokenInfo { + name: "Aragon", + symbol: "ANT", + decimals: 18, + contract: address!("0xa117000000f279D81A1D3cc75430fAA017FA5A2e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/681/thumb/JelZ58cv_400x400.png?1601449653"), +}; + +pub static APECOIN: TokenInfo = TokenInfo { + name: "ApeCoin", + symbol: "APE", + decimals: 18, + contract: address!("0x4d224452801ACEd8B2F0aebE155379bb5D594381"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/24383/small/apecoin.jpg?1647476455"), +}; + +pub static API3: TokenInfo = TokenInfo { + name: "API3", + symbol: "API3", + decimals: 18, + contract: address!("0x0b38210ea11411557c13457D4dA7dC6ea731B88a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13256/thumb/api3.jpg?1606751424"), +}; + +pub static APRIORI: TokenInfo = TokenInfo { + name: "aPriori", + symbol: "APR", + decimals: 18, + contract: address!("0x5A9610919f5e81183823A2be4Bd1BeB2B4da2a20"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70220/large/logo-icon-Gradient.png?1761118006"), +}; + +pub static APU_APUSTAJA: TokenInfo = TokenInfo { + name: "Apu Apustaja", + symbol: "APU", + decimals: 18, + contract: address!("0x594DaaD7D77592a2b97b725A7AD59D7E188b5bFa"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/35986/large/200x200.png?1710308147"), +}; + +pub static ARBITRUM: TokenInfo = TokenInfo { + name: "Arbitrum", + symbol: "ARB", + decimals: 18, + contract: address!("0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1"), + chain: 1, + logo_uri: Some("https://arbitrum.foundation/logo.png"), +}; + +pub static ARKHAM: TokenInfo = TokenInfo { + name: "Arkham", + symbol: "ARKM", + decimals: 18, + contract: address!("0x6E2a43be0B1d33b726f0CA3b8de60b3482b8b050"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/30929/standard/Arkham_Logo_CG.png?1696529771"), +}; + +pub static ARPA_CHAIN: TokenInfo = TokenInfo { + name: "ARPA Chain", + symbol: "ARPA", + decimals: 18, + contract: address!("0xBA50933C268F567BDC86E1aC131BE072C6B0b71a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/8506/thumb/9u0a23XY_400x400.jpg?1559027357"), +}; + +pub static ASH: TokenInfo = TokenInfo { + name: "ASH", + symbol: "ASH", + decimals: 18, + contract: address!("0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15714/thumb/omnPqaTY.png?1622820503"), +}; + +pub static ASSEMBLE_PROTOCOL: TokenInfo = TokenInfo { + name: "Assemble Protocol", + symbol: "ASM", + decimals: 18, + contract: address!("0x2565ae0385659badCada1031DB704442E1b69982"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11605/thumb/gpvrlkSq_400x400_%281%29.jpg?1591775789"), +}; + +pub static AIRSWAP: TokenInfo = TokenInfo { + name: "AirSwap", + symbol: "AST", + decimals: 4, + contract: address!("0x27054b13b1B798B345b591a4d22e6562d47eA75a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1019/thumb/Airswap.png?1630903484"), +}; + +pub static AUTOMATA: TokenInfo = TokenInfo { + name: "Automata", + symbol: "ATA", + decimals: 18, + contract: address!("0xA2120b9e674d3fC3875f415A7DF52e382F141225"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15985/thumb/ATA.jpg?1622535745"), +}; + +pub static AETHIR_TOKEN: TokenInfo = TokenInfo { + name: "Aethir Token", + symbol: "ATH", + decimals: 18, + contract: address!("0xbe0Ed4138121EcFC5c0E56B40517da27E6c5226B"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/36179/large/logogram_circle_dark_green_vb_green_(1).png?1718232706"), +}; + +pub static BOUNCE: TokenInfo = TokenInfo { + name: "Bounce", + symbol: "AUCTION", + decimals: 18, + contract: address!("0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13860/thumb/1_KtgpRIJzuwfHe0Rl0avP_g.jpeg?1612412025"), +}; + +pub static AUDD: TokenInfo = TokenInfo { + name: "AUDD", + symbol: "AUDD", + decimals: 6, + contract: address!("0x4cCe605eD955295432958d8951D0B176C10720d5"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/33263/large/AUDD-Logo-Blue_512.png?1701319895"), +}; + +pub static AUDIUS: TokenInfo = TokenInfo { + name: "Audius", + symbol: "AUDIO", + decimals: 18, + contract: address!("0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12913/thumb/AudiusCoinLogo_2x.png?1603425727"), +}; + +pub static ARTVERSE_TOKEN: TokenInfo = TokenInfo { + name: "Artverse Token", + symbol: "AVT", + decimals: 18, + contract: address!("0x845576c64f9754CF09d87e45B720E82F3EeF522C"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19727/thumb/ewnektoB_400x400.png?1635767094"), +}; + +pub static AXELAR: TokenInfo = TokenInfo { + name: "Axelar", + symbol: "AXL", + decimals: 6, + contract: address!("0x467719aD09025FcC6cF6F8311755809d45a5E5f3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/27277/large/V-65_xQ1_400x400.jpeg"), +}; + +pub static AXIE_INFINITY: TokenInfo = TokenInfo { + name: "Axie Infinity", + symbol: "AXS", + decimals: 18, + contract: address!("0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13029/thumb/axie_infinity_logo.png?1604471082"), +}; + +pub static AZTEC: TokenInfo = TokenInfo { + name: "Aztec", + symbol: "AZTEC", + decimals: 18, + contract: address!("0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/70681/large/aztec.png?1763091883"), +}; + +pub static BADGER_DAO: TokenInfo = TokenInfo { + name: "Badger DAO", + symbol: "BADGER", + decimals: 18, + contract: address!("0x3472A5A71965499acd81997a54BBA8D852C6E53d"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13287/thumb/badger_dao_logo.jpg?1607054976"), +}; + +pub static BALANCER: TokenInfo = TokenInfo { + name: "Balancer", + symbol: "BAL", + decimals: 18, + contract: address!("0xba100000625a3754423978a60c9317c58a424e3D"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png"), +}; + +pub static BAND_PROTOCOL: TokenInfo = TokenInfo { + name: "Band Protocol", + symbol: "BAND", + decimals: 18, + contract: address!("0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9545/thumb/band-protocol.png?1568730326"), +}; + +pub static LOMBARD: TokenInfo = TokenInfo { + name: "Lombard", + symbol: "BARD", + decimals: 18, + contract: address!("0xf0DB65D17e30a966C2ae6A21f6BBA71cea6e9754"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68404/large/bard.png?1755657543"), +}; + +pub static BASIC_ATTENTION_TOKEN: TokenInfo = TokenInfo { + name: "Basic Attention Token", + symbol: "BAT", + decimals: 18, + contract: address!("0x0D8775F648430679A709E98d2b0Cb6250d2887EF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/677/thumb/basic-attention-token.png?1547034427"), +}; + +pub static BEAM: TokenInfo = TokenInfo { + name: "Beam", + symbol: "BEAM", + decimals: 18, + contract: address!("0x62D0A8458eD7719FDAF978fe5929C6D342B0bFcE"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/32417/standard/chain-logo.png?1698114384"), +}; + +pub static BICONOMY: TokenInfo = TokenInfo { + name: "Biconomy", + symbol: "BICO", + decimals: 18, + contract: address!("0xF17e65822b568B3903685a7c9F496CF7656Cc6C2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/21061/thumb/biconomy_logo.jpg?1638269749"), +}; + +pub static BIG_TIME: TokenInfo = TokenInfo { + name: "Big Time", + symbol: "BIGTIME", + decimals: 18, + contract: address!("0x64Bc2cA1Be492bE7185FAA2c8835d9b824c8a194"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/32251/standard/-6136155493475923781_121.jpg?1696998691"), +}; + +pub static BIO: TokenInfo = TokenInfo { + name: "BIO", + symbol: "BIO", + decimals: 18, + contract: address!("0xcb1592591996765Ec0eFc1f92599A19767ee5ffA"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53022/large/bio.jpg?1735011002"), +}; + +pub static BITDAO: TokenInfo = TokenInfo { + name: "BitDAO", + symbol: "BIT", + decimals: 18, + contract: address!("0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17627/thumb/rI_YptK8.png?1653983088"), +}; + +pub static HARRYPOTTEROBAMASONIC10INU: TokenInfo = TokenInfo { + name: "HarryPotterObamaSonic10Inu", + symbol: "BITCOIN", + decimals: 8, + contract: address!("0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/30323/large/hpos10i_logo_casino_night-dexview.png?1696529224"), +}; + +pub static BLUR: TokenInfo = TokenInfo { + name: "Blur", + symbol: "BLUR", + decimals: 18, + contract: address!("0x5283D291DBCF85356A21bA090E6db59121208b44"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/28453/large/blur.png?1670745921"), +}; + +pub static BLUZELLE: TokenInfo = TokenInfo { + name: "Bluzelle", + symbol: "BLZ", + decimals: 18, + contract: address!("0x5732046A883704404F284Ce41FfADd5b007FD668"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2848/thumb/ColorIcon_3x.png?1622516510"), +}; + +pub static BANCOR_NETWORK_TOKEN: TokenInfo = TokenInfo { + name: "Bancor Network Token", + symbol: "BNT", + decimals: 18, + contract: address!("0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C/logo.png"), +}; + +pub static BOBA_NETWORK: TokenInfo = TokenInfo { + name: "Boba Network", + symbol: "BOBA", + decimals: 18, + contract: address!("0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/20285/thumb/BOBA.png?1636811576"), +}; + +pub static BOB: TokenInfo = TokenInfo { + name: "BOB", + symbol: "BOBBOB", + decimals: 18, + contract: address!("0xC9746F73cC33a36c2cD55b8aEFD732586946Cedd"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54720/large/BOB_symbol_colour.png?1741195397"), +}; + +pub static BARNBRIDGE: TokenInfo = TokenInfo { + name: "BarnBridge", + symbol: "BOND", + decimals: 18, + contract: address!("0x0391D2021f89DC339F60Fff84546EA23E337750f"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12811/thumb/barnbridge.jpg?1602728853"), +}; + +pub static BREVIS: TokenInfo = TokenInfo { + name: "Brevis", + symbol: "BREV", + decimals: 18, + contract: address!("0x086F405146Ce90135750Bbec9A063a8B20A8bfFb"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/71219/large/brevis.png?1766454723"), +}; + +pub static BRAINTRUST: TokenInfo = TokenInfo { + name: "Braintrust", + symbol: "BTRST", + decimals: 18, + contract: address!("0x799ebfABE77a6E34311eeEe9825190B9ECe32824"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/18100/thumb/braintrust.PNG?1630475394"), +}; + +pub static BINANCE_USD: TokenInfo = TokenInfo { + name: "Binance USD", + symbol: "BUSD", + decimals: 18, + contract: address!("0x4Fabb145d64652a948d72533023f6E7A623C7C53"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9576/thumb/BUSD.png?1568947766"), +}; + +pub static COIN98: TokenInfo = TokenInfo { + name: "Coin98", + symbol: "C98", + decimals: 18, + contract: address!("0xAE12C5930881c53715B369ceC7606B70d8EB229f"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17117/thumb/logo.png?1626412904"), +}; + +pub static PANCAKESWAP: TokenInfo = TokenInfo { + name: "PancakeSwap", + symbol: "CAKE", + decimals: 18, + contract: address!("0x152649eA73beAb28c5b49B26eb48f7EAD6d4c898"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/12632/large/pancakeswap-cake-logo_%281%29.png?1696512440"), +}; + +pub static COINBASE_WRAPPED_BTC: TokenInfo = TokenInfo { + name: "Coinbase Wrapped BTC", + symbol: "cbBTC", + decimals: 8, + contract: address!("0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/40143/standard/cbbtc.webp"), +}; + +pub static COINBASE_WRAPPED_STAKED_ETH: TokenInfo = TokenInfo { + name: "Coinbase Wrapped Staked ETH", + symbol: "cbETH", + decimals: 18, + contract: address!("0xBe9895146f7AF43049ca1c1AE358B0541Ea49704"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/27008/large/cbeth.png"), +}; + +pub static CELO_NATIVE_ASSET_WORMHOLE: TokenInfo = TokenInfo { + name: "Celo native asset (Wormhole)", + symbol: "CELO", + decimals: 18, + contract: address!("0x3294395e62F4eB6aF3f1Fcf89f5602D90Fb3Ef69"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/wormhole-foundation/wormhole-token-list/main/assets/celo_wh.png"), +}; + +pub static CELER_NETWORK: TokenInfo = TokenInfo { + name: "Celer Network", + symbol: "CELR", + decimals: 18, + contract: address!("0x4F9254C83EB525f9FCf346490bbb3ed28a81C667"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4379/thumb/Celr.png?1554705437"), +}; + +pub static CENTRIFUGE: TokenInfo = TokenInfo { + name: "Centrifuge", + symbol: "CFG", + decimals: 18, + contract: address!("0xcccCCCcCCC33D538DBC2EE4fEab0a7A1FF4e8A94"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55913/large/centrifuge.jpg?1747707741"), +}; + +pub static CHROMIA: TokenInfo = TokenInfo { + name: "Chromia", + symbol: "CHR", + decimals: 6, + contract: address!("0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/5000/thumb/Chromia.png?1559038018"), +}; + +pub static CHILIZ: TokenInfo = TokenInfo { + name: "Chiliz", + symbol: "CHZ", + decimals: 18, + contract: address!("0x3506424F91fD33084466F402d5D97f05F8e3b4AF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/8834/thumb/Chiliz.png?1561970540"), +}; + +pub static CLOVER_FINANCE: TokenInfo = TokenInfo { + name: "Clover Finance", + symbol: "CLV", + decimals: 18, + contract: address!("0x80C62FE4487E1351b47Ba49809EBD60ED085bf52"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15278/thumb/clover.png?1645084454"), +}; + +pub static COMPOUND: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0xc00e94Cb662C3520282E6f5717214004A7f26888"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc00e94Cb662C3520282E6f5717214004A7f26888/logo.png"), +}; + +pub static CORN: TokenInfo = TokenInfo { + name: "Corn", + symbol: "CORN", + decimals: 18, + contract: address!("0x44f49ff0da2498bCb1D3Dc7C0f999578F67FD8C6"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54471/large/corn.jpg?1739933588"), +}; + +pub static COTI: TokenInfo = TokenInfo { + name: "COTI", + symbol: "COTI", + decimals: 18, + contract: address!("0xDDB3422497E61e13543BeA06989C0789117555c5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2962/thumb/Coti.png?1559653863"), +}; + +pub static CIRCUITS_OF_VALUE: TokenInfo = TokenInfo { + name: "Circuits of Value", + symbol: "COVAL", + decimals: 8, + contract: address!("0x3D658390460295FB963f54dC0899cfb1c30776Df"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/588/thumb/coval-logo.png?1599493950"), +}; + +pub static COW_PROTOCOL: TokenInfo = TokenInfo { + name: "CoW Protocol", + symbol: "COW", + decimals: 18, + contract: address!("0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/24384/large/CoW-token_logo.png?1719524382"), +}; + +pub static CLEARPOOL: TokenInfo = TokenInfo { + name: "Clearpool", + symbol: "CPOOL", + decimals: 18, + contract: address!("0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19252/large/photo_2022-08-31_12.45.02.jpeg?1696518697"), +}; + +pub static COVALENT: TokenInfo = TokenInfo { + name: "Covalent", + symbol: "CQT", + decimals: 18, + contract: address!("0xD417144312DbF50465b1C641d016962017Ef6240"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14168/thumb/covalent-cqt.png?1624545218"), +}; + +pub static CRONOS: TokenInfo = TokenInfo { + name: "Cronos", + symbol: "CRO", + decimals: 8, + contract: address!("0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/7310/thumb/oCw2s3GI_400x400.jpeg?1645172042"), +}; + +pub static CRYPTERIUM: TokenInfo = TokenInfo { + name: "Crypterium", + symbol: "CRPT", + decimals: 18, + contract: address!("0x08389495D7456E1951ddF7c3a1314A4bfb646d8B"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1901/thumb/crypt.png?1547036205"), +}; + +pub static CURVE_DAO_TOKEN: TokenInfo = TokenInfo { + name: "Curve DAO Token", + symbol: "CRV", + decimals: 18, + contract: address!("0xD533a949740bb3306d119CC777fa900bA034cd52"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD533a949740bb3306d119CC777fa900bA034cd52/logo.png"), +}; + +pub static CARTESI: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static CRYPTEX_FINANCE: TokenInfo = TokenInfo { + name: "Cryptex Finance", + symbol: "CTX", + decimals: 18, + contract: address!("0x321C2fE4446C7c963dc41Dd58879AF648838f98D"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14932/thumb/glossy_icon_-_C200px.png?1619073171"), +}; + +pub static SOMNIUM_SPACE_CUBES: TokenInfo = TokenInfo { + name: "Somnium Space CUBEs", + symbol: "CUBE", + decimals: 8, + contract: address!("0xDf801468a808a32656D2eD2D2d80B72A129739f4"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/10687/thumb/CUBE_icon.png?1617026861"), +}; + +pub static CIVIC: TokenInfo = TokenInfo { + name: "Civic", + symbol: "CVC", + decimals: 8, + contract: address!("0x41e5560054824eA6B0732E656E3Ad64E20e94E45"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/788/thumb/civic.png?1547034556"), +}; + +pub static CONVEX_FINANCE: TokenInfo = TokenInfo { + name: "Convex Finance", + symbol: "CVX", + decimals: 18, + contract: address!("0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15585/thumb/convex.png?1621256328"), +}; + +pub static COVALENT_X_TOKEN: TokenInfo = TokenInfo { + name: "Covalent X Token", + symbol: "CXT", + decimals: 18, + contract: address!("0x7ABc8A5768E6bE61A6c693a6e4EAcb5B60602C4D"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/39177/large/CXT_Ticker.png?1720829918"), +}; + +pub static DAI_STABLECOIN: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0x6B175474E89094C44Da98b954EedeAC495271d0F"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"), +}; + +pub static MINES_OF_DALARNIA: TokenInfo = TokenInfo { + name: "Mines of Dalarnia", + symbol: "DAR", + decimals: 6, + contract: address!("0x081131434f93063751813C619Ecca9C4dC7862a3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19837/thumb/dar.png?1636014223"), +}; + +pub static DERIVADAO: TokenInfo = TokenInfo { + name: "DerivaDAO", + symbol: "DDX", + decimals: 18, + contract: address!("0x3A880652F47bFaa771908C07Dd8673A787dAEd3A"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13453/thumb/ddx_logo.png?1608741641"), +}; + +pub static DENT: TokenInfo = TokenInfo { + name: "Dent", + symbol: "DENT", + decimals: 8, + contract: address!("0x3597bfD533a99c9aa083587B074434E61Eb0A258"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1152/thumb/gLCEA2G.png?1604543239"), +}; + +pub static DEXTOOLS: TokenInfo = TokenInfo { + name: "DexTools", + symbol: "DEXT", + decimals: 18, + contract: address!("0xfB7B4564402E5500dB5bB6d63Ae671302777C75a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11603/thumb/dext.png?1605790188"), +}; + +pub static DIA: TokenInfo = TokenInfo { + name: "DIA", + symbol: "DIA", + decimals: 18, + contract: address!("0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11955/thumb/image.png?1646041751"), +}; + +pub static DISTRICT0X: TokenInfo = TokenInfo { + name: "district0x", + symbol: "DNT", + decimals: 18, + contract: address!("0x0AbdAce70D3790235af448C88547603b945604ea"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/849/thumb/district0x.png?1547223762"), +}; + +pub static DOLOMITE: TokenInfo = TokenInfo { + name: "Dolomite", + symbol: "DOLO", + decimals: 18, + contract: address!("0x0F81001eF0A83ecCE5ccebf63EB302c70a39a654"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54710/large/DOLO-small.png?1745398535"), +}; + +pub static DOVU: TokenInfo = TokenInfo { + name: "DOVU", + symbol: "DOVU", + decimals: 8, + contract: address!("0x2aeAbde1aB736c59E9A19BeD67681869eEF39526"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31930/large/Dovu_Icon_Black_%281%29.png?1696530738"), +}; + +pub static DEFI_PULSE_INDEX: TokenInfo = TokenInfo { + name: "DeFi Pulse Index", + symbol: "DPI", + decimals: 18, + contract: address!("0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12465/thumb/defi_pulse_index_set.png?1600051053"), +}; + +pub static DREP: TokenInfo = TokenInfo { + name: "Drep", + symbol: "DREP", + decimals: 18, + contract: address!("0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14578/thumb/KotgsCgS_400x400.jpg?1617094445"), +}; + +pub static DERIVE: TokenInfo = TokenInfo { + name: "Derive", + symbol: "DRV", + decimals: 18, + contract: address!("0xB1D1eae60EEA9525032a6DCb4c1CE336a1dE71BE"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52889/large/Token_Logo.png?1734601695"), +}; + +pub static DYDX: TokenInfo = TokenInfo { + name: "dYdX", + symbol: "DYDX", + decimals: 18, + contract: address!("0x92D6C1e31e14520e676a687F0a93788B716BEff5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17500/thumb/hjnIm9bV.jpg?1628009360"), +}; + +pub static DEFI_YIELD_PROTOCOL: TokenInfo = TokenInfo { + name: "DeFi Yield Protocol", + symbol: "DYP", + decimals: 18, + contract: address!("0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13480/thumb/DYP_Logo_Symbol-8.png?1655809066"), +}; + +pub static EIGENLAYER: TokenInfo = TokenInfo { + name: "EigenLayer", + symbol: "EIGEN", + decimals: 18, + contract: address!("0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/37441/large/eigen.jpg?1728023974"), +}; + +pub static ELASTOS: TokenInfo = TokenInfo { + name: "Elastos", + symbol: "ELA", + decimals: 18, + contract: address!("0xe6fd75ff38Adca4B97FBCD938c86b98772431867"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2780/thumb/Elastos.png?1597048112"), +}; + +pub static DOGELON_MARS: TokenInfo = TokenInfo { + name: "Dogelon Mars", + symbol: "ELON", + decimals: 18, + contract: address!("0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14962/thumb/6GxcPRo3_400x400.jpg?1619157413"), +}; + +pub static ETHENA: TokenInfo = TokenInfo { + name: "Ethena", + symbol: "ENA", + decimals: 18, + contract: address!("0x57e114B691Db790C35207b2e685D4A43181e6061"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/36530/standard/ethena.png"), +}; + +pub static ENJIN_COIN: TokenInfo = TokenInfo { + name: "Enjin Coin", + symbol: "ENJ", + decimals: 18, + contract: address!("0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1102/thumb/enjin-coin-logo.png?1547035078"), +}; + +pub static ETHEREUM_NAME_SERVICE: TokenInfo = TokenInfo { + name: "Ethereum Name Service", + symbol: "ENS", + decimals: 18, + contract: address!("0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19785/thumb/acatxTm8_400x400.jpg?1635850140"), +}; + +pub static CALDERA: TokenInfo = TokenInfo { + name: "Caldera", + symbol: "ERA", + decimals: 18, + contract: address!("0xE2AD0BF751834f2fbdC62A41014f84d67cA1de2A"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54475/large/Token_Logo.png?1749676251"), +}; + +pub static ETHERNITY_CHAIN: TokenInfo = TokenInfo { + name: "Ethernity Chain", + symbol: "ERN", + decimals: 18, + contract: address!("0xBBc2AE13b23d715c30720F079fcd9B4a74093505"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14238/thumb/LOGO_HIGH_QUALITY.png?1647831402"), +}; + +pub static ESPRESSO: TokenInfo = TokenInfo { + name: "Espresso", + symbol: "ESP", + decimals: 18, + contract: address!("0x031De51F3E8016514Bd0963d0B2AB825A591Db9A"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/67626/large/espresso.jpg?1753324525"), +}; + +pub static ETHER_FI: TokenInfo = TokenInfo { + name: "Ether.fi", + symbol: "ETHFI", + decimals: 18, + contract: address!("0xFe0c30065B384F05761f15d0CC899D4F9F9Cc0eB"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/35958/standard/etherfi.jpeg"), +}; + +pub static EULER: TokenInfo = TokenInfo { + name: "Euler", + symbol: "EUL", + decimals: 18, + contract: address!("0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/26149/thumb/YCvKDfl8_400x400.jpeg?1656041509"), +}; + +pub static EURO_COIN: TokenInfo = TokenInfo { + name: "Euro Coin", + symbol: "EURC", + decimals: 6, + contract: address!("0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/26045/thumb/euro-coin.png?1655394420"), +}; + +pub static SCHUMAN_EUR_P: TokenInfo = TokenInfo { + name: "Schuman EUR P", + symbol: "EUROP", + decimals: 6, + contract: address!("0x888883b5F5D21fb10Dfeb70e8f9722B9FB0E5E51"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52132/large/europ-symbol-rgb.jpg?1732634862"), +}; + +pub static QUANTOZ_EURQ: TokenInfo = TokenInfo { + name: "Quantoz EURQ", + symbol: "EURQ", + decimals: 6, + contract: address!("0x8dF723295214Ea6f21026eeEb4382d475f146F9f"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51853/large/EURQ_1000px_Color.png?1732071269"), +}; + +pub static STABLR_EURO: TokenInfo = TokenInfo { + name: "StablR Euro", + symbol: "EURR", + decimals: 6, + contract: address!("0x50753CfAf86c094925Bf976f218D043f8791e408"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53720/large/stablreuro-logo.png?1737125898"), +}; + +pub static HARVEST_FINANCE: TokenInfo = TokenInfo { + name: "Harvest Finance", + symbol: "FARM", + decimals: 18, + contract: address!("0xa0246c9032bC3A600820415aE600c6388619A14D"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12304/thumb/Harvest.png?1613016180"), +}; + +pub static FETCH_AI: TokenInfo = TokenInfo { + name: "Fetch ai", + symbol: "FET", + decimals: 18, + contract: address!("0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/5681/thumb/Fetch.jpg?1572098136"), +}; + +pub static FIDELITY_DIGITAL_DOLLAR: TokenInfo = TokenInfo { + name: "Fidelity Digital Dollar", + symbol: "FIDD", + decimals: 18, + contract: address!("0x7C135549504245B5eAe64fc0E99Fa5ebabb8e35D"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/102171776/large/FIDD-Green_%28792px%29.png?1769612802"), +}; + +pub static STAFI: TokenInfo = TokenInfo { + name: "Stafi", + symbol: "FIS", + decimals: 18, + contract: address!("0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12423/thumb/stafi_logo.jpg?1599730991"), +}; + +pub static FLOKI: TokenInfo = TokenInfo { + name: "FLOKI", + symbol: "FLOKI", + decimals: 9, + contract: address!("0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/16746/standard/PNG_image.png?1696516318"), +}; + +pub static FLUX: TokenInfo = TokenInfo { + name: "Flux", + symbol: "FLUX", + decimals: 18, + contract: address!("0x720CD16b011b987Da3518fbf38c3071d4F0D1495"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x720CD16b011b987Da3518fbf38c3071d4F0D1495/logo.png"), +}; + +pub static FORTA: TokenInfo = TokenInfo { + name: "Forta", + symbol: "FORT", + decimals: 18, + contract: address!("0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/25060/thumb/Forta_lgo_%281%29.png?1655353696"), +}; + +pub static AMPLEFORTH_GOVERNANCE_TOKEN: TokenInfo = TokenInfo { + name: "Ampleforth Governance Token", + symbol: "FORTH", + decimals: 18, + contract: address!("0x77FbA179C79De5B7653F68b5039Af940AdA60ce0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14917/thumb/photo_2021-04-22_00.00.03.jpeg?1619020835"), +}; + +pub static SHAPESHIFT_FOX_TOKEN: TokenInfo = TokenInfo { + name: "ShapeShift FOX Token", + symbol: "FOX", + decimals: 18, + contract: address!("0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9988/thumb/FOX.png?1574330622"), +}; + +pub static FRAX: TokenInfo = TokenInfo { + name: "Frax", + symbol: "FRAX", + decimals: 18, + contract: address!("0x853d955aCEf822Db058eb8505911ED77F175b99e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13422/thumb/frax_logo.png?1608476506"), +}; + +pub static FANTOM: TokenInfo = TokenInfo { + name: "Fantom", + symbol: "FTM", + decimals: 18, + contract: address!("0x4E15361FD6b4BB609Fa63C81A2be19d873717870"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4001/thumb/Fantom.png?1558015016"), +}; + +pub static FUNCTION_X: TokenInfo = TokenInfo { + name: "Function X", + symbol: "FX", + decimals: 18, + contract: address!("0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/8186/thumb/47271330_590071468072434_707260356350705664_n.jpg?1556096683"), +}; + +pub static FRAX_SHARE: TokenInfo = TokenInfo { + name: "Frax Share", + symbol: "FXS", + decimals: 18, + contract: address!("0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13423/thumb/frax_share.png?1608478989"), +}; + +pub static GRAVITY: TokenInfo = TokenInfo { + name: "Gravity", + symbol: "G", + decimals: 18, + contract: address!("0x9C7BEBa8F6eF6643aBd725e45a4E8387eF260649"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/39200/large/gravity.jpg?1721020647"), +}; + +pub static GALXE: TokenInfo = TokenInfo { + name: "Galxe", + symbol: "GAL", + decimals: 18, + contract: address!("0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/24530/thumb/GAL-Token-Icon.png?1651483533"), +}; + +pub static GALA: TokenInfo = TokenInfo { + name: "GALA", + symbol: "GALA", + decimals: 8, + contract: address!("0xd1d2Eb1B1e90B638588728b4130137D262C87cae"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12493/standard/GALA-COINGECKO.png?1696512310"), +}; + +pub static GOLDFINCH: TokenInfo = TokenInfo { + name: "Goldfinch", + symbol: "GFI", + decimals: 18, + contract: address!("0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19081/thumb/GOLDFINCH.png?1634369662"), +}; + +pub static AAVEGOTCHI: TokenInfo = TokenInfo { + name: "Aavegotchi", + symbol: "GHST", + decimals: 18, + contract: address!("0x3F382DbD960E3a9bbCeaE22651E88158d2791550"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12467/thumb/ghst_200.png?1600750321"), +}; + +pub static GOLEM: TokenInfo = TokenInfo { + name: "Golem", + symbol: "GLM", + decimals: 18, + contract: address!("0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/542/thumb/Golem_Submark_Positive_RGB.png?1606392013"), +}; + +pub static GNOSIS_TOKEN: TokenInfo = TokenInfo { + name: "Gnosis Token", + symbol: "GNO", + decimals: 18, + contract: address!("0x6810e776880C02933D47DB1b9fc05908e5386b96"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6810e776880C02933D47DB1b9fc05908e5386b96/logo.png"), +}; + +pub static GODS_UNCHAINED: TokenInfo = TokenInfo { + name: "Gods Unchained", + symbol: "GODS", + decimals: 18, + contract: address!("0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17139/thumb/10631.png?1635718182"), +}; + +pub static THE_GRAPH: TokenInfo = TokenInfo { + name: "The Graph", + symbol: "GRT", + decimals: 18, + contract: address!("0xc944E90C64B2c07662A292be6244BDf05Cda44a7"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13397/thumb/Graph_Token.png?1608145566"), +}; + +pub static GITCOIN: TokenInfo = TokenInfo { + name: "Gitcoin", + symbol: "GTC", + decimals: 18, + contract: address!("0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15810/thumb/gitcoin.png?1621992929"), +}; + +pub static GEMINI_DOLLAR: TokenInfo = TokenInfo { + name: "Gemini Dollar", + symbol: "GUSD", + decimals: 2, + contract: address!("0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/5992/thumb/gemini-dollar-gusd.png?1536745278"), +}; + +pub static ETHGAS: TokenInfo = TokenInfo { + name: "ETHGas", + symbol: "GWEI", + decimals: 18, + contract: address!("0x2798b1cC5A993085E8A9D46e80499F1B63f42204"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/71375/large/ethgas_token_200.png?1769055039"), +}; + +pub static GYEN: TokenInfo = TokenInfo { + name: "GYEN", + symbol: "GYEN", + decimals: 6, + contract: address!("0xC08512927D12348F6620a698105e1BAac6EcD911"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14191/thumb/icon_gyen_200_200.png?1614843343"), +}; + +pub static HASHFLOW: TokenInfo = TokenInfo { + name: "Hashflow", + symbol: "HFT", + decimals: 18, + contract: address!("0xb3999F658C0391d94A37f7FF328F3feC942BcADC"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/26136/large/hashflow-icon-cmc.png"), +}; + +pub static HIGHSTREET: TokenInfo = TokenInfo { + name: "Highstreet", + symbol: "HIGH", + decimals: 18, + contract: address!("0x71Ab77b7dbB4fa7e017BC15090b2163221420282"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/18973/thumb/logosq200200Coingecko.png?1634090470"), +}; + +pub static HOPR: TokenInfo = TokenInfo { + name: "HOPR", + symbol: "HOPR", + decimals: 18, + contract: address!("0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14061/thumb/Shared_HOPR_logo_512px.png?1614073468"), +}; + +pub static IDEX: TokenInfo = TokenInfo { + name: "IDEX", + symbol: "IDEX", + decimals: 18, + contract: address!("0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2565/thumb/logomark-purple-286x286.png?1638362736"), +}; + +pub static ILLUVIUM: TokenInfo = TokenInfo { + name: "Illuvium", + symbol: "ILV", + decimals: 18, + contract: address!("0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14468/large/ILV.JPG"), +}; + +pub static IMMUNEFI: TokenInfo = TokenInfo { + name: "ImmuneFi", + symbol: "IMU", + decimals: 18, + contract: address!("0xb48c6B24f36307c7A1f2a9281E978a9ef2902BA5"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/39429.png"), +}; + +pub static IMMUTABLE_X: TokenInfo = TokenInfo { + name: "Immutable X", + symbol: "IMX", + decimals: 18, + contract: address!("0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17233/thumb/imx.png?1636691817"), +}; + +pub static INDEX_COOPERATIVE: TokenInfo = TokenInfo { + name: "Index Cooperative", + symbol: "INDEX", + decimals: 18, + contract: address!("0x0954906da0Bf32d5479e25f46056d22f08464cab"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12729/thumb/index.png?1634894321"), +}; + +pub static INJECTIVE: TokenInfo = TokenInfo { + name: "Injective", + symbol: "INJ", + decimals: 18, + contract: address!("0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12882/thumb/Secondary_Symbol.png?1628233237"), +}; + +pub static INVERSE_FINANCE: TokenInfo = TokenInfo { + name: "Inverse Finance", + symbol: "INV", + decimals: 18, + contract: address!("0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14205/thumb/inverse_finance.jpg?1614921871"), +}; + +pub static INFINEX: TokenInfo = TokenInfo { + name: "Infinex", + symbol: "INX", + decimals: 18, + contract: address!("0xdeF1b2D939EdC0E4d35806c59b3166F790175afe"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70868/large/infinex.png?1764322875"), +}; + +pub static IOTEX: TokenInfo = TokenInfo { + name: "IoTeX", + symbol: "IOTX", + decimals: 18, + contract: address!("0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/2777.png"), +}; + +pub static IRYS: TokenInfo = TokenInfo { + name: "Irys", + symbol: "IRYS", + decimals: 18, + contract: address!("0x50f41F589aFACa2EF41FDF590FE7b90cD26DEe64"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/38978.png"), +}; + +pub static GEOJAM: TokenInfo = TokenInfo { + name: "Geojam", + symbol: "JAM", + decimals: 18, + contract: address!("0x23894DC9da6c94ECb439911cAF7d337746575A72"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/24648/thumb/ey40AzBN_400x400.jpg?1648507272"), +}; + +pub static JASMYCOIN: TokenInfo = TokenInfo { + name: "JasmyCoin", + symbol: "JASMY", + decimals: 18, + contract: address!("0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13876/thumb/JASMY200x200.jpg?1612473259"), +}; + +pub static JUPITER: TokenInfo = TokenInfo { + name: "Jupiter", + symbol: "JUP", + decimals: 18, + contract: address!("0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/10351/thumb/logo512.png?1632480932"), +}; + +pub static KEEP_NETWORK: TokenInfo = TokenInfo { + name: "Keep Network", + symbol: "KEEP", + decimals: 18, + contract: address!("0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/3373/thumb/IuNzUb5b_400x400.jpg?1589526336"), +}; + +pub static KERNELDAO: TokenInfo = TokenInfo { + name: "KernelDAO", + symbol: "KERNEL", + decimals: 18, + contract: address!("0x3f80B1c54Ae920Be41a77f8B902259D48cf24cCf"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54326/large/Kernel_token_logo_2x.png?1739827205"), +}; + +pub static SELFKEY: TokenInfo = TokenInfo { + name: "SelfKey", + symbol: "KEY", + decimals: 18, + contract: address!("0x4CC19356f2D37338b9802aa8E8fc58B0373296E7"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2034/thumb/selfkey.png?1548608934"), +}; + +pub static KITE: TokenInfo = TokenInfo { + name: "Kite", + symbol: "KITE", + decimals: 18, + contract: address!("0x904567252D8F48555b7447c67dCA23F0372E16be"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70426/large/KITE-ICON.png?1762328605"), +}; + +pub static KYBER_NETWORK_CRYSTAL: TokenInfo = TokenInfo { + name: "Kyber Network Crystal", + symbol: "KNC", + decimals: 18, + contract: address!("0xdd974D5C2e2928deA5F71b9825b8b646686BD200"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdd974D5C2e2928deA5F71b9825b8b646686BD200/logo.png"), +}; + +pub static KEEP3RV1: TokenInfo = TokenInfo { + name: "Keep3rV1", + symbol: "KP3R", + decimals: 18, + contract: address!("0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12966/thumb/kp3r_logo.jpg?1607057458"), +}; + +pub static KRYLL: TokenInfo = TokenInfo { + name: "KRYLL", + symbol: "KRL", + decimals: 18, + contract: address!("0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2807/thumb/krl.png?1547036979"), +}; + +pub static KUJIRA: TokenInfo = TokenInfo { + name: "Kujira", + symbol: "KUJI", + decimals: 6, + contract: address!("0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/20685/standard/kuji-200x200.png"), +}; + +pub static LAYER3: TokenInfo = TokenInfo { + name: "Layer3", + symbol: "L3", + decimals: 18, + contract: address!("0x88909D489678dD17aA6D9609F89B0419Bf78FD9a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/37768/large/Square.png"), +}; + +pub static LAGRANGE: TokenInfo = TokenInfo { + name: "Lagrange", + symbol: "LA", + decimals: 18, + contract: address!("0x0fc2a55d5BD13033f1ee0cdd11f60F7eFe66f467"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/36510.png"), +}; + +pub static LCX: TokenInfo = TokenInfo { + name: "LCX", + symbol: "LCX", + decimals: 18, + contract: address!("0x037A54AaB062628C9Bbae1FDB1583c195585fe41"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9985/thumb/zRPSu_0o_400x400.jpg?1574327008"), +}; + +pub static LIDO_DAO: TokenInfo = TokenInfo { + name: "Lido DAO", + symbol: "LDO", + decimals: 18, + contract: address!("0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13573/thumb/Lido_DAO.png?1609873644"), +}; + +pub static LINEA: TokenInfo = TokenInfo { + name: "Linea", + symbol: "LINEA", + decimals: 18, + contract: address!("0x1789e0043623282D5DCc7F213d703C6D8BAfBB04"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68507/large/linea-logo.jpeg?1756025484"), +}; + +pub static CHAINLINK_TOKEN: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0x514910771AF9Ca656af840dff83E8264EcF986CA"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static LITENTRY: TokenInfo = TokenInfo { + name: "Litentry", + symbol: "LIT", + decimals: 18, + contract: address!("0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13825/large/logo_200x200.png"), +}; + +pub static LIGHTER: TokenInfo = TokenInfo { + name: "Lighter", + symbol: "LIT", + decimals: 18, + contract: address!("0x232CE3bd40fCd6f80f3d55A522d03f25Df784Ee2"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/71121/large/lighter.png?1765888098"), +}; + +pub static LEAGUE_OF_KINGDOMS: TokenInfo = TokenInfo { + name: "League of Kingdoms", + symbol: "LOKA", + decimals: 18, + contract: address!("0x61E90A50137E1F645c9eF4a0d3A4f01477738406"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/22572/thumb/loka_64pix.png?1642643271"), +}; + +pub static LOOM_NETWORK: TokenInfo = TokenInfo { + name: "Loom Network", + symbol: "LOOM", + decimals: 18, + contract: address!("0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0/logo.png"), +}; + +pub static LIVEPEER: TokenInfo = TokenInfo { + name: "Livepeer", + symbol: "LPT", + decimals: 18, + contract: address!("0x58b6A8A3302369DAEc383334672404Ee733aB239"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/7137/thumb/logo-circle-green.png?1619593365"), +}; + +pub static LIQUITY: TokenInfo = TokenInfo { + name: "Liquity", + symbol: "LQTY", + decimals: 18, + contract: address!("0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14665/thumb/200-lqty-icon.png?1617631180"), +}; + +pub static LOOPRINGCOIN_V2: TokenInfo = TokenInfo { + name: "LoopringCoin V2", + symbol: "LRC", + decimals: 18, + contract: address!("0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD/logo.png"), +}; + +pub static BLOCKLORDS: TokenInfo = TokenInfo { + name: "BLOCKLORDS", + symbol: "LRDS", + decimals: 18, + contract: address!("0xd0a6053f087E87a25dC60701ba6E663b1a548E85"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/34775/standard/LRDS_PNG.png"), +}; + +pub static LIQUID_STAKED_ETH: TokenInfo = TokenInfo { + name: "Liquid Staked ETH", + symbol: "LSETH", + decimals: 18, + contract: address!("0x8c1BEd5b9a0928467c9B1341Da1D7BD5e10b6549"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/28848/large/LsETH-receipt-token-circle.png?1696527824"), +}; + +pub static LISK: TokenInfo = TokenInfo { + name: "Lisk", + symbol: "LSK", + decimals: 18, + contract: address!("0x6033F7f88332B8db6ad452B7C6D5bB643990aE3f"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/385/large/Lisk_logo.png?1722338450"), +}; + +pub static LIQUITY_USD: TokenInfo = TokenInfo { + name: "Liquity USD", + symbol: "LUSD", + decimals: 18, + contract: address!("0x5f98805A4E8be255a32880FDeC7F6728C6568bA0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14666/thumb/Group_3.png?1617631327"), +}; + +pub static DECENTRALAND: TokenInfo = TokenInfo { + name: "Decentraland", + symbol: "MANA", + decimals: 18, + contract: address!("0x0F5D2fB29fb7d3CFeE444a200298f468908cC942"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/878/thumb/decentraland-mana.png?1550108745"), +}; + +pub static MASK_NETWORK: TokenInfo = TokenInfo { + name: "Mask Network", + symbol: "MASK", + decimals: 18, + contract: address!("0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14051/thumb/Mask_Network.jpg?1614050316"), +}; + +pub static MATH: TokenInfo = TokenInfo { + name: "MATH", + symbol: "MATH", + decimals: 18, + contract: address!("0x08d967bb0134F2d07f7cfb6E246680c53927DD30"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11335/thumb/2020-05-19-token-200.png?1589940590"), +}; + +pub static POLYGON: TokenInfo = TokenInfo { + name: "Polygon", + symbol: "MATIC", + decimals: 18, + contract: address!("0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static MERIT_CIRCLE: TokenInfo = TokenInfo { + name: "Merit Circle", + symbol: "MC", + decimals: 18, + contract: address!("0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/19304/thumb/Db4XqML.png?1634972154"), +}; + +pub static MOSS_CARBON_CREDIT: TokenInfo = TokenInfo { + name: "Moss Carbon Credit", + symbol: "MCO2", + decimals: 18, + contract: address!("0xfC98e825A2264D890F9a1e68ed50E1526abCcacD"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14414/thumb/ENtxnThA_400x400.jpg?1615948522"), +}; + +pub static MEASURABLE_DATA_TOKEN: TokenInfo = TokenInfo { + name: "Measurable Data Token", + symbol: "MDT", + decimals: 18, + contract: address!("0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2441/thumb/mdt_logo.png?1569813574"), +}; + +pub static MEMECOIN: TokenInfo = TokenInfo { + name: "Memecoin", + symbol: "MEME", + decimals: 18, + contract: address!("0xb131f4A55907B10d1F0A50d8ab8FA09EC342cd74"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/32528/large/memecoin_(2).png"), +}; + +pub static METIS: TokenInfo = TokenInfo { + name: "Metis", + symbol: "METIS", + decimals: 18, + contract: address!("0x9E32b13ce7f2E80A01932B42553652E053D6ed8e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15595/thumb/metis.jpeg?1660285312"), +}; + +pub static MAGIC_INTERNET_MONEY: TokenInfo = TokenInfo { + name: "Magic Internet Money", + symbol: "MIM", + decimals: 18, + contract: address!("0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/16786/thumb/mimlogopng.png?1624979612"), +}; + +pub static MIRROR_PROTOCOL: TokenInfo = TokenInfo { + name: "Mirror Protocol", + symbol: "MIR", + decimals: 18, + contract: address!("0x09a3EcAFa817268f77BE1283176B946C4ff2E608"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13295/thumb/mirror_logo_transparent.png?1611554658"), +}; + +pub static MAKER: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2/logo.png"), +}; + +pub static MELON: TokenInfo = TokenInfo { + name: "Melon", + symbol: "MLN", + decimals: 18, + contract: address!("0xec67005c4E498Ec7f55E092bd1d35cbC47C91892"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/605/thumb/melon.png?1547034295"), +}; + +pub static MANTLE: TokenInfo = TokenInfo { + name: "Mantle", + symbol: "MNT", + decimals: 18, + contract: address!("0x3c3a81e81dc49A522A592e7622A7E711c06bf354"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/30980/large/Mantle-Logo-mark.png?1739213200"), +}; + +pub static MOG_COIN: TokenInfo = TokenInfo { + name: "Mog Coin", + symbol: "MOG", + decimals: 18, + contract: address!("0xaaeE1A9723aaDB7afA2810263653A34bA2C21C7a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/31059/large/MOG_LOGO_200x200.png"), +}; + +pub static MONAVALE: TokenInfo = TokenInfo { + name: "Monavale", + symbol: "MONA", + decimals: 18, + contract: address!("0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13298/thumb/monavale_logo.jpg?1607232721"), +}; + +pub static MORPHO_TOKEN: TokenInfo = TokenInfo { + name: "Morpho Token", + symbol: "MORPHO", + decimals: 18, + contract: address!("0x58D97B57BB95320F9a05dC918Aef65434969c2B2"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/29837/large/Morpho-token-icon.png?1726771230"), +}; + +pub static MOVEMENT: TokenInfo = TokenInfo { + name: "Movement", + symbol: "MOVE", + decimals: 8, + contract: address!("0x3073f7aAA4DB83f95e9FFf17424F71D4751a3073"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/32452.png"), +}; + +pub static MAPLE: TokenInfo = TokenInfo { + name: "Maple", + symbol: "MPL", + decimals: 18, + contract: address!("0x33349B282065b0284d756F0577FB39c158F935e6"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14097/thumb/photo_2021-05-03_14.20.41.jpeg?1620022863"), +}; + +pub static METAL: TokenInfo = TokenInfo { + name: "Metal", + symbol: "MTL", + decimals: 8, + contract: address!("0xF433089366899D83a9f26A773D59ec7eCF30355e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/763/thumb/Metal.png?1592195010"), +}; + +pub static MULTICHAIN: TokenInfo = TokenInfo { + name: "Multichain", + symbol: "MULTI", + decimals: 18, + contract: address!("0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/22087/thumb/1_Wyot-SDGZuxbjdkaOeT2-A.png?1640764238"), +}; + +pub static MSTABLE_USD: TokenInfo = TokenInfo { + name: "mStable USD", + symbol: "MUSD", + decimals: 18, + contract: address!("0xe2f2a5C287993345a840Db3B0845fbC70f5935a5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11576/thumb/mStable_USD.png?1595591803"), +}; + +pub static MUSE_DAO: TokenInfo = TokenInfo { + name: "Muse DAO", + symbol: "MUSE", + decimals: 18, + contract: address!("0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13230/thumb/muse_logo.png?1606460453"), +}; + +pub static GENSOKISHI_METAVERSE: TokenInfo = TokenInfo { + name: "GensoKishi Metaverse", + symbol: "MV", + decimals: 18, + contract: address!("0xAE788F80F2756A86aa2F410C651F2aF83639B95b"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/17704.png"), +}; + +pub static MXC: TokenInfo = TokenInfo { + name: "MXC", + symbol: "MXC", + decimals: 18, + contract: address!("0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4604/thumb/mxc.png?1655534336"), +}; + +pub static POLYSWARM: TokenInfo = TokenInfo { + name: "PolySwarm", + symbol: "NCT", + decimals: 18, + contract: address!("0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2843/thumb/ImcYCVfX_400x400.jpg?1628519767"), +}; + +pub static NEIRO: TokenInfo = TokenInfo { + name: "Neiro", + symbol: "Neiro", + decimals: 9, + contract: address!("0x812Ba41e071C7b7fA4EBcFB62dF5F45f6fA853Ee"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/39488/large/neiro.jpg?1731449567"), +}; + +pub static NEWTON: TokenInfo = TokenInfo { + name: "Newton", + symbol: "NEWT", + decimals: 18, + contract: address!("0xD0eC028a3D21533Fdd200838F39c85B03679285D"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/66819/large/newton.jpg?1750642513"), +}; + +pub static NKN: TokenInfo = TokenInfo { + name: "NKN", + symbol: "NKN", + decimals: 18, + contract: address!("0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/3375/thumb/nkn.png?1548329212"), +}; + +pub static NUMERAIRE: TokenInfo = TokenInfo { + name: "Numeraire", + symbol: "NMR", + decimals: 18, + contract: address!("0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671/logo.png"), +}; + +pub static NOMINA: TokenInfo = TokenInfo { + name: "Nomina", + symbol: "NOM", + decimals: 18, + contract: address!("0x6e6F6d696e61decd6605bD4a57836c5DB6923340"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/69687/large/nomina_400x400.jpg?1759312531"), +}; + +pub static NUCYPHER: TokenInfo = TokenInfo { + name: "NuCypher", + symbol: "NU", + decimals: 18, + contract: address!("0x4fE83213D56308330EC302a8BD641f1d0113A4Cc"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/3318/thumb/photo1198982838879365035.jpg?1547037916"), +}; + +pub static OCEAN_PROTOCOL: TokenInfo = TokenInfo { + name: "Ocean Protocol", + symbol: "OCEAN", + decimals: 18, + contract: address!("0x967da4048cD07aB37855c090aAF366e4ce1b9F48"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/3687/thumb/ocean-protocol-logo.jpg?1547038686"), +}; + +pub static ORIGIN_PROTOCOL: TokenInfo = TokenInfo { + name: "Origin Protocol", + symbol: "OGN", + decimals: 18, + contract: address!("0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/3296/thumb/op.jpg?1547037878"), +}; + +pub static OMG_NETWORK: TokenInfo = TokenInfo { + name: "OMG Network", + symbol: "OMG", + decimals: 18, + contract: address!("0xd26114cd6EE289AccF82350c8d8487fedB8A0C07"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/776/thumb/OMG_Network.jpg?1591167168"), +}; + +pub static OMNI_NETWORK: TokenInfo = TokenInfo { + name: "Omni Network", + symbol: "OMNI", + decimals: 18, + contract: address!("0x36E66fbBce51e4cD5bd3C62B637Eb411b18949D4"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/36465/standard/Symbol-Color.png?1711511095"), +}; + +pub static ONDO_FINANCE: TokenInfo = TokenInfo { + name: "Ondo Finance", + symbol: "ONDO", + decimals: 18, + contract: address!("0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/26580/standard/ONDO.png?1696525656"), +}; + +pub static ORCA_ALLIANCE: TokenInfo = TokenInfo { + name: "ORCA Alliance", + symbol: "ORCA", + decimals: 18, + contract: address!("0x6F59e0461Ae5E2799F1fB3847f05a63B16d0DbF8"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/5183.png"), +}; + +pub static ORION_PROTOCOL: TokenInfo = TokenInfo { + name: "Orion Protocol", + symbol: "ORN", + decimals: 8, + contract: address!("0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11841/thumb/orion_logo.png?1594943318"), +}; + +pub static ORCHID: TokenInfo = TokenInfo { + name: "Orchid", + symbol: "OXT", + decimals: 18, + contract: address!("0x4575f41308EC1483f3d399aa9a2826d74Da13Deb"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4575f41308EC1483f3d399aa9a2826d74Da13Deb/logo.png"), +}; + +pub static PAYPEREX: TokenInfo = TokenInfo { + name: "PayperEx", + symbol: "PAX", + decimals: 18, + contract: address!("0xc1D204d77861dEf49b6E769347a883B15EC397Ff"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1601/thumb/pax.png?1547035800"), +}; + +pub static PAX_GOLD: TokenInfo = TokenInfo { + name: "PAX Gold", + symbol: "PAXG", + decimals: 18, + contract: address!("0x45804880De22913dAFE09f4980848ECE6EcbAf78"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9519/thumb/paxg.PNG?1568542565"), +}; + +pub static PLAYDAPP: TokenInfo = TokenInfo { + name: "PlayDapp", + symbol: "PDA", + decimals: 18, + contract: address!("0x0D3CbED3f69EE050668ADF3D9Ea57241cBa33A2B"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14316/standard/PDA-symbol.png?1710234068"), +}; + +pub static PENDLE: TokenInfo = TokenInfo { + name: "Pendle", + symbol: "PENDLE", + decimals: 18, + contract: address!("0x808507121B80c02388fAd14726482e061B8da827"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/15069/large/Pendle_Logo_Normal-03.png?1696514728"), +}; + +pub static PEPE: TokenInfo = TokenInfo { + name: "Pepe", + symbol: "PEPE", + decimals: 18, + contract: address!("0x6982508145454Ce325dDbE47a25d4ec3d2311933"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/29850/large/pepe-token.jpeg?1682922725"), +}; + +pub static PERPETUAL_PROTOCOL: TokenInfo = TokenInfo { + name: "Perpetual Protocol", + symbol: "PERP", + decimals: 18, + contract: address!("0xbC396689893D065F41bc2C6EcbeE5e0085233447"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12381/thumb/60d18e06844a844ad75901a9_mark_only_03.png?1628674771"), +}; + +pub static PIRATE_NATION: TokenInfo = TokenInfo { + name: "Pirate Nation", + symbol: "PIRATE", + decimals: 18, + contract: address!("0x7613C48E0cd50E42dD9Bf0f6c235063145f6f8DC"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/38524/standard/_Pirate_Transparent_200x200.png"), +}; + +pub static PLUTON: TokenInfo = TokenInfo { + name: "Pluton", + symbol: "PLU", + decimals: 18, + contract: address!("0xD8912C10681D8B21Fd3742244f44658dBA12264E"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1241/thumb/pluton.png?1548331624"), +}; + +pub static PLUME: TokenInfo = TokenInfo { + name: "Plume", + symbol: "PLUME", + decimals: 18, + contract: address!("0x4C1746A800D224393fE2470C70A35717eD4eA5F1"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53623/large/plume-token.png?1736896935"), +}; + +pub static POLYGON_ECOSYSTEM_TOKEN: TokenInfo = TokenInfo { + name: "Polygon Ecosystem Token", + symbol: "POL", + decimals: 18, + contract: address!("0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/32440/large/polygon.png?1698233684"), +}; + +pub static POLKASTARTER: TokenInfo = TokenInfo { + name: "Polkastarter", + symbol: "POLS", + decimals: 18, + contract: address!("0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12648/thumb/polkastarter.png?1609813702"), +}; + +pub static POLYMATH: TokenInfo = TokenInfo { + name: "Polymath", + symbol: "POLY", + decimals: 18, + contract: address!("0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2784/thumb/inKkF01.png?1605007034"), +}; + +pub static MARLIN: TokenInfo = TokenInfo { + name: "Marlin", + symbol: "POND", + decimals: 18, + contract: address!("0x57B946008913B82E4dF85f501cbAeD910e58D26C"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/8903/thumb/POND_200x200.png?1622515451"), +}; + +pub static PORTAL: TokenInfo = TokenInfo { + name: "Portal", + symbol: "PORTAL", + decimals: 18, + contract: address!("0x1Bbe973BeF3a977Fc51CbED703E8ffDEfE001Fed"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/35436/standard/portal.jpeg"), +}; + +pub static POWER_LEDGER: TokenInfo = TokenInfo { + name: "Power Ledger", + symbol: "POWR", + decimals: 6, + contract: address!("0x595832F8FC6BF59c85C527fEC3740A1b7a361269"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1104/thumb/power-ledger.png?1547035082"), +}; + +pub static PRIME: TokenInfo = TokenInfo { + name: "Prime", + symbol: "PRIME", + decimals: 18, + contract: address!("0xb23d80f5FefcDDaa212212F028021B41DEd428CF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/29053/large/PRIMELOGOOO.png?1676976222"), +}; + +pub static PROPY: TokenInfo = TokenInfo { + name: "Propy", + symbol: "PRO", + decimals: 8, + contract: address!("0x226bb599a12C826476e3A771454697EA52E9E220"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/869/thumb/propy.png?1548332100"), +}; + +pub static SUCCINCT: TokenInfo = TokenInfo { + name: "Succinct", + symbol: "PROVE", + decimals: 18, + contract: address!("0x6BEF15D938d4E72056AC92Ea4bDD0D76B1C4ad29"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/67905/large/succinct-logo.png?1754228574"), +}; + +pub static PARSIQ: TokenInfo = TokenInfo { + name: "PARSIQ", + symbol: "PRQ", + decimals: 18, + contract: address!("0x362bc847A3a9637d3af6624EeC853618a43ed7D2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11973/thumb/DsNgK0O.png?1596590280"), +}; + +pub static PSTAKE_FINANCE: TokenInfo = TokenInfo { + name: "pSTAKE Finance", + symbol: "PSTAKE", + decimals: 18, + contract: address!("0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/23931/thumb/PSTAKE_Dark.png?1645709930"), +}; + +pub static PUFFER_FINANCE: TokenInfo = TokenInfo { + name: "Puffer Finance", + symbol: "PUFFER", + decimals: 18, + contract: address!("0x4d1C297d39C5c1277964D0E3f8Aa901493664530"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/50630/large/puffer.jpg?1728545297"), +}; + +pub static PAYPAL_USD: TokenInfo = TokenInfo { + name: "PayPal USD", + symbol: "PYUSD", + decimals: 6, + contract: address!("0x6c3ea9036406852006290770BEdFcAbA0e23A0e8"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/31212/large/PYUSD_Logo_%282%29.png?1691458314"), +}; + +pub static QUANT: TokenInfo = TokenInfo { + name: "Quant", + symbol: "QNT", + decimals: 18, + contract: address!("0x4a220E6096B25EADb88358cb44068A3248254675"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/3370/thumb/5ZOu7brX_400x400.jpg?1612437252"), +}; + +pub static QREDO: TokenInfo = TokenInfo { + name: "Qredo", + symbol: "QRDO", + decimals: 8, + contract: address!("0x4123a133ae3c521FD134D7b13A2dEC35b56c2463"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17541/thumb/qrdo.png?1630637735"), +}; + +pub static QUANTSTAMP: TokenInfo = TokenInfo { + name: "Quantstamp", + symbol: "QSP", + decimals: 18, + contract: address!("0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1219/thumb/0_E0kZjb4dG4hUnoDD_.png?1604815917"), +}; + +pub static QUICKSWAP: TokenInfo = TokenInfo { + name: "Quickswap", + symbol: "QUICK", + decimals: 18, + contract: address!("0x6c28AeF8977c9B773996d0e8376d2EE379446F2f"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13970/thumb/1_pOU6pBMEmiL-ZJVb0CYRjQ.png?1613386659"), +}; + +pub static RADICLE: TokenInfo = TokenInfo { + name: "Radicle", + symbol: "RAD", + decimals: 18, + contract: address!("0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14013/thumb/radicle.png?1614402918"), +}; + +pub static RAI_REFLEX_INDEX: TokenInfo = TokenInfo { + name: "Rai Reflex Index", + symbol: "RAI", + decimals: 18, + contract: address!("0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14004/thumb/RAI-logo-coin.png?1613592334"), +}; + +pub static SUPERRARE: TokenInfo = TokenInfo { + name: "SuperRare", + symbol: "RARE", + decimals: 18, + contract: address!("0xba5BDe662c17e2aDFF1075610382B9B691296350"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17753/thumb/RARE.jpg?1629220534"), +}; + +pub static RARIBLE: TokenInfo = TokenInfo { + name: "Rarible", + symbol: "RARI", + decimals: 18, + contract: address!("0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11845/thumb/Rari.png?1594946953"), +}; + +pub static RUBIC: TokenInfo = TokenInfo { + name: "Rubic", + symbol: "RBC", + decimals: 18, + contract: address!("0xA4EED63db85311E22dF4473f87CcfC3DaDCFA3E3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12629/thumb/200x200.png?1607952509"), +}; + +pub static RIBBON_FINANCE: TokenInfo = TokenInfo { + name: "Ribbon Finance", + symbol: "RBN", + decimals: 18, + contract: address!("0x6123B0049F904d730dB3C36a31167D9d4121fA6B"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15823/thumb/RBN_64x64.png?1633529723"), +}; + +pub static REDSTONE: TokenInfo = TokenInfo { + name: "Redstone", + symbol: "RED", + decimals: 18, + contract: address!("0xc43C6bfeDA065fE2c4c11765Bf838789bd0BB5dE"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53640/large/RedStone_Logo_New_White.png?1740640919"), +}; + +pub static REPUBLIC_TOKEN: TokenInfo = TokenInfo { + name: "Republic Token", + symbol: "REN", + decimals: 18, + contract: address!("0x408e41876cCCDC0F92210600ef50372656052a38"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x408e41876cCCDC0F92210600ef50372656052a38/logo.png"), +}; + +pub static REPUTATION_AUGUR_V1: TokenInfo = TokenInfo { + name: "Reputation Augur v1", + symbol: "REP", + decimals: 18, + contract: address!("0x1985365e9f78359a9B6AD760e32412f4a445E862"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1985365e9f78359a9B6AD760e32412f4a445E862/logo.png"), +}; + +pub static REPUTATION_AUGUR_V2: TokenInfo = TokenInfo { + name: "Reputation Augur v2", + symbol: "REPv2", + decimals: 18, + contract: address!("0x221657776846890989a759BA2973e427DfF5C9bB"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x221657776846890989a759BA2973e427DfF5C9bB/logo.png"), +}; + +pub static REQUEST: TokenInfo = TokenInfo { + name: "Request", + symbol: "REQ", + decimals: 18, + contract: address!("0x8f8221aFbB33998d8584A2B05749bA73c37a938a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1031/thumb/Request_icon_green.png?1643250951"), +}; + +pub static REVV: TokenInfo = TokenInfo { + name: "REVV", + symbol: "REVV", + decimals: 18, + contract: address!("0x557B933a7C2c45672B610F8954A3deB39a51A8Ca"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12373/thumb/REVV_TOKEN_Refined_2021_%281%29.png?1627652390"), +}; + +pub static RENZO: TokenInfo = TokenInfo { + name: "Renzo", + symbol: "REZ", + decimals: 18, + contract: address!("0x3B50805453023a91a8bf641e279401a0b23FA6F9"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/37327/standard/renzo_200x200.png?1714025012"), +}; + +pub static RARI_GOVERNANCE_TOKEN: TokenInfo = TokenInfo { + name: "Rari Governance Token", + symbol: "RGT", + decimals: 18, + contract: address!("0xD291E7a03283640FDc51b121aC401383A46cC623"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12900/thumb/Rari_Logo_Transparent.png?1613978014"), +}; + +pub static IEXEC_RLC: TokenInfo = TokenInfo { + name: "iExec RLC", + symbol: "RLC", + decimals: 9, + contract: address!("0x607F4C5BB672230e8672085532f7e901544a7375"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/646/thumb/pL1VuXm.png?1604543202"), +}; + +pub static RAYLS: TokenInfo = TokenInfo { + name: "Rayls", + symbol: "RLS", + decimals: 18, + contract: address!("0xB5F7b021a78f470d31D762C1DDA05ea549904fbd"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70091/large/cgrLS.png?1760541265"), +}; + +pub static RLUSD: TokenInfo = TokenInfo { + name: "RLUSD", + symbol: "RLUSD", + decimals: 18, + contract: address!("0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/39651/large/RLUSD_200x200_(1).png?1727376633"), +}; + +pub static RALLY: TokenInfo = TokenInfo { + name: "Rally", + symbol: "RLY", + decimals: 18, + contract: address!("0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12843/thumb/image.png?1611212077"), +}; + +pub static RENDER_TOKEN: TokenInfo = TokenInfo { + name: "Render Token", + symbol: "RNDR", + decimals: 18, + contract: address!("0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11636/thumb/rndr.png?1638840934"), +}; + +pub static ROBO_TOKEN: TokenInfo = TokenInfo { + name: "ROBO Token", + symbol: "ROBO", + decimals: 18, + contract: address!("0x32b4d049fE4c888D2b92eEcaf729F44DF6B1F36E"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/102172005/large/ROBO.png?1770925648"), +}; + +pub static ROOK: TokenInfo = TokenInfo { + name: "Rook", + symbol: "ROOK", + decimals: 18, + contract: address!("0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13005/thumb/keeper_dao_logo.jpg?1604316506"), +}; + +pub static ROCKET_POOL_PROTOCOL: TokenInfo = TokenInfo { + name: "Rocket Pool Protocol", + symbol: "RPL", + decimals: 18, + contract: address!("0xD33526068D116cE69F19A9ee46F0bd304F21A51f"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/2090/large/rocket_pool_%28RPL%29.png?1696503058"), +}; + +pub static RESERVE_RIGHTS: TokenInfo = TokenInfo { + name: "Reserve Rights", + symbol: "RSR", + decimals: 18, + contract: address!("0x320623b8E4fF03373931769A31Fc52A4E78B5d70"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/8365/large/RSR_Blue_Circle_1000.png?1721777856"), +}; + +pub static SAFE: TokenInfo = TokenInfo { + name: "Safe", + symbol: "SAFE", + decimals: 18, + contract: address!("0x5aFE3855358E112B5647B952709E6165e1c1eEEe"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/27032/standard/Artboard_1_copy_8circle-1.png?1696526084"), +}; + +pub static THE_SANDBOX: TokenInfo = TokenInfo { + name: "The Sandbox", + symbol: "SAND", + decimals: 18, + contract: address!("0x3845badAde8e6dFF049820680d1F14bD3903a5d0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12129/thumb/sandbox_logo.jpg?1597397942"), +}; + +pub static STADER: TokenInfo = TokenInfo { + name: "Stader", + symbol: "SD", + decimals: 18, + contract: address!("0x30D20208d987713f46DFD34EF128Bb16C404D10f"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/20658/standard/SD_Token_Logo.png"), +}; + +pub static SENTIENT: TokenInfo = TokenInfo { + name: "Sentient", + symbol: "SENT", + decimals: 18, + contract: address!("0x56A3BA04E95d34268A19b2a4474DC979baBDaf76"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70508/large/SENTIENT-Icon-BlushForce-L.png?1762267532"), +}; + +pub static SHIBA_INU: TokenInfo = TokenInfo { + name: "Shiba Inu", + symbol: "SHIB", + decimals: 18, + contract: address!("0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11939/thumb/shiba.png?1622619446"), +}; + +pub static SHPING: TokenInfo = TokenInfo { + name: "Shping", + symbol: "SHPING", + decimals: 18, + contract: address!("0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2588/thumb/r_yabKKi_400x400.jpg?1639470164"), +}; + +pub static SKALE: TokenInfo = TokenInfo { + name: "SKALE", + symbol: "SKL", + decimals: 18, + contract: address!("0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13245/thumb/SKALE_token_300x300.png?1606789574"), +}; + +pub static SKY_GOVERNANCE_TOKEN: TokenInfo = TokenInfo { + name: "SKY Governance Token", + symbol: "SKY", + decimals: 18, + contract: address!("0x56072C95FAA701256059aa122697B133aDEd9279"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/39925/large/sky.jpg?1724827980"), +}; + +pub static SMOOTH_LOVE_POTION: TokenInfo = TokenInfo { + name: "Smooth Love Potion", + symbol: "SLP", + decimals: 0, + contract: address!("0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/10366/thumb/SLP.png?1578640057"), +}; + +pub static STATUS: TokenInfo = TokenInfo { + name: "Status", + symbol: "SNT", + decimals: 18, + contract: address!("0x744d70FDBE2Ba4CF95131626614a1763DF805B9E"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/779/thumb/status.png?1548610778"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static UNISOCKS: TokenInfo = TokenInfo { + name: "Unisocks", + symbol: "SOCKS", + decimals: 18, + contract: address!("0x23B608675a2B2fB1890d3ABBd85c5775c51691d5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/10717/thumb/qFrcoiM.png?1582525244"), +}; + +pub static SOL_WORMHOLE: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0xD31a59c85aE9D8edEFeC411D448f90841571b89c"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static SPELL_TOKEN: TokenInfo = TokenInfo { + name: "Spell Token", + symbol: "SPELL", + decimals: 18, + contract: address!("0x090185f2135308BaD17527004364eBcC2D37e5F6"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/15861/thumb/abracadabra-3.png?1622544862"), +}; + +pub static SPARK: TokenInfo = TokenInfo { + name: "Spark", + symbol: "SPK", + decimals: 18, + contract: address!("0xc20059e0317DE91738d13af027DfC4a50781b066"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/38637/large/Spark-Logomark-RGB.png?1744878896"), +}; + +pub static SPX6900: TokenInfo = TokenInfo { + name: "SPX6900", + symbol: "SPX", + decimals: 8, + contract: address!("0xE0f63A424a4439cBE457D80E4f4b51aD25b2c56C"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31401/large/sticker_(1).jpg?1702371083"), +}; + +pub static STARGATE_FINANCE: TokenInfo = TokenInfo { + name: "Stargate Finance", + symbol: "STG", + decimals: 18, + contract: address!("0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/24413/thumb/STG_LOGO.png?1647654518"), +}; + +pub static STORJ_TOKEN: TokenInfo = TokenInfo { + name: "Storj Token", + symbol: "STORJ", + decimals: 8, + contract: address!("0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC/logo.png"), +}; + +pub static STARKNET: TokenInfo = TokenInfo { + name: "Starknet", + symbol: "STRK", + decimals: 18, + contract: address!("0xCa14007Eff0dB1f8135f4C25B34De49AB0d42766"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/26433/standard/starknet.png?1696525507"), +}; + +pub static STOX: TokenInfo = TokenInfo { + name: "Stox", + symbol: "STX", + decimals: 18, + contract: address!("0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1230/thumb/stox-token.png?1547035256"), +}; + +pub static SUKU: TokenInfo = TokenInfo { + name: "SUKU", + symbol: "SUKU", + decimals: 18, + contract: address!("0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11969/thumb/UmfW5S6f_400x400.jpg?1596602238"), +}; + +pub static SUPERFARM: TokenInfo = TokenInfo { + name: "SuperFarm", + symbol: "SUPER", + decimals: 18, + contract: address!("0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14040/thumb/6YPdWn6.png?1613975899"), +}; + +pub static SYNTH_SUSD: TokenInfo = TokenInfo { + name: "Synth sUSD", + symbol: "sUSD", + decimals: 18, + contract: address!("0x57Ab1ec28D129707052df4dF418D58a2D46d5f51"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/5013/thumb/sUSD.png?1616150765"), +}; + +pub static SUSHI: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0x6B3595068778DD592e39A122f4f5a5cF09C90fE2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static SWELL: TokenInfo = TokenInfo { + name: "Swell", + symbol: "SWELL", + decimals: 18, + contract: address!("0x0a6E7Ba5042B38349e437ec6Db6214AEC7B35676"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/28777/large/swell1.png?1727899715"), +}; + +pub static SWFTCOIN: TokenInfo = TokenInfo { + name: "SWFTCOIN", + symbol: "SWFTC", + decimals: 8, + contract: address!("0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2346/thumb/SWFTCoin.jpg?1618392022"), +}; + +pub static SWIPE: TokenInfo = TokenInfo { + name: "Swipe", + symbol: "SXP", + decimals: 18, + contract: address!("0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9368/thumb/swipe.png?1566792311"), +}; + +pub static SPACE_AND_TIME: TokenInfo = TokenInfo { + name: "Space and Time", + symbol: "SXT", + decimals: 18, + contract: address!("0xE6Bfd33F52d82Ccb5b37E16D3dD81f9FFDAbB195"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55424/large/sxt-token_circle.jpg?1745935919"), +}; + +pub static SYLO: TokenInfo = TokenInfo { + name: "Sylo", + symbol: "SYLO", + decimals: 18, + contract: address!("0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/6430/thumb/SYLO.svg?1589527756"), +}; + +pub static SYNAPSE: TokenInfo = TokenInfo { + name: "Synapse", + symbol: "SYN", + decimals: 18, + contract: address!("0x0f2D719407FdBeFF09D87557AbB7232601FD9F29"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/18024/thumb/syn.png?1635002049"), +}; + +pub static SYRUP_TOKEN: TokenInfo = TokenInfo { + name: "Syrup Token", + symbol: "SYRUP", + decimals: 18, + contract: address!("0x643C4E15d7d62Ad0aBeC4a9BD4b001aA3Ef52d66"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/51232/standard/IMG_7420.png?1730831572"), +}; + +pub static THRESHOLD_NETWORK: TokenInfo = TokenInfo { + name: "Threshold Network", + symbol: "T", + decimals: 18, + contract: address!("0xCdF7028ceAB81fA0C6971208e83fa7872994beE5"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/22228/thumb/nFPNiSbL_400x400.jpg?1641220340"), +}; + +pub static TBTC: TokenInfo = TokenInfo { + name: "tBTC", + symbol: "tBTC", + decimals: 18, + contract: address!("0x18084fbA666a33d37592fA2633fD49a74DD93a88"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/uniswap/assets/master/blockchains/ethereum/assets/0x18084fbA666a33d37592fA2633fD49a74DD93a88/logo.png"), +}; + +pub static TERM_FINANCE: TokenInfo = TokenInfo { + name: "Term Finance", + symbol: "TERM", + decimals: 18, + contract: address!("0xC3d21f79C3120A4fFda7A535f8005a7c297799bF"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/38142/large/terms.png?1716630303"), +}; + +pub static THEORIQ: TokenInfo = TokenInfo { + name: "Theoriq", + symbol: "THQ", + decimals: 18, + contract: address!("0xafFbe9a60F1F45E057FD9b6DC70004Bb0Ccc8b99"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/67759/large/thq.jpg?1753757049"), +}; + +pub static CHRONOTECH: TokenInfo = TokenInfo { + name: "ChronoTech", + symbol: "TIME", + decimals: 8, + contract: address!("0x485d17A6f1B8780392d53D64751824253011A260"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/604/thumb/time-32x32.png?1627130666"), +}; + +pub static ALIEN_WORLDS: TokenInfo = TokenInfo { + name: "Alien Worlds", + symbol: "TLM", + decimals: 4, + contract: address!("0x888888848B652B3E3a0f34c96E00EEC0F3a23F72"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14676/thumb/kY-C4o7RThfWrDQsLCAG4q4clZhBDDfJQVhWUEKxXAzyQYMj4Jmq1zmFwpRqxhAJFPOa0AsW_PTSshoPuMnXNwq3rU7Imp15QimXTjlXMx0nC088mt1rIwRs75GnLLugWjSllxgzvQ9YrP4tBgclK4_rb17hjnusGj_c0u2fx0AvVokjSNB-v2poTj0xT9BZRCbzRE3-lF1.jpg?1617700061"), +}; + +pub static TOKEMAK: TokenInfo = TokenInfo { + name: "Tokemak", + symbol: "TOKE", + decimals: 18, + contract: address!("0x2e9d63788249371f1DFC918a52f8d799F4a38C94"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17495/thumb/tokemak-avatar-200px-black.png?1628131614"), +}; + +pub static TOKENFI: TokenInfo = TokenInfo { + name: "TokenFi", + symbol: "TOKEN", + decimals: 9, + contract: address!("0x4507cEf57C46789eF8d1a19EA45f4216bae2B528"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/32507/large/MAIN_TokenFi_logo_icon.png?1698918427"), +}; + +pub static TE_FOOD: TokenInfo = TokenInfo { + name: "TE FOOD", + symbol: "TONE", + decimals: 18, + contract: address!("0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/2325/thumb/tec.png?1547036538"), +}; + +pub static ORIGINTRAIL: TokenInfo = TokenInfo { + name: "OriginTrail", + symbol: "TRAC", + decimals: 18, + contract: address!("0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/1877/thumb/TRAC.jpg?1635134367"), +}; + +pub static TELLOR: TokenInfo = TokenInfo { + name: "Tellor", + symbol: "TRB", + decimals: 18, + contract: address!("0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/9644/thumb/Blk_icon_current.png?1584980686"), +}; + +pub static TREEHOUSE_TOKEN: TokenInfo = TokenInfo { + name: "Treehouse Token", + symbol: "TREE", + decimals: 18, + contract: address!("0x77146784315Ba81904d654466968e3a7c196d1f3"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/67664/large/TREE_logo.png?1753601041"), +}; + +pub static TRIA: TokenInfo = TokenInfo { + name: "Tria", + symbol: "TRIA", + decimals: 18, + contract: address!("0x228bEC415adE4b61D7CaF0adf8C91EAc587BA369"), + chain: 1, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/39382.png"), +}; + +pub static TRIBE: TokenInfo = TokenInfo { + name: "Tribe", + symbol: "TRIBE", + decimals: 18, + contract: address!("0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/14575/thumb/tribe.PNG?1617487954"), +}; + +pub static TRUEFI: TokenInfo = TokenInfo { + name: "TrueFi", + symbol: "TRU", + decimals: 8, + contract: address!("0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13180/thumb/truefi_glyph_color.png?1617610941"), +}; + +pub static TURBO: TokenInfo = TokenInfo { + name: "Turbo", + symbol: "TURBO", + decimals: 18, + contract: address!("0xA35923162C49cF95e6BF26623385eb431ad920D3"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/30117/large/TurboMark-QL_200.png?1708079597"), +}; + +pub static THE_VIRTUA_KOLECT: TokenInfo = TokenInfo { + name: "The Virtua Kolect", + symbol: "TVK", + decimals: 18, + contract: address!("0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13330/thumb/virtua_original.png?1656043619"), +}; + +pub static UMA_VOTING_TOKEN_V1: TokenInfo = TokenInfo { + name: "UMA Voting Token v1", + symbol: "UMA", + decimals: 18, + contract: address!("0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828/logo.png"), +}; + +pub static UNIFI_PROTOCOL_DAO: TokenInfo = TokenInfo { + name: "Unifi Protocol DAO", + symbol: "UNFI", + decimals: 18, + contract: address!("0x441761326490cACF7aF299725B6292597EE822c2"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/13152/thumb/logo-2.png?1605748967"), +}; + +pub static UNISWAP: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"), + chain: 1, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static PAWTOCOL: TokenInfo = TokenInfo { + name: "Pawtocol", + symbol: "UPI", + decimals: 18, + contract: address!("0x70D2b7C19352bB76e4409858FF5746e500f2B67c"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12186/thumb/pawtocol.jpg?1597962008"), +}; + +pub static WORLD_LIBERTY_FINANCIAL_USD: TokenInfo = TokenInfo { + name: "World Liberty Financial USD", + symbol: "USD1", + decimals: 18, + contract: address!("0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54977/large/USD1_1000x1000_transparent.png?1749297002"), +}; + +pub static USDCOIN: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static GLOBAL_DOLLAR: TokenInfo = TokenInfo { + name: "Global Dollar", + symbol: "USDG", + decimals: 6, + contract: address!("0xe343167631d89B6Ffc58B88d6b7fB0228795491D"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/51281/large/GDN_USDG_Token_200x200.png"), +}; + +pub static PAX_DOLLAR: TokenInfo = TokenInfo { + name: "Pax Dollar", + symbol: "USDP", + decimals: 18, + contract: address!("0x8E870D67F660D95d5be530380D0eC0bd388289E1"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/6013/standard/Pax_Dollar.png?1696506427"), +}; + +pub static QUANTOZ_USDQ: TokenInfo = TokenInfo { + name: "Quantoz USDQ", + symbol: "USDQ", + decimals: 6, + contract: address!("0xc83e27f270cce0A3A3A29521173a83F402c1768b"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51852/large/USDQ_1000px_Color.png?1732071232"), +}; + +pub static STABLR_USD: TokenInfo = TokenInfo { + name: "StablR USD", + symbol: "USDR", + decimals: 6, + contract: address!("0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53721/large/stablrusd-logo.png?1737126629"), +}; + +pub static USDS_STABLECOIN: TokenInfo = TokenInfo { + name: "USDS Stablecoin", + symbol: "USDS", + decimals: 18, + contract: address!("0xdC035D45d973E3EC169d2276DDab16f1e407384F"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/39926/large/usds.webp?1726666683"), +}; + +pub static TETHER_USD: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0xdAC17F958D2ee523a2206206994597C13D831ec7"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static USUAL: TokenInfo = TokenInfo { + name: "USUAL", + symbol: "USUAL", + decimals: 18, + contract: address!("0xC4441c2BE5d8fA8126822B9929CA0b81Ea0DE38E"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51091/large/USUAL.jpg?1730035787"), +}; + +pub static VANRY: TokenInfo = TokenInfo { + name: "VANRY", + symbol: "VANRY", + decimals: 18, + contract: address!("0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/33466/large/apple-touch-icon.png?1701942541"), +}; + +pub static VOYAGER_TOKEN: TokenInfo = TokenInfo { + name: "Voyager Token", + symbol: "VGX", + decimals: 8, + contract: address!("0x3C4B6E6e1eA3D4863700D7F76b36B7f3D3f13E3d"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/794/thumb/Voyager-vgx.png?1575693595"), +}; + +pub static WRAPPED_AMPLEFORTH: TokenInfo = TokenInfo { + name: "Wrapped Ampleforth", + symbol: "WAMPL", + decimals: 18, + contract: address!("0xEDB171C18cE90B633DB442f2A6F72874093b49Ef"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/20825/thumb/photo_2021-11-25_02-05-11.jpg?1637811951"), +}; + +pub static WRAPPED_ANALOG_ONE_TOKEN: TokenInfo = TokenInfo { + name: "Wrapped Analog One Token", + symbol: "WANLOG", + decimals: 12, + contract: address!("0xf983da3ca66964C02628189Ea8Ca99fa9E24f66c"), + chain: 1, + logo_uri: Some("https://assets.kraken.com/marketing/web/icons-uni-webp/s_anlog.webp?i=kds"), +}; + +pub static WRAPPED_BTC: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WRAPPED_CENTRIFUGE: TokenInfo = TokenInfo { + name: "Wrapped Centrifuge", + symbol: "WCFG", + decimals: 18, + contract: address!("0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17106/thumb/WCFG.jpg?1626266462"), +}; + +pub static WALLETCONNECT_TOKEN: TokenInfo = TokenInfo { + name: "WalletConnect Token", + symbol: "WCT", + decimals: 18, + contract: address!("0xeF4461891DfB3AC8572cCf7C794664A8DD927945"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/50390/large/wc-token1.png?1727569464"), +}; + +pub static WRAPPED_ETHER: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WORLD_LIBERTY_FINANCIAL: TokenInfo = TokenInfo { + name: "World Liberty Financial", + symbol: "WLFI", + decimals: 18, + contract: address!("0xdA5e1988097297dCdc1f90D4dFE7909e847CBeF6"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/50767/large/wlfi.png?1756438915"), +}; + +pub static WOO_NETWORK: TokenInfo = TokenInfo { + name: "WOO Network", + symbol: "WOO", + decimals: 18, + contract: address!("0x4691937a7508860F876c9c0a2a617E7d9E945D4B"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12921/thumb/w2UiemF__400x400.jpg?1603670367"), +}; + +pub static ANOMA: TokenInfo = TokenInfo { + name: "Anoma", + symbol: "XAN", + decimals: 18, + contract: address!("0xCEDbEA37C8872c4171259Cdfd5255CB8923Cf8e7"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/69380/large/Anoma_Logo_Roundel_RGB_Colour-01.png?1758356672"), +}; + +pub static TETHER_GOLD: TokenInfo = TokenInfo { + name: "Tether Gold", + symbol: "XAUT", + decimals: 6, + contract: address!("0x68749665FF8D2d112Fa859AA293F07A622782F38"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/10481/large/Tether_Gold.png?1696510471"), +}; + +pub static CHAIN: TokenInfo = TokenInfo { + name: "Chain", + symbol: "XCN", + decimals: 18, + contract: address!("0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/24210/thumb/Chain_icon_200x200.png?1646895054"), +}; + +pub static XSGD: TokenInfo = TokenInfo { + name: "XSGD", + symbol: "XSGD", + decimals: 6, + contract: address!("0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/12832/standard/StraitsX_Singapore_Dollar_%28XSGD%29_Token_Logo.png?1696512623"), +}; + +pub static XYO_NETWORK: TokenInfo = TokenInfo { + name: "XYO Network", + symbol: "XYO", + decimals: 18, + contract: address!("0x55296f69f40Ea6d20E478533C15A6B08B654E758"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/4519/thumb/XYO_Network-logo.png?1547039819"), +}; + +pub static YIELD_BASIS: TokenInfo = TokenInfo { + name: "Yield Basis", + symbol: "YB", + decimals: 18, + contract: address!("0x01791F726B4103694969820be083196cC7c045fF"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54871/large/yieldbasis_400x400.png?1760514173"), +}; + +pub static YEARN_FINANCE: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static DFI_MONEY: TokenInfo = TokenInfo { + name: "DFI money", + symbol: "YFII", + decimals: 18, + contract: address!("0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/11902/thumb/YFII-logo.78631676.png?1598677348"), +}; + +pub static YIELD_GUILD_GAMES: TokenInfo = TokenInfo { + name: "Yield Guild Games", + symbol: "YGG", + decimals: 18, + contract: address!("0x25f8087EAD173b73D6e8B84329989A8eEA16CF73"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/17358/thumb/le1nzlO6_400x400.jpg?1632465691"), +}; + +pub static ZAMA: TokenInfo = TokenInfo { + name: "Zama", + symbol: "ZAMA", + decimals: 18, + contract: address!("0xA12CC123ba206d4031D1c7f6223D1C2Ec249f4f3"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70921/large/zama.png?1764591992"), +}; + +pub static ZETACHAIN: TokenInfo = TokenInfo { + name: "Zetachain", + symbol: "Zeta", + decimals: 18, + contract: address!("0xf091867EC603A6628eD83D274E835539D82e9cc8"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/26718/standard/Twitter_icon.png?1696525788"), +}; + +pub static BOUNDLESS: TokenInfo = TokenInfo { + name: "Boundless", + symbol: "ZKC", + decimals: 18, + contract: address!("0x000006c2A22ff4A44ff1f5d0F2ed65F781F55555"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68462/large/boundless.png?1755826792"), +}; + +pub static ZKPASS: TokenInfo = TokenInfo { + name: "zkPass", + symbol: "ZKP", + decimals: 18, + contract: address!("0xe1Be424F442D0687129128C6c38aAce44F8c8Dbc"), + chain: 1, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70273/large/zkpass.png?1761379373"), +}; + +pub static LAYERZERO: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 1, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0xE41d2489571d322189246DaFA5ebDe1F4699F498"), + chain: 1, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xE41d2489571d322189246DaFA5ebDe1F4699F498/logo.png"), +}; + +pub static DAI_STABLECOIN_3_CE07538D: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0xaD6D458402F60fD3Bd25163575031ACDce07538D"), + chain: 3, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xaD6D458402F60fD3Bd25163575031ACDce07538D/logo.png"), +}; + +pub static UNISWAP_3_4201F984: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"), + chain: 3, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static WRAPPED_ETHER_3_AA0CD5AB: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xc778417E063141139Fce010982780140Aa0cD5Ab"), + chain: 3, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png"), +}; + +pub static DAI_STABLECOIN_4_A8FC4735: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735"), + chain: 4, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735/logo.png"), +}; + +pub static MAKER_4_359AAD85: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85"), + chain: 4, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85/logo.png"), +}; + +pub static UNISWAP_4_4201F984: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"), + chain: 4, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static WRAPPED_ETHER_4_AA0CD5AB: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xc778417E063141139Fce010982780140Aa0cD5Ab"), + chain: 4, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png"), +}; + +pub static UNISWAP_5_4201F984: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"), + chain: 5, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static WRAPPED_ETHER_5_2B2208D6: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"), + chain: 5, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6/logo.png"), +}; + +pub static TOKEN_1INCH_10_94736426: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0xAd42D013ac31486B73b6b059e748172994736426"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static AAVE_10_950C9278: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0x76FB31fb4af56892A25e32cFC43De717950c9278"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static ACROSS_PROTOCOL_TOKEN_10_FDD1B76B: TokenInfo = TokenInfo { + name: "Across Protocol Token", + symbol: "ACX", + decimals: 18, + contract: address!("0xFf733b2A3557a7ed6697007ab5D11B79FdD1b76B"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/28161/large/across-200x200.png?1696527165"), +}; + +pub static ARPA_CHAIN_10_C9BFA31E: TokenInfo = TokenInfo { + name: "ARPA Chain", + symbol: "ARPA", + decimals: 18, + contract: address!("0x334cc734866E97D8452Ae6261d68Fd9bc9BFa31E"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/8506/thumb/9u0a23XY_400x400.jpg?1559027357"), +}; + +pub static BALANCER_10_E9379921: TokenInfo = TokenInfo { + name: "Balancer", + symbol: "BAL", + decimals: 18, + contract: address!("0xFE8B128bA8C78aabC59d4c64cEE7fF28e9379921"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png"), +}; + +pub static BICONOMY_10_C0FB1C9D: TokenInfo = TokenInfo { + name: "Biconomy", + symbol: "BICO", + decimals: 18, + contract: address!("0xd6909e9e702024eb93312B989ee46794c0fB1C9D"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/21061/thumb/biconomy_logo.jpg?1638269749"), +}; + +pub static BOBA_NETWORK_10_CB88854D: TokenInfo = TokenInfo { + name: "Boba Network", + symbol: "BOBA", + decimals: 18, + contract: address!("0x07ad578FF86B135bE19A12759064b802Cb88854D"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/20285/thumb/BOBA.png?1636811576"), +}; + +pub static BARNBRIDGE_10_3F276747: TokenInfo = TokenInfo { + name: "BarnBridge", + symbol: "BOND", + decimals: 18, + contract: address!("0x3e7eF8f50246f725885102E8238CBba33F276747"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12811/thumb/barnbridge.jpg?1602728853"), +}; + +pub static BRAINTRUST_10_E141254E: TokenInfo = TokenInfo { + name: "Braintrust", + symbol: "BTRST", + decimals: 18, + contract: address!("0xEd50aCE88bd42B45cB0F49be15395021E141254e"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/18100/thumb/braintrust.PNG?1630475394"), +}; + +pub static BINANCE_USD_10_39D2DB39: TokenInfo = TokenInfo { + name: "Binance USD", + symbol: "BUSD", + decimals: 18, + contract: address!("0x9C9e5fD8bbc25984B178FdCE6117Defa39d2db39"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/9576/thumb/BUSD.png?1568947766"), +}; + +pub static COINBASE_WRAPPED_STAKED_ETH_10_78DCF3B2: TokenInfo = TokenInfo { + name: "Coinbase Wrapped Staked ETH", + symbol: "cbETH", + decimals: 18, + contract: address!("0xadDb6A0412DE1BA0F936DCaeb8Aaa24578dcF3B2"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/27008/large/cbeth.png"), +}; + +pub static CELO_NATIVE_ASSET_WORMHOLE_10_B9B5C349: TokenInfo = TokenInfo { + name: "Celo native asset (Wormhole)", + symbol: "CELO", + decimals: 18, + contract: address!("0x9b88D293b7a791E40d36A39765FFd5A1B9b5c349"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/wormhole-foundation/wormhole-token-list/main/assets/celo_wh.png"), +}; + +pub static CURVE_DAO_TOKEN_10_0605FB53: TokenInfo = TokenInfo { + name: "Curve DAO Token", + symbol: "CRV", + decimals: 18, + contract: address!("0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD533a949740bb3306d119CC777fa900bA034cd52/logo.png"), +}; + +pub static CARTESI_10_071295BF: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0xEc6adef5E1006bb305bB1975333e8fc4071295bf"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static CYBER: TokenInfo = TokenInfo { + name: "CYBER", + symbol: "CYBER", + decimals: 18, + contract: address!("0x14778860E937f509e651192a90589dE711Fb88a9"), + chain: 10, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31274/large/token.png?1715826754"), +}; + +pub static DAI_STABLECOIN_10_C9000DA1: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"), +}; + +pub static DERIVE_10_72BBA100: TokenInfo = TokenInfo { + name: "Derive", + symbol: "DRV", + decimals: 18, + contract: address!("0x33800De7E817A70A694F31476313A7c572BBa100"), + chain: 10, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52889/large/Token_Logo.png?1734601695"), +}; + +pub static ETHEREUM_NAME_SERVICE_10_5E890A00: TokenInfo = TokenInfo { + name: "Ethereum Name Service", + symbol: "ENS", + decimals: 18, + contract: address!("0x65559aA14915a70190438eF90104769e5E890A00"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/19785/thumb/acatxTm8_400x400.jpg?1635850140"), +}; + +pub static STAFI_10_911BAD41: TokenInfo = TokenInfo { + name: "Stafi", + symbol: "FIS", + decimals: 18, + contract: address!("0xD8737CA46aa6285dE7B8777a8e3db232911baD41"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12423/thumb/stafi_logo.jpg?1599730991"), +}; + +pub static SHAPESHIFT_FOX_TOKEN_10_37CED174: TokenInfo = TokenInfo { + name: "ShapeShift FOX Token", + symbol: "FOX", + decimals: 18, + contract: address!("0xF1a0DA3367BC7aa04F8D94BA57B862ff37CeD174"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/9988/thumb/FOX.png?1574330622"), +}; + +pub static FRAX_10_9A53F475: TokenInfo = TokenInfo { + name: "Frax", + symbol: "FRAX", + decimals: 18, + contract: address!("0x2E3D870790dC77A83DD1d18184Acc7439A53f475"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/13422/thumb/frax_logo.png?1608476506"), +}; + +pub static FRAX_SHARE_10_1C2205BE: TokenInfo = TokenInfo { + name: "Frax Share", + symbol: "FXS", + decimals: 18, + contract: address!("0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/13423/thumb/frax_share.png?1608478989"), +}; + +pub static GITCOIN_10_46445B08: TokenInfo = TokenInfo { + name: "Gitcoin", + symbol: "GTC", + decimals: 18, + contract: address!("0x1EBA7a6a72c894026Cd654AC5CDCF83A46445B08"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/15810/thumb/gitcoin.png?1621992929"), +}; + +pub static GYEN_10_D9B6D5F7: TokenInfo = TokenInfo { + name: "GYEN", + symbol: "GYEN", + decimals: 6, + contract: address!("0x589d35656641d6aB57A545F08cf473eCD9B6D5F7"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/14191/thumb/icon_gyen_200_200.png?1614843343"), +}; + +pub static KRYLL_10_C9022021: TokenInfo = TokenInfo { + name: "KRYLL", + symbol: "KRL", + decimals: 18, + contract: address!("0x2ed6222CB75E353b8789bec7Bb443b7eC9022021"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/2807/thumb/krl.png?1547036979"), +}; + +pub static KUJIRA_10_5671E7CA: TokenInfo = TokenInfo { + name: "Kujira", + symbol: "KUJI", + decimals: 6, + contract: address!("0x3A18dcC9745eDcD1Ef33ecB93b0b6eBA5671e7Ca"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/20685/standard/kuji-200x200.png"), +}; + +pub static LIDO_DAO_10_2596735F: TokenInfo = TokenInfo { + name: "Lido DAO", + symbol: "LDO", + decimals: 18, + contract: address!("0xFdb794692724153d1488CcdBE0C56c252596735F"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/13573/thumb/Lido_DAO.png?1609873644"), +}; + +pub static CHAINLINK_TOKEN_10_38FFA7F6: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static LOOPRINGCOIN_V2_10_1464907E: TokenInfo = TokenInfo { + name: "LoopringCoin V2", + symbol: "LRC", + decimals: 18, + contract: address!("0xFEaA9194F9F8c1B65429E31341a103071464907E"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD/logo.png"), +}; + +pub static LIQUITY_USD_10_9B7B2819: TokenInfo = TokenInfo { + name: "Liquity USD", + symbol: "LUSD", + decimals: 18, + contract: address!("0xc40F949F8a4e094D1b49a23ea9241D289B7b2819"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/14666/thumb/Group_3.png?1617631327"), +}; + +pub static MASK_NETWORK_10_BDF63798: TokenInfo = TokenInfo { + name: "Mask Network", + symbol: "MASK", + decimals: 18, + contract: address!("0x3390108E913824B8eaD638444cc52B9aBdF63798"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/14051/thumb/Mask_Network.jpg?1614050316"), +}; + +pub static MAKER_10_27F2FCB5: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0xab7bAdEF82E9Fe11f6f33f87BC9bC2AA27F2fCB5"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2/logo.png"), +}; + +pub static OCEAN_PROTOCOL_10_B8B49F9E: TokenInfo = TokenInfo { + name: "Ocean Protocol", + symbol: "OCEAN", + decimals: 18, + contract: address!("0x2561aa2bB1d2Eb6629EDd7b0938d7679B8b49f9E"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/3687/thumb/ocean-protocol-logo.jpg?1547038686"), +}; + +pub static OPTIMISM: TokenInfo = TokenInfo { + name: "Optimism", + symbol: "OP", + decimals: 18, + contract: address!("0x4200000000000000000000000000000000000042"), + chain: 10, + logo_uri: Some("https://ethereum-optimism.github.io/data/OP/logo.png"), +}; + +pub static PENDLE_10_796E66E1: TokenInfo = TokenInfo { + name: "Pendle", + symbol: "PENDLE", + decimals: 18, + contract: address!("0xBC7B1Ff1c6989f006a1185318eD4E7b5796e66E1"), + chain: 10, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/15069/large/Pendle_Logo_Normal-03.png?1696514728"), +}; + +pub static PEPE_10_9DDB16F5: TokenInfo = TokenInfo { + name: "Pepe", + symbol: "PEPE", + decimals: 18, + contract: address!("0xC1c167CC44f7923cd0062c4370Df962f9DDB16f5"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/29850/large/pepe-token.jpeg?1682922725"), +}; + +pub static PERPETUAL_PROTOCOL_10_976840E0: TokenInfo = TokenInfo { + name: "Perpetual Protocol", + symbol: "PERP", + decimals: 18, + contract: address!("0x9e1028F5F1D5eDE59748FFceE5532509976840E0"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12381/thumb/60d18e06844a844ad75901a9_mark_only_03.png?1628674771"), +}; + +pub static RAI_REFLEX_INDEX_10_7705448B: TokenInfo = TokenInfo { + name: "Rai Reflex Index", + symbol: "RAI", + decimals: 18, + contract: address!("0x7FB688CCf682d58f86D7e38e03f9D22e7705448B"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/14004/thumb/RAI-logo-coin.png?1613592334"), +}; + +pub static RARI_GOVERNANCE_TOKEN_10_DCEC711A: TokenInfo = TokenInfo { + name: "Rari Governance Token", + symbol: "RGT", + decimals: 18, + contract: address!("0xB548f63D4405466B36C0c0aC3318a22fDcec711a"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12900/thumb/Rari_Logo_Transparent.png?1613978014"), +}; + +pub static ROCKET_POOL_PROTOCOL_10_C14D1401: TokenInfo = TokenInfo { + name: "Rocket Pool Protocol", + symbol: "RPL", + decimals: 18, + contract: address!("0xC81D1F0EB955B0c020E5d5b264E1FF72c14d1401"), + chain: 10, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/2090/large/rocket_pool_%28RPL%29.png?1696503058"), +}; + +pub static STATUS_10_64CFB6B2: TokenInfo = TokenInfo { + name: "Status", + symbol: "SNT", + decimals: 18, + contract: address!("0x650AF3C15AF43dcB218406d30784416D64Cfb6B2"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/779/thumb/status.png?1548610778"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN_10_3D7599B4: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static SOL_WORMHOLE_10_7FA664F1: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0xba1Cf949c382A32a09A17B2AdF3587fc7fA664f1"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static SUKU_10_0B9E50A4: TokenInfo = TokenInfo { + name: "SUKU", + symbol: "SUKU", + decimals: 18, + contract: address!("0xEf6301DA234fC7b0545c6E877D3359FE0B9E50a4"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/11969/thumb/UmfW5S6f_400x400.jpg?1596602238"), +}; + +pub static SYNTH_SUSD_10_751EC8D9: TokenInfo = TokenInfo { + name: "Synth sUSD", + symbol: "sUSD", + decimals: 18, + contract: address!("0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/5013/thumb/sUSD.png?1616150765"), +}; + +pub static SUSHI_10_0F60112B: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0x3eaEb77b03dBc0F6321AE1b72b2E9aDb0F60112B"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static THRESHOLD_NETWORK_10_8C734EA7: TokenInfo = TokenInfo { + name: "Threshold Network", + symbol: "T", + decimals: 18, + contract: address!("0x747e42Eb0591547a0ab429B3627816208c734EA7"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/22228/thumb/nFPNiSbL_400x400.jpg?1641220340"), +}; + +pub static TELLOR_10_E3CEB888: TokenInfo = TokenInfo { + name: "Tellor", + symbol: "TRB", + decimals: 18, + contract: address!("0xaf8cA653Fa2772d58f4368B0a71980e9E3cEB888"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/9644/thumb/Blk_icon_current.png?1584980686"), +}; + +pub static UMA_VOTING_TOKEN_V1_10_855A77EA: TokenInfo = TokenInfo { + name: "UMA Voting Token v1", + symbol: "UMA", + decimals: 18, + contract: address!("0xE7798f023fC62146e8Aa1b36Da45fb70855a77Ea"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828/logo.png"), +}; + +pub static UNISWAP_10_0E816691: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x6fd9d7AD17242c41f7131d257212c54A0e816691"), + chain: 10, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static USDCOIN_10_D097FF85: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"), + chain: 10, + logo_uri: Some("https://ethereum-optimism.github.io/data/USDC/logo.png"), +}; + +pub static USDCOIN_BRIDGED_FROM_ETHEREUM: TokenInfo = TokenInfo { + name: "USDCoin (Bridged from Ethereum)", + symbol: "USDC.e", + decimals: 6, + contract: address!("0x7F5c764cBc14f9669B88837ca1490cCa17c31607"), + chain: 10, + logo_uri: Some("https://ethereum-optimism.github.io/data/USDC/logo.png"), +}; + +pub static TETHER_USD_10_8CE58E58: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static VELODROME_FINANCE: TokenInfo = TokenInfo { + name: "Velodrome Finance", + symbol: "VELO", + decimals: 18, + contract: address!("0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12538/standard/Logo_200x_200.png?1696512350"), +}; + +pub static WRAPPED_BTC_10_BF0A2095: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x68f180fcCe6836688e9084f035309E29Bf0A2095"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WALLETCONNECT_TOKEN_10_DD927945: TokenInfo = TokenInfo { + name: "WalletConnect Token", + symbol: "WCT", + decimals: 18, + contract: address!("0xeF4461891DfB3AC8572cCf7C794664A8DD927945"), + chain: 10, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/50390/large/wc-token1.png?1727569464"), +}; + +pub static WRAPPED_ETHER_10_00000006: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x4200000000000000000000000000000000000006"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WORLDCOIN: TokenInfo = TokenInfo { + name: "Worldcoin", + symbol: "WLD", + decimals: 18, + contract: address!("0xdC6fF44d5d932Cbd77B52E5612Ba0529DC6226F1"), + chain: 10, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31069/large/worldcoin.jpeg?1696529903"), +}; + +pub static WOO_NETWORK_10_51A5E527: TokenInfo = TokenInfo { + name: "WOO Network", + symbol: "WOO", + decimals: 18, + contract: address!("0x871f2F2ff935FD1eD867842FF2a7bfD051A5E527"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/12921/thumb/w2UiemF__400x400.jpg?1603670367"), +}; + +pub static XYO_NETWORK_10_DBD81FC8: TokenInfo = TokenInfo { + name: "XYO Network", + symbol: "XYO", + decimals: 18, + contract: address!("0x9db118D43069B73B8a252bF0be49d50Edbd81fc8"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/4519/thumb/XYO_Network-logo.png?1547039819"), +}; + +pub static YEARN_FINANCE_10_FEE9107B: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0x9046D36440290FfDE54FE0DD84Db8b1CfEE9107B"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static LAYERZERO_10_F13271CD: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 10, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN_10_FA3C2F33: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0xD1917629B3E6A72E6772Aab5dBe58Eb7FA3C2F33"), + chain: 10, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xE41d2489571d322189246DaFA5ebDe1F4699F498/logo.png"), +}; + +pub static DAI_STABLECOIN_42_B64CA6AA: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa"), + chain: 42, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa/logo.png"), +}; + +pub static MAKER_42_71A4FFCD: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD"), + chain: 42, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD/logo.png"), +}; + +pub static UNISWAP_42_4201F984: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"), + chain: 42, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static WRAPPED_ETHER_42_C2CF029C: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xd0A1E359811322d97991E03f863a0C30C2cF029C"), + chain: 42, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xd0A1E359811322d97991E03f863a0C30C2cF029C/logo.png"), +}; + +pub static TOKEN_1INCH_56_4120C302: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0x111111111117dC0aa78b770fA6A738034120C302"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static AAVE_56_7E58F802: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0xfb6115445Bff7b52FeB98650C87f44907E58f802"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static ALCHEMY_PAY_56_7003056D: TokenInfo = TokenInfo { + name: "Alchemy Pay", + symbol: "ACH", + decimals: 8, + contract: address!("0xBc7d6B50616989655AfD682fb42743507003056D"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12390/thumb/ACH_%281%29.png?1599691266"), +}; + +pub static AMBIRE_ADEX_56_A7077819: TokenInfo = TokenInfo { + name: "Ambire AdEx", + symbol: "ADX", + decimals: 18, + contract: address!("0x6bfF4Fb161347ad7de4A625AE5aa3A1CA7077819"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/847/thumb/Ambire_AdEx_Symbol_color.png?1655432540"), +}; + +pub static AGEUR_56_D5FE5F89: TokenInfo = TokenInfo { + name: "agEur", + symbol: "agEUR", + decimals: 18, + contract: address!("0x12f31B73D812C6Bb0d735a218c086d44D5fe5f89"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/19479/standard/agEUR.png?1696518915"), +}; + +pub static AIOZ_NETWORK_56_9FC3741D: TokenInfo = TokenInfo { + name: "AIOZ Network", + symbol: "AIOZ", + decimals: 18, + contract: address!("0x33d08D8C7a168333a85285a68C0042b39fC3741D"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14631/thumb/aioz_logo.png?1617413126"), +}; + +pub static ALEPH_IM_56_DE9038C4: TokenInfo = TokenInfo { + name: "Aleph im", + symbol: "ALEPH", + decimals: 18, + contract: address!("0x82D2f8E02Afb160Dd5A480a617692e62de9038C4"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/11676/thumb/Monochram-aleph.png?1608483725"), +}; + +pub static MY_NEIGHBOR_ALICE_56_745D63E8: TokenInfo = TokenInfo { + name: "My Neighbor Alice", + symbol: "ALICE", + decimals: 6, + contract: address!("0xAC51066d7bEC65Dc4589368da368b212745d63E8"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14375/thumb/alice_logo.jpg?1615782968"), +}; + +pub static ALPHA_VENTURE_DAO_56_13B40975: TokenInfo = TokenInfo { + name: "Alpha Venture DAO", + symbol: "ALPHA", + decimals: 18, + contract: address!("0xa1faa113cbE53436Df28FF0aEe54275c13B40975"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12738/thumb/AlphaToken_256x256.png?1617160876"), +}; + +pub static ANKR_56_531B08E3: TokenInfo = TokenInfo { + name: "Ankr", + symbol: "ANKR", + decimals: 18, + contract: address!("0xf307910A4c7bbc79691fD374889b36d8531B08e3"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/4324/thumb/U85xTl2.png?1608111978"), +}; + +pub static ARPA_CHAIN_56_FA2D6F7E: TokenInfo = TokenInfo { + name: "ARPA Chain", + symbol: "ARPA", + decimals: 18, + contract: address!("0x6F769E65c14Ebd1f68817F5f1DcDb61Cfa2D6f7e"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/8506/thumb/9u0a23XY_400x400.jpg?1559027357"), +}; + +pub static ASTER: TokenInfo = TokenInfo { + name: "Aster", + symbol: "ASTER", + decimals: 18, + contract: address!("0x000Ae314E2A2172a039B26378814C252734f556A"), + chain: 56, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/69040/large/_ASTER.png?1757326782"), +}; + +pub static AUTOMATA_56_2F141225: TokenInfo = TokenInfo { + name: "Automata", + symbol: "ATA", + decimals: 18, + contract: address!("0xA2120b9e674d3fC3875f415A7DF52e382F141225"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/15985/thumb/ATA.jpg?1622535745"), +}; + +pub static AXELAR_56_C96F1F65: TokenInfo = TokenInfo { + name: "Axelar", + symbol: "AXL", + decimals: 6, + contract: address!("0x8b1f4432F943c465A973FeDC6d7aa50Fc96f1f65"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/27277/large/V-65_xQ1_400x400.jpeg"), +}; + +pub static AXIE_INFINITY_56_D4D2F8A0: TokenInfo = TokenInfo { + name: "Axie Infinity", + symbol: "AXS", + decimals: 18, + contract: address!("0x715D400F88C167884bbCc41C5FeA407ed4D2f8A0"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13029/thumb/axie_infinity_logo.png?1604471082"), +}; + +pub static BLUZELLE_56_DA0ACDA2: TokenInfo = TokenInfo { + name: "Bluzelle", + symbol: "BLZ", + decimals: 18, + contract: address!("0x935a544Bf5816E3A7C13DB2EFe3009Ffda0aCdA2"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/2848/thumb/ColorIcon_3x.png?1622516510"), +}; + +pub static BINANCE_USD_56_DD087D56: TokenInfo = TokenInfo { + name: "Binance USD", + symbol: "BUSD", + decimals: 18, + contract: address!("0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/9576/thumb/BUSD.png?1568947766"), +}; + +pub static COIN98_56_90F1C3A6: TokenInfo = TokenInfo { + name: "Coin98", + symbol: "C98", + decimals: 18, + contract: address!("0xaEC945e04baF28b135Fa7c640f624f8D90F1C3a6"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/17117/thumb/logo.png?1626412904"), +}; + +pub static CHROMIA_56_32B224FE: TokenInfo = TokenInfo { + name: "Chromia", + symbol: "CHR", + decimals: 6, + contract: address!("0xf9CeC8d50f6c8ad3Fb6dcCEC577e05aA32B224FE"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/5000/thumb/Chromia.png?1559038018"), +}; + +pub static CLOVER_FINANCE_56_367A4E4D: TokenInfo = TokenInfo { + name: "Clover Finance", + symbol: "CLV", + decimals: 18, + contract: address!("0x09E889BB4D5b474f561db0491C38702F367A4e4d"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/15278/thumb/clover.png?1645084454"), +}; + +pub static COMPOUND_56_8CAD67E8: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0x52CE071Bd9b1C4B00A0b92D298c512478CaD67e8"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc00e94Cb662C3520282E6f5717214004A7f26888/logo.png"), +}; + +pub static CIRCUITS_OF_VALUE_56_2B141464: TokenInfo = TokenInfo { + name: "Circuits of Value", + symbol: "COVAL", + decimals: 8, + contract: address!("0xd15CeE1DEaFBad6C0B3Fd7489677Cc102B141464"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/588/thumb/coval-logo.png?1599493950"), +}; + +pub static CARTESI_56_2D033EF2: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0x8dA443F84fEA710266C8eB6bC34B71702d033EF2"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static DAI_STABLECOIN_56_58B1DBC3: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"), +}; + +pub static MINES_OF_DALARNIA_56_D45CD978: TokenInfo = TokenInfo { + name: "Mines of Dalarnia", + symbol: "DAR", + decimals: 6, + contract: address!("0x23CE9e926048273eF83be0A3A8Ba9Cb6D45cd978"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/19837/thumb/dar.png?1636014223"), +}; + +pub static DEXTOOLS_56_C29896E3: TokenInfo = TokenInfo { + name: "DexTools", + symbol: "DEXT", + decimals: 18, + contract: address!("0xe91a8D2c584Ca93C7405F15c22CdFE53C29896E3"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/11603/thumb/dext.png?1605790188"), +}; + +pub static DIA_56_7E0901DD: TokenInfo = TokenInfo { + name: "DIA", + symbol: "DIA", + decimals: 18, + contract: address!("0x99956D38059cf7bEDA96Ec91Aa7BB2477E0901DD"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/11955/thumb/image.png?1646041751"), +}; + +pub static DREP_56_01A705FF: TokenInfo = TokenInfo { + name: "Drep", + symbol: "DREP", + decimals: 18, + contract: address!("0xEC583f25A049CC145dA9A256CDbE9B6201a705Ff"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14578/thumb/KotgsCgS_400x400.jpg?1617094445"), +}; + +pub static DEFI_YIELD_PROTOCOL_56_91BCEF17: TokenInfo = TokenInfo { + name: "DeFi Yield Protocol", + symbol: "DYP", + decimals: 18, + contract: address!("0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13480/thumb/DYP_Logo_Symbol-8.png?1655809066"), +}; + +pub static DOGELON_MARS_56_D9BE2540: TokenInfo = TokenInfo { + name: "Dogelon Mars", + symbol: "ELON", + decimals: 18, + contract: address!("0x7bd6FaBD64813c48545C9c0e312A0099d9be2540"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14962/thumb/6GxcPRo3_400x400.jpg?1619157413"), +}; + +pub static HARVEST_FINANCE_56_A5D33743: TokenInfo = TokenInfo { + name: "Harvest Finance", + symbol: "FARM", + decimals: 18, + contract: address!("0x4B5C23cac08a567ecf0c1fFcA8372A45a5D33743"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12304/thumb/Harvest.png?1613016180"), +}; + +pub static FETCH_AI_56_8691FA7F: TokenInfo = TokenInfo { + name: "Fetch ai", + symbol: "FET", + decimals: 18, + contract: address!("0x031b41e504677879370e9DBcF937283A8691Fa7f"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/5681/thumb/Fetch.jpg?1572098136"), +}; + +pub static FLOKI_56_5363D37E: TokenInfo = TokenInfo { + name: "FLOKI", + symbol: "FLOKI", + decimals: 9, + contract: address!("0xfb5B838b6cfEEdC2873aB27866079AC55363D37E"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/16746/standard/PNG_image.png?1696516318"), +}; + +pub static FRAX_56_53E89F40: TokenInfo = TokenInfo { + name: "Frax", + symbol: "FRAX", + decimals: 18, + contract: address!("0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13422/thumb/frax_logo.png?1608476506"), +}; + +pub static FANTOM_56_AF29DCFE: TokenInfo = TokenInfo { + name: "Fantom", + symbol: "FTM", + decimals: 18, + contract: address!("0xAD29AbB318791D579433D831ed122aFeAf29dcfe"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/4001/thumb/Fantom.png?1558015016"), +}; + +pub static FRAX_SHARE_56_5EADB9EE: TokenInfo = TokenInfo { + name: "Frax Share", + symbol: "FXS", + decimals: 18, + contract: address!("0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13423/thumb/frax_share.png?1608478989"), +}; + +pub static GALXE_56_40497AA5: TokenInfo = TokenInfo { + name: "Galxe", + symbol: "GAL", + decimals: 18, + contract: address!("0xe4Cc45Bb5DBDA06dB6183E8bf016569f40497Aa5"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/24530/thumb/GAL-Token-Icon.png?1651483533"), +}; + +pub static ETHGAS_56_B72F7D49: TokenInfo = TokenInfo { + name: "ETHGas", + symbol: "GWEI", + decimals: 18, + contract: address!("0x30117E4bC17d7B044194b76A38365C53b72F7D49"), + chain: 56, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/71375/large/ethgas_token_200.png?1769055039"), +}; + +pub static HASHFLOW_56_35883E47: TokenInfo = TokenInfo { + name: "Hashflow", + symbol: "HFT", + decimals: 18, + contract: address!("0x44Ec807ce2F4a6F2737A92e985f318d035883e47"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/26136/large/hashflow-icon-cmc.png"), +}; + +pub static HIGHSTREET_56_1FFEED63: TokenInfo = TokenInfo { + name: "Highstreet", + symbol: "HIGH", + decimals: 18, + contract: address!("0x5f4Bde007Dc06b867f86EBFE4802e34A1fFEEd63"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/18973/thumb/logosq200200Coingecko.png?1634090470"), +}; + +pub static INJECTIVE_56_EBE4D495: TokenInfo = TokenInfo { + name: "Injective", + symbol: "INJ", + decimals: 18, + contract: address!("0xa2B726B1145A4773F68593CF171187d8EBe4d495"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12882/thumb/Secondary_Symbol.png?1628233237"), +}; + +pub static JUPITER_56_8E140CE7: TokenInfo = TokenInfo { + name: "Jupiter", + symbol: "JUP", + decimals: 18, + contract: address!("0x0231f91e02DebD20345Ae8AB7D71A41f8E140cE7"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/10351/thumb/logo512.png?1632480932"), +}; + +pub static KUJIRA_56_7C9FB5CC: TokenInfo = TokenInfo { + name: "Kujira", + symbol: "KUJI", + decimals: 6, + contract: address!("0x073690e6CE25bE816E68F32dCA3e11067c9FB5Cc"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/20685/standard/kuji-200x200.png"), +}; + +pub static CHAINLINK_TOKEN_56_111A51BD: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static MASK_NETWORK_56_F4D568A3: TokenInfo = TokenInfo { + name: "Mask Network", + symbol: "MASK", + decimals: 18, + contract: address!("0x2eD9a5C8C13b93955103B9a7C167B67Ef4d568a3"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14051/thumb/Mask_Network.jpg?1614050316"), +}; + +pub static MATH_56_98A36983: TokenInfo = TokenInfo { + name: "MATH", + symbol: "MATH", + decimals: 18, + contract: address!("0xF218184Af829Cf2b0019F8E6F0b2423498a36983"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/11335/thumb/2020-05-19-token-200.png?1589940590"), +}; + +pub static POLYGON_56_5ED682BD: TokenInfo = TokenInfo { + name: "Polygon", + symbol: "MATIC", + decimals: 18, + contract: address!("0xCC42724C6683B7E57334c4E856f4c9965ED682bD"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static MERIT_CIRCLE_56_4EF9E5D6: TokenInfo = TokenInfo { + name: "Merit Circle", + symbol: "MC", + decimals: 18, + contract: address!("0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/19304/thumb/Db4XqML.png?1634972154"), +}; + +pub static METIS_56_B0820639: TokenInfo = TokenInfo { + name: "Metis", + symbol: "METIS", + decimals: 18, + contract: address!("0xe552Fb52a4F19e44ef5A967632DBc320B0820639"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/15595/thumb/metis.jpeg?1660285312"), +}; + +pub static MAGIC_INTERNET_MONEY_56_19F433BA: TokenInfo = TokenInfo { + name: "Magic Internet Money", + symbol: "MIM", + decimals: 18, + contract: address!("0xfE19F0B51438fd612f6FD59C1dbB3eA319f433Ba"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/16786/thumb/mimlogopng.png?1624979612"), +}; + +pub static MIRROR_PROTOCOL_56_10D8C2C9: TokenInfo = TokenInfo { + name: "Mirror Protocol", + symbol: "MIR", + decimals: 18, + contract: address!("0x5B6DcF557E2aBE2323c48445E8CC948910d8c2c9"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13295/thumb/mirror_logo_transparent.png?1611554658"), +}; + +pub static MULTICHAIN_56_3C8764E3: TokenInfo = TokenInfo { + name: "Multichain", + symbol: "MULTI", + decimals: 18, + contract: address!("0x9Fb9a33956351cf4fa040f65A13b835A3C8764E3"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/22087/thumb/1_Wyot-SDGZuxbjdkaOeT2-A.png?1640764238"), +}; + +pub static PERPETUAL_PROTOCOL_56_84C7C6F5: TokenInfo = TokenInfo { + name: "Perpetual Protocol", + symbol: "PERP", + decimals: 18, + contract: address!("0x4e7f408be2d4E9D60F49A64B89Bb619c84C7c6F5"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12381/thumb/60d18e06844a844ad75901a9_mark_only_03.png?1628674771"), +}; + +pub static POLKASTARTER_56_0887F570: TokenInfo = TokenInfo { + name: "Polkastarter", + symbol: "POLS", + decimals: 18, + contract: address!("0x7e624FA0E1c4AbFD309cC15719b7E2580887f570"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12648/thumb/polkastarter.png?1609813702"), +}; + +pub static PARSIQ_56_93D2A577: TokenInfo = TokenInfo { + name: "PARSIQ", + symbol: "PRQ", + decimals: 18, + contract: address!("0xd21d29B38374528675C34936bf7d5Dd693D2a577"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/11973/thumb/DsNgK0O.png?1596590280"), +}; + +pub static PSTAKE_FINANCE_56_F58A7C0C: TokenInfo = TokenInfo { + name: "pSTAKE Finance", + symbol: "PSTAKE", + decimals: 18, + contract: address!("0x4C882ec256823eE773B25b414d36F92ef58a7c0C"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/23931/thumb/PSTAKE_Dark.png?1645709930"), +}; + +pub static REVV_56_8D702A93: TokenInfo = TokenInfo { + name: "REVV", + symbol: "REVV", + decimals: 18, + contract: address!("0x833F307aC507D47309fD8CDD1F835BeF8D702a93"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12373/thumb/REVV_TOKEN_Refined_2021_%281%29.png?1627652390"), +}; + +pub static STADER_56_0B5481E8: TokenInfo = TokenInfo { + name: "Stader", + symbol: "SD", + decimals: 18, + contract: address!("0x3BC5AC0dFdC871B365d159f728dd1B9A0B5481E8"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/20658/standard/SD_Token_Logo.png"), +}; + +pub static SOL_WORMHOLE_56_D3AEA76E: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0xfA54fF1a158B5189Ebba6ae130CEd6bbd3aEA76e"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static STARGATE_FINANCE_56_9631D62B: TokenInfo = TokenInfo { + name: "Stargate Finance", + symbol: "STG", + decimals: 18, + contract: address!("0xB0D502E938ed5f4df2E681fE6E419ff29631d62b"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/24413/thumb/STG_LOGO.png?1647654518"), +}; + +pub static SUPERFARM_56_CC4F0D4D: TokenInfo = TokenInfo { + name: "SuperFarm", + symbol: "SUPER", + decimals: 18, + contract: address!("0x51BA0b044d96C3aBfcA52B64D733603CCC4F0d4D"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14040/thumb/6YPdWn6.png?1613975899"), +}; + +pub static SUSHI_56_FC9124C4: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0x947950BcC74888a40Ffa2593C5798F11Fc9124C4"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static SWFTCOIN_56_55DFBAD3: TokenInfo = TokenInfo { + name: "SWFTCOIN", + symbol: "SWFTC", + decimals: 18, + contract: address!("0xE64E30276C2F826FEbd3784958d6Da7B55DfbaD3"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/2346/thumb/SWFTCoin.jpg?1618392022"), +}; + +pub static SWIPE_56_FABA485A: TokenInfo = TokenInfo { + name: "Swipe", + symbol: "SXP", + decimals: 18, + contract: address!("0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/9368/thumb/swipe.png?1566792311"), +}; + +pub static SYNAPSE_56_1F9E9484: TokenInfo = TokenInfo { + name: "Synapse", + symbol: "SYN", + decimals: 18, + contract: address!("0xa4080f1778e69467E905B8d6F72f6e441f9e9484"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/18024/thumb/syn.png?1635002049"), +}; + +pub static CHRONOTECH_56_DE5D7F68: TokenInfo = TokenInfo { + name: "ChronoTech", + symbol: "TIME", + decimals: 8, + contract: address!("0x3b198e26E473b8faB2085b37978e36c9DE5D7f68"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/604/thumb/time-32x32.png?1627130666"), +}; + +pub static ALIEN_WORLDS_56_EBD57C95: TokenInfo = TokenInfo { + name: "Alien Worlds", + symbol: "TLM", + decimals: 4, + contract: address!("0x2222227E22102Fe3322098e4CBfE18cFebD57c95"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/14676/thumb/kY-C4o7RThfWrDQsLCAG4q4clZhBDDfJQVhWUEKxXAzyQYMj4Jmq1zmFwpRqxhAJFPOa0AsW_PTSshoPuMnXNwq3rU7Imp15QimXTjlXMx0nC088mt1rIwRs75GnLLugWjSllxgzvQ9YrP4tBgclK4_rb17hjnusGj_c0u2fx0AvVokjSNB-v2poTj0xT9BZRCbzRE3-lF1.jpg?1617700061"), +}; + +pub static UNIFI_PROTOCOL_DAO_56_6B814D8B: TokenInfo = TokenInfo { + name: "Unifi Protocol DAO", + symbol: "UNFI", + decimals: 18, + contract: address!("0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/13152/thumb/logo-2.png?1605748967"), +}; + +pub static UNISWAP_56_A02CE9B1: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0xBf5140A22578168FD562DCcF235E5D43A02ce9B1"), + chain: 56, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static PAWTOCOL_56_94334EE4: TokenInfo = TokenInfo { + name: "Pawtocol", + symbol: "UPI", + decimals: 18, + contract: address!("0x0D35A2B85c5A63188d566D104bEbf7C694334Ee4"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12186/thumb/pawtocol.jpg?1597962008"), +}; + +pub static USDCOIN_56_32CD580D: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 18, + contract: address!("0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static TETHER_USD_56_B3197955: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 18, + contract: address!("0x55d398326f99059fF775485246999027B3197955"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static WRAPPED_BNB: TokenInfo = TokenInfo { + name: "Wrapped BNB", + symbol: "WBNB", + decimals: 18, + contract: address!("0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/smartchain/assets/0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c/logo.png"), +}; + +pub static WRAPPED_ETHER_56_59F933F8: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x2170Ed0880ac9A755fd29B2688956BD959F933F8"), + chain: 56, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WOO_NETWORK_56_9E945D4B: TokenInfo = TokenInfo { + name: "WOO Network", + symbol: "WOO", + decimals: 18, + contract: address!("0x4691937a7508860F876c9c0a2a617E7d9E945D4B"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/12921/thumb/w2UiemF__400x400.jpg?1603670367"), +}; + +pub static CHAIN_56_DF88A05B: TokenInfo = TokenInfo { + name: "Chain", + symbol: "XCN", + decimals: 18, + contract: address!("0x7324c7C0d95CEBC73eEa7E85CbAac0dBdf88a05b"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/24210/thumb/Chain_icon_200x200.png?1646895054"), +}; + +pub static LAYERZERO_56_F13271CD: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 56, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_1INCH_130_A9ACD06E: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0xbe41cde1C5e75a7b6c2c70466629878aa9ACd06E"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static ANCIENT8_130_FEF7759A: TokenInfo = TokenInfo { + name: "Ancient8", + symbol: "A8", + decimals: 18, + contract: address!("0x44D618C366D7bC85945Bfc922ACad5B1feF7759A"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/39170/standard/A8_Token-04_200x200.png?1720798300"), +}; + +pub static AAVE_130_BEEAAE1E: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0x02a24C380dA560E4032Dc6671d8164cfbEEAAE1e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static ARCBLOCK_130_FE5675BC: TokenInfo = TokenInfo { + name: "Arcblock", + symbol: "ABT", + decimals: 18, + contract: address!("0xDDCe42b89215548beCaA160048460747Fe5675bC"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2341/thumb/arcblock.png?1547036543"), +}; + +pub static ALCHEMY_PAY_130_E66ECF77: TokenInfo = TokenInfo { + name: "Alchemy Pay", + symbol: "ACH", + decimals: 8, + contract: address!("0xb8A8e137A2dAa25EF1B3577b6598fE8Be66Ecf77"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12390/thumb/ACH_%281%29.png?1599691266"), +}; + +pub static ACROSS_PROTOCOL_TOKEN_130_62BBB32C: TokenInfo = TokenInfo { + name: "Across Protocol Token", + symbol: "ACX", + decimals: 18, + contract: address!("0x34424B3352af905e41078a4029b61EDe62BbB32C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/28161/large/across-200x200.png?1696527165"), +}; + +pub static AMBIRE_ADEX_130_A299A500: TokenInfo = TokenInfo { + name: "Ambire AdEx", + symbol: "ADX", + decimals: 18, + contract: address!("0x3e1C572d8b069fc2f14ac4f8bdCE6e8eA299A500"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/847/thumb/Ambire_AdEx_Symbol_color.png?1655432540"), +}; + +pub static AERGO_130_F15873B5: TokenInfo = TokenInfo { + name: "Aergo", + symbol: "AERGO", + decimals: 18, + contract: address!("0xfd38ac2316f6d3631a86065aDb3292f6f15873B5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4490/thumb/aergo.png?1647696770"), +}; + +pub static AEVO_130_60D60F8B: TokenInfo = TokenInfo { + name: "Aevo", + symbol: "AEVO", + decimals: 18, + contract: address!("0x54FA9210cCB765639b7Fd532f25bCb1060D60F8B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/35893/standard/aevo.png"), +}; + +pub static AGEUR_130_C681A118: TokenInfo = TokenInfo { + name: "agEur", + symbol: "agEUR", + decimals: 18, + contract: address!("0xA4eeF95995F40aD0b3D63a474293Fc7CC681A118"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19479/standard/agEUR.png?1696518915"), +}; + +pub static ADVENTURE_GOLD_130_412721CF: TokenInfo = TokenInfo { + name: "Adventure Gold", + symbol: "AGLD", + decimals: 18, + contract: address!("0x14421614587A2A3e9C3Aa3131Fc396aF412721CF"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/18125/thumb/lpgblc4h_400x400.jpg?1630570955"), +}; + +pub static AIOZ_NETWORK_130_6CF99B1A: TokenInfo = TokenInfo { + name: "AIOZ Network", + symbol: "AIOZ", + decimals: 18, + contract: address!("0x5F891E74947b0FC400128E5E85333d7a6cF99b1A"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14631/thumb/aioz_logo.png?1617413126"), +}; + +pub static ALCHEMIX_130_5AEBDCD6: TokenInfo = TokenInfo { + name: "Alchemix", + symbol: "ALCX", + decimals: 18, + contract: address!("0xbf194C82A5Bb9180f9280c1832f886a65Aebdcd6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14113/thumb/Alchemix.png?1614409874"), +}; + +pub static ALEPH_IM_130_4C15BB5C: TokenInfo = TokenInfo { + name: "Aleph im", + symbol: "ALEPH", + decimals: 18, + contract: address!("0xa3E646211a456e08829C33fcE21cC3DC4c15Bb5c"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11676/thumb/Monochram-aleph.png?1608483725"), +}; + +pub static ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_130_EEC73780: TokenInfo = TokenInfo { + name: "Alethea Artificial Liquid Intelligence", + symbol: "ALI", + decimals: 18, + contract: address!("0x2a87dd1e1F849ed88C18565AFDa98e2EEEc73780"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/22062/thumb/alethea-logo-transparent-colored.png?1642748848"), +}; + +pub static MY_NEIGHBOR_ALICE_130_8860960A: TokenInfo = TokenInfo { + name: "My Neighbor Alice", + symbol: "ALICE", + decimals: 6, + contract: address!("0xBb72B8031F590748d8910Aad7e25F8B18860960a"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14375/thumb/alice_logo.jpg?1615782968"), +}; + +pub static ALPHA_VENTURE_DAO_130_CEBD78D3: TokenInfo = TokenInfo { + name: "Alpha Venture DAO", + symbol: "ALPHA", + decimals: 18, + contract: address!("0x44c3E7c49C4Bb6f4f5eCD87E035176dFceBD78d3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12738/thumb/AlphaToken_256x256.png?1617160876"), +}; + +pub static ALTLAYER_130_B3589153: TokenInfo = TokenInfo { + name: "AltLayer", + symbol: "ALT", + decimals: 18, + contract: address!("0x6D5De04F1a3E0e554B9A15059d03e20cb3589153"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/34608/standard/Logomark_200x200.png"), +}; + +pub static AMP_130_2BBC967F: TokenInfo = TokenInfo { + name: "Amp", + symbol: "AMP", + decimals: 18, + contract: address!("0x4D6B8ecb576dF9BB4bF6E6764A469a762bBc967F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12409/thumb/amp-200x200.png?1599625397"), +}; + +pub static ANKR_130_EFF97622: TokenInfo = TokenInfo { + name: "Ankr", + symbol: "ANKR", + decimals: 18, + contract: address!("0xf081Fc8E0878D7eBe6ec381E5d7279d6EFf97622"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4324/thumb/U85xTl2.png?1608111978"), +}; + +pub static ARAGON_130_D4A31308: TokenInfo = TokenInfo { + name: "Aragon", + symbol: "ANT", + decimals: 18, + contract: address!("0x865d184885200B8e86eb2a3Da8b3B4a7d4A31308"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/681/thumb/JelZ58cv_400x400.png?1601449653"), +}; + +pub static APECOIN_130_314046CF: TokenInfo = TokenInfo { + name: "ApeCoin", + symbol: "APE", + decimals: 18, + contract: address!("0xD1b8423FdE5F37464FadE603f80903cB314046cf"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/24383/small/apecoin.jpg?1647476455"), +}; + +pub static API3_130_F678961B: TokenInfo = TokenInfo { + name: "API3", + symbol: "API3", + decimals: 18, + contract: address!("0xA63122b27308EED0C1D83DD355ADdaA7f678961b"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13256/thumb/api3.jpg?1606751424"), +}; + +pub static APU_APUSTAJA_130_63B9E379: TokenInfo = TokenInfo { + name: "Apu Apustaja", + symbol: "APU", + decimals: 18, + contract: address!("0xcDfcE5eb357E8976A80Be84E94a03BA963b9e379"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/35986/large/200x200.png?1710308147"), +}; + +pub static ARBITRUM_130_18A4B40D: TokenInfo = TokenInfo { + name: "Arbitrum", + symbol: "ARB", + decimals: 18, + contract: address!("0x5cC70a9DF8E293aFFb14DFCa1e7F851418a4b40d"), + chain: 130, + logo_uri: Some("https://arbitrum.foundation/logo.png"), +}; + +pub static ARKHAM_130_442EF089: TokenInfo = TokenInfo { + name: "Arkham", + symbol: "ARKM", + decimals: 18, + contract: address!("0x59F16BaA7A22f49c32680661e0041A53442Ef089"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/30929/standard/Arkham_Logo_CG.png?1696529771"), +}; + +pub static ARPA_CHAIN_130_88E30B45: TokenInfo = TokenInfo { + name: "ARPA Chain", + symbol: "ARPA", + decimals: 18, + contract: address!("0xE911A809F87490406AB34fad701aabCA88e30b45"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/8506/thumb/9u0a23XY_400x400.jpg?1559027357"), +}; + +pub static ASH_130_5A30D7FB: TokenInfo = TokenInfo { + name: "ASH", + symbol: "ASH", + decimals: 18, + contract: address!("0x4b355De6Ea44711f0353Ed89545705395a30d7Fb"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15714/thumb/omnPqaTY.png?1622820503"), +}; + +pub static ASSEMBLE_PROTOCOL_130_5BA0ADA7: TokenInfo = TokenInfo { + name: "Assemble Protocol", + symbol: "ASM", + decimals: 18, + contract: address!("0x1e196D83e2c562de0b1f270Eb72220335bA0ADa7"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11605/thumb/gpvrlkSq_400x400_%281%29.jpg?1591775789"), +}; + +pub static AIRSWAP_130_8C09AE56: TokenInfo = TokenInfo { + name: "AirSwap", + symbol: "AST", + decimals: 4, + contract: address!("0x7F3F14A49FE5D5009E4e0a09e76cB8468C09Ae56"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1019/thumb/Airswap.png?1630903484"), +}; + +pub static AUTOMATA_130_D890C4B2: TokenInfo = TokenInfo { + name: "Automata", + symbol: "ATA", + decimals: 18, + contract: address!("0xBAAa314d2f5Af29B00867a612F24F816d890C4B2"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15985/thumb/ATA.jpg?1622535745"), +}; + +pub static AETHIR_TOKEN_130_FEE183AB: TokenInfo = TokenInfo { + name: "Aethir Token", + symbol: "ATH", + decimals: 18, + contract: address!("0xa249732271cbA6E06Be4ac8B20f0D465FeE183Ab"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/36179/large/logogram_circle_dark_green_vb_green_(1).png?1718232706"), +}; + +pub static BOUNCE_130_91BEF68E: TokenInfo = TokenInfo { + name: "Bounce", + symbol: "AUCTION", + decimals: 18, + contract: address!("0x82F90996a4F67Eb388116B3C6F35B6Ea91BeF68E"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13860/thumb/1_KtgpRIJzuwfHe0Rl0avP_g.jpeg?1612412025"), +}; + +pub static AUDIUS_130_3C81684B: TokenInfo = TokenInfo { + name: "Audius", + symbol: "AUDIO", + decimals: 18, + contract: address!("0x48b8441dE79cEE3604b805093B41028d3c81684B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12913/thumb/AudiusCoinLogo_2x.png?1603425727"), +}; + +pub static ARTVERSE_TOKEN_130_00939999: TokenInfo = TokenInfo { + name: "Artverse Token", + symbol: "AVT", + decimals: 18, + contract: address!("0x38DBf47e2a012a4b83823f15E3F3352A00939999"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19727/thumb/ewnektoB_400x400.png?1635767094"), +}; + +pub static AXELAR_130_A4CBF2C9: TokenInfo = TokenInfo { + name: "Axelar", + symbol: "AXL", + decimals: 6, + contract: address!("0xbF678793522638F7439aFE3B94d2D2A3a4cBF2C9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/27277/large/V-65_xQ1_400x400.jpeg"), +}; + +pub static AXIE_INFINITY_130_D188F927: TokenInfo = TokenInfo { + name: "Axie Infinity", + symbol: "AXS", + decimals: 18, + contract: address!("0xDA63AdA216d2079B54F2047B2FdC2576D188f927"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13029/thumb/axie_infinity_logo.png?1604471082"), +}; + +pub static BADGER_DAO_130_17388406: TokenInfo = TokenInfo { + name: "Badger DAO", + symbol: "BADGER", + decimals: 18, + contract: address!("0xc2a564b44b441D03f09f5B6B2b358B4a17388406"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13287/thumb/badger_dao_logo.jpg?1607054976"), +}; + +pub static BALANCER_130_34A8ADDF: TokenInfo = TokenInfo { + name: "Balancer", + symbol: "BAL", + decimals: 18, + contract: address!("0x01625E26274Ed828Ac1d47694c97221b34a8ADdF"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png"), +}; + +pub static BAND_PROTOCOL_130_6A8857D5: TokenInfo = TokenInfo { + name: "Band Protocol", + symbol: "BAND", + decimals: 18, + contract: address!("0xa264F2b88C630f260AbDcAb577eAB7266A8857d5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/9545/thumb/band-protocol.png?1568730326"), +}; + +pub static BASIC_ATTENTION_TOKEN_130_508EA589: TokenInfo = TokenInfo { + name: "Basic Attention Token", + symbol: "BAT", + decimals: 18, + contract: address!("0x4e373C99199773f9D92d32B8c8Bc0C81508ea589"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/677/thumb/basic-attention-token.png?1547034427"), +}; + +pub static BEAM_130_F9500824: TokenInfo = TokenInfo { + name: "Beam", + symbol: "BEAM", + decimals: 18, + contract: address!("0xe5ECB192f1aE5839eD49886F36dFA670f9500824"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/32417/standard/chain-logo.png?1698114384"), +}; + +pub static BICONOMY_130_1D0588E7: TokenInfo = TokenInfo { + name: "Biconomy", + symbol: "BICO", + decimals: 18, + contract: address!("0x604Ff88ADC02325EFb7f93DB3E442dc81D0588E7"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/21061/thumb/biconomy_logo.jpg?1638269749"), +}; + +pub static BIG_TIME_130_D2FA7CDC: TokenInfo = TokenInfo { + name: "Big Time", + symbol: "BIGTIME", + decimals: 18, + contract: address!("0x17f3AfE72cAa6b9090801b60607918b6D2Fa7cdc"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/32251/standard/-6136155493475923781_121.jpg?1696998691"), +}; + +pub static BITDAO_130_FB523A5C: TokenInfo = TokenInfo { + name: "BitDAO", + symbol: "BIT", + decimals: 18, + contract: address!("0xA4Cb2aaf7503641B441e80fC353e6748fb523A5C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17627/thumb/rI_YptK8.png?1653983088"), +}; + +pub static HARRYPOTTEROBAMASONIC10INU_130_9B3D706F: TokenInfo = TokenInfo { + name: "HarryPotterObamaSonic10Inu", + symbol: "BITCOIN", + decimals: 8, + contract: address!("0x41f6e69166e81A9583DBc96604B01D2E9B3D706f"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/30323/large/hpos10i_logo_casino_night-dexview.png?1696529224"), +}; + +pub static BLUR_130_2B9255EA: TokenInfo = TokenInfo { + name: "Blur", + symbol: "BLUR", + decimals: 18, + contract: address!("0x942fC6b61686e06fB411cB1bCf5d16DC2b9255eA"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/28453/large/blur.png?1670745921"), +}; + +pub static BLUZELLE_130_8EF471EE: TokenInfo = TokenInfo { + name: "Bluzelle", + symbol: "BLZ", + decimals: 18, + contract: address!("0xe7b3Ca9d9Db06E1867781fd1C5F02E6c8eF471ee"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2848/thumb/ColorIcon_3x.png?1622516510"), +}; + +pub static BANCOR_NETWORK_TOKEN_130_472C5A62: TokenInfo = TokenInfo { + name: "Bancor Network Token", + symbol: "BNT", + decimals: 18, + contract: address!("0xf2Cc2D274dA528AB64DA86bE3f8416E5472c5a62"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C/logo.png"), +}; + +pub static BOBA_NETWORK_130_BBB41B05: TokenInfo = TokenInfo { + name: "Boba Network", + symbol: "BOBA", + decimals: 18, + contract: address!("0xBE8E46422fB7F9Ca9D639B3109492D64BbB41b05"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/20285/thumb/BOBA.png?1636811576"), +}; + +pub static BARNBRIDGE_130_61DF8972: TokenInfo = TokenInfo { + name: "BarnBridge", + symbol: "BOND", + decimals: 18, + contract: address!("0x4d5b7e9CCE3Ab81298dA7E1F52b48c9a61Df8972"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12811/thumb/barnbridge.jpg?1602728853"), +}; + +pub static BONK: TokenInfo = TokenInfo { + name: "BONK", + symbol: "BONK", + decimals: 5, + contract: address!("0xBbE97f3522101e5B6976cBf77376047097BA837F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/28600/standard/bonk.jpg?1696527587"), +}; + +pub static BRAINTRUST_130_00986B71: TokenInfo = TokenInfo { + name: "Braintrust", + symbol: "BTRST", + decimals: 18, + contract: address!("0x6A4a359C7453F5892392FCb8eAB7A9A100986B71"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/18100/thumb/braintrust.PNG?1630475394"), +}; + +pub static BINANCE_USD_130_BDA9F9C6: TokenInfo = TokenInfo { + name: "Binance USD", + symbol: "BUSD", + decimals: 18, + contract: address!("0xa4da5c92F44422dFA3E2E309b53d93bbbDa9f9c6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/9576/thumb/BUSD.png?1568947766"), +}; + +pub static COIN98_130_F8E4F8E1: TokenInfo = TokenInfo { + name: "Coin98", + symbol: "C98", + decimals: 18, + contract: address!("0x29129fa2e0F35594ca7b362fFA8c80f5f8e4f8E1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17117/thumb/logo.png?1626412904"), +}; + +pub static COINBASE_WRAPPED_BTC_130_AB6A1EF1: TokenInfo = TokenInfo { + name: "Coinbase Wrapped BTC", + symbol: "cbBTC", + decimals: 8, + contract: address!("0xb6A3E8e5715fd4c99EcEDaaAe121bDe4Ab6a1Ef1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/40143/standard/cbbtc.webp"), +}; + +pub static COINBASE_WRAPPED_STAKED_ETH_130_8211DB59: TokenInfo = TokenInfo { + name: "Coinbase Wrapped Staked ETH", + symbol: "cbETH", + decimals: 18, + contract: address!("0xEb64b50FeF2A363940369285F86Ae9a68211db59"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/27008/large/cbeth.png"), +}; + +pub static CELO_NATIVE_ASSET_WORMHOLE_130_5A8A8D9C: TokenInfo = TokenInfo { + name: "Celo native asset (Wormhole)", + symbol: "CELO", + decimals: 18, + contract: address!("0x6008F5BaD83742fDbFf5AAc55e3c51b65A8A8D9C"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/wormhole-foundation/wormhole-token-list/main/assets/celo_wh.png"), +}; + +pub static CELER_NETWORK_130_48035703: TokenInfo = TokenInfo { + name: "Celer Network", + symbol: "CELR", + decimals: 18, + contract: address!("0x5AD5d6B1AE6761Aab12066b51D21729248035703"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4379/thumb/Celr.png?1554705437"), +}; + +pub static CHROMIA_130_210A4E5B: TokenInfo = TokenInfo { + name: "Chromia", + symbol: "CHR", + decimals: 6, + contract: address!("0xAC930Be88cFAc775A937E9291c4234Bf210a4e5b"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/5000/thumb/Chromia.png?1559038018"), +}; + +pub static CHILIZ_130_8B2396B0: TokenInfo = TokenInfo { + name: "Chiliz", + symbol: "CHZ", + decimals: 18, + contract: address!("0xb0C69e24450e29afa8008962052007E08b2396b0"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/8834/thumb/Chiliz.png?1561970540"), +}; + +pub static CLOVER_FINANCE_130_FA41404C: TokenInfo = TokenInfo { + name: "Clover Finance", + symbol: "CLV", + decimals: 18, + contract: address!("0xD7212097f6d6B195a9Bc350b8dCE28a7fA41404C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15278/thumb/clover.png?1645084454"), +}; + +pub static COMPOUND_130_F2288656: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0xdf78e4F0A8279942ca68046476919A90f2288656"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc00e94Cb662C3520282E6f5717214004A7f26888/logo.png"), +}; + +pub static COTI_130_32F499C3: TokenInfo = TokenInfo { + name: "COTI", + symbol: "COTI", + decimals: 18, + contract: address!("0xc63612B3e697AEeC61C3Ce9baEc0f9Db32F499C3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2962/thumb/Coti.png?1559653863"), +}; + +pub static CIRCUITS_OF_VALUE_130_CC295BEC: TokenInfo = TokenInfo { + name: "Circuits of Value", + symbol: "COVAL", + decimals: 8, + contract: address!("0x2562DC34c21371613CEF236b321EE63fCC295beC"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/588/thumb/coval-logo.png?1599493950"), +}; + +pub static COW_PROTOCOL_130_B26D3996: TokenInfo = TokenInfo { + name: "CoW Protocol", + symbol: "COW", + decimals: 18, + contract: address!("0xC3a97c76AA194711E05Ff1d181534090B26D3996"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/24384/large/CoW-token_logo.png?1719524382"), +}; + +pub static CLEARPOOL_130_423DFB57: TokenInfo = TokenInfo { + name: "Clearpool", + symbol: "CPOOL", + decimals: 18, + contract: address!("0xF8E7B485CE10D3C7Ac30B8444B98a0cC423dFb57"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19252/large/photo_2022-08-31_12.45.02.jpeg?1696518697"), +}; + +pub static COVALENT_130_621F90C1: TokenInfo = TokenInfo { + name: "Covalent", + symbol: "CQT", + decimals: 18, + contract: address!("0x6C28eeB9E018011d3841f42c5b458713621F90C1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14168/thumb/covalent-cqt.png?1624545218"), +}; + +pub static CRONOS_130_A30DE818: TokenInfo = TokenInfo { + name: "Cronos", + symbol: "CRO", + decimals: 8, + contract: address!("0x73c63A80Ec77BFe31eEc6663828C4beaA30dE818"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/7310/thumb/oCw2s3GI_400x400.jpeg?1645172042"), +}; + +pub static CRYPTERIUM_130_18B0D066: TokenInfo = TokenInfo { + name: "Crypterium", + symbol: "CRPT", + decimals: 18, + contract: address!("0x7e7784f13029c7C4BF4746112B1A503818B0D066"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1901/thumb/crypt.png?1547036205"), +}; + +pub static CURVE_DAO_TOKEN_130_D1C2CCB3: TokenInfo = TokenInfo { + name: "Curve DAO Token", + symbol: "CRV", + decimals: 18, + contract: address!("0xAC73671a1762FE835208Fb93b7aE7490d1c2cCb3"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD533a949740bb3306d119CC777fa900bA034cd52/logo.png"), +}; + +pub static CARTESI_130_BAAED2C5: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0xa7073F530856cD32c2037150dd9763B9BAaED2C5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static CRYPTEX_FINANCE_130_62FCB619: TokenInfo = TokenInfo { + name: "Cryptex Finance", + symbol: "CTX", + decimals: 18, + contract: address!("0x36fA435F6def83cbB7a0706d035C9eA062fCb619"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14932/thumb/glossy_icon_-_C200px.png?1619073171"), +}; + +pub static SOMNIUM_SPACE_CUBES_130_92C2F8AF: TokenInfo = TokenInfo { + name: "Somnium Space CUBEs", + symbol: "CUBE", + decimals: 8, + contract: address!("0xE60e9b2E68297d5DF6B383fEe787B7fB92c2F8aF"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/10687/thumb/CUBE_icon.png?1617026861"), +}; + +pub static CIVIC_130_E85A01ED: TokenInfo = TokenInfo { + name: "Civic", + symbol: "CVC", + decimals: 8, + contract: address!("0x35C458aD1e3e68d2717C8349b985384Be85a01Ed"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/788/thumb/civic.png?1547034556"), +}; + +pub static CONVEX_FINANCE_130_F0087EA5: TokenInfo = TokenInfo { + name: "Convex Finance", + symbol: "CVX", + decimals: 18, + contract: address!("0x1C6789F30e7E335c2Eca2c75EC193aDBF0087Ea5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15585/thumb/convex.png?1621256328"), +}; + +pub static COVALENT_X_TOKEN_130_F14E5A09: TokenInfo = TokenInfo { + name: "Covalent X Token", + symbol: "CXT", + decimals: 18, + contract: address!("0x8E29E12B46FeE20E034fE1e812bc12EFf14E5A09"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/39177/large/CXT_Ticker.png?1720829918"), +}; + +pub static DAI_STABLECOIN_130_19573F81: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0x20CAb320A855b39F724131C69424240519573f81"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"), +}; + +pub static MINES_OF_DALARNIA_130_90288086: TokenInfo = TokenInfo { + name: "Mines of Dalarnia", + symbol: "DAR", + decimals: 6, + contract: address!("0x2ef0775A19d1bc2258653fc5529F8f8490288086"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19837/thumb/dar.png?1636014223"), +}; + +pub static DERIVADAO_130_3A270265: TokenInfo = TokenInfo { + name: "DerivaDAO", + symbol: "DDX", + decimals: 18, + contract: address!("0x91ED4bb192e3461E45575730508525083A270265"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13453/thumb/ddx_logo.png?1608741641"), +}; + +pub static DENT_130_328E874C: TokenInfo = TokenInfo { + name: "Dent", + symbol: "DENT", + decimals: 8, + contract: address!("0x45a4f750d806498A4c7f7B5267815aaC328e874C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1152/thumb/gLCEA2G.png?1604543239"), +}; + +pub static DEXTOOLS_130_1723CDDD: TokenInfo = TokenInfo { + name: "DexTools", + symbol: "DEXT", + decimals: 18, + contract: address!("0x17C38207334011a131b0Acf200E35Cd81723cddd"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11603/thumb/dext.png?1605790188"), +}; + +pub static DIA_130_3F9543C2: TokenInfo = TokenInfo { + name: "DIA", + symbol: "DIA", + decimals: 18, + contract: address!("0x4bdc8553cf14EEBCD489cD1d75b7FF463f9543c2"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11955/thumb/image.png?1646041751"), +}; + +pub static DISTRICT0X_130_C1B9E545: TokenInfo = TokenInfo { + name: "district0x", + symbol: "DNT", + decimals: 18, + contract: address!("0x0eb07cE7a28FF84DF132fb5ee5F56Aabc1b9E545"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/849/thumb/district0x.png?1547223762"), +}; + +pub static DOGECOIN: TokenInfo = TokenInfo { + name: "Dogecoin", + symbol: "DOGE", + decimals: 18, + contract: address!("0x12E96C2BFEA6E835CF8Dd38a5834fa61Cf723736"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/5/standard/dogecoin.png?1696501409"), +}; + +pub static DEFI_PULSE_INDEX_130_CD2F84F1: TokenInfo = TokenInfo { + name: "DeFi Pulse Index", + symbol: "DPI", + decimals: 18, + contract: address!("0xE274f564c37aE15fd2570D544102eD4ACd2f84f1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12465/thumb/defi_pulse_index_set.png?1600051053"), +}; + +pub static DREP_130_38EA9EE7: TokenInfo = TokenInfo { + name: "Drep", + symbol: "DREP", + decimals: 18, + contract: address!("0x56aF109D597eb0a0F79ebCD0786Dd88C38EA9Ee7"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14578/thumb/KotgsCgS_400x400.jpg?1617094445"), +}; + +pub static DYDX_130_5FAEB82C: TokenInfo = TokenInfo { + name: "dYdX", + symbol: "DYDX", + decimals: 18, + contract: address!("0x601b11907EAa8d3785C0b10b41C3a7315faeB82c"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17500/thumb/hjnIm9bV.jpg?1628009360"), +}; + +pub static DEFI_YIELD_PROTOCOL_130_9D598610: TokenInfo = TokenInfo { + name: "DeFi Yield Protocol", + symbol: "DYP", + decimals: 18, + contract: address!("0xBdaD8E37a9600F0A35976fE61608a4C89D598610"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13480/thumb/DYP_Logo_Symbol-8.png?1655809066"), +}; + +pub static EIGENLAYER_130_D016C47D: TokenInfo = TokenInfo { + name: "EigenLayer", + symbol: "EIGEN", + decimals: 18, + contract: address!("0xc89ab9B82610BB9b748F6757b8F3ac59d016C47D"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/37441/large/eigen.jpg?1728023974"), +}; + +pub static ELASTOS_130_D8E8C1AB: TokenInfo = TokenInfo { + name: "Elastos", + symbol: "ELA", + decimals: 18, + contract: address!("0x24aBc32215354Ba3eD224bfa6312E31dD8E8c1ab"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2780/thumb/Elastos.png?1597048112"), +}; + +pub static DOGELON_MARS_130_26C1DE05: TokenInfo = TokenInfo { + name: "Dogelon Mars", + symbol: "ELON", + decimals: 18, + contract: address!("0x91441fE1415B00bEA8930A4354Fe00c426C1DE05"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14962/thumb/6GxcPRo3_400x400.jpg?1619157413"), +}; + +pub static ETHENA_130_A6CBD2DD: TokenInfo = TokenInfo { + name: "Ethena", + symbol: "ENA", + decimals: 18, + contract: address!("0x9116E70d613860D349495d9Ef8e2AE1cA6cBD2dd"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/36530/standard/ethena.png"), +}; + +pub static ENJIN_COIN_130_84A6D0A6: TokenInfo = TokenInfo { + name: "Enjin Coin", + symbol: "ENJ", + decimals: 18, + contract: address!("0x9A0D1b7594CAAF0A9e4687cAc9fF4E0B84a6d0A6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1102/thumb/enjin-coin-logo.png?1547035078"), +}; + +pub static ETHEREUM_NAME_SERVICE_130_B5F0383A: TokenInfo = TokenInfo { + name: "Ethereum Name Service", + symbol: "ENS", + decimals: 18, + contract: address!("0x80756FAf1e7Fec5678bf505670eF176AB5F0383a"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19785/thumb/acatxTm8_400x400.jpg?1635850140"), +}; + +pub static ETHERNITY_CHAIN_130_A93CDB03: TokenInfo = TokenInfo { + name: "Ethernity Chain", + symbol: "ERN", + decimals: 18, + contract: address!("0x5E5903C236E6873EB8400C3d1979271Fa93cdB03"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14238/thumb/LOGO_HIGH_QUALITY.png?1647831402"), +}; + +pub static ETHER_FI_130_58880821: TokenInfo = TokenInfo { + name: "Ether.fi", + symbol: "ETHFI", + decimals: 18, + contract: address!("0xF8740269F121327D03ff77BeD03a9A3258880821"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/35958/standard/etherfi.jpeg"), +}; + +pub static EULER_130_5B5D03FE: TokenInfo = TokenInfo { + name: "Euler", + symbol: "EUL", + decimals: 18, + contract: address!("0x6319F47719b6713b1624C1b3A8e2DBf15b5D03FE"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/26149/thumb/YCvKDfl8_400x400.jpeg?1656041509"), +}; + +pub static EURO_COIN_130_2813B0A8: TokenInfo = TokenInfo { + name: "Euro Coin", + symbol: "EURC", + decimals: 6, + contract: address!("0x72f34BC403a005A9Be390762EAa46ED42813B0a8"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/26045/thumb/euro-coin.png?1655394420"), +}; + +pub static QUANTOZ_EURQ_130_24D7D72D: TokenInfo = TokenInfo { + name: "Quantoz EURQ", + symbol: "EURQ", + decimals: 6, + contract: address!("0xEc42461D9BbDF4eFB6481099253bBB7324D7d72d"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51853/large/EURQ_1000px_Color.png?1732071269"), +}; + +pub static STABLR_EURO_130_9C36FB5F: TokenInfo = TokenInfo { + name: "StablR Euro", + symbol: "EURR", + decimals: 6, + contract: address!("0x7A1ef7fD6E0d708295D8FD0C30Fd437d9C36FB5f"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53720/large/stablreuro-logo.png?1737125898"), +}; + +pub static HARVEST_FINANCE_130_31EE825F: TokenInfo = TokenInfo { + name: "Harvest Finance", + symbol: "FARM", + decimals: 18, + contract: address!("0x472E8be16Cc9823b9f6a73A34EA55c0c31ee825F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12304/thumb/Harvest.png?1613016180"), +}; + +pub static FETCH_AI_130_DDD7DFE7: TokenInfo = TokenInfo { + name: "Fetch ai", + symbol: "FET", + decimals: 18, + contract: address!("0x45343279DefDAd803d81C06fBCf87936DDD7DFE7"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/5681/thumb/Fetch.jpg?1572098136"), +}; + +pub static STAFI_130_A10764A6: TokenInfo = TokenInfo { + name: "Stafi", + symbol: "FIS", + decimals: 18, + contract: address!("0xec9Be303f204864145CCC193aEb21B5fa10764A6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12423/thumb/stafi_logo.jpg?1599730991"), +}; + +pub static FLOKI_130_6C51FA81: TokenInfo = TokenInfo { + name: "FLOKI", + symbol: "FLOKI", + decimals: 9, + contract: address!("0x1b3EC249dc44a64bF5Cb8Afdd70e30c26c51fA81"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/16746/standard/PNG_image.png?1696516318"), +}; + +pub static FORTA_130_D87D94E5: TokenInfo = TokenInfo { + name: "Forta", + symbol: "FORT", + decimals: 18, + contract: address!("0xB20fD6fD28e1430f98a8C1e9A83C88E5D87D94e5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/25060/thumb/Forta_lgo_%281%29.png?1655353696"), +}; + +pub static AMPLEFORTH_GOVERNANCE_TOKEN_130_2220F12E: TokenInfo = TokenInfo { + name: "Ampleforth Governance Token", + symbol: "FORTH", + decimals: 18, + contract: address!("0xFa004fa2ad8Ef993C2B0412baB776b182220F12e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14917/thumb/photo_2021-04-22_00.00.03.jpeg?1619020835"), +}; + +pub static SHAPESHIFT_FOX_TOKEN_130_3B7A318E: TokenInfo = TokenInfo { + name: "ShapeShift FOX Token", + symbol: "FOX", + decimals: 18, + contract: address!("0xe0BB1924C17b39B71758F49a00D7c0363B7a318E"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/9988/thumb/FOX.png?1574330622"), +}; + +pub static FRAX_130_D74132B9: TokenInfo = TokenInfo { + name: "Frax", + symbol: "FRAX", + decimals: 18, + contract: address!("0x8c7879bf25D678D9949F305857bD4437d74132B9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13422/thumb/frax_logo.png?1608476506"), +}; + +pub static FANTOM_130_90DC7F0E: TokenInfo = TokenInfo { + name: "Fantom", + symbol: "FTM", + decimals: 18, + contract: address!("0xe99235A02958637a5e01575297fBBa3790dC7F0e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4001/thumb/Fantom.png?1558015016"), +}; + +pub static FUNCTION_X_130_1D7AF1AF: TokenInfo = TokenInfo { + name: "Function X", + symbol: "FX", + decimals: 18, + contract: address!("0x6F32725F82Bbb06FFdC04974db437fec1d7af1Af"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/8186/thumb/47271330_590071468072434_707260356350705664_n.jpg?1556096683"), +}; + +pub static FRAX_SHARE_130_062021D6: TokenInfo = TokenInfo { + name: "Frax Share", + symbol: "FXS", + decimals: 18, + contract: address!("0x79301DF2117C7F56859fD01b28bBAA61062021D6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13423/thumb/frax_share.png?1608478989"), +}; + +pub static GRAVITY_130_6FD8803C: TokenInfo = TokenInfo { + name: "Gravity", + symbol: "G", + decimals: 18, + contract: address!("0x481cB2C560fc3351833b582b92b965626fd8803C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/39200/large/gravity.jpg?1721020647"), +}; + +pub static GALXE_130_443D8675: TokenInfo = TokenInfo { + name: "Galxe", + symbol: "GAL", + decimals: 18, + contract: address!("0x70b2b785061d4c91C76CF87692f85B5c443d8675"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/24530/thumb/GAL-Token-Icon.png?1651483533"), +}; + +pub static GALA_130_B560FAC9: TokenInfo = TokenInfo { + name: "GALA", + symbol: "GALA", + decimals: 8, + contract: address!("0x31A71801291774d267615f74b3a44FCEB560FAc9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12493/standard/GALA-COINGECKO.png?1696512310"), +}; + +pub static GOLDFINCH_130_B157D3D0: TokenInfo = TokenInfo { + name: "Goldfinch", + symbol: "GFI", + decimals: 18, + contract: address!("0x0328A0255866706547B79072DEE54976b157d3D0"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19081/thumb/GOLDFINCH.png?1634369662"), +}; + +pub static AAVEGOTCHI_130_840AD24B: TokenInfo = TokenInfo { + name: "Aavegotchi", + symbol: "GHST", + decimals: 18, + contract: address!("0x4aE5712A153fDfDE81C305fF7f2E4e59840aD24B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12467/thumb/ghst_200.png?1600750321"), +}; + +pub static GOLEM_130_E2C9F2B9: TokenInfo = TokenInfo { + name: "Golem", + symbol: "GLM", + decimals: 18, + contract: address!("0x04b747f478AE09AC797d026C8402f409E2C9f2b9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/542/thumb/Golem_Submark_Positive_RGB.png?1606392013"), +}; + +pub static GNOSIS_TOKEN_130_E125A938: TokenInfo = TokenInfo { + name: "Gnosis Token", + symbol: "GNO", + decimals: 18, + contract: address!("0xC4c6c3A3043Ad5ECe5c91290630A7735e125a938"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6810e776880C02933D47DB1b9fc05908e5386b96/logo.png"), +}; + +pub static GODS_UNCHAINED_130_D3683F48: TokenInfo = TokenInfo { + name: "Gods Unchained", + symbol: "GODS", + decimals: 18, + contract: address!("0x6E74EA6546e1f21Abf581b59114f2Bf5d3683f48"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17139/thumb/10631.png?1635718182"), +}; + +pub static THE_GRAPH_130_B3204D71: TokenInfo = TokenInfo { + name: "The Graph", + symbol: "GRT", + decimals: 18, + contract: address!("0xBb2272Ffc0Ef8F439373aDffD45c3591B3204D71"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13397/thumb/Graph_Token.png?1608145566"), +}; + +pub static GITCOIN_130_8FE5CF48: TokenInfo = TokenInfo { + name: "Gitcoin", + symbol: "GTC", + decimals: 18, + contract: address!("0x592620d454a10c47274dBfe3BD922b9a8fE5cf48"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15810/thumb/gitcoin.png?1621992929"), +}; + +pub static GEMINI_DOLLAR_130_5C0920A9: TokenInfo = TokenInfo { + name: "Gemini Dollar", + symbol: "GUSD", + decimals: 2, + contract: address!("0xEbA12eC786Cdc21b4bd5ba601B595b6A5C0920a9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/5992/thumb/gemini-dollar-gusd.png?1536745278"), +}; + +pub static GYEN_130_A574C36F: TokenInfo = TokenInfo { + name: "GYEN", + symbol: "GYEN", + decimals: 6, + contract: address!("0xad173F5B5FE39DD1183a0d3C49C57629A574c36F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14191/thumb/icon_gyen_200_200.png?1614843343"), +}; + +pub static HASHFLOW_130_8C34A28B: TokenInfo = TokenInfo { + name: "Hashflow", + symbol: "HFT", + decimals: 18, + contract: address!("0x656104f2028BbFD7144C8f71Fa15daaA8c34A28b"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/26136/large/hashflow-icon-cmc.png"), +}; + +pub static HIGHSTREET_130_B1374879: TokenInfo = TokenInfo { + name: "Highstreet", + symbol: "HIGH", + decimals: 18, + contract: address!("0x99F64C3Db98a4870eFf637315d5C86dcb1374879"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/18973/thumb/logosq200200Coingecko.png?1634090470"), +}; + +pub static HOPR_130_AF385B36: TokenInfo = TokenInfo { + name: "HOPR", + symbol: "HOPR", + decimals: 18, + contract: address!("0xc32C0c5a52F36D244C552E45C485cBceaf385B36"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14061/thumb/Shared_HOPR_logo_512px.png?1614073468"), +}; + +pub static HYPERLIQUID: TokenInfo = TokenInfo { + name: "Hyperliquid", + symbol: "HYPE", + decimals: 18, + contract: address!("0x15D0e0c55a3E7eE67152aD7E89acf164253Ff68d"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/50882/large/hyperliquid.jpg?1729431300"), +}; + +pub static IDEX_130_60EABE8E: TokenInfo = TokenInfo { + name: "IDEX", + symbol: "IDEX", + decimals: 18, + contract: address!("0x4eA052BcAeE7d7ef2E3D61D601e878A560eaBe8e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2565/thumb/logomark-purple-286x286.png?1638362736"), +}; + +pub static ILLUVIUM_130_42F3E51F: TokenInfo = TokenInfo { + name: "Illuvium", + symbol: "ILV", + decimals: 18, + contract: address!("0xa76195FA77304Bba4cD8946198f5a90E42F3E51F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14468/large/ILV.JPG"), +}; + +pub static IMMUTABLE_X_130_F5AA8053: TokenInfo = TokenInfo { + name: "Immutable X", + symbol: "IMX", + decimals: 18, + contract: address!("0xc4Fc8cF76883094404DDb875d2AF15D1F5AA8053"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17233/thumb/imx.png?1636691817"), +}; + +pub static INDEX_COOPERATIVE_130_121E39B7: TokenInfo = TokenInfo { + name: "Index Cooperative", + symbol: "INDEX", + decimals: 18, + contract: address!("0xa5Afe7646f07d2C41AA82Bb6AE09e99E121e39B7"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12729/thumb/index.png?1634894321"), +}; + +pub static INJECTIVE_130_9A89F9F8: TokenInfo = TokenInfo { + name: "Injective", + symbol: "INJ", + decimals: 18, + contract: address!("0x9361cA28625E12C7f088523B274A25059A89f9F8"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12882/thumb/Secondary_Symbol.png?1628233237"), +}; + +pub static INVERSE_FINANCE_130_9F7B54FB: TokenInfo = TokenInfo { + name: "Inverse Finance", + symbol: "INV", + decimals: 18, + contract: address!("0xD326ACaB8799fb44C3A5B7f7eFbAaB5f9F7b54fb"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14205/thumb/inverse_finance.jpg?1614921871"), +}; + +pub static IOTEX_130_E2B6843F: TokenInfo = TokenInfo { + name: "IoTeX", + symbol: "IOTX", + decimals: 18, + contract: address!("0xD749094Bc62615f0c8645467e241b71Ae2B6843F"), + chain: 130, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/2777.png"), +}; + +pub static GEOJAM_130_1D5C61A8: TokenInfo = TokenInfo { + name: "Geojam", + symbol: "JAM", + decimals: 18, + contract: address!("0x428c2B7Fa7a7821891fb529BAE4d80a71d5c61A8"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/24648/thumb/ey40AzBN_400x400.jpg?1648507272"), +}; + +pub static JASMYCOIN_130_22720708: TokenInfo = TokenInfo { + name: "JasmyCoin", + symbol: "JASMY", + decimals: 18, + contract: address!("0x8EF0686F380dD07f3e2121831839371922720708"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13876/thumb/JASMY200x200.jpg?1612473259"), +}; + +pub static JUPITER_130_E5CAB8B2: TokenInfo = TokenInfo { + name: "Jupiter", + symbol: "JUP", + decimals: 18, + contract: address!("0x781CC305fCBFe7cde376C9Ef5469d5a7E5CaB8b2"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/10351/thumb/logo512.png?1632480932"), +}; + +pub static JUPITER_130_2381AFAD: TokenInfo = TokenInfo { + name: "Jupiter", + symbol: "JUP", + decimals: 6, + contract: address!("0xbe51A5e8FA434F09663e8fB4CCe79d0B2381Afad"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/34188/standard/jup.png?1704266489"), +}; + +pub static KEEP_NETWORK_130_EA6AFE80: TokenInfo = TokenInfo { + name: "Keep Network", + symbol: "KEEP", + decimals: 18, + contract: address!("0x05DBd720fc26F732c8d42Ea89BD7F442EA6AFE80"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/3373/thumb/IuNzUb5b_400x400.jpg?1589526336"), +}; + +pub static SELFKEY_130_3F1BBFDC: TokenInfo = TokenInfo { + name: "SelfKey", + symbol: "KEY", + decimals: 18, + contract: address!("0x68Cea24F675e4F25584607F6c9feFb353f1bBfDc"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2034/thumb/selfkey.png?1548608934"), +}; + +pub static KYBER_NETWORK_CRYSTAL_130_B7CD2284: TokenInfo = TokenInfo { + name: "Kyber Network Crystal", + symbol: "KNC", + decimals: 18, + contract: address!("0xB0E4Ad2dFe3754e4a2443A7a828Eda5bB7Cd2284"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdd974D5C2e2928deA5F71b9825b8b646686BD200/logo.png"), +}; + +pub static KEEP3RV1_130_5FAD6A74: TokenInfo = TokenInfo { + name: "Keep3rV1", + symbol: "KP3R", + decimals: 18, + contract: address!("0x9C41547e404942C173E28bB2B6abE4cf5fad6A74"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12966/thumb/kp3r_logo.jpg?1607057458"), +}; + +pub static KRYLL_130_4F002943: TokenInfo = TokenInfo { + name: "KRYLL", + symbol: "KRL", + decimals: 18, + contract: address!("0x14CFFAD448AeB0876c56B7aa28999C9a4f002943"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2807/thumb/krl.png?1547036979"), +}; + +pub static KUJIRA_130_30258681: TokenInfo = TokenInfo { + name: "Kujira", + symbol: "KUJI", + decimals: 6, + contract: address!("0x2206cdcC9B94fF7dB7A9eAbeC77b5cE430258681"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/20685/standard/kuji-200x200.png"), +}; + +pub static LAYER3_130_1B7B482C: TokenInfo = TokenInfo { + name: "Layer3", + symbol: "L3", + decimals: 18, + contract: address!("0x1201209f55634bdDb67034efE4e8aA4D1B7B482C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/37768/large/Square.png"), +}; + +pub static LCX_130_46687782: TokenInfo = TokenInfo { + name: "LCX", + symbol: "LCX", + decimals: 18, + contract: address!("0xb34b3DE63D22ffC90419c1a439de6C7d46687782"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/9985/thumb/zRPSu_0o_400x400.jpg?1574327008"), +}; + +pub static LIDO_DAO_130_814E8829: TokenInfo = TokenInfo { + name: "Lido DAO", + symbol: "LDO", + decimals: 18, + contract: address!("0x68A6dbc7214a0F2b0d875963663F1613814E8829"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13573/thumb/Lido_DAO.png?1609873644"), +}; + +pub static CHAINLINK_TOKEN_130_9BBEEFB7: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0x5a53B6D19D8EDCb7923F0D840EeBB3f09BBeEfB7"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static LITENTRY_130_91BE0FDF: TokenInfo = TokenInfo { + name: "Litentry", + symbol: "LIT", + decimals: 18, + contract: address!("0x68648F52B85407806bC1d349B745D13C91be0fDf"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13825/large/logo_200x200.png"), +}; + +pub static LEAGUE_OF_KINGDOMS_130_AAC89733: TokenInfo = TokenInfo { + name: "League of Kingdoms", + symbol: "LOKA", + decimals: 18, + contract: address!("0x1D1BFCFC6ae6FE045f151C7e589fB241AAC89733"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/22572/thumb/loka_64pix.png?1642643271"), +}; + +pub static LOOM_NETWORK_130_009F523C: TokenInfo = TokenInfo { + name: "Loom Network", + symbol: "LOOM", + decimals: 18, + contract: address!("0xc68992e0514968BfbA3Dad201fef91f6009f523c"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0/logo.png"), +}; + +pub static LIVEPEER_130_F35B73E3: TokenInfo = TokenInfo { + name: "Livepeer", + symbol: "LPT", + decimals: 18, + contract: address!("0x11c6B34caDC550B65A9666497d7FCb39f35B73E3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/7137/thumb/logo-circle-green.png?1619593365"), +}; + +pub static LIQUITY_130_53C71A60: TokenInfo = TokenInfo { + name: "Liquity", + symbol: "LQTY", + decimals: 18, + contract: address!("0x0176B38b7767451b1B682236eCe2fae853C71a60"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14665/thumb/200-lqty-icon.png?1617631180"), +}; + +pub static LOOPRINGCOIN_V2_130_A8AB158A: TokenInfo = TokenInfo { + name: "LoopringCoin V2", + symbol: "LRC", + decimals: 18, + contract: address!("0xA2af802b95D7e20167e5aeaC7Fe8fDf4a8aB158A"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD/logo.png"), +}; + +pub static BLOCKLORDS_130_0C7BEE3F: TokenInfo = TokenInfo { + name: "BLOCKLORDS", + symbol: "LRDS", + decimals: 18, + contract: address!("0xD7eb7348Ba44c5A2f9f1D1d3534623230c7bee3F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/34775/standard/LRDS_PNG.png"), +}; + +pub static LIQUITY_USD_130_D72577FB: TokenInfo = TokenInfo { + name: "Liquity USD", + symbol: "LUSD", + decimals: 18, + contract: address!("0xf81B7485B4cB59645F74528D702c7f8CD72577FB"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14666/thumb/Group_3.png?1617631327"), +}; + +pub static DECENTRALAND_130_00FE358B: TokenInfo = TokenInfo { + name: "Decentraland", + symbol: "MANA", + decimals: 18, + contract: address!("0x276361c863903751771e9DabA6dDfaAf00FE358b"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/878/thumb/decentraland-mana.png?1550108745"), +}; + +pub static MASK_NETWORK_130_1B9512C4: TokenInfo = TokenInfo { + name: "Mask Network", + symbol: "MASK", + decimals: 18, + contract: address!("0xC42B642F5010a2A3bD3CA2396Fe6f2e21B9512C4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14051/thumb/Mask_Network.jpg?1614050316"), +}; + +pub static MATH_130_99ED2C97: TokenInfo = TokenInfo { + name: "MATH", + symbol: "MATH", + decimals: 18, + contract: address!("0xB999b66186d7a48BF0Eb5d22f4E7053A99eD2C97"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11335/thumb/2020-05-19-token-200.png?1589940590"), +}; + +pub static POLYGON_130_6507176B: TokenInfo = TokenInfo { + name: "Polygon", + symbol: "MATIC", + decimals: 18, + contract: address!("0xF6AC97B05B3bC92f829c7584b25839906507176b"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static MERIT_CIRCLE_130_2D657399: TokenInfo = TokenInfo { + name: "Merit Circle", + symbol: "MC", + decimals: 18, + contract: address!("0x460ec1C67e1614Bf1feAb84b98795BAE2d657399"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/19304/thumb/Db4XqML.png?1634972154"), +}; + +pub static MOSS_CARBON_CREDIT_130_7E6ACC40: TokenInfo = TokenInfo { + name: "Moss Carbon Credit", + symbol: "MCO2", + decimals: 18, + contract: address!("0x68619Bc0C709FB63555Fe988ed14e78f7E6ACc40"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14414/thumb/ENtxnThA_400x400.jpg?1615948522"), +}; + +pub static MEASURABLE_DATA_TOKEN_130_31BFEFF4: TokenInfo = TokenInfo { + name: "Measurable Data Token", + symbol: "MDT", + decimals: 18, + contract: address!("0xB29FddC20D5e4bacE9F54c1d9237953331BFeFF4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2441/thumb/mdt_logo.png?1569813574"), +}; + +pub static MEMECOIN_130_8E3E7D06: TokenInfo = TokenInfo { + name: "Memecoin", + symbol: "MEME", + decimals: 18, + contract: address!("0x397E34AFF8bFc8Ec14aa78F378074F6d8E3E7d06"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/32528/large/memecoin_(2).png"), +}; + +pub static METIS_130_B3A8F102: TokenInfo = TokenInfo { + name: "Metis", + symbol: "METIS", + decimals: 18, + contract: address!("0xBfBa2A8745e5C85544DB7C8824C6962aB3A8f102"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15595/thumb/metis.jpeg?1660285312"), +}; + +pub static MAGIC_INTERNET_MONEY_130_3E3602AB: TokenInfo = TokenInfo { + name: "Magic Internet Money", + symbol: "MIM", + decimals: 18, + contract: address!("0x397C1f55FefF63C8947624b0d457a2CA3e3602ab"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/16786/thumb/mimlogopng.png?1624979612"), +}; + +pub static MIRROR_PROTOCOL_130_4A72D717: TokenInfo = TokenInfo { + name: "Mirror Protocol", + symbol: "MIR", + decimals: 18, + contract: address!("0x5FE989EaB3021d7e742099d05a7937bA4A72D717"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13295/thumb/mirror_logo_transparent.png?1611554658"), +}; + +pub static MELON_130_4DC3C117: TokenInfo = TokenInfo { + name: "Melon", + symbol: "MLN", + decimals: 18, + contract: address!("0xf7A581f6e26EEa790225d76Af8821EA34Dc3c117"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/605/thumb/melon.png?1547034295"), +}; + +pub static MOG_COIN_130_78921EBD: TokenInfo = TokenInfo { + name: "Mog Coin", + symbol: "MOG", + decimals: 18, + contract: address!("0x58d68e179864605fEA06EAADF1185c6e78921Ebd"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/31059/large/MOG_LOGO_200x200.png"), +}; + +pub static MONAVALE_130_1C7A1087: TokenInfo = TokenInfo { + name: "Monavale", + symbol: "MONA", + decimals: 18, + contract: address!("0xAe6065FB0244A68036C82deC9a8dE5501c7A1087"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13298/thumb/monavale_logo.jpg?1607232721"), +}; + +pub static MOVEMENT_130_0FF19949: TokenInfo = TokenInfo { + name: "Movement", + symbol: "MOVE", + decimals: 8, + contract: address!("0xaa2109f14Bb155766cBA9E7fa8B8D4bF0ff19949"), + chain: 130, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/32452.png"), +}; + +pub static MAPLE_130_D752A219: TokenInfo = TokenInfo { + name: "Maple", + symbol: "MPL", + decimals: 18, + contract: address!("0x587e0E022b074015F4e81eCa489c0C41d752A219"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14097/thumb/photo_2021-05-03_14.20.41.jpeg?1620022863"), +}; + +pub static METAL_130_6CFAD9EA: TokenInfo = TokenInfo { + name: "Metal", + symbol: "MTL", + decimals: 8, + contract: address!("0x71d69d07914d087f1C3536F7A5006a256CfAd9Ea"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/763/thumb/Metal.png?1592195010"), +}; + +pub static MULTICHAIN_130_D82B4701: TokenInfo = TokenInfo { + name: "Multichain", + symbol: "MULTI", + decimals: 18, + contract: address!("0x1C3a8fB65Ab82D73e26B6403bf505B99d82b4701"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/22087/thumb/1_Wyot-SDGZuxbjdkaOeT2-A.png?1640764238"), +}; + +pub static MSTABLE_USD_130_B40A8DD1: TokenInfo = TokenInfo { + name: "mStable USD", + symbol: "MUSD", + decimals: 18, + contract: address!("0x10F109379E231d5c294ee6A5f9Abb2F8b40A8Dd1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11576/thumb/mStable_USD.png?1595591803"), +}; + +pub static MUSE_DAO_130_81D5F345: TokenInfo = TokenInfo { + name: "Muse DAO", + symbol: "MUSE", + decimals: 18, + contract: address!("0xe3d92FB06a4EEbaC5879D3C1073e0eAB81D5f345"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13230/thumb/muse_logo.png?1606460453"), +}; + +pub static GENSOKISHI_METAVERSE_130_FF182974: TokenInfo = TokenInfo { + name: "GensoKishi Metaverse", + symbol: "MV", + decimals: 18, + contract: address!("0xD6ec6A24d5365A1811B05099f8D353c0Ff182974"), + chain: 130, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/17704.png"), +}; + +pub static MXC_130_02727794: TokenInfo = TokenInfo { + name: "MXC", + symbol: "MXC", + decimals: 18, + contract: address!("0xCF7c45Ccc1327ac1E9Cb9E098898c59402727794"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4604/thumb/mxc.png?1655534336"), +}; + +pub static POLYSWARM_130_795032DF: TokenInfo = TokenInfo { + name: "PolySwarm", + symbol: "NCT", + decimals: 18, + contract: address!("0x328Ed7736871F863C8216Ca6CbB6f29B795032Df"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2843/thumb/ImcYCVfX_400x400.jpg?1628519767"), +}; + +pub static NEIRO_130_87696276: TokenInfo = TokenInfo { + name: "Neiro", + symbol: "Neiro", + decimals: 9, + contract: address!("0xc1C06527E810C4A198D8C5d35e1dDBc987696276"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/39488/large/neiro.jpg?1731449567"), +}; + +pub static NKN_130_336BAF62: TokenInfo = TokenInfo { + name: "NKN", + symbol: "NKN", + decimals: 18, + contract: address!("0x75b93cED9627Cd172912304Fb79Cd3e7336BaF62"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/3375/thumb/nkn.png?1548329212"), +}; + +pub static NUMERAIRE_130_DBDA20FC: TokenInfo = TokenInfo { + name: "Numeraire", + symbol: "NMR", + decimals: 18, + contract: address!("0x931e587542b8603EA3C6420dD8d3b22eDbdA20FC"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671/logo.png"), +}; + +pub static NUCYPHER_130_AACEA6B9: TokenInfo = TokenInfo { + name: "NuCypher", + symbol: "NU", + decimals: 18, + contract: address!("0x2AEB5256de25ECed47797b82d2F5C404AACEA6b9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/3318/thumb/photo1198982838879365035.jpg?1547037916"), +}; + +pub static OCEAN_PROTOCOL_130_3CD79208: TokenInfo = TokenInfo { + name: "Ocean Protocol", + symbol: "OCEAN", + decimals: 18, + contract: address!("0x652293F4e9b0ef61C52a78D6615D9f5f3cD79208"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/3687/thumb/ocean-protocol-logo.jpg?1547038686"), +}; + +pub static ORIGIN_PROTOCOL_130_EE18C880: TokenInfo = TokenInfo { + name: "Origin Protocol", + symbol: "OGN", + decimals: 18, + contract: address!("0xa60CE8f7ec6A091535b4708569B39DF5eE18c880"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/3296/thumb/op.jpg?1547037878"), +}; + +pub static OMG_NETWORK_130_8EE37383: TokenInfo = TokenInfo { + name: "OMG Network", + symbol: "OMG", + decimals: 18, + contract: address!("0x5949b9200dF1e77878dB3D061e43cF878Ee37383"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/776/thumb/OMG_Network.jpg?1591167168"), +}; + +pub static OMNI_NETWORK_130_959EB0E3: TokenInfo = TokenInfo { + name: "Omni Network", + symbol: "OMNI", + decimals: 18, + contract: address!("0xf5614D20c13D5BF2F9e640f00B7B2B76959Eb0E3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/36465/standard/Symbol-Color.png?1711511095"), +}; + +pub static ONDO_FINANCE_130_85321557: TokenInfo = TokenInfo { + name: "Ondo Finance", + symbol: "ONDO", + decimals: 18, + contract: address!("0xaD0bae21db0b471dFfC6f8F9EEacFe9A85321557"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/26580/standard/ONDO.png?1696525656"), +}; + +pub static ORCA_ALLIANCE_130_1BE3E8C0: TokenInfo = TokenInfo { + name: "ORCA Alliance", + symbol: "ORCA", + decimals: 18, + contract: address!("0xCF2050ebC80B74370C1C2B71bDB635d11be3E8c0"), + chain: 130, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/5183.png"), +}; + +pub static ORION_PROTOCOL_130_B6EAF396: TokenInfo = TokenInfo { + name: "Orion Protocol", + symbol: "ORN", + decimals: 8, + contract: address!("0x3C5319013FD75976F0f13b0bc0852537B6eaF396"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11841/thumb/orion_logo.png?1594943318"), +}; + +pub static ORCHID_130_52B98042: TokenInfo = TokenInfo { + name: "Orchid", + symbol: "OXT", + decimals: 18, + contract: address!("0x9775C2b4f245248dE5596252Ac69311152B98042"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4575f41308EC1483f3d399aa9a2826d74Da13Deb/logo.png"), +}; + +pub static PAYPEREX_130_0D292327: TokenInfo = TokenInfo { + name: "PayperEx", + symbol: "PAX", + decimals: 18, + contract: address!("0x3614c8d98Bf905AbE075BfA289231bbc0D292327"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1601/thumb/pax.png?1547035800"), +}; + +pub static PLAYDAPP_130_1E75D6AC: TokenInfo = TokenInfo { + name: "PlayDapp", + symbol: "PDA", + decimals: 18, + contract: address!("0xeC37cdfC9a692b3cCd5c85696D14aaA31E75d6aC"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14316/standard/PDA-symbol.png?1710234068"), +}; + +pub static PEPE_130_9074952B: TokenInfo = TokenInfo { + name: "Pepe", + symbol: "PEPE", + decimals: 18, + contract: address!("0xD9b5DA95B3D97c3E9872102fDb47d4c09074952B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/29850/large/pepe-token.jpeg?1682922725"), +}; + +pub static PERPETUAL_PROTOCOL_130_CCFEC7D5: TokenInfo = TokenInfo { + name: "Perpetual Protocol", + symbol: "PERP", + decimals: 18, + contract: address!("0x5944D2728d5fea7D1F4AA4958E3aEbb3CCFEc7D5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12381/thumb/60d18e06844a844ad75901a9_mark_only_03.png?1628674771"), +}; + +pub static PIRATE_NATION_130_18D064C6: TokenInfo = TokenInfo { + name: "Pirate Nation", + symbol: "PIRATE", + decimals: 18, + contract: address!("0xd0F77df9a8f0e855F910361f5f59958118d064c6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/38524/standard/_Pirate_Transparent_200x200.png"), +}; + +pub static PLUTON_130_ABB6F6C7: TokenInfo = TokenInfo { + name: "Pluton", + symbol: "PLU", + decimals: 18, + contract: address!("0x5441619a9754Aee0665c939743cf7611abB6F6C7"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1241/thumb/pluton.png?1548331624"), +}; + +pub static POLYGON_ECOSYSTEM_TOKEN_130_E5682E95: TokenInfo = TokenInfo { + name: "Polygon Ecosystem Token", + symbol: "POL", + decimals: 18, + contract: address!("0xF6A49aEdbD7861DeD0DA2BE1f21C6954E5682E95"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/32440/large/polygon.png?1698233684"), +}; + +pub static POLKASTARTER_130_DC306503: TokenInfo = TokenInfo { + name: "Polkastarter", + symbol: "POLS", + decimals: 18, + contract: address!("0x82a98121eaf30b0E135b08d4208c837Cdc306503"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12648/thumb/polkastarter.png?1609813702"), +}; + +pub static POLYMATH_130_D538D863: TokenInfo = TokenInfo { + name: "Polymath", + symbol: "POLY", + decimals: 18, + contract: address!("0x2f5cfdC89fb96f2cf6c0FB1Ca6e3501Dd538D863"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2784/thumb/inKkF01.png?1605007034"), +}; + +pub static MARLIN_130_4D4782D5: TokenInfo = TokenInfo { + name: "Marlin", + symbol: "POND", + decimals: 18, + contract: address!("0xA2a36541c5a54bd2815985418105091B4D4782d5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/8903/thumb/POND_200x200.png?1622515451"), +}; + +pub static PORTAL_130_0F2A5642: TokenInfo = TokenInfo { + name: "Portal", + symbol: "PORTAL", + decimals: 18, + contract: address!("0x562E588471cA0e710b2b1217867FFb2E0F2a5642"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/35436/standard/portal.jpeg"), +}; + +pub static POWER_LEDGER_130_DFFA6BFF: TokenInfo = TokenInfo { + name: "Power Ledger", + symbol: "POWR", + decimals: 6, + contract: address!("0xf265af514762286A63d015FeE382B90edfFa6bff"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1104/thumb/power-ledger.png?1547035082"), +}; + +pub static PRIME_130_CBF9FEE0: TokenInfo = TokenInfo { + name: "Prime", + symbol: "PRIME", + decimals: 18, + contract: address!("0xD17D5f0DA4200bBfd3D6626AC6aEA2eccbf9fEE0"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/29053/large/PRIMELOGOOO.png?1676976222"), +}; + +pub static PROPY_130_1F41A7C9: TokenInfo = TokenInfo { + name: "Propy", + symbol: "PRO", + decimals: 8, + contract: address!("0xC6Fbf362a12804FEca22000f37DB5EFC1F41A7c9"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/869/thumb/propy.png?1548332100"), +}; + +pub static PARSIQ_130_0ABF3DEF: TokenInfo = TokenInfo { + name: "PARSIQ", + symbol: "PRQ", + decimals: 18, + contract: address!("0xc7B7dcF3c6CAcAAc13F92c9173f9A0060ABf3def"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11973/thumb/DsNgK0O.png?1596590280"), +}; + +pub static PSTAKE_FINANCE_130_E7D7CAA2: TokenInfo = TokenInfo { + name: "pSTAKE Finance", + symbol: "PSTAKE", + decimals: 18, + contract: address!("0x13FE2c4504f3AA18708561250e2F20E4E7D7CAa2"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/23931/thumb/PSTAKE_Dark.png?1645709930"), +}; + +pub static PUFFER_FINANCE_130_38B560D2: TokenInfo = TokenInfo { + name: "Puffer Finance", + symbol: "PUFFER", + decimals: 18, + contract: address!("0xAdf70dc4AaeFbC6D1E7A6cF0B02b0F2138b560d2"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/50630/large/puffer.jpg?1728545297"), +}; + +pub static PAYPAL_USD_130_8E6207C5: TokenInfo = TokenInfo { + name: "PayPal USD", + symbol: "PYUSD", + decimals: 6, + contract: address!("0x0D2f98904D88909072eA6e61105CBBf78e6207c5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/31212/large/PYUSD_Logo_%282%29.png?1691458314"), +}; + +pub static QUANT_130_98C360D4: TokenInfo = TokenInfo { + name: "Quant", + symbol: "QNT", + decimals: 18, + contract: address!("0x3a8723f2929F370c61EaC583d6652e5C98C360d4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/3370/thumb/5ZOu7brX_400x400.jpg?1612437252"), +}; + +pub static QREDO_130_8C1068B8: TokenInfo = TokenInfo { + name: "Qredo", + symbol: "QRDO", + decimals: 8, + contract: address!("0x006254C4664C678e64c3265da28304cc8c1068b8"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17541/thumb/qrdo.png?1630637735"), +}; + +pub static QUANTSTAMP_130_6BB5EABB: TokenInfo = TokenInfo { + name: "Quantstamp", + symbol: "QSP", + decimals: 18, + contract: address!("0xb019a038eaDCB2F96321D236F6633C8d6Bb5eAbB"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1219/thumb/0_E0kZjb4dG4hUnoDD_.png?1604815917"), +}; + +pub static QUICKSWAP_130_F8E6CAC2: TokenInfo = TokenInfo { + name: "Quickswap", + symbol: "QUICK", + decimals: 18, + contract: address!("0xD815958F92E6aBe63437BCe166E97027f8E6caC2"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13970/thumb/1_pOU6pBMEmiL-ZJVb0CYRjQ.png?1613386659"), +}; + +pub static RADICLE_130_F08A1A45: TokenInfo = TokenInfo { + name: "Radicle", + symbol: "RAD", + decimals: 18, + contract: address!("0x3F9A30c86DC7F0c657eA17d52Efe09Eff08a1a45"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14013/thumb/radicle.png?1614402918"), +}; + +pub static RAI_REFLEX_INDEX_130_89F34A66: TokenInfo = TokenInfo { + name: "Rai Reflex Index", + symbol: "RAI", + decimals: 18, + contract: address!("0x6164A78F7B2aC49cf9b76c49e5B6909e89f34a66"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14004/thumb/RAI-logo-coin.png?1613592334"), +}; + +pub static SUPERRARE_130_E025BB6F: TokenInfo = TokenInfo { + name: "SuperRare", + symbol: "RARE", + decimals: 18, + contract: address!("0xe8a0078aA52ac7e93aE43818DdD64591E025BB6F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17753/thumb/RARE.jpg?1629220534"), +}; + +pub static RARIBLE_130_03C8561C: TokenInfo = TokenInfo { + name: "Rarible", + symbol: "RARI", + decimals: 18, + contract: address!("0x16F01392Ed7fC6F3C345CF544cf1172103C8561C"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11845/thumb/Rari.png?1594946953"), +}; + +pub static RUBIC_130_66B403E3: TokenInfo = TokenInfo { + name: "Rubic", + symbol: "RBC", + decimals: 18, + contract: address!("0x29EA5682024c8C62Cd8BDf691C4f0c5D66B403E3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12629/thumb/200x200.png?1607952509"), +}; + +pub static RIBBON_FINANCE_130_C841CD3E: TokenInfo = TokenInfo { + name: "Ribbon Finance", + symbol: "RBN", + decimals: 18, + contract: address!("0x75B2dBb2a7C70073133E42F64366a986c841cd3e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15823/thumb/RBN_64x64.png?1633529723"), +}; + +pub static REPUBLIC_TOKEN_130_8261617E: TokenInfo = TokenInfo { + name: "Republic Token", + symbol: "REN", + decimals: 18, + contract: address!("0x560603E0bFC941063D1375Ec4E3f9FE38261617E"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x408e41876cCCDC0F92210600ef50372656052a38/logo.png"), +}; + +pub static REPUTATION_AUGUR_V1_130_B2816FC4: TokenInfo = TokenInfo { + name: "Reputation Augur v1", + symbol: "REP", + decimals: 18, + contract: address!("0x097ca3FC389697080C84148C455Ca839b2816Fc4"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1985365e9f78359a9B6AD760e32412f4a445E862/logo.png"), +}; + +pub static REPUTATION_AUGUR_V2_130_1E72A8C4: TokenInfo = TokenInfo { + name: "Reputation Augur v2", + symbol: "REPv2", + decimals: 18, + contract: address!("0xE86B1E5613a5761D005a2D00D8a1B4ad1e72A8c4"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x221657776846890989a759BA2973e427DfF5C9bB/logo.png"), +}; + +pub static REQUEST_130_9D8663CD: TokenInfo = TokenInfo { + name: "Request", + symbol: "REQ", + decimals: 18, + contract: address!("0x9FcC3133779F2039c29908c915b6EFaE9d8663Cd"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1031/thumb/Request_icon_green.png?1643250951"), +}; + +pub static REVV_130_0F9CA657: TokenInfo = TokenInfo { + name: "REVV", + symbol: "REVV", + decimals: 18, + contract: address!("0xc14a68015fA6396eF97B57839da544910f9Ca657"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12373/thumb/REVV_TOKEN_Refined_2021_%281%29.png?1627652390"), +}; + +pub static RENZO_130_AAD6C9AB: TokenInfo = TokenInfo { + name: "Renzo", + symbol: "REZ", + decimals: 18, + contract: address!("0x2178f07c1d585C39272CAf69A72beF08aAD6c9AB"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/37327/standard/renzo_200x200.png?1714025012"), +}; + +pub static RARI_GOVERNANCE_TOKEN_130_946CF284: TokenInfo = TokenInfo { + name: "Rari Governance Token", + symbol: "RGT", + decimals: 18, + contract: address!("0x8c9606001CF1787CEb80E03DEF3F9BaF946CF284"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12900/thumb/Rari_Logo_Transparent.png?1613978014"), +}; + +pub static IEXEC_RLC_130_B3347ACB: TokenInfo = TokenInfo { + name: "iExec RLC", + symbol: "RLC", + decimals: 9, + contract: address!("0x538fB2719135740b8877607217Dc391FB3347ACb"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/646/thumb/pL1VuXm.png?1604543202"), +}; + +pub static RALLY_130_3F88C889: TokenInfo = TokenInfo { + name: "Rally", + symbol: "RLY", + decimals: 18, + contract: address!("0x7Ad899b7C793743fDE692d982F190f443F88c889"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12843/thumb/image.png?1611212077"), +}; + +pub static RENDER_TOKEN_130_8D649868: TokenInfo = TokenInfo { + name: "Render Token", + symbol: "RNDR", + decimals: 18, + contract: address!("0x965C6DeBFa700F53a38d42DbaeD922c58d649868"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11636/thumb/rndr.png?1638840934"), +}; + +pub static ROOK_130_9DE41D99: TokenInfo = TokenInfo { + name: "Rook", + symbol: "ROOK", + decimals: 18, + contract: address!("0x682B2f07e61022A80Ac2753448f7D95E9de41D99"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13005/thumb/keeper_dao_logo.jpg?1604316506"), +}; + +pub static RESERVE_RIGHTS_130_B1889066: TokenInfo = TokenInfo { + name: "Reserve Rights", + symbol: "RSR", + decimals: 18, + contract: address!("0x993A565A1E6219951323cA3c34Cee0A3b1889066"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/8365/large/RSR_Blue_Circle_1000.png?1721777856"), +}; + +pub static SAFE_130_10EFD888: TokenInfo = TokenInfo { + name: "Safe", + symbol: "SAFE", + decimals: 18, + contract: address!("0x47B72717E48Da346C3F1ED1311c8DCDe10EfD888"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/27032/standard/Artboard_1_copy_8circle-1.png?1696526084"), +}; + +pub static THE_SANDBOX_130_2CAF25CA: TokenInfo = TokenInfo { + name: "The Sandbox", + symbol: "SAND", + decimals: 18, + contract: address!("0x6A654A2ec95fB988Ea37746dBCca10772CAf25CA"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12129/thumb/sandbox_logo.jpg?1597397942"), +}; + +pub static STADER_130_B32D72E5: TokenInfo = TokenInfo { + name: "Stader", + symbol: "SD", + decimals: 18, + contract: address!("0x7ccc67C7b232aa6417d9422e90D91ec4b32d72E5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/20658/standard/SD_Token_Logo.png"), +}; + +pub static SHIBA_INU_130_5664158E: TokenInfo = TokenInfo { + name: "Shiba Inu", + symbol: "SHIB", + decimals: 18, + contract: address!("0xaa571d01057cdF477D73433D36D86fCb5664158e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11939/thumb/shiba.png?1622619446"), +}; + +pub static SHPING_130_66024F2F: TokenInfo = TokenInfo { + name: "Shping", + symbol: "SHPING", + decimals: 18, + contract: address!("0x45Bda7bA10DaC525a86DBEaB3135701A66024F2F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2588/thumb/r_yabKKi_400x400.jpg?1639470164"), +}; + +pub static SKALE_130_8AD20C01: TokenInfo = TokenInfo { + name: "SKALE", + symbol: "SKL", + decimals: 18, + contract: address!("0x486Bbb6f250343AdB4782F50Dd09766f8aD20c01"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13245/thumb/SKALE_token_300x300.png?1606789574"), +}; + +pub static SKY_GOVERNANCE_TOKEN_130_D07074E4: TokenInfo = TokenInfo { + name: "SKY Governance Token", + symbol: "SKY", + decimals: 18, + contract: address!("0x5A6058002d0d336e5E8860652e7054a6d07074E4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/39925/large/sky.jpg?1724827980"), +}; + +pub static SMOOTH_LOVE_POTION_130_96CB03B3: TokenInfo = TokenInfo { + name: "Smooth Love Potion", + symbol: "SLP", + decimals: 0, + contract: address!("0xbD2DD310FECBFb1111fC3262F3a97bA696cb03B3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/10366/thumb/SLP.png?1578640057"), +}; + +pub static STATUS_130_265ABF5F: TokenInfo = TokenInfo { + name: "Status", + symbol: "SNT", + decimals: 18, + contract: address!("0x914f7CE2B080B2186159C2213B1e193E265aBF5F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/779/thumb/status.png?1548610778"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN_130_59E6BC88: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0x022D952aBCc6C8271F26e59e37A65dC359E6bc88"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static UNISOCKS_130_DC4627AB: TokenInfo = TokenInfo { + name: "Unisocks", + symbol: "SOCKS", + decimals: 18, + contract: address!("0x5e03C123D829505F4DEa87cf679F77c9dC4627ab"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/10717/thumb/qFrcoiM.png?1582525244"), +}; + +pub static SOL_WORMHOLE_130_C3D054FE: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0x4Ff3E944D5Cb54f6f4A1dd035782BE59c3d054FE"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static SOLANA: TokenInfo = TokenInfo { + name: "Solana", + symbol: "SOL", + decimals: 9, + contract: address!("0xbdE8A5331E8Ac4831cf8ea9e42e229219EafaB97"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54680/large/base.png?1749023388"), +}; + +pub static SPELL_TOKEN_130_C17FEF7F: TokenInfo = TokenInfo { + name: "Spell Token", + symbol: "SPELL", + decimals: 18, + contract: address!("0x739316C7bc4A39Eb39dcFa1b181b64abc17fEF7F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/15861/thumb/abracadabra-3.png?1622544862"), +}; + +pub static SPX6900_130_036DD629: TokenInfo = TokenInfo { + name: "SPX6900", + symbol: "SPX", + decimals: 8, + contract: address!("0x51A7b9a11f10D04C16306D90dc4EC22b036DD629"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31401/large/sticker_(1).jpg?1702371083"), +}; + +pub static STARGATE_FINANCE_130_19373135: TokenInfo = TokenInfo { + name: "Stargate Finance", + symbol: "STG", + decimals: 18, + contract: address!("0x77c8A8E1dd3b5270d3Ab589543e9A83319373135"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/24413/thumb/STG_LOGO.png?1647654518"), +}; + +pub static STORJ_TOKEN_130_C9951835: TokenInfo = TokenInfo { + name: "Storj Token", + symbol: "STORJ", + decimals: 8, + contract: address!("0xf13B5B21555092882e69b22282DAf891c9951835"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC/logo.png"), +}; + +pub static STARKNET_130_2332C72E: TokenInfo = TokenInfo { + name: "Starknet", + symbol: "STRK", + decimals: 18, + contract: address!("0x09f705405677970E509d606348D4635D2332c72e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/26433/standard/starknet.png?1696525507"), +}; + +pub static STOX_130_CACCEA22: TokenInfo = TokenInfo { + name: "Stox", + symbol: "STX", + decimals: 18, + contract: address!("0xEf86E70E534E02AADEAE95b843973d4AcacCeA22"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1230/thumb/stox-token.png?1547035256"), +}; + +pub static SUKU_130_82176525: TokenInfo = TokenInfo { + name: "SUKU", + symbol: "SUKU", + decimals: 18, + contract: address!("0xc05B416738DDEBd14D5A9B790a6e1ce782176525"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11969/thumb/UmfW5S6f_400x400.jpg?1596602238"), +}; + +pub static SUPERFARM_130_2BD86D3D: TokenInfo = TokenInfo { + name: "SuperFarm", + symbol: "SUPER", + decimals: 18, + contract: address!("0x0c288302629Fc22504D59Ddf8fbf8AA92bD86D3D"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14040/thumb/6YPdWn6.png?1613975899"), +}; + +pub static SYNTH_SUSD_130_9B3A6A0F: TokenInfo = TokenInfo { + name: "Synth sUSD", + symbol: "sUSD", + decimals: 18, + contract: address!("0x7251d204c2e867b31096D5c7091298239B3A6a0F"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/5013/thumb/sUSD.png?1616150765"), +}; + +pub static SUSHI_130_BDFB3CE5: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0x2982Be2D0c6ae4A7D5BC1c8fe7B630E3BDfb3ce5"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static SWELL_130_028A5870: TokenInfo = TokenInfo { + name: "Swell", + symbol: "SWELL", + decimals: 18, + contract: address!("0xa8015cbc9f7c58788BA00854c330F027028A5870"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/28777/large/swell1.png?1727899715"), +}; + +pub static SWFTCOIN_130_45AF1616: TokenInfo = TokenInfo { + name: "SWFTCOIN", + symbol: "SWFTC", + decimals: 8, + contract: address!("0x0610cDF9856b8825213672981056CD4945Af1616"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2346/thumb/SWFTCoin.jpg?1618392022"), +}; + +pub static SWIPE_130_9785C2E1: TokenInfo = TokenInfo { + name: "Swipe", + symbol: "SXP", + decimals: 18, + contract: address!("0xDcA295E850666753c6332D6B0E0445B09785c2E1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/9368/thumb/swipe.png?1566792311"), +}; + +pub static SYLO_130_CFFCF85E: TokenInfo = TokenInfo { + name: "Sylo", + symbol: "SYLO", + decimals: 18, + contract: address!("0x1BAAc1979527A38F367c6f89bE081aBfcFFCF85E"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/6430/thumb/SYLO.svg?1589527756"), +}; + +pub static SYNAPSE_130_81888A48: TokenInfo = TokenInfo { + name: "Synapse", + symbol: "SYN", + decimals: 18, + contract: address!("0xCeb1F5671C47cee096C3B40353863b6781888A48"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/18024/thumb/syn.png?1635002049"), +}; + +pub static SYRUP_TOKEN_130_8CD6FA96: TokenInfo = TokenInfo { + name: "Syrup Token", + symbol: "SYRUP", + decimals: 18, + contract: address!("0x8f7F997ba304f426E3138999919c23f68cD6FA96"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/51232/standard/IMG_7420.png?1730831572"), +}; + +pub static THRESHOLD_NETWORK_130_48F2AD54: TokenInfo = TokenInfo { + name: "Threshold Network", + symbol: "T", + decimals: 18, + contract: address!("0x8F43Ab8648F1a3BAEea3782Ba5f562a148f2Ad54"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/22228/thumb/nFPNiSbL_400x400.jpg?1641220340"), +}; + +pub static BITTENSOR: TokenInfo = TokenInfo { + name: "Bittensor", + symbol: "TAO", + decimals: 18, + contract: address!("0xFdCa15bd55F350a36E63C47661914d80411d2C22"), + chain: 130, + logo_uri: Some("https://app.uniswap.org/assets/unichain-logo-B-lwXybJ.png"), +}; + +pub static TBTC_130_20BC7814: TokenInfo = TokenInfo { + name: "tBTC", + symbol: "tBTC", + decimals: 18, + contract: address!("0xAd497996Dc33DC8E8e552824CcEe199420BC7814"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/uniswap/assets/master/blockchains/ethereum/assets/0x18084fbA666a33d37592fA2633fD49a74DD93a88/logo.png"), +}; + +pub static CHRONOTECH_130_1EDA749C: TokenInfo = TokenInfo { + name: "ChronoTech", + symbol: "TIME", + decimals: 8, + contract: address!("0xD9Cbd701bbEA8e9Aaee7d82aa60748451eDa749c"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/604/thumb/time-32x32.png?1627130666"), +}; + +pub static ALIEN_WORLDS_130_A9A46C68: TokenInfo = TokenInfo { + name: "Alien Worlds", + symbol: "TLM", + decimals: 4, + contract: address!("0xd649b9AD2104418B5b032a5899fBcd54a9a46c68"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14676/thumb/kY-C4o7RThfWrDQsLCAG4q4clZhBDDfJQVhWUEKxXAzyQYMj4Jmq1zmFwpRqxhAJFPOa0AsW_PTSshoPuMnXNwq3rU7Imp15QimXTjlXMx0nC088mt1rIwRs75GnLLugWjSllxgzvQ9YrP4tBgclK4_rb17hjnusGj_c0u2fx0AvVokjSNB-v2poTj0xT9BZRCbzRE3-lF1.jpg?1617700061"), +}; + +pub static TOKEMAK_130_36213E0B: TokenInfo = TokenInfo { + name: "Tokemak", + symbol: "TOKE", + decimals: 18, + contract: address!("0x5eD5DA180bB125f229AB7b825E34D2b936213e0B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17495/thumb/tokemak-avatar-200px-black.png?1628131614"), +}; + +pub static TE_FOOD_130_A7BD5AC6: TokenInfo = TokenInfo { + name: "TE FOOD", + symbol: "TONE", + decimals: 18, + contract: address!("0x502865ECDd2a2929Aa9418297bE7d3C4a7BD5Ac6"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/2325/thumb/tec.png?1547036538"), +}; + +pub static ORIGINTRAIL_130_DBAE6F2E: TokenInfo = TokenInfo { + name: "OriginTrail", + symbol: "TRAC", + decimals: 18, + contract: address!("0x1ac70C9e29bC19640E64D938DD8D6A46dbAe6f2e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/1877/thumb/TRAC.jpg?1635134367"), +}; + +pub static TELLOR_130_6D8EC63B: TokenInfo = TokenInfo { + name: "Tellor", + symbol: "TRB", + decimals: 18, + contract: address!("0x8e902FDeA73e5CF9621D2Bee82cD79196d8ec63b"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/9644/thumb/Blk_icon_current.png?1584980686"), +}; + +pub static TRIBE_130_33DACDBD: TokenInfo = TokenInfo { + name: "Tribe", + symbol: "TRIBE", + decimals: 18, + contract: address!("0x437dD6360Bd17FB353c67376371133Cd33dacdBD"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/14575/thumb/tribe.PNG?1617487954"), +}; + +pub static TRUEFI_130_F30CFE0E: TokenInfo = TokenInfo { + name: "TrueFi", + symbol: "TRU", + decimals: 8, + contract: address!("0x55C65102C26b173696e935B1325e5AaeF30cFE0e"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13180/thumb/truefi_glyph_color.png?1617610941"), +}; + +pub static TURBO_130_F2D202A1: TokenInfo = TokenInfo { + name: "Turbo", + symbol: "TURBO", + decimals: 18, + contract: address!("0x1E4339318EcE1d6D9d2Fb129b31C06b9F2d202A1"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/30117/large/TurboMark-QL_200.png?1708079597"), +}; + +pub static THE_VIRTUA_KOLECT_130_13BD9D5D: TokenInfo = TokenInfo { + name: "The Virtua Kolect", + symbol: "TVK", + decimals: 18, + contract: address!("0x756fb781389DCaF9D3BC5468927F06A913bD9D5D"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13330/thumb/virtua_original.png?1656043619"), +}; + +pub static UMA_VOTING_TOKEN_V1_130_72435F8C: TokenInfo = TokenInfo { + name: "UMA Voting Token v1", + symbol: "UMA", + decimals: 18, + contract: address!("0x478923278640a10A60951E379aFFb60772435f8C"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828/logo.png"), +}; + +pub static UNIFI_PROTOCOL_DAO_130_0408A30B: TokenInfo = TokenInfo { + name: "Unifi Protocol DAO", + symbol: "UNFI", + decimals: 18, + contract: address!("0xe9225a870b54f8FBA42c8188D211271f0408a30B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/13152/thumb/logo-2.png?1605748967"), +}; + +pub static UNISWAP_130_7CE9EA21: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x8f187aA05619a017077f5308904739877ce9eA21"), + chain: 130, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static PAWTOCOL_130_3E264D36: TokenInfo = TokenInfo { + name: "Pawtocol", + symbol: "UPI", + decimals: 18, + contract: address!("0x5EAFF8Fa6f3831Bb86FeEB701E6f98293E264D36"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12186/thumb/pawtocol.jpg?1597962008"), +}; + +pub static USDCOIN_130_0EF57AD6: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0x078D782b760474a361dDA0AF3839290b0EF57AD6"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static GLOBAL_DOLLAR_130_A9F86F1E: TokenInfo = TokenInfo { + name: "Global Dollar", + symbol: "USDG", + decimals: 6, + contract: address!("0x2A22868610610199D43fE93A16661473A9f86f1E"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/51281/large/GDN_USDG_Token_200x200.png"), +}; + +pub static PAX_DOLLAR_130_6DE0FEFF: TokenInfo = TokenInfo { + name: "Pax Dollar", + symbol: "USDP", + decimals: 18, + contract: address!("0xF7E6430137eF8087E0D472343f358e986De0FEFF"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/6013/standard/Pax_Dollar.png?1696506427"), +}; + +pub static QUANTOZ_USDQ_130_7B2F3A5F: TokenInfo = TokenInfo { + name: "Quantoz USDQ", + symbol: "USDQ", + decimals: 6, + contract: address!("0xf37748D2Cc6E6d5D05945Ce130C03c147b2F3a5F"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51852/large/USDQ_1000px_Color.png?1732071232"), +}; + +pub static STABLR_USD_130_004C06A7: TokenInfo = TokenInfo { + name: "StablR USD", + symbol: "USDR", + decimals: 6, + contract: address!("0xaC025d055a6B633992dE1F796b97B97F004c06a7"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53721/large/stablrusd-logo.png?1737126629"), +}; + +pub static USDS_STABLECOIN_130_3B2F7BB4: TokenInfo = TokenInfo { + name: "USDS Stablecoin", + symbol: "USDS", + decimals: 18, + contract: address!("0x116EE4d63847fb295dD919aE57B768EA3B2f7Bb4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/39926/large/usds.webp?1726666683"), +}; + +pub static TETHER_USD_130_54C75518: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0x588CE4F028D8e7B53B687865d6A67b3A54C75518"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static USUAL_130_98BC5950: TokenInfo = TokenInfo { + name: "USUAL", + symbol: "USUAL", + decimals: 18, + contract: address!("0xc7bA59c95ba747a7c374DC7208a0513798BC5950"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51091/large/USUAL.jpg?1730035787"), +}; + +pub static VANRY_130_01564A0B: TokenInfo = TokenInfo { + name: "VANRY", + symbol: "VANRY", + decimals: 18, + contract: address!("0x286b5Ecea3749c7c7047104aa3C5749901564A0b"), + chain: 130, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/33466/large/apple-touch-icon.png?1701942541"), +}; + +pub static VOYAGER_TOKEN_130_8FFE537F: TokenInfo = TokenInfo { + name: "Voyager Token", + symbol: "VGX", + decimals: 8, + contract: address!("0x4afd08AC2416450d9c8b84D287dbfFb68FFe537f"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/794/thumb/Voyager-vgx.png?1575693595"), +}; + +pub static WRAPPED_AMPLEFORTH_130_06364A49: TokenInfo = TokenInfo { + name: "Wrapped Ampleforth", + symbol: "WAMPL", + decimals: 18, + contract: address!("0xb86a08ec917EeF9f835aC2B26c3a506c06364A49"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/20825/thumb/photo_2021-11-25_02-05-11.jpg?1637811951"), +}; + +pub static WRAPPED_BTC_130_4EC4AFB8: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x927B51f251480a681271180DA4de28D44EC4AfB8"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WRAPPED_CENTRIFUGE_130_D72E82C4: TokenInfo = TokenInfo { + name: "Wrapped Centrifuge", + symbol: "WCFG", + decimals: 18, + contract: address!("0xaE87B8eb5E313AC72B306CbA7c1E3f23D72e82C4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17106/thumb/WCFG.jpg?1626266462"), +}; + +pub static WRAPPED_ETHER_130_00000006: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x4200000000000000000000000000000000000006"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static DOGWIFHAT: TokenInfo = TokenInfo { + name: "dogwifhat", + symbol: "WIF", + decimals: 6, + contract: address!("0x97Fadb3D000b953360FD011e173F12cDDB5d70Fa"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/33566/standard/dogwifhat.jpg?1702499428"), +}; + +pub static WOO_NETWORK_130_EFD89E62: TokenInfo = TokenInfo { + name: "WOO Network", + symbol: "WOO", + decimals: 18, + contract: address!("0xef22b9df2dDf4246A827575C4Aa46BDaeFd89E62"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12921/thumb/w2UiemF__400x400.jpg?1603670367"), +}; + +pub static CHAIN_130_DC06A12F: TokenInfo = TokenInfo { + name: "Chain", + symbol: "XCN", + decimals: 18, + contract: address!("0x15261eEb999eD3C3ae3c5319E0035940dc06a12f"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/24210/thumb/Chain_icon_200x200.png?1646895054"), +}; + +pub static PLASMA: TokenInfo = TokenInfo { + name: "Plasma", + symbol: "XPL", + decimals: 18, + contract: address!("0x139451953Ef1865c096F89C5e522C081DC3b5f11"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/plasma/info/logo.png"), +}; + +pub static XRP: TokenInfo = TokenInfo { + name: "XRP", + symbol: "XRP", + decimals: 18, + contract: address!("0x2615a94df961278DcbC41Fb0a54fEc5f10a693aE"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ripple/info/logo.png"), +}; + +pub static XSGD_130_021265C3: TokenInfo = TokenInfo { + name: "XSGD", + symbol: "XSGD", + decimals: 6, + contract: address!("0xb1A9385B500Fe81B58c4d0e3AaCC39d8021265c3"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/12832/standard/StraitsX_Singapore_Dollar_%28XSGD%29_Token_Logo.png?1696512623"), +}; + +pub static XYO_NETWORK_130_2AEBE4EA: TokenInfo = TokenInfo { + name: "XYO Network", + symbol: "XYO", + decimals: 18, + contract: address!("0x43D5EA0f30Bce3907aAD6783e61D56592AEbE4eA"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/4519/thumb/XYO_Network-logo.png?1547039819"), +}; + +pub static YEARN_FINANCE_130_F84A3201: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0x52Bf54Eb4210F588320f3e4c151Bca81f84a3201"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static DFI_MONEY_130_6C18A07E: TokenInfo = TokenInfo { + name: "DFI money", + symbol: "YFII", + decimals: 18, + contract: address!("0x62ffD4229bb9a327412D1BE518A1dbAe6c18A07E"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/11902/thumb/YFII-logo.78631676.png?1598677348"), +}; + +pub static YIELD_GUILD_GAMES_130_76E36F4B: TokenInfo = TokenInfo { + name: "Yield Guild Games", + symbol: "YGG", + decimals: 18, + contract: address!("0xeA20C2Cf22acBbF3d8311D15bC73FD7076E36f4B"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/17358/thumb/le1nzlO6_400x400.jpg?1632465691"), +}; + +pub static ZCASH: TokenInfo = TokenInfo { + name: "Zcash", + symbol: "ZEC", + decimals: 18, + contract: address!("0x83f31af747189c2FA9E5DeB253200c505eff6ed2"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/zcash/info/logo.png"), +}; + +pub static ZETACHAIN_130_B3CB3CA4: TokenInfo = TokenInfo { + name: "Zetachain", + symbol: "Zeta", + decimals: 18, + contract: address!("0x757dCF360f2FE999FAEEBcc6E80f5Eceb3cb3CA4"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/26718/standard/Twitter_icon.png?1696525788"), +}; + +pub static LAYERZERO_130_7ED29CFB: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x00ad3704d1e101DF76f87738bEfE67737eD29cFb"), + chain: 130, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN_130_A6E7EDF5: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0x7e7e8e5f0eDd7ca2ed3D9609cea1FF37a6E7Edf5"), + chain: 130, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xE41d2489571d322189246DaFA5ebDe1F4699F498/logo.png"), +}; + +pub static AAVE_137_2B21C90B: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0xD6DF932A45C0f255f85145f286eA0b292B21C90B"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static AGEUR_137_C0057DB4: TokenInfo = TokenInfo { + name: "agEur", + symbol: "agEUR", + decimals: 18, + contract: address!("0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/19479/standard/agEUR.png?1696518915"), +}; + +pub static AMP_137_4F27054D: TokenInfo = TokenInfo { + name: "Amp", + symbol: "AMP", + decimals: 18, + contract: address!("0x0621d647cecbFb64b79E44302c1933cB4f27054d"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/12409/thumb/amp-200x200.png?1599625397"), +}; + +pub static BALANCER_137_3B0E76A3: TokenInfo = TokenInfo { + name: "Balancer", + symbol: "BAL", + decimals: 18, + contract: address!("0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png"), +}; + +pub static BAND_PROTOCOL_137_D82606AC: TokenInfo = TokenInfo { + name: "Band Protocol", + symbol: "BAND", + decimals: 18, + contract: address!("0xA8b1E0764f85f53dfe21760e8AfE5446D82606ac"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/9545/thumb/band-protocol.png?1568730326"), +}; + +pub static BANCOR_NETWORK_TOKEN_137_2A4F7842: TokenInfo = TokenInfo { + name: "Bancor Network Token", + symbol: "BNT", + decimals: 18, + contract: address!("0xc26D47d5c33aC71AC5CF9F776D63Ba292a4F7842"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C/logo.png"), +}; + +pub static COMPOUND_137_837AEF5C: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0x8505b9d2254A7Ae468c0E9dd10Ccea3A837aef5c"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc00e94Cb662C3520282E6f5717214004A7f26888/logo.png"), +}; + +pub static CURVE_DAO_TOKEN_137_33A610AF: TokenInfo = TokenInfo { + name: "Curve DAO Token", + symbol: "CRV", + decimals: 18, + contract: address!("0x172370d5Cd63279eFa6d502DAB29171933a610AF"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD533a949740bb3306d119CC777fa900bA034cd52/logo.png"), +}; + +pub static CIVIC_137_398B02BE: TokenInfo = TokenInfo { + name: "Civic", + symbol: "CVC", + decimals: 8, + contract: address!("0x66Dc5A08091d1968e08C16aA5b27BAC8398b02Be"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/788/thumb/civic.png?1547034556"), +}; + +pub static DAI_STABLECOIN_137_39C6A063: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"), +}; + +pub static ETHEREUM_NAME_SERVICE_137_90EE7C4F: TokenInfo = TokenInfo { + name: "Ethereum Name Service", + symbol: "ENS", + decimals: 18, + contract: address!("0xbD7A5Cf51d22930B8B3Df6d834F9BCEf90EE7c4f"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/19785/thumb/acatxTm8_400x400.jpg?1635850140"), +}; + +pub static GNOSIS_TOKEN_137_7DF024A8: TokenInfo = TokenInfo { + name: "Gnosis Token", + symbol: "GNO", + decimals: 18, + contract: address!("0x5FFD62D3C3eE2E81C00A7b9079FB248e7dF024A8"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6810e776880C02933D47DB1b9fc05908e5386b96/logo.png"), +}; + +pub static THE_GRAPH_137_499F5531: TokenInfo = TokenInfo { + name: "The Graph", + symbol: "GRT", + decimals: 18, + contract: address!("0x5fe2B58c013d7601147DcdD68C143A77499f5531"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/13397/thumb/Graph_Token.png?1608145566"), +}; + +pub static KEEP_NETWORK_137_2EB0C72C: TokenInfo = TokenInfo { + name: "Keep Network", + symbol: "KEEP", + decimals: 18, + contract: address!("0x42f37A1296b2981F7C3cAcEd84c5096b2Eb0C72C"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/3373/thumb/IuNzUb5b_400x400.jpg?1589526336"), +}; + +pub static KYBER_NETWORK_CRYSTAL_137_9CFA1DC7: TokenInfo = TokenInfo { + name: "Kyber Network Crystal", + symbol: "KNC", + decimals: 18, + contract: address!("0x324b28d6565f784d596422B0F2E5aB6e9CFA1Dc7"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdd974D5C2e2928deA5F71b9825b8b646686BD200/logo.png"), +}; + +pub static CHAINLINK_TOKEN_137_3FABAD39: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static LOOM_NETWORK_137_1193F6B3: TokenInfo = TokenInfo { + name: "Loom Network", + symbol: "LOOM", + decimals: 18, + contract: address!("0x66EfB7cC647e0efab02eBA4316a2d2941193F6b3"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0/logo.png"), +}; + +pub static LOOPRINGCOIN_V2_137_BB47DDC1: TokenInfo = TokenInfo { + name: "LoopringCoin V2", + symbol: "LRC", + decimals: 18, + contract: address!("0x84e1670F61347CDaeD56dcc736FB990fBB47ddC1"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD/logo.png"), +}; + +pub static DECENTRALAND_137_33606FD4: TokenInfo = TokenInfo { + name: "Decentraland", + symbol: "MANA", + decimals: 18, + contract: address!("0xA1c57f48F0Deb89f569dFbE6E2B7f46D33606fD4"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/878/thumb/decentraland-mana.png?1550108745"), +}; + +pub static POLYGON_137_00001010: TokenInfo = TokenInfo { + name: "Polygon", + symbol: "MATIC", + decimals: 18, + contract: address!("0x0000000000000000000000000000000000001010"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static MAKER_137_E01FF61D: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0x6f7C932e7684666C9fd1d44527765433e01fF61d"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2/logo.png"), +}; + +pub static NUMERAIRE_137_11F46729: TokenInfo = TokenInfo { + name: "Numeraire", + symbol: "NMR", + decimals: 18, + contract: address!("0x0Bf519071b02F22C17E7Ed5F4002ee1911f46729"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671/logo.png"), +}; + +pub static ORCHID_137_D31F6060: TokenInfo = TokenInfo { + name: "Orchid", + symbol: "OXT", + decimals: 18, + contract: address!("0x9880e3dDA13c8e7D4804691A45160102d31F6060"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4575f41308EC1483f3d399aa9a2826d74Da13Deb/logo.png"), +}; + +pub static REPUBLIC_TOKEN_137_26ED89D0: TokenInfo = TokenInfo { + name: "Republic Token", + symbol: "REN", + decimals: 18, + contract: address!("0x19782D3Dc4701cEeeDcD90f0993f0A9126ed89d0"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x408e41876cCCDC0F92210600ef50372656052a38/logo.png"), +}; + +pub static REPUTATION_AUGUR_V2_137_7363F733: TokenInfo = TokenInfo { + name: "Reputation Augur v2", + symbol: "REPv2", + decimals: 18, + contract: address!("0x6563c1244820CfBd6Ca8820FBdf0f2847363F733"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x221657776846890989a759BA2973e427DfF5C9bB/logo.png"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN_137_11FEF68A: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0x50B728D8D964fd00C2d0AAD81718b71311feF68a"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static STORJ_TOKEN_137_5A3F5792: TokenInfo = TokenInfo { + name: "Storj Token", + symbol: "STORJ", + decimals: 8, + contract: address!("0xd72357dAcA2cF11A5F155b9FF7880E595A3F5792"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC/logo.png"), +}; + +pub static SYNTH_SUSD_137_6E03A7A0: TokenInfo = TokenInfo { + name: "Synth sUSD", + symbol: "sUSD", + decimals: 18, + contract: address!("0xF81b4Bec6Ca8f9fe7bE01CA734F55B2b6e03A7a0"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/5013/thumb/sUSD.png?1616150765"), +}; + +pub static UMA_VOTING_TOKEN_V1_137_77A6B731: TokenInfo = TokenInfo { + name: "UMA Voting Token v1", + symbol: "UMA", + decimals: 18, + contract: address!("0x3066818837c5e6eD6601bd5a91B0762877A6B731"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828/logo.png"), +}; + +pub static UNISWAP_137_7FB5180F: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0xb33EaAd8d922B1083446DC23f610c2567fB5180f"), + chain: 137, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static USDCOIN_137_3D5C3359: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static USDCOIN_POS: TokenInfo = TokenInfo { + name: "USDCoin (PoS)", + symbol: "USDC.e", + decimals: 6, + contract: address!("0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static TETHER_USD_137_04B58E8F: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0xc2132D05D31c914a87C6611C10748AEb04B58e8F"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static VANAR_CHAIN: TokenInfo = TokenInfo { + name: "Vanar Chain", + symbol: "VANRY", + decimals: 18, + contract: address!("0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624"), + chain: 137, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/33466/large/apple-touch-icon.png?1701942541"), +}; + +pub static VOXIES: TokenInfo = TokenInfo { + name: "Voxies", + symbol: "VOXEL", + decimals: 18, + contract: address!("0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/21260/large/voxies.png"), +}; + +pub static WRAPPED_BTC_137_47D9BFD6: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WRAPPED_ETHER_137_F1B9F619: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WRAPPED_MATIC: TokenInfo = TokenInfo { + name: "Wrapped Matic", + symbol: "WMATIC", + decimals: 18, + contract: address!("0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static XSGD_137_8D201995: TokenInfo = TokenInfo { + name: "XSGD", + symbol: "XSGD", + decimals: 6, + contract: address!("0xDC3326e71D45186F113a2F448984CA0e8D201995"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/12832/standard/StraitsX_Singapore_Dollar_%28XSGD%29_Token_Logo.png?1696512623"), +}; + +pub static YEARN_FINANCE_137_465260B6: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0xDA537104D6A5edd53c6fBba9A898708E465260b6"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static LAYERZERO_137_F13271CD: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 137, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN_137_CA6BE3D5: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0x5559Edb74751A0edE9DeA4DC23aeE72cCA6bE3D5"), + chain: 137, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xE41d2489571d322189246DaFA5ebDe1F4699F498/logo.png"), +}; + +pub static SOL_WORMHOLE_143_245217F1: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0xea17E5a9efEBf1477dB45082d67010E2245217f1"), + chain: 143, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static USDCOIN_143_5AAFB603: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0x754704Bc059F8C67012fEd69BC8A327a5aafb603"), + chain: 143, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static TETHER_USD_143_750FC82D: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0xe7cd86e13AC4309349F30B3435a9d337750fC82D"), + chain: 143, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static WRAPPED_BTC_143_230D2B9C: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x0555E30da8f98308EdB960aa94C0Db47230d2B9c"), + chain: 143, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WRAPPED_ETHER_143_35481242: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xEE8c0E9f1BFFb4Eb878d8f15f368A02a35481242"), + chain: 143, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static GLOBAL_DOLLAR_196_933D2DC8: TokenInfo = TokenInfo { + name: "Global Dollar", + symbol: "USDG", + decimals: 6, + contract: address!("0x4ae46a509F6b1D9056937BA4500cb143933D2dc8"), + chain: 196, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51281/large/GDN_USDG_Token_200x200.png?1730484111"), +}; + +pub static ZKSYNC: TokenInfo = TokenInfo { + name: "ZKsync", + symbol: "ZK", + decimals: 18, + contract: address!("0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E"), + chain: 324, + logo_uri: Some("https://assets.coingecko.com/coins/images/38043/large/ZKTokenBlack.png?17186145029"), +}; + +pub static BRIDGED_USDC: TokenInfo = TokenInfo { + name: "Bridged USDC", + symbol: "USDC.e", + decimals: 6, + contract: address!("0x79A02482A880bCE3F13e09Da970dC34db4CD24d1"), + chain: 480, + logo_uri: Some("https://assets.coingecko.com/coins/images/35218/large/USDC_Icon.png?1707908537"), +}; + +pub static WRAPPED_BTC_480_2D70CFA3: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x03C7054BCB39f7b2e5B2c7AcB37583e32D70Cfa3"), + chain: 480, + logo_uri: Some("https://assets.coingecko.com/coins/images/7598/large/wrapped_bitcoin_wbtc.png?1696507857"), +}; + +pub static WRAPPED_ETHER_480_00000006: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x4200000000000000000000000000000000000006"), + chain: 480, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static USDCOIN_1868_4AACC369: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369"), + chain: 1868, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static TETHER_USD_1868_97B5AE35: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0x3A337a6adA9d885b6Ad95ec48F9b75f197b5AE35"), + chain: 1868, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static WRAPPED_ETHER_1868_00000006: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x4200000000000000000000000000000000000006"), + chain: 1868, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static TOKEN_1INCH_8453_1E111CBE: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0xc5fecC3a29Fb57B5024eEc8a2239d4621e111CBE"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static AAVE_8453_D17F814B: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0x63706e401c06ac8513145b7687A14804d17f814b"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static ARCBLOCK_8453_7C1FA556: TokenInfo = TokenInfo { + name: "Arcblock", + symbol: "ABT", + decimals: 18, + contract: address!("0xe2A8cCB00E328a0EC2204CB0c736309D7c1fa556"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/2341/thumb/arcblock.png?1547036543"), +}; + +pub static AMBIRE_ADEX_8453_A3E0EFD9: TokenInfo = TokenInfo { + name: "Ambire AdEx", + symbol: "ADX", + decimals: 18, + contract: address!("0x3c87e7AF3cDBAe5bB56b4936325Ea95CA3E0EfD9"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/847/thumb/Ambire_AdEx_Symbol_color.png?1655432540"), +}; + +pub static AERODROME_FINANCE: TokenInfo = TokenInfo { + name: "Aerodrome Finance", + symbol: "AERO", + decimals: 18, + contract: address!("0x940181a94A35A4569E4529A3CDfB74e38FD98631"), + chain: 8453, + logo_uri: Some("https://basescan.org/token/images/aerodrome_32.png"), +}; + +pub static AIXBT_BY_VIRTUALS: TokenInfo = TokenInfo { + name: "aixbt by Virtuals", + symbol: "AIXBT", + decimals: 18, + contract: address!("0x4F9Fd6Be4a90f2620860d680c0d4d5Fb53d1A825"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51784/large/3.png?1731981138"), +}; + +pub static ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_8453_D59F3DCC: TokenInfo = TokenInfo { + name: "Alethea Artificial Liquid Intelligence", + symbol: "ALI", + decimals: 18, + contract: address!("0x97c806e7665d3AFd84A8Fe1837921403D59F3Dcc"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/22062/thumb/alethea-logo-transparent-colored.png?1642748848"), +}; + +pub static AUSTRALIAN_DIGITAL_DOLLAR: TokenInfo = TokenInfo { + name: "Australian Digital Dollar", + symbol: "AUDD", + decimals: 6, + contract: address!("0x449B3317a6d1efb1Bc3ba0700C9EaA4FFFf4Ae65"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/33263/large/AUDD-Logo-Blue_512.png?1701319895"), +}; + +pub static AVANTIS: TokenInfo = TokenInfo { + name: "Avantis", + symbol: "AVNT", + decimals: 18, + contract: address!("0x696F9436B67233384889472Cd7cD58A6fB5DF4f1"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68972/large/avnt-token.png?1757134448"), +}; + +pub static AWE_NETWORK: TokenInfo = TokenInfo { + name: "AWE Network", + symbol: "AWE", + decimals: 18, + contract: address!("0x1B4617734C43F6159F3a70b7E06d883647512778"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/8713/large/awe-network.jpg?1747816016"), +}; + +pub static B3: TokenInfo = TokenInfo { + name: "B3", + symbol: "B3", + decimals: 18, + contract: address!("0xB3B32F9f8827D4634fE7d973Fa1034Ec9fdDB3B3"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54287/large/B3.png?1739001374"), +}; + +pub static HARRYPOTTEROBAMASONIC10INU_8453_D39A1A29: TokenInfo = TokenInfo { + name: "HarryPotterObamaSonic10Inu", + symbol: "BITCOIN", + decimals: 8, + contract: address!("0x2a06A17CBC6d0032Cac2c6696DA90f29D39a1a29"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/30323/large/hpos10i_logo_casino_night-dexview.png?1696529224"), +}; + +pub static BANKRCOIN: TokenInfo = TokenInfo { + name: "BankrCoin", + symbol: "BNKR", + decimals: 18, + contract: address!("0x22aF33FE49fD1Fa80c7149773dDe5890D3c76F3b"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52626/large/bankr-static.png?1736405365"), +}; + +pub static COINBASE_WRAPPED_ADA: TokenInfo = TokenInfo { + name: "Coinbase Wrapped ADA", + symbol: "cbADA", + decimals: 6, + contract: address!("0xcbADA732173e39521CDBE8bf59a6Dc85A9fc7b8c"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/66647/large/Coinbase_Wrapped_Ada_%28cbADA%29.png?1750129533"), +}; + +pub static COINBASE_WRAPPED_BTC_8453_0EED33BF: TokenInfo = TokenInfo { + name: "Coinbase Wrapped BTC", + symbol: "cbBTC", + decimals: 8, + contract: address!("0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/40143/standard/cbbtc.webp"), +}; + +pub static COINBASE_WRAPPED_DOGE: TokenInfo = TokenInfo { + name: "Coinbase Wrapped DOGE", + symbol: "CBDOGE", + decimals: 8, + contract: address!("0xcbD06E5A2B0C65597161de254AA074E489dEb510"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/66268/large/Coinbase_Wrapped_Doge_%28cbDOGE%29.png?1749023465"), +}; + +pub static COINBASE_WRAPPED_STAKED_ETH_8453_CF0DEC22: TokenInfo = TokenInfo { + name: "Coinbase Wrapped Staked ETH", + symbol: "cbETH", + decimals: 18, + contract: address!("0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/cbETH/logo.svg"), +}; + +pub static COINBASE_WRAPPED_LTC: TokenInfo = TokenInfo { + name: "Coinbase Wrapped LTC", + symbol: "cbLTC", + decimals: 8, + contract: address!("0xcb17C9Db87B595717C857a08468793f5bAb6445F"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/66646/large/Coinbase_Wrapped_Litecoin_%28cbLTC%29.png?1750129508"), +}; + +pub static COINBASE_WRAPPED_XRP: TokenInfo = TokenInfo { + name: "Coinbase Wrapped XRP", + symbol: "cbXRP", + decimals: 6, + contract: address!("0xcb585250f852C6c6bf90434AB21A00f02833a4af"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/66267/large/Coinbase_Wrapped_XPR_%28cbXRP%29.png?1749023398"), +}; + +pub static TOKENBOT: TokenInfo = TokenInfo { + name: "tokenbot", + symbol: "CLANKER", + decimals: 18, + contract: address!("0x1bc0c42215582d5A085795f4baDbaC3ff36d1Bcb"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51440/large/CLANKER.png?1731232869"), +}; + +pub static COMPOUND_8453_976840E0: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0x9e1028F5F1D5eDE59748FFceE5532509976840E0"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/COMP/logo.svg"), +}; + +pub static COOKIE: TokenInfo = TokenInfo { + name: "Cookie", + symbol: "COOKIE", + decimals: 18, + contract: address!("0xC0041EF357B183448B235a8Ea73Ce4E4eC8c265F"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/38450/large/cookie_token_logo_200x200.png?1733194528"), +}; + +pub static CURVE_DAO_TOKEN_8453_67DD0415: TokenInfo = TokenInfo { + name: "Curve DAO Token", + symbol: "CRV", + decimals: 18, + contract: address!("0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415"), + chain: 8453, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD533a949740bb3306d119CC777fa900bA034cd52/logo.png"), +}; + +pub static CARTESI_8453_76138D45: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0x259Fac10c5CbFEFE3E710e1D9467f70a76138d45"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static CRYPTEX_FINANCE_8453_D4666E14: TokenInfo = TokenInfo { + name: "Cryptex Finance", + symbol: "CTX", + decimals: 18, + contract: address!("0xBB22Ff867F8Ca3D5F2251B4084F6Ec86D4666E14"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/14932/thumb/glossy_icon_-_C200px.png?1619073171"), +}; + +pub static COVALENT_X_TOKEN_8453_8EB628FF: TokenInfo = TokenInfo { + name: "Covalent X Token", + symbol: "CXT", + decimals: 18, + contract: address!("0xB1E1f3Cc2B6fE4420C1Ac82022b457018Eb628ff"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/39177/large/CXT_Ticker.png?1720829918"), +}; + +pub static DAI_STABLECOIN_8453_917DB0CB: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/DAI/logo.svg"), +}; + +pub static DEGEN: TokenInfo = TokenInfo { + name: "Degen", + symbol: "DEGEN", + decimals: 18, + contract: address!("0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/34515/large/android-chrome-512x512.png?1706198225"), +}; + +pub static DOGINME: TokenInfo = TokenInfo { + name: "doginme", + symbol: "doginme", + decimals: 18, + contract: address!("0x6921B130D297cc43754afba22e5EAc0FBf8Db75b"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/35123/large/doginme-logo1-transparent200.png?1710856784"), +}; + +pub static DOVU_8453_B953F865: TokenInfo = TokenInfo { + name: "DOVU", + symbol: "DOVU", + decimals: 8, + contract: address!("0xB38266e0e9D9681b77aEB0A280E98131b953F865"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31930/large/Dovu_Icon_Black_%281%29.png?1696530738"), +}; + +pub static DERIVE_8453_B645D083: TokenInfo = TokenInfo { + name: "Derive", + symbol: "DRV", + decimals: 18, + contract: address!("0x9d0E8f5b25384C7310CB8C6aE32C8fbeb645d083"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52889/large/Token_Logo.png?1734601695"), +}; + +pub static DEFINITIVE: TokenInfo = TokenInfo { + name: "Definitive", + symbol: "EDGE", + decimals: 18, + contract: address!("0xED6E000dEF95780fb89734c07EE2ce9F6dcAf110"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55072/large/EDGE-120x120.png?1743598652"), +}; + +pub static ELSA: TokenInfo = TokenInfo { + name: "Elsa", + symbol: "ELSA", + decimals: 18, + contract: address!("0x29cC30f9D113B356Ce408667aa6433589CeCBDcA"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/71623/large/Red_circle_white_logo_512x512_%281%29.png?1768570174"), +}; + +pub static EURC: TokenInfo = TokenInfo { + name: "EURC", + symbol: "EURC", + decimals: 6, + contract: address!("0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/26045/standard/euro.png"), +}; + +pub static FAI: TokenInfo = TokenInfo { + name: "FAI", + symbol: "FAI", + decimals: 18, + contract: address!("0xb33Ff54b9F7242EF1593d2C9Bcd8f9df46c77935"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52315/large/FAI.png?1733076295"), +}; + +pub static FLOCK: TokenInfo = TokenInfo { + name: "Flock", + symbol: "FLOCK", + decimals: 18, + contract: address!("0x5aB3D4c385B400F3aBB49e80DE2fAF6a88A7B691"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53178/large/FLock_Token_Logo.png?1735561398"), +}; + +pub static FLUID: TokenInfo = TokenInfo { + name: "Fluid", + symbol: "FLUID", + decimals: 18, + contract: address!("0x61E030A56D33e8260FdD81f03B162A79Fe3449Cd"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/14688/large/Logo_1_(brighter).png?1734430693"), +}; + +pub static SPORT_FUN: TokenInfo = TokenInfo { + name: "Sport.fun", + symbol: "FUN1", + decimals: 18, + contract: address!("0x16EE7ecAc70d1028E7712751E2Ee6BA808a7dd92"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/71076/large/sport-fun-logo.png?1766298060"), +}; + +pub static HOME: TokenInfo = TokenInfo { + name: "HOME", + symbol: "HOME", + decimals: 18, + contract: address!("0x4BfAa776991E85e5f8b1255461cbbd216cFc714f"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54873/large/defi-app.png?1742235743"), +}; + +pub static HYPERLANE: TokenInfo = TokenInfo { + name: "Hyperlane", + symbol: "HYPER", + decimals: 18, + contract: address!("0xC9d23ED2ADB0f551369946BD377f8644cE1ca5c4"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55298/large/Hyperlane.png?1745248900"), +}; + +pub static IOTEX_8453_27AE38C1: TokenInfo = TokenInfo { + name: "IoTeX", + symbol: "IOTX", + decimals: 18, + contract: address!("0xBCBAf311ceC8a4EAC0430193A528d9FF27ae38C1"), + chain: 8453, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/2777.png"), +}; + +pub static GEOJAM_8453_3AA2A057: TokenInfo = TokenInfo { + name: "Geojam", + symbol: "JAM", + decimals: 18, + contract: address!("0xFf9957816c813C5Ad0b9881A8990Df1E3AA2a057"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/24648/thumb/ey40AzBN_400x400.jpg?1648507272"), +}; + +pub static KAITO: TokenInfo = TokenInfo { + name: "KAITO", + symbol: "KAITO", + decimals: 18, + contract: address!("0x98d0baa52b2D063E780DE12F615f963Fe8537553"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54411/large/Qm4DW488_400x400.jpg?1739552780"), +}; + +pub static KEYBOARD_CAT: TokenInfo = TokenInfo { + name: "Keyboard Cat", + symbol: "KEYCAT", + decimals: 18, + contract: address!("0x9a26F5433671751C3276a065f57e5a02D2817973"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/36608/large/keyboard_cat.jpeg?1711965348"), +}; + +pub static KRYLL_8453_611F9F7A: TokenInfo = TokenInfo { + name: "KRYLL", + symbol: "KRL", + decimals: 18, + contract: address!("0xDAE49C25fAd3a62a8e8bFB6dA12c46bE611f9f7a"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/2807/thumb/krl.png?1547036979"), +}; + +pub static KEETA: TokenInfo = TokenInfo { + name: "Keeta", + symbol: "KTA", + decimals: 18, + contract: address!("0xc0634090F2Fe6c6d75e61Be2b949464aBB498973"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54723/large/2025-03-05_22.53.06.jpg?1741234207"), +}; + +pub static LCX_8453_71D3C171: TokenInfo = TokenInfo { + name: "LCX", + symbol: "LCX", + decimals: 18, + contract: address!("0xd7468c14ae76C3Fc308aEAdC223D5D1F71d3c171"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/9985/thumb/zRPSu_0o_400x400.jpg?1574327008"), +}; + +pub static LIQUITY_8453_BDDC125C: TokenInfo = TokenInfo { + name: "Liquity", + symbol: "LQTY", + decimals: 18, + contract: address!("0x5259384690aCF240e9b0A8811bD0FFbFBDdc125C"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/14665/thumb/200-lqty-icon.png?1617631180"), +}; + +pub static MAMO: TokenInfo = TokenInfo { + name: "Mamo", + symbol: "MAMO", + decimals: 18, + contract: address!("0x7300B37DfdfAb110d83290A29DfB31B1740219fE"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55958/large/Mamo_Circle_200x200_TransBG.png?1748974093"), +}; + +pub static NOICE: TokenInfo = TokenInfo { + name: "Noice", + symbol: "NOICE", + decimals: 18, + contract: address!("0x9Cb41FD9dC6891BAe8187029461bfAADF6CC0C69"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55981/large/tCtKSYL3_400x400.jpg?1747925133"), +}; + +pub static ODOS_TOKEN: TokenInfo = TokenInfo { + name: "Odos Token", + symbol: "ODOS", + decimals: 18, + contract: address!("0xca73ed1815e5915489570014e024b7EbE65dE679"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52914/large/odos.jpg?1734678948"), +}; + +pub static PENDLE_8453_029EEB3E: TokenInfo = TokenInfo { + name: "Pendle", + symbol: "PENDLE", + decimals: 18, + contract: address!("0xA99F6e6785Da0F5d6fB42495Fe424BCE029Eeb3E"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/15069/large/Pendle_Logo_Normal-03.png?1696514728"), +}; + +pub static PEPE_8453_8B982BE3: TokenInfo = TokenInfo { + name: "Pepe", + symbol: "PEPE", + decimals: 18, + contract: address!("0xB4fDe59a779991bfB6a52253B51947828b982be3"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/29850/large/pepe-token.jpeg?1682922725"), +}; + +pub static PERPETUAL_PROTOCOL_8453_DAAD58DE: TokenInfo = TokenInfo { + name: "Perpetual Protocol", + symbol: "PERP", + decimals: 18, + contract: address!("0xCD6dDDa305955AcD6b94b934f057E8b0daaD58dE"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/12381/thumb/60d18e06844a844ad75901a9_mark_only_03.png?1628674771"), +}; + +pub static PRIME_8453_A5ADD21B: TokenInfo = TokenInfo { + name: "Prime", + symbol: "PRIME", + decimals: 18, + contract: address!("0xfA980cEd6895AC314E7dE34Ef1bFAE90a5AdD21b"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/29053/large/PRIMELOGOOO.png?1676976222"), +}; + +pub static PROPY_8453_9230438B: TokenInfo = TokenInfo { + name: "Propy", + symbol: "PRO", + decimals: 8, + contract: address!("0x18dD5B087bCA9920562aFf7A0199b96B9230438b"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/869/thumb/propy.png?1548332100"), +}; + +pub static PROMPT: TokenInfo = TokenInfo { + name: "Prompt", + symbol: "PROMPT", + decimals: 18, + contract: address!("0x30c7235866872213F68cb1F08c37Cb9eCCB93452"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55169/large/wayfinder.jpg?1744336900"), +}; + +pub static RAVEDAO: TokenInfo = TokenInfo { + name: "RaveDAO", + symbol: "RAVE", + decimals: 18, + contract: address!("0x1aA8fD5BCce2231C6100d55Bf8B377cff33Acfc3"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70544/large/coin.jpeg?1762452940"), +}; + +pub static RECALL_NETWORK: TokenInfo = TokenInfo { + name: "Recall Network", + symbol: "RECALL", + decimals: 18, + contract: address!("0x1f16e03C1a5908818F47f6EE7bB16690b40D0671"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/69994/large/recall-logo.jpeg?1760337415"), +}; + +pub static RAINBOW: TokenInfo = TokenInfo { + name: "Rainbow", + symbol: "RNBW", + decimals: 18, + contract: address!("0xa53887F7e7c1bf5010b8627F1C1ba94fE7a5d6E0"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/69445/large/RNBW-200px.png?1770053251"), +}; + +pub static RESEARCHCOIN: TokenInfo = TokenInfo { + name: "ResearchCoin", + symbol: "RSC", + decimals: 18, + contract: address!("0xFbB75A59193A3525a8825BeBe7D4b56899E2f7e1"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/28146/large/RH_BOTTLE_CLEAN_Aug_2024_1.png?1732742001"), +}; + +pub static RESERVE_RIGHTS_8453_6072F64A: TokenInfo = TokenInfo { + name: "Reserve Rights", + symbol: "RSR", + decimals: 18, + contract: address!("0xaB36452DbAC151bE02b16Ca17d8919826072f64a"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/8365/large/RSR_Blue_Circle_1000.png?1721777856"), +}; + +pub static SAPIEN: TokenInfo = TokenInfo { + name: "Sapien", + symbol: "SAPIEN", + decimals: 18, + contract: address!("0xC729777d0470F30612B1564Fd96E8Dd26f5814E3"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68423/large/logo.png?1755710030"), +}; + +pub static SEAMLESSS: TokenInfo = TokenInfo { + name: "Seamlesss", + symbol: "SEAM", + decimals: 18, + contract: address!("0x1C7a460413dD4e964f96D8dFC56E7223cE88CD85"), + chain: 8453, + logo_uri: Some("https://basescan.org/token/images/seamless_32.png"), +}; + +pub static STATUS_8453_2E8AC09E: TokenInfo = TokenInfo { + name: "Status", + symbol: "SNT", + decimals: 18, + contract: address!("0x662015EC830DF08C0FC45896FaB726542e8AC09E"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/779/thumb/status.png?1548610778"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN_8453_327FDA66: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0x22e6966B799c4D5B13BE962E1D117b56327FDa66"), + chain: 8453, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static SPX6900_8453_6819BB2C: TokenInfo = TokenInfo { + name: "SPX6900", + symbol: "SPX", + decimals: 8, + contract: address!("0x50dA645f148798F68EF2d7dB7C1CB22A6819bb2C"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31401/large/sticker_(1).jpg?1702371083"), +}; + +pub static SUPERFLUID_TOKEN: TokenInfo = TokenInfo { + name: "Superfluid Token", + symbol: "SUP", + decimals: 18, + contract: address!("0xa69f80524381275A7fFdb3AE01c54150644c8792"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68697/large/sup.png?1756287343"), +}; + +pub static SUSHI_8453_98B2AFBA: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0x7D49a065D17d6d4a55dc13649901fdBB98B2AFBA"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static SYNDICATE: TokenInfo = TokenInfo { + name: "Syndicate", + symbol: "SYND", + decimals: 18, + contract: address!("0x11dC28D01984079b7efE7763b533e6ed9E3722B9"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/69122/large/synd.png?1757576144"), +}; + +pub static TBTC_8453_22AB794B: TokenInfo = TokenInfo { + name: "tBTC", + symbol: "tBTC", + decimals: 18, + contract: address!("0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b"), + chain: 8453, + logo_uri: Some("https://raw.githubusercontent.com/uniswap/assets/master/blockchains/ethereum/assets/0x18084fbA666a33d37592fA2633fD49a74DD93a88/logo.png"), +}; + +pub static TOSHI: TokenInfo = TokenInfo { + name: "Toshi", + symbol: "TOSHI", + decimals: 18, + contract: address!("0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31126/large/Toshi_Logo_-_Circular.png?1721677476"), +}; + +pub static TOWNS: TokenInfo = TokenInfo { + name: "Towns", + symbol: "TOWNS", + decimals: 18, + contract: address!("0x00000000A22C618fd6b4D7E9A335C4B96B189a38"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55230/large/yImUvwK__400x400.png?1744857671"), +}; + +pub static INTUITION: TokenInfo = TokenInfo { + name: "Intuition", + symbol: "TRUST", + decimals: 18, + contract: address!("0x6cd905dF2Ed214b22e0d48FF17CD4200C1C6d8A3"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/55976/large/intuition_trust.jpg?1747904133"), +}; + +pub static UNISWAP_8453_114A3C83: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0xc3De830EA07524a0761646a6a4e4be0e114a3C83"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/UNI/logo.png"), +}; + +pub static SUPERFORM: TokenInfo = TokenInfo { + name: "Superform", + symbol: "UP", + decimals: 18, + contract: address!("0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/70945/large/superform.png?1764747920"), +}; + +pub static USD_BASE_COIN: TokenInfo = TokenInfo { + name: "USD Base Coin", + symbol: "USDbC", + decimals: 6, + contract: address!("0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/USDC/logo.png"), +}; + +pub static USD_COIN: TokenInfo = TokenInfo { + name: "USD Coin", + symbol: "USDC", + decimals: 6, + contract: address!("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/USDC/logo.png"), +}; + +pub static VENICE_TOKEN: TokenInfo = TokenInfo { + name: "Venice Token", + symbol: "VVV", + decimals: 18, + contract: address!("0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/54023/standard/Venice_Token_(1).png?1738017546"), +}; + +pub static WALLETCONNECT_TOKEN_8453_DD927945: TokenInfo = TokenInfo { + name: "WalletConnect Token", + symbol: "WCT", + decimals: 18, + contract: address!("0xeF4461891DfB3AC8572cCf7C794664A8DD927945"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/50390/large/wc-token1.png?1727569464"), +}; + +pub static MOONWELL: TokenInfo = TokenInfo { + name: "Moonwell", + symbol: "WELL", + decimals: 18, + contract: address!("0xA88594D404727625A9437C3f886C7643872296AE"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/26133/large/WELL.png?1696525221"), +}; + +pub static WRAPPED_ETHER_8453_00000006: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x4200000000000000000000000000000000000006"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/WETH/logo.png"), +}; + +pub static WORLD_MOBILE_TOKEN: TokenInfo = TokenInfo { + name: "World Mobile Token", + symbol: "WMTX", + decimals: 18, + contract: address!("0x3e31966d4f81C72D2a55310A6365A56A4393E98D"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/17333/large/Token_icon_round_1024.png?1741247846"), +}; + +pub static XYO_NETWORK_8453_223ADC94: TokenInfo = TokenInfo { + name: "XYO Network", + symbol: "XYO", + decimals: 18, + contract: address!("0xD7B99ffB8B2afc6fe013a17207cbe50f223aDc94"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/4519/thumb/XYO_Network-logo.png?1547039819"), +}; + +pub static YEARN_FINANCE_8453_AD3CB239: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0x9EaF8C1E34F05a589EDa6BAfdF391Cf6Ad3CB239"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static YIELD_GUILD_GAMES_8453_F5EF1799: TokenInfo = TokenInfo { + name: "Yield Guild Games", + symbol: "YGG", + decimals: 18, + contract: address!("0xaAC78d1219c08AecC8e37e03858FE885f5EF1799"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/17358/thumb/le1nzlO6_400x400.jpg?1632465691"), +}; + +pub static HORIZEN: TokenInfo = TokenInfo { + name: "Horizen", + symbol: "ZEN", + decimals: 18, + contract: address!("0xf43eB8De897Fbc7F2502483B2Bef7Bb9EA179229"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/691/large/Horizen2.0-logo_icon-on-yellow_%281%29.png?1751696763"), +}; + +pub static BOUNDLESS_8453_FBBCE7CF: TokenInfo = TokenInfo { + name: "Boundless", + symbol: "ZKC", + decimals: 18, + contract: address!("0xAA61bB7777bD01B684347961918f1E07fBbCe7CF"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/68462/large/boundless.png?1755826792"), +}; + +pub static ZORA: TokenInfo = TokenInfo { + name: "Zora", + symbol: "ZORA", + decimals: 18, + contract: address!("0x1111111111166b7FE7bd91427724B487980aFc69"), + chain: 8453, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54693/large/zora.jpg?1741094751"), +}; + +pub static LAYERZERO_8453_F13271CD: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 8453, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN_8453_BC9779D0: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0x3bB4445D30AC020a84c1b5A8A2C6248ebC9779D0"), + chain: 8453, + logo_uri: Some("https://ethereum-optimism.github.io/data/ZRX/logo.png"), +}; + +pub static TOKEN_1INCH_42161_3F4BB9AF: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0x6314C31A7a1652cE482cffe247E9CB7c3f4BB9aF"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static AAVE_42161_CE967196: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0xba5DdD1f9d7F570dc94a51479a000E3BCE967196"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static ACROSS_PROTOCOL_TOKEN_42161_03D9C99D: TokenInfo = TokenInfo { + name: "Across Protocol Token", + symbol: "ACX", + decimals: 18, + contract: address!("0x53691596d1BCe8CEa565b84d4915e69e03d9C99d"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/28161/large/across-200x200.png?1696527165"), +}; + +pub static AEVO_42161_2B9783CD: TokenInfo = TokenInfo { + name: "Aevo", + symbol: "AEVO", + decimals: 18, + contract: address!("0x377c1Fc73D4D0f5600cd943776CED07c2B9783cd"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/35893/standard/aevo.png"), +}; + +pub static AGEUR_42161_723528E7: TokenInfo = TokenInfo { + name: "agEur", + symbol: "agEUR", + decimals: 18, + contract: address!("0xFA5Ed56A203466CbBC2430a43c66b9D8723528E7"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/19479/standard/agEUR.png?1696518915"), +}; + +pub static ADVENTURE_GOLD_42161_012A3B9C: TokenInfo = TokenInfo { + name: "Adventure Gold", + symbol: "AGLD", + decimals: 18, + contract: address!("0xb7910E8b16e63EFD51d5D1a093d56280012A3B9C"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/18125/thumb/lpgblc4h_400x400.jpg?1630570955"), +}; + +pub static AIOZ_NETWORK_42161_E1569923: TokenInfo = TokenInfo { + name: "AIOZ Network", + symbol: "AIOZ", + decimals: 18, + contract: address!("0xeC76E8fe6e2242e6c2117caA244B9e2DE1569923"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14631/thumb/aioz_logo.png?1617413126"), +}; + +pub static ALEPH_IM_42161_8E245A6C: TokenInfo = TokenInfo { + name: "Aleph im", + symbol: "ALEPH", + decimals: 18, + contract: address!("0xe7dcD50836d0A28c959c72D72122fEDB8E245A6C"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11676/thumb/Monochram-aleph.png?1608483725"), +}; + +pub static ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_42161_FC0A71D1: TokenInfo = TokenInfo { + name: "Alethea Artificial Liquid Intelligence", + symbol: "ALI", + decimals: 18, + contract: address!("0xeF6124368c0B56556667e0de77eA008DfC0a71d1"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/22062/thumb/alethea-logo-transparent-colored.png?1642748848"), +}; + +pub static ALPHA_VENTURE_DAO_42161_0A6B2646: TokenInfo = TokenInfo { + name: "Alpha Venture DAO", + symbol: "ALPHA", + decimals: 18, + contract: address!("0xC9CBf102c73fb77Ec14f8B4C8bd88e050a6b2646"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12738/thumb/AlphaToken_256x256.png?1617160876"), +}; + +pub static ANKR_42161_C1E95447: TokenInfo = TokenInfo { + name: "Ankr", + symbol: "ANKR", + decimals: 18, + contract: address!("0x1bfc5d35bf0f7B9e15dc24c78b8C02dbC1e95447"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/4324/thumb/U85xTl2.png?1608111978"), +}; + +pub static APECOIN_42161_DBAD2210: TokenInfo = TokenInfo { + name: "ApeCoin", + symbol: "APE", + decimals: 18, + contract: address!("0x74885b4D524d497261259B38900f54e6dbAd2210"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/24383/small/apecoin.jpg?1647476455"), +}; + +pub static API3_42161_92CA7811: TokenInfo = TokenInfo { + name: "API3", + symbol: "API3", + decimals: 18, + contract: address!("0xF01dB12F50D0CDF5Fe360ae005b9c52F92CA7811"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13256/thumb/api3.jpg?1606751424"), +}; + +pub static ARBITRUM_42161_E49E6548: TokenInfo = TokenInfo { + name: "Arbitrum", + symbol: "ARB", + decimals: 18, + contract: address!("0x912CE59144191C1204E64559FE8253a0e49E6548"), + chain: 42161, + logo_uri: Some("https://arbitrum.foundation/logo.png"), +}; + +pub static ARKHAM_42161_DA4E656E: TokenInfo = TokenInfo { + name: "Arkham", + symbol: "ARKM", + decimals: 18, + contract: address!("0xDac5094B7D59647626444a4F905060FCda4E656E"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/30929/standard/Arkham_Logo_CG.png?1696529771"), +}; + +pub static AUTOMATA_42161_75714D03: TokenInfo = TokenInfo { + name: "Automata", + symbol: "ATA", + decimals: 18, + contract: address!("0xAC9Ac2C17cdFED4AbC80A53c5553388575714d03"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/15985/thumb/ATA.jpg?1622535745"), +}; + +pub static AETHIR_TOKEN_42161_49092FB4: TokenInfo = TokenInfo { + name: "Aethir Token", + symbol: "ATH", + decimals: 18, + contract: address!("0xc7dEf82Ba77BAF30BbBc9b6162DC075b49092fb4"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/36179/large/logogram_circle_dark_green_vb_green_(1).png?1718232706"), +}; + +pub static AXELAR_42161_E2C6810F: TokenInfo = TokenInfo { + name: "Axelar", + symbol: "AXL", + decimals: 6, + contract: address!("0x23ee2343B892b1BB63503a4FAbc840E0e2C6810f"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/27277/large/V-65_xQ1_400x400.jpeg"), +}; + +pub static AXIE_INFINITY_42161_3E5D0089: TokenInfo = TokenInfo { + name: "Axie Infinity", + symbol: "AXS", + decimals: 18, + contract: address!("0xe88998Fb579266628aF6a03e3821d5983e5D0089"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13029/thumb/axie_infinity_logo.png?1604471082"), +}; + +pub static BADGER_DAO_42161_0D76472E: TokenInfo = TokenInfo { + name: "Badger DAO", + symbol: "BADGER", + decimals: 18, + contract: address!("0xBfa641051Ba0a0Ad1b0AcF549a89536A0D76472E"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13287/thumb/badger_dao_logo.jpg?1607054976"), +}; + +pub static BALANCER_42161_F56A56B8: TokenInfo = TokenInfo { + name: "Balancer", + symbol: "BAL", + decimals: 18, + contract: address!("0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png"), +}; + +pub static BASIC_ATTENTION_TOKEN_42161_616AEE75: TokenInfo = TokenInfo { + name: "Basic Attention Token", + symbol: "BAT", + decimals: 18, + contract: address!("0x3450687EF141dCd6110b77c2DC44B008616AeE75"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/677/thumb/basic-attention-token.png?1547034427"), +}; + +pub static BICONOMY_42161_60A8E74D: TokenInfo = TokenInfo { + name: "Biconomy", + symbol: "BICO", + decimals: 18, + contract: address!("0xa68Ec98D7ca870cF1Dd0b00EBbb7c4bF60A8e74d"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/21061/thumb/biconomy_logo.jpg?1638269749"), +}; + +pub static BITDAO_42161_EB921C2A: TokenInfo = TokenInfo { + name: "BitDAO", + symbol: "BIT", + decimals: 18, + contract: address!("0x406C8dB506653D882295875F633bEC0bEb921C2A"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/17627/thumb/rI_YptK8.png?1653983088"), +}; + +pub static HARRYPOTTEROBAMASONIC10INU_42161_13BD565D: TokenInfo = TokenInfo { + name: "HarryPotterObamaSonic10Inu", + symbol: "BITCOIN", + decimals: 8, + contract: address!("0xf7e17BA61973bcDB61f471eFb989E47d13bD565D"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/30323/large/hpos10i_logo_casino_night-dexview.png?1696529224"), +}; + +pub static BLUR_42161_FE606EB2: TokenInfo = TokenInfo { + name: "Blur", + symbol: "BLUR", + decimals: 18, + contract: address!("0xEf171a5BA71348eff16616fd692855c2Fe606EB2"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/28453/large/blur.png?1670745921"), +}; + +pub static BANCOR_NETWORK_TOKEN_42161_BA06D073: TokenInfo = TokenInfo { + name: "Bancor Network Token", + symbol: "BNT", + decimals: 18, + contract: address!("0x7A24159672b83ED1b89467c9d6A99556bA06D073"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C/logo.png"), +}; + +pub static BARNBRIDGE_42161_EE64A4E1: TokenInfo = TokenInfo { + name: "BarnBridge", + symbol: "BOND", + decimals: 18, + contract: address!("0x0D81E50bC677fa67341c44D7eaA9228DEE64A4e1"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12811/thumb/barnbridge.jpg?1602728853"), +}; + +pub static BINANCE_USD_42161_462629A2: TokenInfo = TokenInfo { + name: "Binance USD", + symbol: "BUSD", + decimals: 18, + contract: address!("0x31190254504622cEFdFA55a7d3d272e6462629a2"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/9576/thumb/BUSD.png?1568947766"), +}; + +pub static PANCAKESWAP_42161_7CF58860: TokenInfo = TokenInfo { + name: "PancakeSwap", + symbol: "CAKE", + decimals: 18, + contract: address!("0xCdc343ebf71e38F003eD6c80171F5B8D7cF58860"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/12632/large/pancakeswap-cake-logo_%281%29.png?1696512440"), +}; + +pub static COINBASE_WRAPPED_BTC_42161_0EED33BF: TokenInfo = TokenInfo { + name: "Coinbase Wrapped BTC", + symbol: "cbBTC", + decimals: 8, + contract: address!("0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/40143/large/cbbtc.webp"), +}; + +pub static COINBASE_WRAPPED_STAKED_ETH_42161_EAE7732F: TokenInfo = TokenInfo { + name: "Coinbase Wrapped Staked ETH", + symbol: "cbETH", + decimals: 18, + contract: address!("0x1DEBd73E752bEaF79865Fd6446b0c970EaE7732f"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/27008/large/cbeth.png"), +}; + +pub static CELO_NATIVE_ASSET_WORMHOLE_42161_1EF4F336: TokenInfo = TokenInfo { + name: "Celo native asset (Wormhole)", + symbol: "CELO", + decimals: 18, + contract: address!("0x4E51aC49bC5e2d87e0EF713E9e5AB2D71EF4F336"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/wormhole-foundation/wormhole-token-list/main/assets/celo_wh.png"), +}; + +pub static CELER_NETWORK_42161_40F345AB: TokenInfo = TokenInfo { + name: "Celer Network", + symbol: "CELR", + decimals: 18, + contract: address!("0x3a8B787f78D775AECFEEa15706D4221B40F345AB"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/4379/thumb/Celr.png?1554705437"), +}; + +pub static COMPOUND_42161_5C6C91DE: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0x354A6dA3fcde098F8389cad84b0182725c6C91dE"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc00e94Cb662C3520282E6f5717214004A7f26888/logo.png"), +}; + +pub static COTI_42161_D81EA101: TokenInfo = TokenInfo { + name: "COTI", + symbol: "COTI", + decimals: 18, + contract: address!("0x6FE14d3CC2f7bDdffBa5CdB3BBE7467dd81ea101"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/2962/thumb/Coti.png?1559653863"), +}; + +pub static COW_PROTOCOL_42161_F5C87A04: TokenInfo = TokenInfo { + name: "CoW Protocol", + symbol: "COW", + decimals: 18, + contract: address!("0xcb8b5CD20BdCaea9a010aC1F8d835824F5C87A04"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/24384/large/CoW-token_logo.png?1719524382"), +}; + +pub static COVALENT_42161_657273BF: TokenInfo = TokenInfo { + name: "Covalent", + symbol: "CQT", + decimals: 18, + contract: address!("0x69b937dB799a9BECC9E8A6F0a5d36eA3657273bf"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14168/thumb/covalent-cqt.png?1624545218"), +}; + +pub static CRONOS_42161_676F354C: TokenInfo = TokenInfo { + name: "Cronos", + symbol: "CRO", + decimals: 8, + contract: address!("0x8ea3156f834A0dfC78F1A5304fAC2CdA676F354C"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/7310/thumb/oCw2s3GI_400x400.jpeg?1645172042"), +}; + +pub static CURVE_DAO_TOKEN_42161_FA034978: TokenInfo = TokenInfo { + name: "Curve DAO Token", + symbol: "CRV", + decimals: 18, + contract: address!("0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD533a949740bb3306d119CC777fa900bA034cd52/logo.png"), +}; + +pub static CARTESI_42161_1B476999: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0x319f865b287fCC10b30d8cE6144e8b6D1b476999"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static CRYPTEX_FINANCE_42161_0425E12B: TokenInfo = TokenInfo { + name: "Cryptex Finance", + symbol: "CTX", + decimals: 18, + contract: address!("0x84F5c2cFba754E76DD5aE4fB369CfC920425E12b"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14932/thumb/glossy_icon_-_C200px.png?1619073171"), +}; + +pub static CIVIC_42161_1DDBF144: TokenInfo = TokenInfo { + name: "Civic", + symbol: "CVC", + decimals: 8, + contract: address!("0x9DfFB23CAd3322440bCcFF7aB1C58E781dDBF144"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/788/thumb/civic.png?1547034556"), +}; + +pub static CONVEX_FINANCE_42161_520829C5: TokenInfo = TokenInfo { + name: "Convex Finance", + symbol: "CVX", + decimals: 18, + contract: address!("0xaAFcFD42c9954C6689ef1901e03db742520829c5"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/15585/thumb/convex.png?1621256328"), +}; + +pub static DAI_STABLECOIN_42161_C9000DA1: TokenInfo = TokenInfo { + name: "Dai Stablecoin", + symbol: "DAI", + decimals: 18, + contract: address!("0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png"), +}; + +pub static DEXTOOLS_42161_9B64E227: TokenInfo = TokenInfo { + name: "DexTools", + symbol: "DEXT", + decimals: 18, + contract: address!("0x3Be7cB2e9413Ef8F42b4A202a0114EB59b64e227"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11603/thumb/dext.png?1605790188"), +}; + +pub static DIA_42161_E17AC05E: TokenInfo = TokenInfo { + name: "DIA", + symbol: "DIA", + decimals: 18, + contract: address!("0xca642467C6Ebe58c13cB4A7091317f34E17ac05e"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11955/thumb/image.png?1646041751"), +}; + +pub static DISTRICT0X_42161_A49AD47A: TokenInfo = TokenInfo { + name: "district0x", + symbol: "DNT", + decimals: 18, + contract: address!("0xE3696a02b2C9557639E29d829E9C45EFa49aD47A"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/849/thumb/district0x.png?1547223762"), +}; + +pub static DEFI_PULSE_INDEX_42161_B68DD74C: TokenInfo = TokenInfo { + name: "DeFi Pulse Index", + symbol: "DPI", + decimals: 18, + contract: address!("0x4667cf53C4eDF659E402B733BEA42B18B68dd74c"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12465/thumb/defi_pulse_index_set.png?1600051053"), +}; + +pub static DERIVE_42161_90ABB135: TokenInfo = TokenInfo { + name: "Derive", + symbol: "DRV", + decimals: 18, + contract: address!("0x77b7787a09818502305C95d68A2571F090abb135"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/52889/large/Token_Logo.png?1734601695"), +}; + +pub static DYDX_42161_8CC90C5A: TokenInfo = TokenInfo { + name: "dYdX", + symbol: "DYDX", + decimals: 18, + contract: address!("0x51863cB90Ce5d6dA9663106F292fA27c8CC90c5a"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/17500/thumb/hjnIm9bV.jpg?1628009360"), +}; + +pub static EIGENLAYER_42161_6F96C248: TokenInfo = TokenInfo { + name: "EigenLayer", + symbol: "EIGEN", + decimals: 18, + contract: address!("0x606C3e5075e5555e79Aa15F1E9FACB776F96C248"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/37441/large/eigen.jpg?1728023974"), +}; + +pub static DOGELON_MARS_42161_17077FD4: TokenInfo = TokenInfo { + name: "Dogelon Mars", + symbol: "ELON", + decimals: 18, + contract: address!("0x3e4Cff6E50F37F731284A92d44AE943e17077fD4"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14962/thumb/6GxcPRo3_400x400.jpg?1619157413"), +}; + +pub static ETHENA_42161_8EA977D8: TokenInfo = TokenInfo { + name: "Ethena", + symbol: "ENA", + decimals: 18, + contract: address!("0xdf8F0c63D9335A0AbD89F9F752d293A98EA977d8"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/36530/standard/ethena.png"), +}; + +pub static ENJIN_COIN_42161_63806758: TokenInfo = TokenInfo { + name: "Enjin Coin", + symbol: "ENJ", + decimals: 18, + contract: address!("0x7fa9549791EFc9030e1Ed3F25D18014163806758"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/1102/thumb/enjin-coin-logo.png?1547035078"), +}; + +pub static ETHEREUM_NAME_SERVICE_42161_E70D7C28: TokenInfo = TokenInfo { + name: "Ethereum Name Service", + symbol: "ENS", + decimals: 18, + contract: address!("0xfeA31d704DEb0975dA8e77Bf13E04239e70d7c28"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/19785/thumb/acatxTm8_400x400.jpg?1635850140"), +}; + +pub static ETHERNITY_CHAIN_42161_4D667F96: TokenInfo = TokenInfo { + name: "Ethernity Chain", + symbol: "ERN", + decimals: 18, + contract: address!("0x2354c8e9Ea898c751F1A15Addeb048714D667f96"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14238/thumb/LOGO_HIGH_QUALITY.png?1647831402"), +}; + +pub static ESPRESSO_42161_065C94F1: TokenInfo = TokenInfo { + name: "Espresso", + symbol: "ESP", + decimals: 18, + contract: address!("0x3b8db18e69d6686Ad9371A423aFe3Dd1065C94f1"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/67626/large/espresso.jpg?1753324525"), +}; + +pub static ETHER_FI_42161_4DFD5736: TokenInfo = TokenInfo { + name: "Ether.fi", + symbol: "ETHFI", + decimals: 18, + contract: address!("0x07D65C18CECbA423298c0aEB5d2BeDED4DFd5736"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/35958/standard/etherfi.jpeg"), +}; + +pub static EURO_COIN_42161_1FC52A48: TokenInfo = TokenInfo { + name: "Euro Coin", + symbol: "EURC", + decimals: 6, + contract: address!("0x863708032B5c328e11aBcbC0DF9D79C71Fc52a48"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/26045/thumb/euro-coin.png?1655394420"), +}; + +pub static HARVEST_FINANCE_42161_24C83C70: TokenInfo = TokenInfo { + name: "Harvest Finance", + symbol: "FARM", + decimals: 18, + contract: address!("0x8553d254Cb6934b16F87D2e486b64BbD24C83C70"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12304/thumb/Harvest.png?1613016180"), +}; + +pub static FETCH_AI_42161_7DCC4CC9: TokenInfo = TokenInfo { + name: "Fetch ai", + symbol: "FET", + decimals: 18, + contract: address!("0x4BE87C766A7CE11D5Cc864b6C3Abb7457dCC4cC9"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/5681/thumb/Fetch.jpg?1572098136"), +}; + +pub static STAFI_42161_767C7282: TokenInfo = TokenInfo { + name: "Stafi", + symbol: "FIS", + decimals: 18, + contract: address!("0x849B40AB2469309117Ed1038c5A99894767C7282"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12423/thumb/stafi_logo.jpg?1599730991"), +}; + +pub static FLOKI_42161_B4905FAE: TokenInfo = TokenInfo { + name: "FLOKI", + symbol: "FLOKI", + decimals: 9, + contract: address!("0xA8C25FdC09763A176353CC6a76882e05b4905FAe"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/16746/standard/PNG_image.png?1696516318"), +}; + +pub static FLUX_42161_D685710A: TokenInfo = TokenInfo { + name: "Flux", + symbol: "FLUX", + decimals: 18, + contract: address!("0x63806C056Fa458c548Fb416B15E358A9D685710A"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x720CD16b011b987Da3518fbf38c3071d4F0D1495/logo.png"), +}; + +pub static FORTA_42161_CC3D2923: TokenInfo = TokenInfo { + name: "Forta", + symbol: "FORT", + decimals: 18, + contract: address!("0x3A1429d50E0cBBc45c997aF600541Fe1cc3D2923"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/25060/thumb/Forta_lgo_%281%29.png?1655353696"), +}; + +pub static SHAPESHIFT_FOX_TOKEN_42161_9E513C73: TokenInfo = TokenInfo { + name: "ShapeShift FOX Token", + symbol: "FOX", + decimals: 18, + contract: address!("0xf929de51D91C77E42f5090069E0AD7A09e513c73"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/9988/thumb/FOX.png?1574330622"), +}; + +pub static FRAX_42161_0BC51305: TokenInfo = TokenInfo { + name: "Frax", + symbol: "FRAX", + decimals: 18, + contract: address!("0x7468a5d8E02245B00E8C0217fCE021C70Bc51305"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13422/thumb/frax_logo.png?1608476506"), +}; + +pub static FANTOM_42161_D4C2DF37: TokenInfo = TokenInfo { + name: "Fantom", + symbol: "FTM", + decimals: 18, + contract: address!("0xd42785D323e608B9E99fa542bd8b1000D4c2Df37"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/4001/thumb/Fantom.png?1558015016"), +}; + +pub static FRAX_SHARE_42161_AFFFDEA4: TokenInfo = TokenInfo { + name: "Frax Share", + symbol: "FXS", + decimals: 18, + contract: address!("0xd9f9d2Ee2d3EFE420699079f16D9e924affFdEA4"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13423/thumb/frax_share.png?1608478989"), +}; + +pub static GALXE_42161_9BFD1182: TokenInfo = TokenInfo { + name: "Galxe", + symbol: "GAL", + decimals: 18, + contract: address!("0xc27E7325a6BEA1FcC06de7941473f5279bfd1182"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/24530/thumb/GAL-Token-Icon.png?1651483533"), +}; + +pub static GALA_42161_2827FF8C: TokenInfo = TokenInfo { + name: "GALA", + symbol: "GALA", + decimals: 8, + contract: address!("0x2A676eeAd159c4C8e8593471c6d666F02827FF8C"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12493/standard/GALA-COINGECKO.png?1696512310"), +}; + +pub static GMX: TokenInfo = TokenInfo { + name: "GMX", + symbol: "GMX", + decimals: 18, + contract: address!("0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/18323/large/arbit.png?1631532468"), +}; + +pub static GNOSIS_TOKEN_42161_4DEB6CF1: TokenInfo = TokenInfo { + name: "Gnosis Token", + symbol: "GNO", + decimals: 18, + contract: address!("0xa0b862F60edEf4452F25B4160F177db44DeB6Cf1"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6810e776880C02933D47DB1b9fc05908e5386b96/logo.png"), +}; + +pub static THE_GRAPH_42161_EA7E88C7: TokenInfo = TokenInfo { + name: "The Graph", + symbol: "GRT", + decimals: 18, + contract: address!("0x9623063377AD1B27544C965cCd7342f7EA7e88C7"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13397/thumb/Graph_Token.png?1608145566"), +}; + +pub static GITCOIN_42161_C437DEE0: TokenInfo = TokenInfo { + name: "Gitcoin", + symbol: "GTC", + decimals: 18, + contract: address!("0x7f9a7DB853Ca816B9A138AEe3380Ef34c437dEe0"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/15810/thumb/gitcoin.png?1621992929"), +}; + +pub static GYEN_42161_D9B6D5F7: TokenInfo = TokenInfo { + name: "GYEN", + symbol: "GYEN", + decimals: 6, + contract: address!("0x589d35656641d6aB57A545F08cf473eCD9B6D5F7"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14191/thumb/icon_gyen_200_200.png?1614843343"), +}; + +pub static HIGHSTREET_42161_615BCEEA: TokenInfo = TokenInfo { + name: "Highstreet", + symbol: "HIGH", + decimals: 18, + contract: address!("0xd12Eeb0142D4Efe7Af82e4f29E5Af382615bcEeA"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/18973/thumb/logosq200200Coingecko.png?1634090470"), +}; + +pub static HOPR_42161_70294EF7: TokenInfo = TokenInfo { + name: "HOPR", + symbol: "HOPR", + decimals: 18, + contract: address!("0x177F394A3eD18FAa85c1462Ae626438a70294EF7"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14061/thumb/Shared_HOPR_logo_512px.png?1614073468"), +}; + +pub static IDOS_TOKEN: TokenInfo = TokenInfo { + name: "idOS Token", + symbol: "IDOS", + decimals: 18, + contract: address!("0x68731d6F14B827bBCfFbEBb62b19Daa18de1d79c"), + chain: 42161, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/39596.png"), +}; + +pub static ILLUVIUM_42161_05488673: TokenInfo = TokenInfo { + name: "Illuvium", + symbol: "ILV", + decimals: 18, + contract: address!("0x61cA9D186f6b9a793BC08F6C79fd35f205488673"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14468/large/ILV.JPG"), +}; + +pub static IMMUTABLE_X_42161_FCA7783E: TokenInfo = TokenInfo { + name: "Immutable X", + symbol: "IMX", + decimals: 18, + contract: address!("0x3cFD99593a7F035F717142095a3898e3Fca7783e"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/17233/thumb/imx.png?1636691817"), +}; + +pub static INJECTIVE_42161_DF608F80: TokenInfo = TokenInfo { + name: "Injective", + symbol: "INJ", + decimals: 18, + contract: address!("0x2A2053cb633CAD465B4A8975eD3d7f09DF608F80"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12882/thumb/Secondary_Symbol.png?1628233237"), +}; + +pub static JASMYCOIN_42161_73E27083: TokenInfo = TokenInfo { + name: "JasmyCoin", + symbol: "JASMY", + decimals: 18, + contract: address!("0x25f05699548D3A0820b99f93c10c8BB573E27083"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13876/thumb/JASMY200x200.jpg?1612473259"), +}; + +pub static KINTO: TokenInfo = TokenInfo { + name: "Kinto", + symbol: "K", + decimals: 18, + contract: address!("0x010700AB046Dd8e92b0e3587842080Df36364ed3"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/54964/standard/k200.png?1742894885"), +}; + +pub static KRYLL_42161_B7307B69: TokenInfo = TokenInfo { + name: "KRYLL", + symbol: "KRL", + decimals: 18, + contract: address!("0xf75eE6D319741057a82a88Eeff1DbAFAB7307b69"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/2807/thumb/krl.png?1547036979"), +}; + +pub static KUJIRA_42161_5671E7CA: TokenInfo = TokenInfo { + name: "Kujira", + symbol: "KUJI", + decimals: 6, + contract: address!("0x3A18dcC9745eDcD1Ef33ecB93b0b6eBA5671e7Ca"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/20685/standard/kuji-200x200.png"), +}; + +pub static LIDO_DAO_42161_D85EFA60: TokenInfo = TokenInfo { + name: "Lido DAO", + symbol: "LDO", + decimals: 18, + contract: address!("0x13Ad51ed4F1B7e9Dc168d8a00cB3f4dDD85EfA60"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13573/thumb/Lido_DAO.png?1609873644"), +}; + +pub static CHAINLINK_TOKEN_42161_58539FB4: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0xf97f4df75117a78c1A5a0DBb814Af92458539FB4"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static LITENTRY_42161_30A40B25: TokenInfo = TokenInfo { + name: "Litentry", + symbol: "LIT", + decimals: 18, + contract: address!("0x349fc93da004a63F3B1343361465981330A40B25"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13825/large/logo_200x200.png"), +}; + +pub static LIVEPEER_42161_1CB8A839: TokenInfo = TokenInfo { + name: "Livepeer", + symbol: "LPT", + decimals: 18, + contract: address!("0x289ba1701C2F088cf0faf8B3705246331cB8A839"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/7137/thumb/logo-circle-green.png?1619593365"), +}; + +pub static LIQUITY_42161_CE3E1449: TokenInfo = TokenInfo { + name: "Liquity", + symbol: "LQTY", + decimals: 18, + contract: address!("0xfb9E5D956D889D91a82737B9bFCDaC1DCE3e1449"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14665/thumb/200-lqty-icon.png?1617631180"), +}; + +pub static LOOPRINGCOIN_V2_42161_1BAE7FBE: TokenInfo = TokenInfo { + name: "LoopringCoin V2", + symbol: "LRC", + decimals: 18, + contract: address!("0x46d0cE7de6247b0A95f67b43B589b4041BaE7fbE"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD/logo.png"), +}; + +pub static LIQUITY_USD_42161_2541425B: TokenInfo = TokenInfo { + name: "Liquity USD", + symbol: "LUSD", + decimals: 18, + contract: address!("0x93b346b6BC2548dA6A1E7d98E9a421B42541425b"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14666/thumb/Group_3.png?1617631327"), +}; + +pub static MAGIC: TokenInfo = TokenInfo { + name: "MAGIC", + symbol: "MAGIC", + decimals: 18, + contract: address!("0x539bdE0d7Dbd336b79148AA742883198BBF60342"), + chain: 42161, + logo_uri: Some("https://dynamic-assets.coinbase.com/30320a63f6038b944c9c0202fcb2392e6a1bd333814f74b4674774dd87f2d06d64fdd74c2f1ab4639917c75b749c323450408bec7a2737af8ae0c17871aa90de/asset_icons/98d278cda11639ed7449a0a3086cd2c83937ce71baf4ee43bb5b777423c00a75.png"), +}; + +pub static DECENTRALAND_42161_A165E231: TokenInfo = TokenInfo { + name: "Decentraland", + symbol: "MANA", + decimals: 18, + contract: address!("0x442d24578A564EF628A65e6a7E3e7be2a165E231"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/878/thumb/decentraland-mana.png?1550108745"), +}; + +pub static MASK_NETWORK_42161_5C313739: TokenInfo = TokenInfo { + name: "Mask Network", + symbol: "MASK", + decimals: 18, + contract: address!("0x533A7B414CD1236815a5e09F1E97FC7d5c313739"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14051/thumb/Mask_Network.jpg?1614050316"), +}; + +pub static MATH_42161_B17AC332: TokenInfo = TokenInfo { + name: "MATH", + symbol: "MATH", + decimals: 18, + contract: address!("0x99F40b01BA9C469193B360f72740E416B17Ac332"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11335/thumb/2020-05-19-token-200.png?1589940590"), +}; + +pub static POLYGON_42161_18BE0766: TokenInfo = TokenInfo { + name: "Polygon", + symbol: "MATIC", + decimals: 18, + contract: address!("0x561877b6b3DD7651313794e5F2894B2F18bE0766"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static METIS_42161_D2E33769: TokenInfo = TokenInfo { + name: "Metis", + symbol: "METIS", + decimals: 18, + contract: address!("0x7F728F3595db17B0B359f4FC47aE80FAd2e33769"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/15595/thumb/metis.jpeg?1660285312"), +}; + +pub static MAGIC_INTERNET_MONEY_42161_0C04DAF2: TokenInfo = TokenInfo { + name: "Magic Internet Money", + symbol: "MIM", + decimals: 18, + contract: address!("0xB20A02dfFb172C474BC4bDa3fD6f4eE70C04daf2"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/16786/thumb/mimlogopng.png?1624979612"), +}; + +pub static MAKER_42161_6F8F2879: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0x2e9a6Df78E42a30712c10a9Dc4b1C8656f8F2879"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2/logo.png"), +}; + +pub static MELON_42161_7AE4B514: TokenInfo = TokenInfo { + name: "Melon", + symbol: "MLN", + decimals: 18, + contract: address!("0x8f5c1A99b1df736Ad685006Cb6ADCA7B7Ae4b514"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/605/thumb/melon.png?1547034295"), +}; + +pub static MANTLE_42161_EDF6C53A: TokenInfo = TokenInfo { + name: "Mantle", + symbol: "MNT", + decimals: 18, + contract: address!("0x9c1a1C7bA9c2602123FD7EF3eb41a769edf6C53A"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/30980/large/Mantle-Logo-mark.png?1739213200"), +}; + +pub static MOG_COIN_42161_206AABAC: TokenInfo = TokenInfo { + name: "Mog Coin", + symbol: "MOG", + decimals: 18, + contract: address!("0x96c42662820F6Ea32f0A61A06a38a72B206aABaC"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/31059/large/MOG_LOGO_200x200.png"), +}; + +pub static MORPHO_TOKEN_42161_02F620AC: TokenInfo = TokenInfo { + name: "Morpho Token", + symbol: "MORPHO", + decimals: 18, + contract: address!("0xE390C0B46bd723995BE02640E6F1e1c802F620AC"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/29837/large/Morpho-token-icon.png?1726771230"), +}; + +pub static MAPLE_42161_097F0CA0: TokenInfo = TokenInfo { + name: "Maple", + symbol: "MPL", + decimals: 18, + contract: address!("0x29024832eC3baBF5074D4F46102aA988097f0Ca0"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14097/thumb/photo_2021-05-03_14.20.41.jpeg?1620022863"), +}; + +pub static MULTICHAIN_42161_ECD9A39A: TokenInfo = TokenInfo { + name: "Multichain", + symbol: "MULTI", + decimals: 18, + contract: address!("0x7b9b94aebe5E2039531af8E31045f377EcD9A39A"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/22087/thumb/1_Wyot-SDGZuxbjdkaOeT2-A.png?1640764238"), +}; + +pub static GENSOKISHI_METAVERSE_42161_3E15992F: TokenInfo = TokenInfo { + name: "GensoKishi Metaverse", + symbol: "MV", + decimals: 18, + contract: address!("0x5445972E76c5e4CEdD12B6e2BceF69133E15992F"), + chain: 42161, + logo_uri: Some("https://s2.coinmarketcap.com/static/img/coins/64x64/17704.png"), +}; + +pub static MXC_42161_B6862ED6: TokenInfo = TokenInfo { + name: "MXC", + symbol: "MXC", + decimals: 18, + contract: address!("0x91b468Fe3dce581D7a6cFE34189F1314b6862eD6"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/4604/thumb/mxc.png?1655534336"), +}; + +pub static POLYSWARM_42161_FB920D5B: TokenInfo = TokenInfo { + name: "PolySwarm", + symbol: "NCT", + decimals: 18, + contract: address!("0x53236015A675fcB937485F1AE58040e4Fb920d5b"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/2843/thumb/ImcYCVfX_400x400.jpg?1628519767"), +}; + +pub static NKN_42161_0406177B: TokenInfo = TokenInfo { + name: "NKN", + symbol: "NKN", + decimals: 18, + contract: address!("0xBE06ca305A5Cb49ABf6B1840da7c42690406177b"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/3375/thumb/nkn.png?1548329212"), +}; + +pub static NUMERAIRE_42161_6B569711: TokenInfo = TokenInfo { + name: "Numeraire", + symbol: "NMR", + decimals: 18, + contract: address!("0x597701b32553b9fa473e21362D480b3a6B569711"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671/logo.png"), +}; + +pub static OCEAN_PROTOCOL_42161_AD8234DF: TokenInfo = TokenInfo { + name: "Ocean Protocol", + symbol: "OCEAN", + decimals: 18, + contract: address!("0x933d31561e470478079FEB9A6Dd2691fAD8234DF"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/3687/thumb/ocean-protocol-logo.jpg?1547038686"), +}; + +pub static ORIGIN_PROTOCOL_42161_58AE423E: TokenInfo = TokenInfo { + name: "Origin Protocol", + symbol: "OGN", + decimals: 18, + contract: address!("0x6FEb262FEb0f775B5312D2e009923f7f58AE423E"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/3296/thumb/op.jpg?1547037878"), +}; + +pub static OMG_NETWORK_42161_61421E8E: TokenInfo = TokenInfo { + name: "OMG Network", + symbol: "OMG", + decimals: 18, + contract: address!("0xd962C1895c46AC0378C502c207748b7061421e8e"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/776/thumb/OMG_Network.jpg?1591167168"), +}; + +pub static ONDO_FINANCE_42161_8B37A5E7: TokenInfo = TokenInfo { + name: "Ondo Finance", + symbol: "ONDO", + decimals: 18, + contract: address!("0xA2d52A05B8Bead5d824DF54Dd1AA63188B37A5E7"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/26580/standard/ONDO.png?1696525656"), +}; + +pub static ORION_PROTOCOL_42161_551E6218: TokenInfo = TokenInfo { + name: "Orion Protocol", + symbol: "ORN", + decimals: 8, + contract: address!("0x1BDCC2075d5370293E248Cab0173eC3E551e6218"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11841/thumb/orion_logo.png?1594943318"), +}; + +pub static PENDLE_42161_B9A8C9E8: TokenInfo = TokenInfo { + name: "Pendle", + symbol: "PENDLE", + decimals: 18, + contract: address!("0x0c880f6761F1af8d9Aa9C466984b80DAb9a8c9e8"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/15069/large/Pendle_Logo_Normal-03.png?1696514728"), +}; + +pub static PEPE_42161_33959CBB: TokenInfo = TokenInfo { + name: "Pepe", + symbol: "PEPE", + decimals: 18, + contract: address!("0x35E6A59F786d9266c7961eA28c7b768B33959cbB"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/29850/large/pepe-token.jpeg?1682922725"), +}; + +pub static PERPETUAL_PROTOCOL_42161_F61D3DAC: TokenInfo = TokenInfo { + name: "Perpetual Protocol", + symbol: "PERP", + decimals: 18, + contract: address!("0x753D224bCf9AAFaCD81558c32341416df61D3DAC"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12381/thumb/60d18e06844a844ad75901a9_mark_only_03.png?1628674771"), +}; + +pub static PIRATE_NATION_42161_43D77CBF: TokenInfo = TokenInfo { + name: "Pirate Nation", + symbol: "PIRATE", + decimals: 18, + contract: address!("0xac7CE9F2794e01c0D27b096C52f592e343D77cbf"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/38524/standard/_Pirate_Transparent_200x200.png"), +}; + +pub static PLUME_42161_CB15BA13: TokenInfo = TokenInfo { + name: "Plume", + symbol: "PLUME", + decimals: 18, + contract: address!("0x73efDC761596328461B68E5FC58c3284CB15ba13"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/53623/large/plume-token.png?1736896935"), +}; + +pub static POLYGON_ECOSYSTEM_TOKEN_42161_68FE08CC: TokenInfo = TokenInfo { + name: "Polygon Ecosystem Token", + symbol: "POL", + decimals: 18, + contract: address!("0x044d8e7F3A17751D521efEa8CCf9282268fE08CC"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/32440/large/polygon.png?1698233684"), +}; + +pub static POLKASTARTER_42161_8B016B64: TokenInfo = TokenInfo { + name: "Polkastarter", + symbol: "POLS", + decimals: 18, + contract: address!("0xeeeB5EaC2dB7A7Fc28134aA3248580d48b016b64"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12648/thumb/polkastarter.png?1609813702"), +}; + +pub static POLYMATH_42161_B33809E9: TokenInfo = TokenInfo { + name: "Polymath", + symbol: "POLY", + decimals: 18, + contract: address!("0xE12F29704F635F4A6E7Ae154838d21F9B33809e9"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/2784/thumb/inKkF01.png?1605007034"), +}; + +pub static MARLIN_42161_C8BD9DDD: TokenInfo = TokenInfo { + name: "Marlin", + symbol: "POND", + decimals: 18, + contract: address!("0xdA0a57B710768ae17941a9Fa33f8B720c8bD9ddD"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/8903/thumb/POND_200x200.png?1622515451"), +}; + +pub static PORTAL_42161_9DB991DE: TokenInfo = TokenInfo { + name: "Portal", + symbol: "PORTAL", + decimals: 18, + contract: address!("0x6380F3d0C1412a80EB00F49064DA30749DB991DE"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/35436/standard/portal.jpeg"), +}; + +pub static POWER_LEDGER_42161_D423E4A6: TokenInfo = TokenInfo { + name: "Power Ledger", + symbol: "POWR", + decimals: 6, + contract: address!("0x4e91F2AF1ee0F84B529478f19794F5AFD423e4A6"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/1104/thumb/power-ledger.png?1547035082"), +}; + +pub static PRIME_42161_E7AC5067: TokenInfo = TokenInfo { + name: "Prime", + symbol: "PRIME", + decimals: 18, + contract: address!("0x8d8e1b6ffc6832E8D2eF0DE8a3d957cAE7ac5067"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/29053/large/PRIMELOGOOO.png?1676976222"), +}; + +pub static PARSIQ_42161_CAF60CD2: TokenInfo = TokenInfo { + name: "PARSIQ", + symbol: "PRQ", + decimals: 18, + contract: address!("0x82164a8B646401a8776F9dC5c8Cba35DcAf60Cd2"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11973/thumb/DsNgK0O.png?1596590280"), +}; + +pub static PAYPAL_USD_42161_0967342E: TokenInfo = TokenInfo { + name: "PayPal USD", + symbol: "PYUSD", + decimals: 6, + contract: address!("0x327006c8712FE0AbdbbD55B7999DB39b0967342E"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/31212/large/PYUSD_Logo_%282%29.png?1691458314"), +}; + +pub static QUANT_42161_3C7EFF85: TokenInfo = TokenInfo { + name: "Quant", + symbol: "QNT", + decimals: 18, + contract: address!("0xC7557C73e0eCa2E1BF7348bB6874Aee63C7eFF85"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/3370/thumb/5ZOu7brX_400x400.jpg?1612437252"), +}; + +pub static RADICLE_42161_12155E49: TokenInfo = TokenInfo { + name: "Radicle", + symbol: "RAD", + decimals: 18, + contract: address!("0x3c45038f4807c5bb72F6BC72c2A2B9c012155e49"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14013/thumb/radicle.png?1614402918"), +}; + +pub static RAI_REFLEX_INDEX_42161_78D419F2: TokenInfo = TokenInfo { + name: "Rai Reflex Index", + symbol: "RAI", + decimals: 18, + contract: address!("0xaeF5bbcbFa438519a5ea80B4c7181B4E78d419f2"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14004/thumb/RAI-logo-coin.png?1613592334"), +}; + +pub static RARIBLE_42161_63C1B8E0: TokenInfo = TokenInfo { + name: "Rarible", + symbol: "RARI", + decimals: 18, + contract: address!("0xCf78572A8fE97b2B9a4B9709f6a7D9a863c1b8E0"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11845/thumb/Rari.png?1594946953"), +}; + +pub static RUBIC_42161_5CBC335F: TokenInfo = TokenInfo { + name: "Rubic", + symbol: "RBC", + decimals: 18, + contract: address!("0x2E9AE8f178d5Ea81970C7799A377B3985cbC335F"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12629/thumb/200x200.png?1607952509"), +}; + +pub static REPUBLIC_TOKEN_42161_1C79A204: TokenInfo = TokenInfo { + name: "Republic Token", + symbol: "REN", + decimals: 18, + contract: address!("0x9fA891e1dB0a6D1eEAC4B929b5AAE1011C79a204"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x408e41876cCCDC0F92210600ef50372656052a38/logo.png"), +}; + +pub static REQUEST_42161_8BB92171: TokenInfo = TokenInfo { + name: "Request", + symbol: "REQ", + decimals: 18, + contract: address!("0x1Cb5bBc64e148C5b889E3c667B49edF78BB92171"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/1031/thumb/Request_icon_green.png?1643250951"), +}; + +pub static RARI_GOVERNANCE_TOKEN_42161_CD794794: TokenInfo = TokenInfo { + name: "Rari Governance Token", + symbol: "RGT", + decimals: 18, + contract: address!("0xef888bcA6AB6B1d26dbeC977C455388ecd794794"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12900/thumb/Rari_Logo_Transparent.png?1613978014"), +}; + +pub static IEXEC_RLC_42161_5D794E66: TokenInfo = TokenInfo { + name: "iExec RLC", + symbol: "RLC", + decimals: 9, + contract: address!("0xE575586566b02A16338c199c23cA6d295D794e66"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/646/thumb/pL1VuXm.png?1604543202"), +}; + +pub static RENDER_TOKEN_42161_6F21E279: TokenInfo = TokenInfo { + name: "Render Token", + symbol: "RNDR", + decimals: 18, + contract: address!("0xC8a4EeA31E9B6b61c406DF013DD4FEc76f21E279"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11636/thumb/rndr.png?1638840934"), +}; + +pub static ROCKET_POOL_PROTOCOL_42161_1D0CC507: TokenInfo = TokenInfo { + name: "Rocket Pool Protocol", + symbol: "RPL", + decimals: 18, + contract: address!("0xB766039cc6DB368759C1E56B79AFfE831d0Cc507"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/2090/large/rocket_pool_%28RPL%29.png?1696503058"), +}; + +pub static RESERVE_RIGHTS_42161_DBD2E594: TokenInfo = TokenInfo { + name: "Reserve Rights", + symbol: "RSR", + decimals: 18, + contract: address!("0xCa5Ca9083702c56b481D1eec86F1776FDbd2e594"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/8365/large/RSR_Blue_Circle_1000.png?1721777856"), +}; + +pub static THE_SANDBOX_42161_D64E3DAC: TokenInfo = TokenInfo { + name: "The Sandbox", + symbol: "SAND", + decimals: 18, + contract: address!("0xd1318eb19DBF2647743c720ed35174efd64e3DAC"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12129/thumb/sandbox_logo.jpg?1597397942"), +}; + +pub static STADER_42161_92F34B63: TokenInfo = TokenInfo { + name: "Stader", + symbol: "SD", + decimals: 18, + contract: address!("0x1629c4112952a7a377cB9B8d7d8c903092f34B63"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/20658/standard/SD_Token_Logo.png"), +}; + +pub static SHIBA_INU_42161_E3872FD1: TokenInfo = TokenInfo { + name: "Shiba Inu", + symbol: "SHIB", + decimals: 18, + contract: address!("0x5033833c9fe8B9d3E09EEd2f73d2aaF7E3872fd1"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11939/thumb/shiba.png?1622619446"), +}; + +pub static SKALE_42161_37267878: TokenInfo = TokenInfo { + name: "SKALE", + symbol: "SKL", + decimals: 18, + contract: address!("0x4F9b7DEDD8865871dF65c5D26B1c2dD537267878"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/13245/thumb/SKALE_token_300x300.png?1606789574"), +}; + +pub static STATUS_42161_A6415160: TokenInfo = TokenInfo { + name: "Status", + symbol: "SNT", + decimals: 18, + contract: address!("0x707F635951193dDaFBB40971a0fCAAb8A6415160"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/779/thumb/status.png?1548610778"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN_42161_BCA37D60: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0xcBA56Cd8216FCBBF3fA6DF6137F3147cBcA37D60"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static UNISOCKS_42161_A3B264E7: TokenInfo = TokenInfo { + name: "Unisocks", + symbol: "SOCKS", + decimals: 18, + contract: address!("0xb2BE52744a804Cc732d606817C2572C5A3B264e7"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/10717/thumb/qFrcoiM.png?1582525244"), +}; + +pub static SOL_WORMHOLE_42161_EC617124: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0xb74Da9FE2F96B9E0a5f4A3cf0b92dd2bEC617124"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static SPELL_TOKEN_42161_FE15D2AF: TokenInfo = TokenInfo { + name: "Spell Token", + symbol: "SPELL", + decimals: 18, + contract: address!("0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/15861/thumb/abracadabra-3.png?1622544862"), +}; + +pub static SPX6900_42161_5D2BA901: TokenInfo = TokenInfo { + name: "SPX6900", + symbol: "SPX", + decimals: 8, + contract: address!("0x53e70cc1d527b524A1C46Eaa892e4CB35d2ba901"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/31401/large/sticker_(1).jpg?1702371083"), +}; + +pub static SQD: TokenInfo = TokenInfo { + name: "SQD", + symbol: "SQD", + decimals: 18, + contract: address!("0x1337420dED5ADb9980CFc35f8f2B054ea86f8aB1"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/37869/standard/New_Logo_SQD_Icon.png?1720048443"), +}; + +pub static STARGATE_FINANCE_42161_A16313EC: TokenInfo = TokenInfo { + name: "Stargate Finance", + symbol: "STG", + decimals: 18, + contract: address!("0xe018C7a3d175Fb0fE15D70Da2c874d3CA16313EC"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/24413/thumb/STG_LOGO.png?1647654518"), +}; + +pub static STORJ_TOKEN_42161_7AA2FCC2: TokenInfo = TokenInfo { + name: "Storj Token", + symbol: "STORJ", + decimals: 8, + contract: address!("0xE6320ebF209971b4F4696F7f0954b8457Aa2FCC2"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC/logo.png"), +}; + +pub static SUPERFARM_42161_26498956: TokenInfo = TokenInfo { + name: "SuperFarm", + symbol: "SUPER", + decimals: 18, + contract: address!("0x7f9cf5a2630a0d58567122217dF7609c26498956"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14040/thumb/6YPdWn6.png?1613975899"), +}; + +pub static SYNTH_SUSD_42161_9D112F95: TokenInfo = TokenInfo { + name: "Synth sUSD", + symbol: "sUSD", + decimals: 18, + contract: address!("0xA970AF1a584579B618be4d69aD6F73459D112F95"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/5013/thumb/sUSD.png?1616150765"), +}; + +pub static SUSHI_42161_0D85C61A: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0xd4d42F0b6DEF4CE0383636770eF773390d85c61A"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static SWELL_42161_A58F2571: TokenInfo = TokenInfo { + name: "Swell", + symbol: "SWELL", + decimals: 18, + contract: address!("0x2C96bE2612bec20fe2975C3ACFcbBe61a58f2571"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/28777/large/swell1.png?1727899715"), +}; + +pub static SYNAPSE_42161_375EAD84: TokenInfo = TokenInfo { + name: "Synapse", + symbol: "SYN", + decimals: 18, + contract: address!("0x1bCfc0B4eE1471674cd6A9F6B363A034375eAD84"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/18024/thumb/syn.png?1635002049"), +}; + +pub static THRESHOLD_NETWORK_42161_DEC21F55: TokenInfo = TokenInfo { + name: "Threshold Network", + symbol: "T", + decimals: 18, + contract: address!("0x0945Cae3ae47cb384b2d47BC448Dc6A9dEC21F55"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/22228/thumb/nFPNiSbL_400x400.jpg?1641220340"), +}; + +pub static TBTC_42161_0A572594: TokenInfo = TokenInfo { + name: "tBTC", + symbol: "tBTC", + decimals: 18, + contract: address!("0x7E2a1eDeE171C5B19E6c54D73752396C0A572594"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/uniswap/assets/master/blockchains/ethereum/assets/0x18084fbA666a33d37592fA2633fD49a74DD93a88/logo.png"), +}; + +pub static TELLOR_42161_10D88242: TokenInfo = TokenInfo { + name: "Tellor", + symbol: "TRB", + decimals: 18, + contract: address!("0xd58D345Fd9c82262E087d2D0607624B410D88242"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/9644/thumb/Blk_icon_current.png?1584980686"), +}; + +pub static TRIBE_42161_03914A5A: TokenInfo = TokenInfo { + name: "Tribe", + symbol: "TRIBE", + decimals: 18, + contract: address!("0xBfAE6fecD8124ba33cbB2180aAb0Fe4c03914A5A"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/14575/thumb/tribe.PNG?1617487954"), +}; + +pub static TURBO_42161_EDE4576A: TokenInfo = TokenInfo { + name: "Turbo", + symbol: "TURBO", + decimals: 18, + contract: address!("0x5C816d4582c857dcadb1bB1F62Ad6c9DEde4576a"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/30117/large/TurboMark-QL_200.png?1708079597"), +}; + +pub static UMA_VOTING_TOKEN_V1_42161_9B0C3B22: TokenInfo = TokenInfo { + name: "UMA Voting Token v1", + symbol: "UMA", + decimals: 18, + contract: address!("0xd693Ec944A85eeca4247eC1c3b130DCa9B0C3b22"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828/logo.png"), +}; + +pub static UNISWAP_42161_72F1F7F0: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0"), + chain: 42161, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static WORLD_LIBERTY_FINANCIAL_USD_42161_DD217A33: TokenInfo = TokenInfo { + name: "World Liberty Financial USD", + symbol: "USD1", + decimals: 18, + contract: address!("0x7550dE0A4b9Fb8CAbA8c32E72Ee356AFdd217A33"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/54977/large/USD1_1000x1000_transparent.png?1749297002"), +}; + +pub static USDCOIN_42161_268E5831: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0xaf88d065e77c8cC2239327C5EDb3A432268e5831"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static BRIDGED_USDC_42161_BDDB5CC8: TokenInfo = TokenInfo { + name: "Bridged USDC", + symbol: "USDC.e", + decimals: 6, + contract: address!("0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static PAX_DOLLAR_42161_B699DF8F: TokenInfo = TokenInfo { + name: "Pax Dollar", + symbol: "USDP", + decimals: 18, + contract: address!("0x78df3a6044Ce3cB1905500345B967788b699dF8f"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/6013/standard/Pax_Dollar.png?1696506427"), +}; + +pub static USDS_STABLECOIN_42161_749B876B: TokenInfo = TokenInfo { + name: "USDS Stablecoin", + symbol: "USDS", + decimals: 18, + contract: address!("0x6491c05A82219b8D1479057361ff1654749b876b"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/39926/large/usds.webp?1726666683"), +}; + +pub static USUAL_42161_2140ABBB: TokenInfo = TokenInfo { + name: "USUAL", + symbol: "USUAL", + decimals: 18, + contract: address!("0x7639AB8599f1b417CbE4ceD492fB30162140AbbB"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/51091/large/USUAL.jpg?1730035787"), +}; + +pub static WRAPPED_AMPLEFORTH_42161_8AE650BB: TokenInfo = TokenInfo { + name: "Wrapped Ampleforth", + symbol: "WAMPL", + decimals: 18, + contract: address!("0x1c8Ec4DE3c2BFD3050695D89853EC6d78AE650bb"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/20825/thumb/photo_2021-11-25_02-05-11.jpg?1637811951"), +}; + +pub static WRAPPED_BTC_42161_AEFC5B0F: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WRAPPED_ETHER_42161_523FBAB1: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WORLD_LIBERTY_FINANCIAL_42161_0E1980BF: TokenInfo = TokenInfo { + name: "World Liberty Financial", + symbol: "WLFI", + decimals: 18, + contract: address!("0x4D1d7134B87490AE5eEbdB22A5820d7d0E1980bf"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/50767/large/wlfi.png?1756438915"), +}; + +pub static WOO_NETWORK_42161_3AEFD07B: TokenInfo = TokenInfo { + name: "WOO Network", + symbol: "WOO", + decimals: 18, + contract: address!("0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12921/thumb/w2UiemF__400x400.jpg?1603670367"), +}; + +pub static TETHER_GOLD_42161_CFC6C9D3: TokenInfo = TokenInfo { + name: "Tether Gold", + symbol: "XAUT", + decimals: 6, + contract: address!("0x9B86f3c7d145979ec6b2F42eD7f92D06cfC6C9d3"), + chain: 42161, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/10481/large/Tether_Gold.png?1696510471"), +}; + +pub static CHAIN_42161_4DEEAFED: TokenInfo = TokenInfo { + name: "Chain", + symbol: "XCN", + decimals: 18, + contract: address!("0x58BbC087e36Db40a84b22c1B93a042294deEAFEd"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/24210/thumb/Chain_icon_200x200.png?1646895054"), +}; + +pub static XSGD_42161_4C1C4302: TokenInfo = TokenInfo { + name: "XSGD", + symbol: "XSGD", + decimals: 6, + contract: address!("0xa05245Ade25cC1063EE50Cf7c083B4524c1C4302"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/12832/standard/StraitsX_Singapore_Dollar_%28XSGD%29_Token_Logo.png?1696512623"), +}; + +pub static YEARN_FINANCE_42161_085B1582: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0x82e3A8F066a6989666b031d916c43672085b1582"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static ZETACHAIN_42161_47B88954: TokenInfo = TokenInfo { + name: "Zetachain", + symbol: "Zeta", + decimals: 18, + contract: address!("0x6DdBbcE7858D276678FC2B36123fD60547b88954"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/26718/standard/Twitter_icon.png?1696525788"), +}; + +pub static LAYERZERO_42161_F13271CD: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 42161, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN_42161_19235AE2: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0xBD591Bd4DdB64b77B5f76Eab8f03d02519235Ae2"), + chain: 42161, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xE41d2489571d322189246DaFA5ebDe1F4699F498/logo.png"), +}; + +pub static WRAPPED_BITCOIN: TokenInfo = TokenInfo { + name: "Wrapped Bitcoin", + symbol: "BTC", + decimals: 18, + contract: address!("0xD629eb00dEced2a080B7EC630eF6aC117e614f1b"), + chain: 42220, + logo_uri: Some("https://raw.githubusercontent.com/ubeswap/default-token-list/master/assets/asset_WBTC.png"), +}; + +pub static CELO: TokenInfo = TokenInfo { + name: "Celo", + symbol: "CELO", + decimals: 18, + contract: address!("0x471EcE3750Da237f93B8E339c536989b8978a438"), + chain: 42220, + logo_uri: Some("https://raw.githubusercontent.com/ubeswap/default-token-list/master/assets/asset_CELO.png"), +}; + +pub static USDCOIN_42220_8B32118C: TokenInfo = TokenInfo { + name: "USDCoin", + symbol: "USDC", + decimals: 6, + contract: address!("0xcebA9300f2b948710d2653dD7B07f33A8B32118C"), + chain: 42220, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png"), +}; + +pub static TETHER_USD_42220_87483D5E: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e"), + chain: 42220, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static WRAPPED_ETHER_42220_622F4361: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x2DEf4285787d58a2f811AF24755A8150622f4361"), + chain: 42220, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static TOKEN_1INCH_43114_8B28F267: TokenInfo = TokenInfo { + name: "1inch", + symbol: "1INCH", + decimals: 18, + contract: address!("0xd501281565bf7789224523144Fe5D98e8B28f267"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028"), +}; + +pub static AAVE_43114_E5D386D9: TokenInfo = TokenInfo { + name: "Aave", + symbol: "AAVE", + decimals: 18, + contract: address!("0x63a72806098Bd3D9520cC43356dD78afe5D386D9"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/12645/thumb/AAVE.png?1601374110"), +}; + +pub static AGEUR_43114_F1F96C57: TokenInfo = TokenInfo { + name: "agEur", + symbol: "agEUR", + decimals: 18, + contract: address!("0xAEC8318a9a59bAEb39861d10ff6C7f7bf1F96C57"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/19479/standard/agEUR.png?1696518915"), +}; + +pub static ALPHA_VENTURE_DAO_43114_7A8E208F: TokenInfo = TokenInfo { + name: "Alpha Venture DAO", + symbol: "ALPHA", + decimals: 18, + contract: address!("0x2147EFFF675e4A4eE1C2f918d181cDBd7a8E208f"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/12738/thumb/AlphaToken_256x256.png?1617160876"), +}; + +pub static ANKR_43114_2C84B4DE: TokenInfo = TokenInfo { + name: "Ankr", + symbol: "ANKR", + decimals: 18, + contract: address!("0x20CF1b6E9d856321ed4686877CF4538F2C84B4dE"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/4324/thumb/U85xTl2.png?1608111978"), +}; + +pub static AXELAR_43114_CE194C5D: TokenInfo = TokenInfo { + name: "Axelar", + symbol: "AXL", + decimals: 6, + contract: address!("0x44c784266cf024a60e8acF2427b9857Ace194C5d"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/27277/large/V-65_xQ1_400x400.jpeg"), +}; + +pub static BASIC_ATTENTION_TOKEN_43114_A4690588: TokenInfo = TokenInfo { + name: "Basic Attention Token", + symbol: "BAT", + decimals: 18, + contract: address!("0x98443B96EA4b0858FDF3219Cd13e98C7A4690588"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/677/thumb/basic-attention-token.png?1547034427"), +}; + +pub static BINANCE_USD_43114_39D2DB39: TokenInfo = TokenInfo { + name: "Binance USD", + symbol: "BUSD", + decimals: 18, + contract: address!("0x9C9e5fD8bbc25984B178FdCE6117Defa39d2db39"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/9576/thumb/BUSD.png?1568947766"), +}; + +pub static COMPOUND_43114_906E2437: TokenInfo = TokenInfo { + name: "Compound", + symbol: "COMP", + decimals: 18, + contract: address!("0xc3048E19E76CB9a3Aa9d77D8C03c29Fc906e2437"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc00e94Cb662C3520282E6f5717214004A7f26888/logo.png"), +}; + +pub static CARTESI_43114_0FABF552: TokenInfo = TokenInfo { + name: "Cartesi", + symbol: "CTSI", + decimals: 18, + contract: address!("0x6b289CCeAA8639e3831095D75A3e43520faBf552"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/11038/thumb/cartesi.png?1592288021"), +}; + +pub static DAI_E_TOKEN: TokenInfo = TokenInfo { + name: "DAI.e Token", + symbol: "DAI.e", + decimals: 18, + contract: address!("0xd586E7F844cEa2F87f50152665BCbc2C279D8d70"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/avalanchec/assets/0xd586E7F844cEa2F87f50152665BCbc2C279D8d70/logo.png"), +}; + +pub static DEFI_YIELD_PROTOCOL_43114_91BCEF17: TokenInfo = TokenInfo { + name: "DeFi Yield Protocol", + symbol: "DYP", + decimals: 18, + contract: address!("0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/13480/thumb/DYP_Logo_Symbol-8.png?1655809066"), +}; + +pub static EURO_COIN_43114_505C2ACD: TokenInfo = TokenInfo { + name: "Euro Coin", + symbol: "EURC", + decimals: 6, + contract: address!("0xC891EB4cbdEFf6e073e859e987815Ed1505c2ACD"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/26045/standard/euro.png?1696525125"), +}; + +pub static FLUX_43114_C20DAF55: TokenInfo = TokenInfo { + name: "Flux", + symbol: "FLUX", + decimals: 8, + contract: address!("0xc4B06F17ECcB2215a5DBf042C672101Fc20daF55"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x720CD16b011b987Da3518fbf38c3071d4F0D1495/logo.png"), +}; + +pub static FRAX_43114_21A1DA64: TokenInfo = TokenInfo { + name: "Frax", + symbol: "FRAX", + decimals: 18, + contract: address!("0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/13422/thumb/frax_logo.png?1608476506"), +}; + +pub static FRAX_SHARE_43114_3FC8E387: TokenInfo = TokenInfo { + name: "Frax Share", + symbol: "FXS", + decimals: 18, + contract: address!("0x214DB107654fF987AD859F34125307783fC8e387"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/13423/thumb/frax_share.png?1608478989"), +}; + +pub static GMX_43114_5011C661: TokenInfo = TokenInfo { + name: "GMX", + symbol: "GMX", + decimals: 18, + contract: address!("0x62edc0692BD897D2295872a9FFCac5425011c661"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/18323/large/arbit.png?1631532468"), +}; + +pub static THE_GRAPH_43114_69E85CB9: TokenInfo = TokenInfo { + name: "The Graph", + symbol: "GRT", + decimals: 18, + contract: address!("0x8a0cAc13c7da965a312f08ea4229c37869e85cB9"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/13397/thumb/Graph_Token.png?1608145566"), +}; + +pub static GUNZ: TokenInfo = TokenInfo { + name: "GUNZ", + symbol: "GUN", + decimals: 18, + contract: address!("0x26deBD39D5eD069770406FCa10A0E4f8d2c743eB"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/55027/standard/gunz.jpg?1743262298"), +}; + +pub static CHAINLINK_TOKEN_43114_413227A3: TokenInfo = TokenInfo { + name: "ChainLink Token", + symbol: "LINK", + decimals: 18, + contract: address!("0x5947BB275c521040051D82396192181b413227A3"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png"), +}; + +pub static MAGIC_INTERNET_MONEY_43114_8CB8C18D: TokenInfo = TokenInfo { + name: "Magic Internet Money", + symbol: "MIM", + decimals: 18, + contract: address!("0x130966628846BFd36ff31a822705796e8cb8C18D"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/16786/thumb/mimlogopng.png?1624979612"), +}; + +pub static MAKER_43114_AAB72D42: TokenInfo = TokenInfo { + name: "Maker", + symbol: "MKR", + decimals: 18, + contract: address!("0x88128fd4b259552A9A1D457f435a6527AAb72d42"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2/logo.png"), +}; + +pub static MULTICHAIN_43114_3C8764E3: TokenInfo = TokenInfo { + name: "Multichain", + symbol: "MULTI", + decimals: 18, + contract: address!("0x9Fb9a33956351cf4fa040f65A13b835A3C8764E3"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/22087/thumb/1_Wyot-SDGZuxbjdkaOeT2-A.png?1640764238"), +}; + +pub static PENDLE_43114_62EA213B: TokenInfo = TokenInfo { + name: "Pendle", + symbol: "PENDLE", + decimals: 18, + contract: address!("0xfB98B335551a418cD0737375a2ea0ded62Ea213b"), + chain: 43114, + logo_uri: Some("https://coin-images.coingecko.com/coins/images/15069/large/Pendle_Logo_Normal-03.png?1696514728"), +}; + +pub static RAI_REFLEX_INDEX_43114_031BFF7D: TokenInfo = TokenInfo { + name: "Rai Reflex Index", + symbol: "RAI", + decimals: 18, + contract: address!("0x97Cd1CFE2ed5712660bb6c14053C0EcB031Bff7d"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/14004/thumb/RAI-logo-coin.png?1613592334"), +}; + +pub static SYNTHETIX_NETWORK_TOKEN_43114_BA4B209B: TokenInfo = TokenInfo { + name: "Synthetix Network Token", + symbol: "SNX", + decimals: 18, + contract: address!("0xBeC243C995409E6520D7C41E404da5dEba4b209B"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F/logo.png"), +}; + +pub static SOL_WORMHOLE_43114_06D2478F: TokenInfo = TokenInfo { + name: "SOL Wormhole ", + symbol: "SOL", + decimals: 9, + contract: address!("0xFE6B19286885a4F7F55AdAD09C3Cd1f906D2478F"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/22876/thumb/SOL_wh_small.png?1644224316"), +}; + +pub static SPELL_TOKEN_43114_1A2F7814: TokenInfo = TokenInfo { + name: "Spell Token", + symbol: "SPELL", + decimals: 18, + contract: address!("0xCE1bFFBD5374Dac86a2893119683F4911a2F7814"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/15861/thumb/abracadabra-3.png?1622544862"), +}; + +pub static STARGATE_FINANCE_43114_F56E7590: TokenInfo = TokenInfo { + name: "Stargate Finance", + symbol: "STG", + decimals: 18, + contract: address!("0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/24413/thumb/STG_LOGO.png?1647654518"), +}; + +pub static SUSHI_43114_722E4F76: TokenInfo = TokenInfo { + name: "Sushi", + symbol: "SUSHI", + decimals: 18, + contract: address!("0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/12271/thumb/512x512_Logo_no_chop.png?1606986688"), +}; + +pub static SYNAPSE_43114_E09CA251: TokenInfo = TokenInfo { + name: "Synapse", + symbol: "SYN", + decimals: 18, + contract: address!("0x1f1E7c893855525b303f99bDF5c3c05Be09ca251"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/18024/thumb/syn.png?1635002049"), +}; + +pub static UMA_VOTING_TOKEN_V1_43114_0A5B2339: TokenInfo = TokenInfo { + name: "UMA Voting Token v1", + symbol: "UMA", + decimals: 18, + contract: address!("0x3Bd2B1c7ED8D396dbb98DED3aEbb41350a5b2339"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828/logo.png"), +}; + +pub static UNI_E_TOKEN: TokenInfo = TokenInfo { + name: "UNI.e Token", + symbol: "UNI.e", + decimals: 18, + contract: address!("0x8eBAf22B6F053dFFeaf46f4Dd9eFA95D89ba8580"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/avalanchec/assets/0x8eBAf22B6F053dFFeaf46f4Dd9eFA95D89ba8580/logo.png"), +}; + +pub static USDC_TOKEN: TokenInfo = TokenInfo { + name: "USDC Token", + symbol: "USDC", + decimals: 6, + contract: address!("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/avalanchec/assets/0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E/logo.png"), +}; + +pub static TETHER_USD_43114_4DF4A8C7: TokenInfo = TokenInfo { + name: "Tether USD", + symbol: "USDT", + decimals: 6, + contract: address!("0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png"), +}; + +pub static WRAPPED_AVAX: TokenInfo = TokenInfo { + name: "Wrapped AVAX", + symbol: "WAVAX", + decimals: 18, + contract: address!("0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/avalanchec/assets/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png"), +}; + +pub static WRAPPED_BTC_43114_5187B218: TokenInfo = TokenInfo { + name: "Wrapped BTC", + symbol: "WBTC", + decimals: 8, + contract: address!("0x50b7545627a5162F82A992c33b87aDc75187B218"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png"), +}; + +pub static WRAPPED_ETHER_43114_6BC10BAB: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WOO_NETWORK_43114_5F58D083: TokenInfo = TokenInfo { + name: "WOO Network", + symbol: "WOO", + decimals: 18, + contract: address!("0xaBC9547B534519fF73921b1FBA6E672b5f58D083"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/12921/thumb/w2UiemF__400x400.jpg?1603670367"), +}; + +pub static YEARN_FINANCE_43114_922F52DC: TokenInfo = TokenInfo { + name: "yearn finance", + symbol: "YFI", + decimals: 18, + contract: address!("0x9eAaC1B23d935365bD7b542Fe22cEEe2922f52dc"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330"), +}; + +pub static LAYERZERO_43114_F13271CD: TokenInfo = TokenInfo { + name: "LayerZero", + symbol: "ZRO", + decimals: 18, + contract: address!("0x6985884C4392D348587B19cb9eAAf157F13271cd"), + chain: 43114, + logo_uri: Some("https://assets.coingecko.com/coins/images/28206/standard/ftxG9_TJ_400x400.jpeg?1696527208"), +}; + +pub static TOKEN_0X_PROTOCOL_TOKEN_43114_75CDE0D2: TokenInfo = TokenInfo { + name: "0x Protocol Token", + symbol: "ZRX", + decimals: 18, + contract: address!("0x596fA47043f99A4e0F122243B841E55375cdE0d2"), + chain: 43114, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xE41d2489571d322189246DaFA5ebDe1F4699F498/logo.png"), +}; + +pub static WRAPPED_ETHER_80001_C5D1C0AA: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa"), + chain: 80001, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static WRAPPED_MATIC_80001_FB032889: TokenInfo = TokenInfo { + name: "Wrapped Matic", + symbol: "WMATIC", + decimals: 18, + contract: address!("0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889"), + chain: 80001, + logo_uri: Some("https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912"), +}; + +pub static BLAST: TokenInfo = TokenInfo { + name: "Blast", + symbol: "BLAST", + decimals: 18, + contract: address!("0xb1a5700fA2358173Fe465e6eA4Ff52E36e88E2ad"), + chain: 81457, + logo_uri: Some("https://assets.coingecko.com/coins/images/35494/standard/Blast.jpg?1719385662"), +}; + +pub static USD_COIN_BRIDGED_FROM_ETHEREUM: TokenInfo = TokenInfo { + name: "USD Coin (Bridged from Ethereum)", + symbol: "USDzC", + decimals: 6, + contract: address!("0xCccCCccc7021b32EBb4e8C08314bD62F7c653EC4"), + chain: 7777777, + logo_uri: Some("https://assets.coingecko.com/coins/images/35218/large/USDC_Icon.png?1707908537"), +}; + +pub static UNISWAP_11155111_4201F984: TokenInfo = TokenInfo { + name: "Uniswap", + symbol: "UNI", + decimals: 18, + contract: address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"), + chain: 11155111, + logo_uri: Some("ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg"), +}; + +pub static WRAPPED_ETHER_11155111_324D6B14: TokenInfo = TokenInfo { + name: "Wrapped Ether", + symbol: "WETH", + decimals: 18, + contract: address!("0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"), + chain: 11155111, + logo_uri: Some("https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png"), +}; + +pub static TOKENS: &[&TokenInfo] = &[ + &TOKEN_1INCH, + &ANCIENT8, + &AAVE, + &ARCBLOCK, + &ALCHEMY_PAY, + &ACROSS_PROTOCOL_TOKEN, + &AMBIRE_ADEX, + &AERGO, + &AEVO, + &AGEUR, + &ADVENTURE_GOLD, + &AIOZ_NETWORK, + &ALCHEMIX, + &ALEPH_IM, + &ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE, + &MY_NEIGHBOR_ALICE, + &ALLORA, + &ALPHA_VENTURE_DAO, + &ALTLAYER, + &, + &ANKR, + &ARAGON, + &APECOIN, + &API3, + &APRIORI, + &APU_APUSTAJA, + &ARBITRUM, + &ARKHAM, + &ARPA_CHAIN, + &ASH, + &ASSEMBLE_PROTOCOL, + &AIRSWAP, + &AUTOMATA, + &AETHIR_TOKEN, + &BOUNCE, + &AUDD, + &AUDIUS, + &ARTVERSE_TOKEN, + &AXELAR, + &AXIE_INFINITY, + &AZTEC, + &BADGER_DAO, + &BALANCER, + &BAND_PROTOCOL, + &LOMBARD, + &BASIC_ATTENTION_TOKEN, + &BEAM, + &BICONOMY, + &BIG_TIME, + &BIO, + &BITDAO, + &HARRYPOTTEROBAMASONIC10INU, + &BLUR, + &BLUZELLE, + &BANCOR_NETWORK_TOKEN, + &BOBA_NETWORK, + &BOB, + &BARNBRIDGE, + &BREVIS, + &BRAINTRUST, + &BINANCE_USD, + &COIN98, + &PANCAKESWAP, + &COINBASE_WRAPPED_BTC, + &COINBASE_WRAPPED_STAKED_ETH, + &CELO_NATIVE_ASSET_WORMHOLE, + &CELER_NETWORK, + &CENTRIFUGE, + &CHROMIA, + &CHILIZ, + &CLOVER_FINANCE, + &COMPOUND, + &CORN, + &COTI, + &CIRCUITS_OF_VALUE, + &COW_PROTOCOL, + &CLEARPOOL, + &COVALENT, + &CRONOS, + &CRYPTERIUM, + &CURVE_DAO_TOKEN, + &CARTESI, + &CRYPTEX_FINANCE, + &SOMNIUM_SPACE_CUBES, + &CIVIC, + &CONVEX_FINANCE, + &COVALENT_X_TOKEN, + &DAI_STABLECOIN, + &MINES_OF_DALARNIA, + &DERIVADAO, + &DENT, + &DEXTOOLS, + &DIA, + &DISTRICT0X, + &DOLOMITE, + &DOVU, + &DEFI_PULSE_INDEX, + &DREP, + &DERIVE, + &DYDX, + &DEFI_YIELD_PROTOCOL, + &EIGENLAYER, + &ELASTOS, + &DOGELON_MARS, + ÐENA, + &ENJIN_COIN, + ÐEREUM_NAME_SERVICE, + &CALDERA, + ÐERNITY_CHAIN, + &ESPRESSO, + ÐER_FI, + &EULER, + &EURO_COIN, + &SCHUMAN_EUR_P, + &QUANTOZ_EURQ, + &STABLR_EURO, + &HARVEST_FINANCE, + &FETCH_AI, + &FIDELITY_DIGITAL_DOLLAR, + &STAFI, + &FLOKI, + &FLUX, + &FORTA, + &LEFORTH_GOVERNANCE_TOKEN, + &SHAPESHIFT_FOX_TOKEN, + &FRAX, + &FANTOM, + &FUNCTION_X, + &FRAX_SHARE, + &GRAVITY, + &GALXE, + &GALA, + &GOLDFINCH, + &AAVEGOTCHI, + &GOLEM, + &GNOSIS_TOKEN, + &GODS_UNCHAINED, + &THE_GRAPH, + &GITCOIN, + &GEMINI_DOLLAR, + ÐGAS, + &GYEN, + &HASHFLOW, + &HIGHSTREET, + &HOPR, + &IDEX, + &ILLUVIUM, + &IMMUNEFI, + &IMMUTABLE_X, + &INDEX_COOPERATIVE, + &INJECTIVE, + &INVERSE_FINANCE, + &INFINEX, + &IOTEX, + &IRYS, + &GEOJAM, + &JASMYCOIN, + &JUPITER, + &KEEP_NETWORK, + &KERNELDAO, + &SELFKEY, + &KITE, + &KYBER_NETWORK_CRYSTAL, + &KEEP3RV1, + &KRYLL, + &KUJIRA, + &LAYER3, + &LAGRANGE, + &LCX, + &LIDO_DAO, + &LINEA, + &CHAINLINK_TOKEN, + &LITENTRY, + &LIGHTER, + &LEAGUE_OF_KINGDOMS, + &LOOM_NETWORK, + &LIVEPEER, + &LIQUITY, + &LOOPRINGCOIN_V2, + &BLOCKLORDS, + &LIQUID_STAKED_ETH, + &LISK, + &LIQUITY_USD, + &DECENTRALAND, + &MASK_NETWORK, + &MATH, + &POLYGON, + &MERIT_CIRCLE, + &MOSS_CARBON_CREDIT, + &MEASURABLE_DATA_TOKEN, + &MEMECOIN, + &METIS, + &MAGIC_INTERNET_MONEY, + &MIRROR_PROTOCOL, + &MAKER, + &MELON, + &MANTLE, + &MOG_COIN, + &MONAVALE, + &MORPHO_TOKEN, + &MOVEMENT, + &MAPLE, + &METAL, + &MULTICHAIN, + &MSTABLE_USD, + &MUSE_DAO, + &GENSOKISHI_METAVERSE, + &MXC, + &POLYSWARM, + &NEIRO, + &NEWTON, + &NKN, + &NUMERAIRE, + &NOMINA, + &NUCYPHER, + &OCEAN_PROTOCOL, + &ORIGIN_PROTOCOL, + &OMG_NETWORK, + &OMNI_NETWORK, + &ONDO_FINANCE, + &ORCA_ALLIANCE, + &ORION_PROTOCOL, + &ORCHID, + &PAYPEREX, + &PAX_GOLD, + &PLAYDAPP, + &PENDLE, + &PEPE, + &PERPETUAL_PROTOCOL, + &PIRATE_NATION, + &PLUTON, + &PLUME, + &POLYGON_ECOSYSTEM_TOKEN, + &POLKASTARTER, + &POLYMATH, + &MARLIN, + &PORTAL, + &POWER_LEDGER, + &PRIME, + &PROPY, + &SUCCINCT, + &PARSIQ, + &PSTAKE_FINANCE, + &PUFFER_FINANCE, + &PAYPAL_USD, + &QUANT, + &QREDO, + &QUANTSTAMP, + &QUICKSWAP, + &RADICLE, + &RAI_REFLEX_INDEX, + &SUPERRARE, + &RARIBLE, + &RUBIC, + &RIBBON_FINANCE, + &REDSTONE, + &REPUBLIC_TOKEN, + &REPUTATION_AUGUR_V1, + &REPUTATION_AUGUR_V2, + &REQUEST, + &REVV, + &RENZO, + &RARI_GOVERNANCE_TOKEN, + &IEXEC_RLC, + &RAYLS, + &RLUSD, + &RALLY, + &RENDER_TOKEN, + &ROBO_TOKEN, + &ROOK, + &ROCKET_POOL_PROTOCOL, + &RESERVE_RIGHTS, + &SAFE, + &THE_SANDBOX, + &STADER, + &SENTIENT, + &SHIBA_INU, + &SHPING, + &SKALE, + &SKY_GOVERNANCE_TOKEN, + &SMOOTH_LOVE_POTION, + &STATUS, + &SYNTHETIX_NETWORK_TOKEN, + &UNISOCKS, + &SOL_WORMHOLE, + &SPELL_TOKEN, + &SPARK, + &SPX6900, + &STARGATE_FINANCE, + &STORJ_TOKEN, + &STARKNET, + &STOX, + &SUKU, + &SUPERFARM, + &SYNTH_SUSD, + &SUSHI, + &SWELL, + &SWFTCOIN, + &SWIPE, + &SPACE_AND_TIME, + &SYLO, + &SYNAPSE, + &SYRUP_TOKEN, + &THRESHOLD_NETWORK, + &TBTC, + &TERM_FINANCE, + &THEORIQ, + &CHRONOTECH, + &ALIEN_WORLDS, + &TOKEMAK, + &TOKENFI, + &TE_FOOD, + &ORIGINTRAIL, + &TELLOR, + &TREEHOUSE_TOKEN, + &TRIA, + &TRIBE, + &TRUEFI, + &TURBO, + &THE_VIRTUA_KOLECT, + &UMA_VOTING_TOKEN_V1, + &UNIFI_PROTOCOL_DAO, + &UNISWAP, + &PAWTOCOL, + &WORLD_LIBERTY_FINANCIAL_USD, + &USDCOIN, + &GLOBAL_DOLLAR, + &PAX_DOLLAR, + &QUANTOZ_USDQ, + &STABLR_USD, + &USDS_STABLECOIN, + &TETHER_USD, + &USUAL, + &VANRY, + &VOYAGER_TOKEN, + &WRAPPED_AMPLEFORTH, + &WRAPPED_ANALOG_ONE_TOKEN, + &WRAPPED_BTC, + &WRAPPED_CENTRIFUGE, + &WALLETCONNECT_TOKEN, + &WRAPPED_ETHER, + &WORLD_LIBERTY_FINANCIAL, + &WOO_NETWORK, + &ANOMA, + &TETHER_GOLD, + &CHAIN, + &XSGD, + &XYO_NETWORK, + &YIELD_BASIS, + &YEARN_FINANCE, + &DFI_MONEY, + &YIELD_GUILD_GAMES, + &ZAMA, + &ZETACHAIN, + &BOUNDLESS, + &ZKPASS, + &LAYERZERO, + &TOKEN_0X_PROTOCOL_TOKEN, + &DAI_STABLECOIN_3_CE07538D, + &UNISWAP_3_4201F984, + &WRAPPED_ETHER_3_AA0CD5AB, + &DAI_STABLECOIN_4_A8FC4735, + &MAKER_4_359AAD85, + &UNISWAP_4_4201F984, + &WRAPPED_ETHER_4_AA0CD5AB, + &UNISWAP_5_4201F984, + &WRAPPED_ETHER_5_2B2208D6, + &TOKEN_1INCH_10_94736426, + &AAVE_10_950C9278, + &ACROSS_PROTOCOL_TOKEN_10_FDD1B76B, + &ARPA_CHAIN_10_C9BFA31E, + &BALANCER_10_E9379921, + &BICONOMY_10_C0FB1C9D, + &BOBA_NETWORK_10_CB88854D, + &BARNBRIDGE_10_3F276747, + &BRAINTRUST_10_E141254E, + &BINANCE_USD_10_39D2DB39, + &COINBASE_WRAPPED_STAKED_ETH_10_78DCF3B2, + &CELO_NATIVE_ASSET_WORMHOLE_10_B9B5C349, + &CURVE_DAO_TOKEN_10_0605FB53, + &CARTESI_10_071295BF, + &CYBER, + &DAI_STABLECOIN_10_C9000DA1, + &DERIVE_10_72BBA100, + ÐEREUM_NAME_SERVICE_10_5E890A00, + &STAFI_10_911BAD41, + &SHAPESHIFT_FOX_TOKEN_10_37CED174, + &FRAX_10_9A53F475, + &FRAX_SHARE_10_1C2205BE, + &GITCOIN_10_46445B08, + &GYEN_10_D9B6D5F7, + &KRYLL_10_C9022021, + &KUJIRA_10_5671E7CA, + &LIDO_DAO_10_2596735F, + &CHAINLINK_TOKEN_10_38FFA7F6, + &LOOPRINGCOIN_V2_10_1464907E, + &LIQUITY_USD_10_9B7B2819, + &MASK_NETWORK_10_BDF63798, + &MAKER_10_27F2FCB5, + &OCEAN_PROTOCOL_10_B8B49F9E, + &OPTIMISM, + &PENDLE_10_796E66E1, + &PEPE_10_9DDB16F5, + &PERPETUAL_PROTOCOL_10_976840E0, + &RAI_REFLEX_INDEX_10_7705448B, + &RARI_GOVERNANCE_TOKEN_10_DCEC711A, + &ROCKET_POOL_PROTOCOL_10_C14D1401, + &STATUS_10_64CFB6B2, + &SYNTHETIX_NETWORK_TOKEN_10_3D7599B4, + &SOL_WORMHOLE_10_7FA664F1, + &SUKU_10_0B9E50A4, + &SYNTH_SUSD_10_751EC8D9, + &SUSHI_10_0F60112B, + &THRESHOLD_NETWORK_10_8C734EA7, + &TELLOR_10_E3CEB888, + &UMA_VOTING_TOKEN_V1_10_855A77EA, + &UNISWAP_10_0E816691, + &USDCOIN_10_D097FF85, + &USDCOIN_BRIDGED_FROM_ETHEREUM, + &TETHER_USD_10_8CE58E58, + &VELODROME_FINANCE, + &WRAPPED_BTC_10_BF0A2095, + &WALLETCONNECT_TOKEN_10_DD927945, + &WRAPPED_ETHER_10_00000006, + &WORLDCOIN, + &WOO_NETWORK_10_51A5E527, + &XYO_NETWORK_10_DBD81FC8, + &YEARN_FINANCE_10_FEE9107B, + &LAYERZERO_10_F13271CD, + &TOKEN_0X_PROTOCOL_TOKEN_10_FA3C2F33, + &DAI_STABLECOIN_42_B64CA6AA, + &MAKER_42_71A4FFCD, + &UNISWAP_42_4201F984, + &WRAPPED_ETHER_42_C2CF029C, + &TOKEN_1INCH_56_4120C302, + &AAVE_56_7E58F802, + &ALCHEMY_PAY_56_7003056D, + &AMBIRE_ADEX_56_A7077819, + &AGEUR_56_D5FE5F89, + &AIOZ_NETWORK_56_9FC3741D, + &ALEPH_IM_56_DE9038C4, + &MY_NEIGHBOR_ALICE_56_745D63E8, + &ALPHA_VENTURE_DAO_56_13B40975, + &ANKR_56_531B08E3, + &ARPA_CHAIN_56_FA2D6F7E, + &ASTER, + &AUTOMATA_56_2F141225, + &AXELAR_56_C96F1F65, + &AXIE_INFINITY_56_D4D2F8A0, + &BLUZELLE_56_DA0ACDA2, + &BINANCE_USD_56_DD087D56, + &COIN98_56_90F1C3A6, + &CHROMIA_56_32B224FE, + &CLOVER_FINANCE_56_367A4E4D, + &COMPOUND_56_8CAD67E8, + &CIRCUITS_OF_VALUE_56_2B141464, + &CARTESI_56_2D033EF2, + &DAI_STABLECOIN_56_58B1DBC3, + &MINES_OF_DALARNIA_56_D45CD978, + &DEXTOOLS_56_C29896E3, + &DIA_56_7E0901DD, + &DREP_56_01A705FF, + &DEFI_YIELD_PROTOCOL_56_91BCEF17, + &DOGELON_MARS_56_D9BE2540, + &HARVEST_FINANCE_56_A5D33743, + &FETCH_AI_56_8691FA7F, + &FLOKI_56_5363D37E, + &FRAX_56_53E89F40, + &FANTOM_56_AF29DCFE, + &FRAX_SHARE_56_5EADB9EE, + &GALXE_56_40497AA5, + ÐGAS_56_B72F7D49, + &HASHFLOW_56_35883E47, + &HIGHSTREET_56_1FFEED63, + &INJECTIVE_56_EBE4D495, + &JUPITER_56_8E140CE7, + &KUJIRA_56_7C9FB5CC, + &CHAINLINK_TOKEN_56_111A51BD, + &MASK_NETWORK_56_F4D568A3, + &MATH_56_98A36983, + &POLYGON_56_5ED682BD, + &MERIT_CIRCLE_56_4EF9E5D6, + &METIS_56_B0820639, + &MAGIC_INTERNET_MONEY_56_19F433BA, + &MIRROR_PROTOCOL_56_10D8C2C9, + &MULTICHAIN_56_3C8764E3, + &PERPETUAL_PROTOCOL_56_84C7C6F5, + &POLKASTARTER_56_0887F570, + &PARSIQ_56_93D2A577, + &PSTAKE_FINANCE_56_F58A7C0C, + &REVV_56_8D702A93, + &STADER_56_0B5481E8, + &SOL_WORMHOLE_56_D3AEA76E, + &STARGATE_FINANCE_56_9631D62B, + &SUPERFARM_56_CC4F0D4D, + &SUSHI_56_FC9124C4, + &SWFTCOIN_56_55DFBAD3, + &SWIPE_56_FABA485A, + &SYNAPSE_56_1F9E9484, + &CHRONOTECH_56_DE5D7F68, + &ALIEN_WORLDS_56_EBD57C95, + &UNIFI_PROTOCOL_DAO_56_6B814D8B, + &UNISWAP_56_A02CE9B1, + &PAWTOCOL_56_94334EE4, + &USDCOIN_56_32CD580D, + &TETHER_USD_56_B3197955, + &WRAPPED_BNB, + &WRAPPED_ETHER_56_59F933F8, + &WOO_NETWORK_56_9E945D4B, + &CHAIN_56_DF88A05B, + &LAYERZERO_56_F13271CD, + &TOKEN_1INCH_130_A9ACD06E, + &ANCIENT8_130_FEF7759A, + &AAVE_130_BEEAAE1E, + &ARCBLOCK_130_FE5675BC, + &ALCHEMY_PAY_130_E66ECF77, + &ACROSS_PROTOCOL_TOKEN_130_62BBB32C, + &AMBIRE_ADEX_130_A299A500, + &AERGO_130_F15873B5, + &AEVO_130_60D60F8B, + &AGEUR_130_C681A118, + &ADVENTURE_GOLD_130_412721CF, + &AIOZ_NETWORK_130_6CF99B1A, + &ALCHEMIX_130_5AEBDCD6, + &ALEPH_IM_130_4C15BB5C, + &ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_130_EEC73780, + &MY_NEIGHBOR_ALICE_130_8860960A, + &ALPHA_VENTURE_DAO_130_CEBD78D3, + &ALTLAYER_130_B3589153, + &_130_2BBC967F, + &ANKR_130_EFF97622, + &ARAGON_130_D4A31308, + &APECOIN_130_314046CF, + &API3_130_F678961B, + &APU_APUSTAJA_130_63B9E379, + &ARBITRUM_130_18A4B40D, + &ARKHAM_130_442EF089, + &ARPA_CHAIN_130_88E30B45, + &ASH_130_5A30D7FB, + &ASSEMBLE_PROTOCOL_130_5BA0ADA7, + &AIRSWAP_130_8C09AE56, + &AUTOMATA_130_D890C4B2, + &AETHIR_TOKEN_130_FEE183AB, + &BOUNCE_130_91BEF68E, + &AUDIUS_130_3C81684B, + &ARTVERSE_TOKEN_130_00939999, + &AXELAR_130_A4CBF2C9, + &AXIE_INFINITY_130_D188F927, + &BADGER_DAO_130_17388406, + &BALANCER_130_34A8ADDF, + &BAND_PROTOCOL_130_6A8857D5, + &BASIC_ATTENTION_TOKEN_130_508EA589, + &BEAM_130_F9500824, + &BICONOMY_130_1D0588E7, + &BIG_TIME_130_D2FA7CDC, + &BITDAO_130_FB523A5C, + &HARRYPOTTEROBAMASONIC10INU_130_9B3D706F, + &BLUR_130_2B9255EA, + &BLUZELLE_130_8EF471EE, + &BANCOR_NETWORK_TOKEN_130_472C5A62, + &BOBA_NETWORK_130_BBB41B05, + &BARNBRIDGE_130_61DF8972, + &BONK, + &BRAINTRUST_130_00986B71, + &BINANCE_USD_130_BDA9F9C6, + &COIN98_130_F8E4F8E1, + &COINBASE_WRAPPED_BTC_130_AB6A1EF1, + &COINBASE_WRAPPED_STAKED_ETH_130_8211DB59, + &CELO_NATIVE_ASSET_WORMHOLE_130_5A8A8D9C, + &CELER_NETWORK_130_48035703, + &CHROMIA_130_210A4E5B, + &CHILIZ_130_8B2396B0, + &CLOVER_FINANCE_130_FA41404C, + &COMPOUND_130_F2288656, + &COTI_130_32F499C3, + &CIRCUITS_OF_VALUE_130_CC295BEC, + &COW_PROTOCOL_130_B26D3996, + &CLEARPOOL_130_423DFB57, + &COVALENT_130_621F90C1, + &CRONOS_130_A30DE818, + &CRYPTERIUM_130_18B0D066, + &CURVE_DAO_TOKEN_130_D1C2CCB3, + &CARTESI_130_BAAED2C5, + &CRYPTEX_FINANCE_130_62FCB619, + &SOMNIUM_SPACE_CUBES_130_92C2F8AF, + &CIVIC_130_E85A01ED, + &CONVEX_FINANCE_130_F0087EA5, + &COVALENT_X_TOKEN_130_F14E5A09, + &DAI_STABLECOIN_130_19573F81, + &MINES_OF_DALARNIA_130_90288086, + &DERIVADAO_130_3A270265, + &DENT_130_328E874C, + &DEXTOOLS_130_1723CDDD, + &DIA_130_3F9543C2, + &DISTRICT0X_130_C1B9E545, + &DOGECOIN, + &DEFI_PULSE_INDEX_130_CD2F84F1, + &DREP_130_38EA9EE7, + &DYDX_130_5FAEB82C, + &DEFI_YIELD_PROTOCOL_130_9D598610, + &EIGENLAYER_130_D016C47D, + &ELASTOS_130_D8E8C1AB, + &DOGELON_MARS_130_26C1DE05, + ÐENA_130_A6CBD2DD, + &ENJIN_COIN_130_84A6D0A6, + ÐEREUM_NAME_SERVICE_130_B5F0383A, + ÐERNITY_CHAIN_130_A93CDB03, + ÐER_FI_130_58880821, + &EULER_130_5B5D03FE, + &EURO_COIN_130_2813B0A8, + &QUANTOZ_EURQ_130_24D7D72D, + &STABLR_EURO_130_9C36FB5F, + &HARVEST_FINANCE_130_31EE825F, + &FETCH_AI_130_DDD7DFE7, + &STAFI_130_A10764A6, + &FLOKI_130_6C51FA81, + &FORTA_130_D87D94E5, + &LEFORTH_GOVERNANCE_TOKEN_130_2220F12E, + &SHAPESHIFT_FOX_TOKEN_130_3B7A318E, + &FRAX_130_D74132B9, + &FANTOM_130_90DC7F0E, + &FUNCTION_X_130_1D7AF1AF, + &FRAX_SHARE_130_062021D6, + &GRAVITY_130_6FD8803C, + &GALXE_130_443D8675, + &GALA_130_B560FAC9, + &GOLDFINCH_130_B157D3D0, + &AAVEGOTCHI_130_840AD24B, + &GOLEM_130_E2C9F2B9, + &GNOSIS_TOKEN_130_E125A938, + &GODS_UNCHAINED_130_D3683F48, + &THE_GRAPH_130_B3204D71, + &GITCOIN_130_8FE5CF48, + &GEMINI_DOLLAR_130_5C0920A9, + &GYEN_130_A574C36F, + &HASHFLOW_130_8C34A28B, + &HIGHSTREET_130_B1374879, + &HOPR_130_AF385B36, + &HYPERLIQUID, + &IDEX_130_60EABE8E, + &ILLUVIUM_130_42F3E51F, + &IMMUTABLE_X_130_F5AA8053, + &INDEX_COOPERATIVE_130_121E39B7, + &INJECTIVE_130_9A89F9F8, + &INVERSE_FINANCE_130_9F7B54FB, + &IOTEX_130_E2B6843F, + &GEOJAM_130_1D5C61A8, + &JASMYCOIN_130_22720708, + &JUPITER_130_E5CAB8B2, + &JUPITER_130_2381AFAD, + &KEEP_NETWORK_130_EA6AFE80, + &SELFKEY_130_3F1BBFDC, + &KYBER_NETWORK_CRYSTAL_130_B7CD2284, + &KEEP3RV1_130_5FAD6A74, + &KRYLL_130_4F002943, + &KUJIRA_130_30258681, + &LAYER3_130_1B7B482C, + &LCX_130_46687782, + &LIDO_DAO_130_814E8829, + &CHAINLINK_TOKEN_130_9BBEEFB7, + &LITENTRY_130_91BE0FDF, + &LEAGUE_OF_KINGDOMS_130_AAC89733, + &LOOM_NETWORK_130_009F523C, + &LIVEPEER_130_F35B73E3, + &LIQUITY_130_53C71A60, + &LOOPRINGCOIN_V2_130_A8AB158A, + &BLOCKLORDS_130_0C7BEE3F, + &LIQUITY_USD_130_D72577FB, + &DECENTRALAND_130_00FE358B, + &MASK_NETWORK_130_1B9512C4, + &MATH_130_99ED2C97, + &POLYGON_130_6507176B, + &MERIT_CIRCLE_130_2D657399, + &MOSS_CARBON_CREDIT_130_7E6ACC40, + &MEASURABLE_DATA_TOKEN_130_31BFEFF4, + &MEMECOIN_130_8E3E7D06, + &METIS_130_B3A8F102, + &MAGIC_INTERNET_MONEY_130_3E3602AB, + &MIRROR_PROTOCOL_130_4A72D717, + &MELON_130_4DC3C117, + &MOG_COIN_130_78921EBD, + &MONAVALE_130_1C7A1087, + &MOVEMENT_130_0FF19949, + &MAPLE_130_D752A219, + &METAL_130_6CFAD9EA, + &MULTICHAIN_130_D82B4701, + &MSTABLE_USD_130_B40A8DD1, + &MUSE_DAO_130_81D5F345, + &GENSOKISHI_METAVERSE_130_FF182974, + &MXC_130_02727794, + &POLYSWARM_130_795032DF, + &NEIRO_130_87696276, + &NKN_130_336BAF62, + &NUMERAIRE_130_DBDA20FC, + &NUCYPHER_130_AACEA6B9, + &OCEAN_PROTOCOL_130_3CD79208, + &ORIGIN_PROTOCOL_130_EE18C880, + &OMG_NETWORK_130_8EE37383, + &OMNI_NETWORK_130_959EB0E3, + &ONDO_FINANCE_130_85321557, + &ORCA_ALLIANCE_130_1BE3E8C0, + &ORION_PROTOCOL_130_B6EAF396, + &ORCHID_130_52B98042, + &PAYPEREX_130_0D292327, + &PLAYDAPP_130_1E75D6AC, + &PEPE_130_9074952B, + &PERPETUAL_PROTOCOL_130_CCFEC7D5, + &PIRATE_NATION_130_18D064C6, + &PLUTON_130_ABB6F6C7, + &POLYGON_ECOSYSTEM_TOKEN_130_E5682E95, + &POLKASTARTER_130_DC306503, + &POLYMATH_130_D538D863, + &MARLIN_130_4D4782D5, + &PORTAL_130_0F2A5642, + &POWER_LEDGER_130_DFFA6BFF, + &PRIME_130_CBF9FEE0, + &PROPY_130_1F41A7C9, + &PARSIQ_130_0ABF3DEF, + &PSTAKE_FINANCE_130_E7D7CAA2, + &PUFFER_FINANCE_130_38B560D2, + &PAYPAL_USD_130_8E6207C5, + &QUANT_130_98C360D4, + &QREDO_130_8C1068B8, + &QUANTSTAMP_130_6BB5EABB, + &QUICKSWAP_130_F8E6CAC2, + &RADICLE_130_F08A1A45, + &RAI_REFLEX_INDEX_130_89F34A66, + &SUPERRARE_130_E025BB6F, + &RARIBLE_130_03C8561C, + &RUBIC_130_66B403E3, + &RIBBON_FINANCE_130_C841CD3E, + &REPUBLIC_TOKEN_130_8261617E, + &REPUTATION_AUGUR_V1_130_B2816FC4, + &REPUTATION_AUGUR_V2_130_1E72A8C4, + &REQUEST_130_9D8663CD, + &REVV_130_0F9CA657, + &RENZO_130_AAD6C9AB, + &RARI_GOVERNANCE_TOKEN_130_946CF284, + &IEXEC_RLC_130_B3347ACB, + &RALLY_130_3F88C889, + &RENDER_TOKEN_130_8D649868, + &ROOK_130_9DE41D99, + &RESERVE_RIGHTS_130_B1889066, + &SAFE_130_10EFD888, + &THE_SANDBOX_130_2CAF25CA, + &STADER_130_B32D72E5, + &SHIBA_INU_130_5664158E, + &SHPING_130_66024F2F, + &SKALE_130_8AD20C01, + &SKY_GOVERNANCE_TOKEN_130_D07074E4, + &SMOOTH_LOVE_POTION_130_96CB03B3, + &STATUS_130_265ABF5F, + &SYNTHETIX_NETWORK_TOKEN_130_59E6BC88, + &UNISOCKS_130_DC4627AB, + &SOL_WORMHOLE_130_C3D054FE, + &SOLANA, + &SPELL_TOKEN_130_C17FEF7F, + &SPX6900_130_036DD629, + &STARGATE_FINANCE_130_19373135, + &STORJ_TOKEN_130_C9951835, + &STARKNET_130_2332C72E, + &STOX_130_CACCEA22, + &SUKU_130_82176525, + &SUPERFARM_130_2BD86D3D, + &SYNTH_SUSD_130_9B3A6A0F, + &SUSHI_130_BDFB3CE5, + &SWELL_130_028A5870, + &SWFTCOIN_130_45AF1616, + &SWIPE_130_9785C2E1, + &SYLO_130_CFFCF85E, + &SYNAPSE_130_81888A48, + &SYRUP_TOKEN_130_8CD6FA96, + &THRESHOLD_NETWORK_130_48F2AD54, + &BITTENSOR, + &TBTC_130_20BC7814, + &CHRONOTECH_130_1EDA749C, + &ALIEN_WORLDS_130_A9A46C68, + &TOKEMAK_130_36213E0B, + &TE_FOOD_130_A7BD5AC6, + &ORIGINTRAIL_130_DBAE6F2E, + &TELLOR_130_6D8EC63B, + &TRIBE_130_33DACDBD, + &TRUEFI_130_F30CFE0E, + &TURBO_130_F2D202A1, + &THE_VIRTUA_KOLECT_130_13BD9D5D, + &UMA_VOTING_TOKEN_V1_130_72435F8C, + &UNIFI_PROTOCOL_DAO_130_0408A30B, + &UNISWAP_130_7CE9EA21, + &PAWTOCOL_130_3E264D36, + &USDCOIN_130_0EF57AD6, + &GLOBAL_DOLLAR_130_A9F86F1E, + &PAX_DOLLAR_130_6DE0FEFF, + &QUANTOZ_USDQ_130_7B2F3A5F, + &STABLR_USD_130_004C06A7, + &USDS_STABLECOIN_130_3B2F7BB4, + &TETHER_USD_130_54C75518, + &USUAL_130_98BC5950, + &VANRY_130_01564A0B, + &VOYAGER_TOKEN_130_8FFE537F, + &WRAPPED_AMPLEFORTH_130_06364A49, + &WRAPPED_BTC_130_4EC4AFB8, + &WRAPPED_CENTRIFUGE_130_D72E82C4, + &WRAPPED_ETHER_130_00000006, + &DOGWIFHAT, + &WOO_NETWORK_130_EFD89E62, + &CHAIN_130_DC06A12F, + &PLASMA, + &XRP, + &XSGD_130_021265C3, + &XYO_NETWORK_130_2AEBE4EA, + &YEARN_FINANCE_130_F84A3201, + &DFI_MONEY_130_6C18A07E, + &YIELD_GUILD_GAMES_130_76E36F4B, + &ZCASH, + &ZETACHAIN_130_B3CB3CA4, + &LAYERZERO_130_7ED29CFB, + &TOKEN_0X_PROTOCOL_TOKEN_130_A6E7EDF5, + &AAVE_137_2B21C90B, + &AGEUR_137_C0057DB4, + &_137_4F27054D, + &BALANCER_137_3B0E76A3, + &BAND_PROTOCOL_137_D82606AC, + &BANCOR_NETWORK_TOKEN_137_2A4F7842, + &COMPOUND_137_837AEF5C, + &CURVE_DAO_TOKEN_137_33A610AF, + &CIVIC_137_398B02BE, + &DAI_STABLECOIN_137_39C6A063, + ÐEREUM_NAME_SERVICE_137_90EE7C4F, + &GNOSIS_TOKEN_137_7DF024A8, + &THE_GRAPH_137_499F5531, + &KEEP_NETWORK_137_2EB0C72C, + &KYBER_NETWORK_CRYSTAL_137_9CFA1DC7, + &CHAINLINK_TOKEN_137_3FABAD39, + &LOOM_NETWORK_137_1193F6B3, + &LOOPRINGCOIN_V2_137_BB47DDC1, + &DECENTRALAND_137_33606FD4, + &POLYGON_137_00001010, + &MAKER_137_E01FF61D, + &NUMERAIRE_137_11F46729, + &ORCHID_137_D31F6060, + &REPUBLIC_TOKEN_137_26ED89D0, + &REPUTATION_AUGUR_V2_137_7363F733, + &SYNTHETIX_NETWORK_TOKEN_137_11FEF68A, + &STORJ_TOKEN_137_5A3F5792, + &SYNTH_SUSD_137_6E03A7A0, + &UMA_VOTING_TOKEN_V1_137_77A6B731, + &UNISWAP_137_7FB5180F, + &USDCOIN_137_3D5C3359, + &USDCOIN_POS, + &TETHER_USD_137_04B58E8F, + &VANAR_CHAIN, + &VOXIES, + &WRAPPED_BTC_137_47D9BFD6, + &WRAPPED_ETHER_137_F1B9F619, + &WRAPPED_MATIC, + &XSGD_137_8D201995, + &YEARN_FINANCE_137_465260B6, + &LAYERZERO_137_F13271CD, + &TOKEN_0X_PROTOCOL_TOKEN_137_CA6BE3D5, + &SOL_WORMHOLE_143_245217F1, + &USDCOIN_143_5AAFB603, + &TETHER_USD_143_750FC82D, + &WRAPPED_BTC_143_230D2B9C, + &WRAPPED_ETHER_143_35481242, + &GLOBAL_DOLLAR_196_933D2DC8, + &ZKSYNC, + &BRIDGED_USDC, + &WRAPPED_BTC_480_2D70CFA3, + &WRAPPED_ETHER_480_00000006, + &USDCOIN_1868_4AACC369, + &TETHER_USD_1868_97B5AE35, + &WRAPPED_ETHER_1868_00000006, + &TOKEN_1INCH_8453_1E111CBE, + &AAVE_8453_D17F814B, + &ARCBLOCK_8453_7C1FA556, + &AMBIRE_ADEX_8453_A3E0EFD9, + &AERODROME_FINANCE, + &AIXBT_BY_VIRTUALS, + &ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_8453_D59F3DCC, + &AUSTRALIAN_DIGITAL_DOLLAR, + &AVANTIS, + &AWE_NETWORK, + &B3, + &HARRYPOTTEROBAMASONIC10INU_8453_D39A1A29, + &BANKRCOIN, + &COINBASE_WRAPPED_ADA, + &COINBASE_WRAPPED_BTC_8453_0EED33BF, + &COINBASE_WRAPPED_DOGE, + &COINBASE_WRAPPED_STAKED_ETH_8453_CF0DEC22, + &COINBASE_WRAPPED_LTC, + &COINBASE_WRAPPED_XRP, + &TOKENBOT, + &COMPOUND_8453_976840E0, + &COOKIE, + &CURVE_DAO_TOKEN_8453_67DD0415, + &CARTESI_8453_76138D45, + &CRYPTEX_FINANCE_8453_D4666E14, + &COVALENT_X_TOKEN_8453_8EB628FF, + &DAI_STABLECOIN_8453_917DB0CB, + &DEGEN, + &DOGINME, + &DOVU_8453_B953F865, + &DERIVE_8453_B645D083, + &DEFINITIVE, + &ELSA, + &EURC, + &FAI, + &FLOCK, + &FLUID, + &SPORT_FUN, + &HOME, + &HYPERLANE, + &IOTEX_8453_27AE38C1, + &GEOJAM_8453_3AA2A057, + &KAITO, + &KEYBOARD_CAT, + &KRYLL_8453_611F9F7A, + &KEETA, + &LCX_8453_71D3C171, + &LIQUITY_8453_BDDC125C, + &MAMO, + &NOICE, + &ODOS_TOKEN, + &PENDLE_8453_029EEB3E, + &PEPE_8453_8B982BE3, + &PERPETUAL_PROTOCOL_8453_DAAD58DE, + &PRIME_8453_A5ADD21B, + &PROPY_8453_9230438B, + &PROMPT, + &RAVEDAO, + &RECALL_NETWORK, + &RAINBOW, + &RESEARCHCOIN, + &RESERVE_RIGHTS_8453_6072F64A, + &SAPIEN, + &SEAMLESSS, + &STATUS_8453_2E8AC09E, + &SYNTHETIX_NETWORK_TOKEN_8453_327FDA66, + &SPX6900_8453_6819BB2C, + &SUPERFLUID_TOKEN, + &SUSHI_8453_98B2AFBA, + &SYNDICATE, + &TBTC_8453_22AB794B, + &TOSHI, + &TOWNS, + &INTUITION, + &UNISWAP_8453_114A3C83, + &SUPERFORM, + &USD_BASE_COIN, + &USD_COIN, + &VENICE_TOKEN, + &WALLETCONNECT_TOKEN_8453_DD927945, + &MOONWELL, + &WRAPPED_ETHER_8453_00000006, + &WORLD_MOBILE_TOKEN, + &XYO_NETWORK_8453_223ADC94, + &YEARN_FINANCE_8453_AD3CB239, + &YIELD_GUILD_GAMES_8453_F5EF1799, + &HORIZEN, + &BOUNDLESS_8453_FBBCE7CF, + &ZORA, + &LAYERZERO_8453_F13271CD, + &TOKEN_0X_PROTOCOL_TOKEN_8453_BC9779D0, + &TOKEN_1INCH_42161_3F4BB9AF, + &AAVE_42161_CE967196, + &ACROSS_PROTOCOL_TOKEN_42161_03D9C99D, + &AEVO_42161_2B9783CD, + &AGEUR_42161_723528E7, + &ADVENTURE_GOLD_42161_012A3B9C, + &AIOZ_NETWORK_42161_E1569923, + &ALEPH_IM_42161_8E245A6C, + &ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_42161_FC0A71D1, + &ALPHA_VENTURE_DAO_42161_0A6B2646, + &ANKR_42161_C1E95447, + &APECOIN_42161_DBAD2210, + &API3_42161_92CA7811, + &ARBITRUM_42161_E49E6548, + &ARKHAM_42161_DA4E656E, + &AUTOMATA_42161_75714D03, + &AETHIR_TOKEN_42161_49092FB4, + &AXELAR_42161_E2C6810F, + &AXIE_INFINITY_42161_3E5D0089, + &BADGER_DAO_42161_0D76472E, + &BALANCER_42161_F56A56B8, + &BASIC_ATTENTION_TOKEN_42161_616AEE75, + &BICONOMY_42161_60A8E74D, + &BITDAO_42161_EB921C2A, + &HARRYPOTTEROBAMASONIC10INU_42161_13BD565D, + &BLUR_42161_FE606EB2, + &BANCOR_NETWORK_TOKEN_42161_BA06D073, + &BARNBRIDGE_42161_EE64A4E1, + &BINANCE_USD_42161_462629A2, + &PANCAKESWAP_42161_7CF58860, + &COINBASE_WRAPPED_BTC_42161_0EED33BF, + &COINBASE_WRAPPED_STAKED_ETH_42161_EAE7732F, + &CELO_NATIVE_ASSET_WORMHOLE_42161_1EF4F336, + &CELER_NETWORK_42161_40F345AB, + &COMPOUND_42161_5C6C91DE, + &COTI_42161_D81EA101, + &COW_PROTOCOL_42161_F5C87A04, + &COVALENT_42161_657273BF, + &CRONOS_42161_676F354C, + &CURVE_DAO_TOKEN_42161_FA034978, + &CARTESI_42161_1B476999, + &CRYPTEX_FINANCE_42161_0425E12B, + &CIVIC_42161_1DDBF144, + &CONVEX_FINANCE_42161_520829C5, + &DAI_STABLECOIN_42161_C9000DA1, + &DEXTOOLS_42161_9B64E227, + &DIA_42161_E17AC05E, + &DISTRICT0X_42161_A49AD47A, + &DEFI_PULSE_INDEX_42161_B68DD74C, + &DERIVE_42161_90ABB135, + &DYDX_42161_8CC90C5A, + &EIGENLAYER_42161_6F96C248, + &DOGELON_MARS_42161_17077FD4, + ÐENA_42161_8EA977D8, + &ENJIN_COIN_42161_63806758, + ÐEREUM_NAME_SERVICE_42161_E70D7C28, + ÐERNITY_CHAIN_42161_4D667F96, + &ESPRESSO_42161_065C94F1, + ÐER_FI_42161_4DFD5736, + &EURO_COIN_42161_1FC52A48, + &HARVEST_FINANCE_42161_24C83C70, + &FETCH_AI_42161_7DCC4CC9, + &STAFI_42161_767C7282, + &FLOKI_42161_B4905FAE, + &FLUX_42161_D685710A, + &FORTA_42161_CC3D2923, + &SHAPESHIFT_FOX_TOKEN_42161_9E513C73, + &FRAX_42161_0BC51305, + &FANTOM_42161_D4C2DF37, + &FRAX_SHARE_42161_AFFFDEA4, + &GALXE_42161_9BFD1182, + &GALA_42161_2827FF8C, + &GMX, + &GNOSIS_TOKEN_42161_4DEB6CF1, + &THE_GRAPH_42161_EA7E88C7, + &GITCOIN_42161_C437DEE0, + &GYEN_42161_D9B6D5F7, + &HIGHSTREET_42161_615BCEEA, + &HOPR_42161_70294EF7, + &IDOS_TOKEN, + &ILLUVIUM_42161_05488673, + &IMMUTABLE_X_42161_FCA7783E, + &INJECTIVE_42161_DF608F80, + &JASMYCOIN_42161_73E27083, + &KINTO, + &KRYLL_42161_B7307B69, + &KUJIRA_42161_5671E7CA, + &LIDO_DAO_42161_D85EFA60, + &CHAINLINK_TOKEN_42161_58539FB4, + &LITENTRY_42161_30A40B25, + &LIVEPEER_42161_1CB8A839, + &LIQUITY_42161_CE3E1449, + &LOOPRINGCOIN_V2_42161_1BAE7FBE, + &LIQUITY_USD_42161_2541425B, + &MAGIC, + &DECENTRALAND_42161_A165E231, + &MASK_NETWORK_42161_5C313739, + &MATH_42161_B17AC332, + &POLYGON_42161_18BE0766, + &METIS_42161_D2E33769, + &MAGIC_INTERNET_MONEY_42161_0C04DAF2, + &MAKER_42161_6F8F2879, + &MELON_42161_7AE4B514, + &MANTLE_42161_EDF6C53A, + &MOG_COIN_42161_206AABAC, + &MORPHO_TOKEN_42161_02F620AC, + &MAPLE_42161_097F0CA0, + &MULTICHAIN_42161_ECD9A39A, + &GENSOKISHI_METAVERSE_42161_3E15992F, + &MXC_42161_B6862ED6, + &POLYSWARM_42161_FB920D5B, + &NKN_42161_0406177B, + &NUMERAIRE_42161_6B569711, + &OCEAN_PROTOCOL_42161_AD8234DF, + &ORIGIN_PROTOCOL_42161_58AE423E, + &OMG_NETWORK_42161_61421E8E, + &ONDO_FINANCE_42161_8B37A5E7, + &ORION_PROTOCOL_42161_551E6218, + &PENDLE_42161_B9A8C9E8, + &PEPE_42161_33959CBB, + &PERPETUAL_PROTOCOL_42161_F61D3DAC, + &PIRATE_NATION_42161_43D77CBF, + &PLUME_42161_CB15BA13, + &POLYGON_ECOSYSTEM_TOKEN_42161_68FE08CC, + &POLKASTARTER_42161_8B016B64, + &POLYMATH_42161_B33809E9, + &MARLIN_42161_C8BD9DDD, + &PORTAL_42161_9DB991DE, + &POWER_LEDGER_42161_D423E4A6, + &PRIME_42161_E7AC5067, + &PARSIQ_42161_CAF60CD2, + &PAYPAL_USD_42161_0967342E, + &QUANT_42161_3C7EFF85, + &RADICLE_42161_12155E49, + &RAI_REFLEX_INDEX_42161_78D419F2, + &RARIBLE_42161_63C1B8E0, + &RUBIC_42161_5CBC335F, + &REPUBLIC_TOKEN_42161_1C79A204, + &REQUEST_42161_8BB92171, + &RARI_GOVERNANCE_TOKEN_42161_CD794794, + &IEXEC_RLC_42161_5D794E66, + &RENDER_TOKEN_42161_6F21E279, + &ROCKET_POOL_PROTOCOL_42161_1D0CC507, + &RESERVE_RIGHTS_42161_DBD2E594, + &THE_SANDBOX_42161_D64E3DAC, + &STADER_42161_92F34B63, + &SHIBA_INU_42161_E3872FD1, + &SKALE_42161_37267878, + &STATUS_42161_A6415160, + &SYNTHETIX_NETWORK_TOKEN_42161_BCA37D60, + &UNISOCKS_42161_A3B264E7, + &SOL_WORMHOLE_42161_EC617124, + &SPELL_TOKEN_42161_FE15D2AF, + &SPX6900_42161_5D2BA901, + &SQD, + &STARGATE_FINANCE_42161_A16313EC, + &STORJ_TOKEN_42161_7AA2FCC2, + &SUPERFARM_42161_26498956, + &SYNTH_SUSD_42161_9D112F95, + &SUSHI_42161_0D85C61A, + &SWELL_42161_A58F2571, + &SYNAPSE_42161_375EAD84, + &THRESHOLD_NETWORK_42161_DEC21F55, + &TBTC_42161_0A572594, + &TELLOR_42161_10D88242, + &TRIBE_42161_03914A5A, + &TURBO_42161_EDE4576A, + &UMA_VOTING_TOKEN_V1_42161_9B0C3B22, + &UNISWAP_42161_72F1F7F0, + &WORLD_LIBERTY_FINANCIAL_USD_42161_DD217A33, + &USDCOIN_42161_268E5831, + &BRIDGED_USDC_42161_BDDB5CC8, + &PAX_DOLLAR_42161_B699DF8F, + &USDS_STABLECOIN_42161_749B876B, + &USUAL_42161_2140ABBB, + &WRAPPED_AMPLEFORTH_42161_8AE650BB, + &WRAPPED_BTC_42161_AEFC5B0F, + &WRAPPED_ETHER_42161_523FBAB1, + &WORLD_LIBERTY_FINANCIAL_42161_0E1980BF, + &WOO_NETWORK_42161_3AEFD07B, + &TETHER_GOLD_42161_CFC6C9D3, + &CHAIN_42161_4DEEAFED, + &XSGD_42161_4C1C4302, + &YEARN_FINANCE_42161_085B1582, + &ZETACHAIN_42161_47B88954, + &LAYERZERO_42161_F13271CD, + &TOKEN_0X_PROTOCOL_TOKEN_42161_19235AE2, + &WRAPPED_BITCOIN, + &CELO, + &USDCOIN_42220_8B32118C, + &TETHER_USD_42220_87483D5E, + &WRAPPED_ETHER_42220_622F4361, + &TOKEN_1INCH_43114_8B28F267, + &AAVE_43114_E5D386D9, + &AGEUR_43114_F1F96C57, + &ALPHA_VENTURE_DAO_43114_7A8E208F, + &ANKR_43114_2C84B4DE, + &AXELAR_43114_CE194C5D, + &BASIC_ATTENTION_TOKEN_43114_A4690588, + &BINANCE_USD_43114_39D2DB39, + &COMPOUND_43114_906E2437, + &CARTESI_43114_0FABF552, + &DAI_E_TOKEN, + &DEFI_YIELD_PROTOCOL_43114_91BCEF17, + &EURO_COIN_43114_505C2ACD, + &FLUX_43114_C20DAF55, + &FRAX_43114_21A1DA64, + &FRAX_SHARE_43114_3FC8E387, + &GMX_43114_5011C661, + &THE_GRAPH_43114_69E85CB9, + &GUNZ, + &CHAINLINK_TOKEN_43114_413227A3, + &MAGIC_INTERNET_MONEY_43114_8CB8C18D, + &MAKER_43114_AAB72D42, + &MULTICHAIN_43114_3C8764E3, + &PENDLE_43114_62EA213B, + &RAI_REFLEX_INDEX_43114_031BFF7D, + &SYNTHETIX_NETWORK_TOKEN_43114_BA4B209B, + &SOL_WORMHOLE_43114_06D2478F, + &SPELL_TOKEN_43114_1A2F7814, + &STARGATE_FINANCE_43114_F56E7590, + &SUSHI_43114_722E4F76, + &SYNAPSE_43114_E09CA251, + &UMA_VOTING_TOKEN_V1_43114_0A5B2339, + &UNI_E_TOKEN, + &USDC_TOKEN, + &TETHER_USD_43114_4DF4A8C7, + &WRAPPED_AVAX, + &WRAPPED_BTC_43114_5187B218, + &WRAPPED_ETHER_43114_6BC10BAB, + &WOO_NETWORK_43114_5F58D083, + &YEARN_FINANCE_43114_922F52DC, + &LAYERZERO_43114_F13271CD, + &TOKEN_0X_PROTOCOL_TOKEN_43114_75CDE0D2, + &WRAPPED_ETHER_80001_C5D1C0AA, + &WRAPPED_MATIC_80001_FB032889, + &BLAST, + &USD_COIN_BRIDGED_FROM_ETHEREUM, + &UNISWAP_11155111_4201F984, + &WRAPPED_ETHER_11155111_324D6B14, +]; + +pub fn get_token( + chain_id: alloy::primitives::ChainId, + address: alloy::primitives::Address, +) -> Option<&'static TokenInfo> { + match (chain_id, address) { + (1, addr) if addr == address!("0x111111111117dC0aa78b770fA6A738034120C302") => Some(&TOKEN_1INCH), + (1, addr) if addr == address!("0x3E5A19c91266aD8cE2477B91585d1856B84062dF") => Some(&ANCIENT8), + (1, addr) if addr == address!("0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9") => Some(&AAVE), + (1, addr) if addr == address!("0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986") => Some(&ARCBLOCK), + (1, addr) if addr == address!("0xEd04915c23f00A313a544955524EB7DBD823143d") => Some(&ALCHEMY_PAY), + (1, addr) if addr == address!("0x44108f0223A3C3028F5Fe7AEC7f9bb2E66beF82F") => Some(&ACROSS_PROTOCOL_TOKEN), + (1, addr) if addr == address!("0xADE00C28244d5CE17D72E40330B1c318cD12B7c3") => Some(&AMBIRE_ADEX), + (1, addr) if addr == address!("0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6") => Some(&AERGO), + (1, addr) if addr == address!("0xB528edBef013aff855ac3c50b381f253aF13b997") => Some(&AEVO), + (1, addr) if addr == address!("0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8") => Some(&AGEUR), + (1, addr) if addr == address!("0x32353A6C91143bfd6C7d363B546e62a9A2489A20") => Some(&ADVENTURE_GOLD), + (1, addr) if addr == address!("0x626E8036dEB333b408Be468F951bdB42433cBF18") => Some(&AIOZ_NETWORK), + (1, addr) if addr == address!("0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF") => Some(&ALCHEMIX), + (1, addr) if addr == address!("0x27702a26126e0B3702af63Ee09aC4d1A084EF628") => Some(&ALEPH_IM), + (1, addr) if addr == address!("0x6B0b3a982b4634aC68dD83a4DBF02311cE324181") => Some(&ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE), + (1, addr) if addr == address!("0xAC51066d7bEC65Dc4589368da368b212745d63E8") => Some(&MY_NEIGHBOR_ALICE), + (1, addr) if addr == address!("0x8408D45b61f5823298F19a09B53b7339c0280489") => Some(&ALLORA), + (1, addr) if addr == address!("0xa1faa113cbE53436Df28FF0aEe54275c13B40975") => Some(&ALPHA_VENTURE_DAO), + (1, addr) if addr == address!("0x8457CA5040ad67fdebbCC8EdCE889A335Bc0fbFB") => Some(&ALTLAYER), + (1, addr) if addr == address!("0xfF20817765cB7f73d4bde2e66e067E58D11095C2") => Some(&), + (1, addr) if addr == address!("0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4") => Some(&ANKR), + (1, addr) if addr == address!("0xa117000000f279D81A1D3cc75430fAA017FA5A2e") => Some(&ARAGON), + (1, addr) if addr == address!("0x4d224452801ACEd8B2F0aebE155379bb5D594381") => Some(&APECOIN), + (1, addr) if addr == address!("0x0b38210ea11411557c13457D4dA7dC6ea731B88a") => Some(&API3), + (1, addr) if addr == address!("0x5A9610919f5e81183823A2be4Bd1BeB2B4da2a20") => Some(&APRIORI), + (1, addr) if addr == address!("0x594DaaD7D77592a2b97b725A7AD59D7E188b5bFa") => Some(&APU_APUSTAJA), + (1, addr) if addr == address!("0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1") => Some(&ARBITRUM), + (1, addr) if addr == address!("0x6E2a43be0B1d33b726f0CA3b8de60b3482b8b050") => Some(&ARKHAM), + (1, addr) if addr == address!("0xBA50933C268F567BDC86E1aC131BE072C6B0b71a") => Some(&ARPA_CHAIN), + (1, addr) if addr == address!("0x64D91f12Ece7362F91A6f8E7940Cd55F05060b92") => Some(&ASH), + (1, addr) if addr == address!("0x2565ae0385659badCada1031DB704442E1b69982") => Some(&ASSEMBLE_PROTOCOL), + (1, addr) if addr == address!("0x27054b13b1B798B345b591a4d22e6562d47eA75a") => Some(&AIRSWAP), + (1, addr) if addr == address!("0xA2120b9e674d3fC3875f415A7DF52e382F141225") => Some(&AUTOMATA), + (1, addr) if addr == address!("0xbe0Ed4138121EcFC5c0E56B40517da27E6c5226B") => Some(&AETHIR_TOKEN), + (1, addr) if addr == address!("0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096") => Some(&BOUNCE), + (1, addr) if addr == address!("0x4cCe605eD955295432958d8951D0B176C10720d5") => Some(&AUDD), + (1, addr) if addr == address!("0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998") => Some(&AUDIUS), + (1, addr) if addr == address!("0x845576c64f9754CF09d87e45B720E82F3EeF522C") => Some(&ARTVERSE_TOKEN), + (1, addr) if addr == address!("0x467719aD09025FcC6cF6F8311755809d45a5E5f3") => Some(&AXELAR), + (1, addr) if addr == address!("0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b") => Some(&AXIE_INFINITY), + (1, addr) if addr == address!("0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2") => Some(&AZTEC), + (1, addr) if addr == address!("0x3472A5A71965499acd81997a54BBA8D852C6E53d") => Some(&BADGER_DAO), + (1, addr) if addr == address!("0xba100000625a3754423978a60c9317c58a424e3D") => Some(&BALANCER), + (1, addr) if addr == address!("0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55") => Some(&BAND_PROTOCOL), + (1, addr) if addr == address!("0xf0DB65D17e30a966C2ae6A21f6BBA71cea6e9754") => Some(&LOMBARD), + (1, addr) if addr == address!("0x0D8775F648430679A709E98d2b0Cb6250d2887EF") => Some(&BASIC_ATTENTION_TOKEN), + (1, addr) if addr == address!("0x62D0A8458eD7719FDAF978fe5929C6D342B0bFcE") => Some(&BEAM), + (1, addr) if addr == address!("0xF17e65822b568B3903685a7c9F496CF7656Cc6C2") => Some(&BICONOMY), + (1, addr) if addr == address!("0x64Bc2cA1Be492bE7185FAA2c8835d9b824c8a194") => Some(&BIG_TIME), + (1, addr) if addr == address!("0xcb1592591996765Ec0eFc1f92599A19767ee5ffA") => Some(&BIO), + (1, addr) if addr == address!("0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5") => Some(&BITDAO), + (1, addr) if addr == address!("0x72e4f9F808C49A2a61dE9C5896298920Dc4EEEa9") => Some(&HARRYPOTTEROBAMASONIC10INU), + (1, addr) if addr == address!("0x5283D291DBCF85356A21bA090E6db59121208b44") => Some(&BLUR), + (1, addr) if addr == address!("0x5732046A883704404F284Ce41FfADd5b007FD668") => Some(&BLUZELLE), + (1, addr) if addr == address!("0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C") => Some(&BANCOR_NETWORK_TOKEN), + (1, addr) if addr == address!("0x42bBFa2e77757C645eeaAd1655E0911a7553Efbc") => Some(&BOBA_NETWORK), + (1, addr) if addr == address!("0xC9746F73cC33a36c2cD55b8aEFD732586946Cedd") => Some(&BOB), + (1, addr) if addr == address!("0x0391D2021f89DC339F60Fff84546EA23E337750f") => Some(&BARNBRIDGE), + (1, addr) if addr == address!("0x086F405146Ce90135750Bbec9A063a8B20A8bfFb") => Some(&BREVIS), + (1, addr) if addr == address!("0x799ebfABE77a6E34311eeEe9825190B9ECe32824") => Some(&BRAINTRUST), + (1, addr) if addr == address!("0x4Fabb145d64652a948d72533023f6E7A623C7C53") => Some(&BINANCE_USD), + (1, addr) if addr == address!("0xAE12C5930881c53715B369ceC7606B70d8EB229f") => Some(&COIN98), + (1, addr) if addr == address!("0x152649eA73beAb28c5b49B26eb48f7EAD6d4c898") => Some(&PANCAKESWAP), + (1, addr) if addr == address!("0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf") => Some(&COINBASE_WRAPPED_BTC), + (1, addr) if addr == address!("0xBe9895146f7AF43049ca1c1AE358B0541Ea49704") => Some(&COINBASE_WRAPPED_STAKED_ETH), + (1, addr) if addr == address!("0x3294395e62F4eB6aF3f1Fcf89f5602D90Fb3Ef69") => Some(&CELO_NATIVE_ASSET_WORMHOLE), + (1, addr) if addr == address!("0x4F9254C83EB525f9FCf346490bbb3ed28a81C667") => Some(&CELER_NETWORK), + (1, addr) if addr == address!("0xcccCCCcCCC33D538DBC2EE4fEab0a7A1FF4e8A94") => Some(&CENTRIFUGE), + (1, addr) if addr == address!("0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2") => Some(&CHROMIA), + (1, addr) if addr == address!("0x3506424F91fD33084466F402d5D97f05F8e3b4AF") => Some(&CHILIZ), + (1, addr) if addr == address!("0x80C62FE4487E1351b47Ba49809EBD60ED085bf52") => Some(&CLOVER_FINANCE), + (1, addr) if addr == address!("0xc00e94Cb662C3520282E6f5717214004A7f26888") => Some(&COMPOUND), + (1, addr) if addr == address!("0x44f49ff0da2498bCb1D3Dc7C0f999578F67FD8C6") => Some(&CORN), + (1, addr) if addr == address!("0xDDB3422497E61e13543BeA06989C0789117555c5") => Some(&COTI), + (1, addr) if addr == address!("0x3D658390460295FB963f54dC0899cfb1c30776Df") => Some(&CIRCUITS_OF_VALUE), + (1, addr) if addr == address!("0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB") => Some(&COW_PROTOCOL), + (1, addr) if addr == address!("0x66761Fa41377003622aEE3c7675Fc7b5c1C2FaC5") => Some(&CLEARPOOL), + (1, addr) if addr == address!("0xD417144312DbF50465b1C641d016962017Ef6240") => Some(&COVALENT), + (1, addr) if addr == address!("0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b") => Some(&CRONOS), + (1, addr) if addr == address!("0x08389495D7456E1951ddF7c3a1314A4bfb646d8B") => Some(&CRYPTERIUM), + (1, addr) if addr == address!("0xD533a949740bb3306d119CC777fa900bA034cd52") => Some(&CURVE_DAO_TOKEN), + (1, addr) if addr == address!("0x491604c0FDF08347Dd1fa4Ee062a822A5DD06B5D") => Some(&CARTESI), + (1, addr) if addr == address!("0x321C2fE4446C7c963dc41Dd58879AF648838f98D") => Some(&CRYPTEX_FINANCE), + (1, addr) if addr == address!("0xDf801468a808a32656D2eD2D2d80B72A129739f4") => Some(&SOMNIUM_SPACE_CUBES), + (1, addr) if addr == address!("0x41e5560054824eA6B0732E656E3Ad64E20e94E45") => Some(&CIVIC), + (1, addr) if addr == address!("0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B") => Some(&CONVEX_FINANCE), + (1, addr) if addr == address!("0x7ABc8A5768E6bE61A6c693a6e4EAcb5B60602C4D") => Some(&COVALENT_X_TOKEN), + (1, addr) if addr == address!("0x6B175474E89094C44Da98b954EedeAC495271d0F") => Some(&DAI_STABLECOIN), + (1, addr) if addr == address!("0x081131434f93063751813C619Ecca9C4dC7862a3") => Some(&MINES_OF_DALARNIA), + (1, addr) if addr == address!("0x3A880652F47bFaa771908C07Dd8673A787dAEd3A") => Some(&DERIVADAO), + (1, addr) if addr == address!("0x3597bfD533a99c9aa083587B074434E61Eb0A258") => Some(&DENT), + (1, addr) if addr == address!("0xfB7B4564402E5500dB5bB6d63Ae671302777C75a") => Some(&DEXTOOLS), + (1, addr) if addr == address!("0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419") => Some(&DIA), + (1, addr) if addr == address!("0x0AbdAce70D3790235af448C88547603b945604ea") => Some(&DISTRICT0X), + (1, addr) if addr == address!("0x0F81001eF0A83ecCE5ccebf63EB302c70a39a654") => Some(&DOLOMITE), + (1, addr) if addr == address!("0x2aeAbde1aB736c59E9A19BeD67681869eEF39526") => Some(&DOVU), + (1, addr) if addr == address!("0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b") => Some(&DEFI_PULSE_INDEX), + (1, addr) if addr == address!("0x3Ab6Ed69Ef663bd986Ee59205CCaD8A20F98b4c2") => Some(&DREP), + (1, addr) if addr == address!("0xB1D1eae60EEA9525032a6DCb4c1CE336a1dE71BE") => Some(&DERIVE), + (1, addr) if addr == address!("0x92D6C1e31e14520e676a687F0a93788B716BEff5") => Some(&DYDX), + (1, addr) if addr == address!("0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17") => Some(&DEFI_YIELD_PROTOCOL), + (1, addr) if addr == address!("0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83") => Some(&EIGENLAYER), + (1, addr) if addr == address!("0xe6fd75ff38Adca4B97FBCD938c86b98772431867") => Some(&ELASTOS), + (1, addr) if addr == address!("0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3") => Some(&DOGELON_MARS), + (1, addr) if addr == address!("0x57e114B691Db790C35207b2e685D4A43181e6061") => Some(ÐENA), + (1, addr) if addr == address!("0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c") => Some(&ENJIN_COIN), + (1, addr) if addr == address!("0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72") => Some(ÐEREUM_NAME_SERVICE), + (1, addr) if addr == address!("0xE2AD0BF751834f2fbdC62A41014f84d67cA1de2A") => Some(&CALDERA), + (1, addr) if addr == address!("0xBBc2AE13b23d715c30720F079fcd9B4a74093505") => Some(ÐERNITY_CHAIN), + (1, addr) if addr == address!("0x031De51F3E8016514Bd0963d0B2AB825A591Db9A") => Some(&ESPRESSO), + (1, addr) if addr == address!("0xFe0c30065B384F05761f15d0CC899D4F9F9Cc0eB") => Some(ÐER_FI), + (1, addr) if addr == address!("0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b") => Some(&EULER), + (1, addr) if addr == address!("0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c") => Some(&EURO_COIN), + (1, addr) if addr == address!("0x888883b5F5D21fb10Dfeb70e8f9722B9FB0E5E51") => Some(&SCHUMAN_EUR_P), + (1, addr) if addr == address!("0x8dF723295214Ea6f21026eeEb4382d475f146F9f") => Some(&QUANTOZ_EURQ), + (1, addr) if addr == address!("0x50753CfAf86c094925Bf976f218D043f8791e408") => Some(&STABLR_EURO), + (1, addr) if addr == address!("0xa0246c9032bC3A600820415aE600c6388619A14D") => Some(&HARVEST_FINANCE), + (1, addr) if addr == address!("0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85") => Some(&FETCH_AI), + (1, addr) if addr == address!("0x7C135549504245B5eAe64fc0E99Fa5ebabb8e35D") => Some(&FIDELITY_DIGITAL_DOLLAR), + (1, addr) if addr == address!("0xef3A930e1FfFFAcd2fc13434aC81bD278B0ecC8d") => Some(&STAFI), + (1, addr) if addr == address!("0xcf0C122c6b73ff809C693DB761e7BaeBe62b6a2E") => Some(&FLOKI), + (1, addr) if addr == address!("0x720CD16b011b987Da3518fbf38c3071d4F0D1495") => Some(&FLUX), + (1, addr) if addr == address!("0x41545f8b9472D758bB669ed8EaEEEcD7a9C4Ec29") => Some(&FORTA), + (1, addr) if addr == address!("0x77FbA179C79De5B7653F68b5039Af940AdA60ce0") => Some(&LEFORTH_GOVERNANCE_TOKEN), + (1, addr) if addr == address!("0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d") => Some(&SHAPESHIFT_FOX_TOKEN), + (1, addr) if addr == address!("0x853d955aCEf822Db058eb8505911ED77F175b99e") => Some(&FRAX), + (1, addr) if addr == address!("0x4E15361FD6b4BB609Fa63C81A2be19d873717870") => Some(&FANTOM), + (1, addr) if addr == address!("0x8c15Ef5b4B21951d50E53E4fbdA8298FFAD25057") => Some(&FUNCTION_X), + (1, addr) if addr == address!("0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0") => Some(&FRAX_SHARE), + (1, addr) if addr == address!("0x9C7BEBa8F6eF6643aBd725e45a4E8387eF260649") => Some(&GRAVITY), + (1, addr) if addr == address!("0x5fAa989Af96Af85384b8a938c2EdE4A7378D9875") => Some(&GALXE), + (1, addr) if addr == address!("0xd1d2Eb1B1e90B638588728b4130137D262C87cae") => Some(&GALA), + (1, addr) if addr == address!("0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b") => Some(&GOLDFINCH), + (1, addr) if addr == address!("0x3F382DbD960E3a9bbCeaE22651E88158d2791550") => Some(&AAVEGOTCHI), + (1, addr) if addr == address!("0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429") => Some(&GOLEM), + (1, addr) if addr == address!("0x6810e776880C02933D47DB1b9fc05908e5386b96") => Some(&GNOSIS_TOKEN), + (1, addr) if addr == address!("0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97") => Some(&GODS_UNCHAINED), + (1, addr) if addr == address!("0xc944E90C64B2c07662A292be6244BDf05Cda44a7") => Some(&THE_GRAPH), + (1, addr) if addr == address!("0xDe30da39c46104798bB5aA3fe8B9e0e1F348163F") => Some(&GITCOIN), + (1, addr) if addr == address!("0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd") => Some(&GEMINI_DOLLAR), + (1, addr) if addr == address!("0x2798b1cC5A993085E8A9D46e80499F1B63f42204") => Some(ÐGAS), + (1, addr) if addr == address!("0xC08512927D12348F6620a698105e1BAac6EcD911") => Some(&GYEN), + (1, addr) if addr == address!("0xb3999F658C0391d94A37f7FF328F3feC942BcADC") => Some(&HASHFLOW), + (1, addr) if addr == address!("0x71Ab77b7dbB4fa7e017BC15090b2163221420282") => Some(&HIGHSTREET), + (1, addr) if addr == address!("0xF5581dFeFD8Fb0e4aeC526bE659CFaB1f8c781dA") => Some(&HOPR), + (1, addr) if addr == address!("0xB705268213D593B8FD88d3FDEFF93AFF5CbDcfAE") => Some(&IDEX), + (1, addr) if addr == address!("0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E") => Some(&ILLUVIUM), + (1, addr) if addr == address!("0xb48c6B24f36307c7A1f2a9281E978a9ef2902BA5") => Some(&IMMUNEFI), + (1, addr) if addr == address!("0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF") => Some(&IMMUTABLE_X), + (1, addr) if addr == address!("0x0954906da0Bf32d5479e25f46056d22f08464cab") => Some(&INDEX_COOPERATIVE), + (1, addr) if addr == address!("0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30") => Some(&INJECTIVE), + (1, addr) if addr == address!("0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68") => Some(&INVERSE_FINANCE), + (1, addr) if addr == address!("0xdeF1b2D939EdC0E4d35806c59b3166F790175afe") => Some(&INFINEX), + (1, addr) if addr == address!("0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69") => Some(&IOTEX), + (1, addr) if addr == address!("0x50f41F589aFACa2EF41FDF590FE7b90cD26DEe64") => Some(&IRYS), + (1, addr) if addr == address!("0x23894DC9da6c94ECb439911cAF7d337746575A72") => Some(&GEOJAM), + (1, addr) if addr == address!("0x7420B4b9a0110cdC71fB720908340C03F9Bc03EC") => Some(&JASMYCOIN), + (1, addr) if addr == address!("0x4B1E80cAC91e2216EEb63e29B957eB91Ae9C2Be8") => Some(&JUPITER), + (1, addr) if addr == address!("0x85Eee30c52B0b379b046Fb0F85F4f3Dc3009aFEC") => Some(&KEEP_NETWORK), + (1, addr) if addr == address!("0x3f80B1c54Ae920Be41a77f8B902259D48cf24cCf") => Some(&KERNELDAO), + (1, addr) if addr == address!("0x4CC19356f2D37338b9802aa8E8fc58B0373296E7") => Some(&SELFKEY), + (1, addr) if addr == address!("0x904567252D8F48555b7447c67dCA23F0372E16be") => Some(&KITE), + (1, addr) if addr == address!("0xdd974D5C2e2928deA5F71b9825b8b646686BD200") => Some(&KYBER_NETWORK_CRYSTAL), + (1, addr) if addr == address!("0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44") => Some(&KEEP3RV1), + (1, addr) if addr == address!("0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0") => Some(&KRYLL), + (1, addr) if addr == address!("0x96543ef8d2C75C26387c1a319ae69c0BEE6f3fe7") => Some(&KUJIRA), + (1, addr) if addr == address!("0x88909D489678dD17aA6D9609F89B0419Bf78FD9a") => Some(&LAYER3), + (1, addr) if addr == address!("0x0fc2a55d5BD13033f1ee0cdd11f60F7eFe66f467") => Some(&LAGRANGE), + (1, addr) if addr == address!("0x037A54AaB062628C9Bbae1FDB1583c195585fe41") => Some(&LCX), + (1, addr) if addr == address!("0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32") => Some(&LIDO_DAO), + (1, addr) if addr == address!("0x1789e0043623282D5DCc7F213d703C6D8BAfBB04") => Some(&LINEA), + (1, addr) if addr == address!("0x514910771AF9Ca656af840dff83E8264EcF986CA") => Some(&CHAINLINK_TOKEN), + (1, addr) if addr == address!("0xb59490aB09A0f526Cc7305822aC65f2Ab12f9723") => Some(&LITENTRY), + (1, addr) if addr == address!("0x232CE3bd40fCd6f80f3d55A522d03f25Df784Ee2") => Some(&LIGHTER), + (1, addr) if addr == address!("0x61E90A50137E1F645c9eF4a0d3A4f01477738406") => Some(&LEAGUE_OF_KINGDOMS), + (1, addr) if addr == address!("0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0") => Some(&LOOM_NETWORK), + (1, addr) if addr == address!("0x58b6A8A3302369DAEc383334672404Ee733aB239") => Some(&LIVEPEER), + (1, addr) if addr == address!("0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D") => Some(&LIQUITY), + (1, addr) if addr == address!("0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD") => Some(&LOOPRINGCOIN_V2), + (1, addr) if addr == address!("0xd0a6053f087E87a25dC60701ba6E663b1a548E85") => Some(&BLOCKLORDS), + (1, addr) if addr == address!("0x8c1BEd5b9a0928467c9B1341Da1D7BD5e10b6549") => Some(&LIQUID_STAKED_ETH), + (1, addr) if addr == address!("0x6033F7f88332B8db6ad452B7C6D5bB643990aE3f") => Some(&LISK), + (1, addr) if addr == address!("0x5f98805A4E8be255a32880FDeC7F6728C6568bA0") => Some(&LIQUITY_USD), + (1, addr) if addr == address!("0x0F5D2fB29fb7d3CFeE444a200298f468908cC942") => Some(&DECENTRALAND), + (1, addr) if addr == address!("0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074") => Some(&MASK_NETWORK), + (1, addr) if addr == address!("0x08d967bb0134F2d07f7cfb6E246680c53927DD30") => Some(&MATH), + (1, addr) if addr == address!("0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0") => Some(&POLYGON), + (1, addr) if addr == address!("0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6") => Some(&MERIT_CIRCLE), + (1, addr) if addr == address!("0xfC98e825A2264D890F9a1e68ed50E1526abCcacD") => Some(&MOSS_CARBON_CREDIT), + (1, addr) if addr == address!("0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26") => Some(&MEASURABLE_DATA_TOKEN), + (1, addr) if addr == address!("0xb131f4A55907B10d1F0A50d8ab8FA09EC342cd74") => Some(&MEMECOIN), + (1, addr) if addr == address!("0x9E32b13ce7f2E80A01932B42553652E053D6ed8e") => Some(&METIS), + (1, addr) if addr == address!("0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3") => Some(&MAGIC_INTERNET_MONEY), + (1, addr) if addr == address!("0x09a3EcAFa817268f77BE1283176B946C4ff2E608") => Some(&MIRROR_PROTOCOL), + (1, addr) if addr == address!("0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2") => Some(&MAKER), + (1, addr) if addr == address!("0xec67005c4E498Ec7f55E092bd1d35cbC47C91892") => Some(&MELON), + (1, addr) if addr == address!("0x3c3a81e81dc49A522A592e7622A7E711c06bf354") => Some(&MANTLE), + (1, addr) if addr == address!("0xaaeE1A9723aaDB7afA2810263653A34bA2C21C7a") => Some(&MOG_COIN), + (1, addr) if addr == address!("0x275f5Ad03be0Fa221B4C6649B8AeE09a42D9412A") => Some(&MONAVALE), + (1, addr) if addr == address!("0x58D97B57BB95320F9a05dC918Aef65434969c2B2") => Some(&MORPHO_TOKEN), + (1, addr) if addr == address!("0x3073f7aAA4DB83f95e9FFf17424F71D4751a3073") => Some(&MOVEMENT), + (1, addr) if addr == address!("0x33349B282065b0284d756F0577FB39c158F935e6") => Some(&MAPLE), + (1, addr) if addr == address!("0xF433089366899D83a9f26A773D59ec7eCF30355e") => Some(&METAL), + (1, addr) if addr == address!("0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4") => Some(&MULTICHAIN), + (1, addr) if addr == address!("0xe2f2a5C287993345a840Db3B0845fbC70f5935a5") => Some(&MSTABLE_USD), + (1, addr) if addr == address!("0xB6Ca7399B4F9CA56FC27cBfF44F4d2e4Eef1fc81") => Some(&MUSE_DAO), + (1, addr) if addr == address!("0xAE788F80F2756A86aa2F410C651F2aF83639B95b") => Some(&GENSOKISHI_METAVERSE), + (1, addr) if addr == address!("0x5Ca381bBfb58f0092df149bD3D243b08B9a8386e") => Some(&MXC), + (1, addr) if addr == address!("0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1") => Some(&POLYSWARM), + (1, addr) if addr == address!("0x812Ba41e071C7b7fA4EBcFB62dF5F45f6fA853Ee") => Some(&NEIRO), + (1, addr) if addr == address!("0xD0eC028a3D21533Fdd200838F39c85B03679285D") => Some(&NEWTON), + (1, addr) if addr == address!("0x5Cf04716BA20127F1E2297AdDCf4B5035000c9eb") => Some(&NKN), + (1, addr) if addr == address!("0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671") => Some(&NUMERAIRE), + (1, addr) if addr == address!("0x6e6F6d696e61decd6605bD4a57836c5DB6923340") => Some(&NOMINA), + (1, addr) if addr == address!("0x4fE83213D56308330EC302a8BD641f1d0113A4Cc") => Some(&NUCYPHER), + (1, addr) if addr == address!("0x967da4048cD07aB37855c090aAF366e4ce1b9F48") => Some(&OCEAN_PROTOCOL), + (1, addr) if addr == address!("0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26") => Some(&ORIGIN_PROTOCOL), + (1, addr) if addr == address!("0xd26114cd6EE289AccF82350c8d8487fedB8A0C07") => Some(&OMG_NETWORK), + (1, addr) if addr == address!("0x36E66fbBce51e4cD5bd3C62B637Eb411b18949D4") => Some(&OMNI_NETWORK), + (1, addr) if addr == address!("0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3") => Some(&ONDO_FINANCE), + (1, addr) if addr == address!("0x6F59e0461Ae5E2799F1fB3847f05a63B16d0DbF8") => Some(&ORCA_ALLIANCE), + (1, addr) if addr == address!("0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a") => Some(&ORION_PROTOCOL), + (1, addr) if addr == address!("0x4575f41308EC1483f3d399aa9a2826d74Da13Deb") => Some(&ORCHID), + (1, addr) if addr == address!("0xc1D204d77861dEf49b6E769347a883B15EC397Ff") => Some(&PAYPEREX), + (1, addr) if addr == address!("0x45804880De22913dAFE09f4980848ECE6EcbAf78") => Some(&PAX_GOLD), + (1, addr) if addr == address!("0x0D3CbED3f69EE050668ADF3D9Ea57241cBa33A2B") => Some(&PLAYDAPP), + (1, addr) if addr == address!("0x808507121B80c02388fAd14726482e061B8da827") => Some(&PENDLE), + (1, addr) if addr == address!("0x6982508145454Ce325dDbE47a25d4ec3d2311933") => Some(&PEPE), + (1, addr) if addr == address!("0xbC396689893D065F41bc2C6EcbeE5e0085233447") => Some(&PERPETUAL_PROTOCOL), + (1, addr) if addr == address!("0x7613C48E0cd50E42dD9Bf0f6c235063145f6f8DC") => Some(&PIRATE_NATION), + (1, addr) if addr == address!("0xD8912C10681D8B21Fd3742244f44658dBA12264E") => Some(&PLUTON), + (1, addr) if addr == address!("0x4C1746A800D224393fE2470C70A35717eD4eA5F1") => Some(&PLUME), + (1, addr) if addr == address!("0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6") => Some(&POLYGON_ECOSYSTEM_TOKEN), + (1, addr) if addr == address!("0x83e6f1E41cdd28eAcEB20Cb649155049Fac3D5Aa") => Some(&POLKASTARTER), + (1, addr) if addr == address!("0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC") => Some(&POLYMATH), + (1, addr) if addr == address!("0x57B946008913B82E4dF85f501cbAeD910e58D26C") => Some(&MARLIN), + (1, addr) if addr == address!("0x1Bbe973BeF3a977Fc51CbED703E8ffDEfE001Fed") => Some(&PORTAL), + (1, addr) if addr == address!("0x595832F8FC6BF59c85C527fEC3740A1b7a361269") => Some(&POWER_LEDGER), + (1, addr) if addr == address!("0xb23d80f5FefcDDaa212212F028021B41DEd428CF") => Some(&PRIME), + (1, addr) if addr == address!("0x226bb599a12C826476e3A771454697EA52E9E220") => Some(&PROPY), + (1, addr) if addr == address!("0x6BEF15D938d4E72056AC92Ea4bDD0D76B1C4ad29") => Some(&SUCCINCT), + (1, addr) if addr == address!("0x362bc847A3a9637d3af6624EeC853618a43ed7D2") => Some(&PARSIQ), + (1, addr) if addr == address!("0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006") => Some(&PSTAKE_FINANCE), + (1, addr) if addr == address!("0x4d1C297d39C5c1277964D0E3f8Aa901493664530") => Some(&PUFFER_FINANCE), + (1, addr) if addr == address!("0x6c3ea9036406852006290770BEdFcAbA0e23A0e8") => Some(&PAYPAL_USD), + (1, addr) if addr == address!("0x4a220E6096B25EADb88358cb44068A3248254675") => Some(&QUANT), + (1, addr) if addr == address!("0x4123a133ae3c521FD134D7b13A2dEC35b56c2463") => Some(&QREDO), + (1, addr) if addr == address!("0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d") => Some(&QUANTSTAMP), + (1, addr) if addr == address!("0x6c28AeF8977c9B773996d0e8376d2EE379446F2f") => Some(&QUICKSWAP), + (1, addr) if addr == address!("0x31c8EAcBFFdD875c74b94b077895Bd78CF1E64A3") => Some(&RADICLE), + (1, addr) if addr == address!("0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919") => Some(&RAI_REFLEX_INDEX), + (1, addr) if addr == address!("0xba5BDe662c17e2aDFF1075610382B9B691296350") => Some(&SUPERRARE), + (1, addr) if addr == address!("0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF") => Some(&RARIBLE), + (1, addr) if addr == address!("0xA4EED63db85311E22dF4473f87CcfC3DaDCFA3E3") => Some(&RUBIC), + (1, addr) if addr == address!("0x6123B0049F904d730dB3C36a31167D9d4121fA6B") => Some(&RIBBON_FINANCE), + (1, addr) if addr == address!("0xc43C6bfeDA065fE2c4c11765Bf838789bd0BB5dE") => Some(&REDSTONE), + (1, addr) if addr == address!("0x408e41876cCCDC0F92210600ef50372656052a38") => Some(&REPUBLIC_TOKEN), + (1, addr) if addr == address!("0x1985365e9f78359a9B6AD760e32412f4a445E862") => Some(&REPUTATION_AUGUR_V1), + (1, addr) if addr == address!("0x221657776846890989a759BA2973e427DfF5C9bB") => Some(&REPUTATION_AUGUR_V2), + (1, addr) if addr == address!("0x8f8221aFbB33998d8584A2B05749bA73c37a938a") => Some(&REQUEST), + (1, addr) if addr == address!("0x557B933a7C2c45672B610F8954A3deB39a51A8Ca") => Some(&REVV), + (1, addr) if addr == address!("0x3B50805453023a91a8bf641e279401a0b23FA6F9") => Some(&RENZO), + (1, addr) if addr == address!("0xD291E7a03283640FDc51b121aC401383A46cC623") => Some(&RARI_GOVERNANCE_TOKEN), + (1, addr) if addr == address!("0x607F4C5BB672230e8672085532f7e901544a7375") => Some(&IEXEC_RLC), + (1, addr) if addr == address!("0xB5F7b021a78f470d31D762C1DDA05ea549904fbd") => Some(&RAYLS), + (1, addr) if addr == address!("0x8292Bb45bf1Ee4d140127049757C2E0fF06317eD") => Some(&RLUSD), + (1, addr) if addr == address!("0xf1f955016EcbCd7321c7266BccFB96c68ea5E49b") => Some(&RALLY), + (1, addr) if addr == address!("0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24") => Some(&RENDER_TOKEN), + (1, addr) if addr == address!("0x32b4d049fE4c888D2b92eEcaf729F44DF6B1F36E") => Some(&ROBO_TOKEN), + (1, addr) if addr == address!("0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a") => Some(&ROOK), + (1, addr) if addr == address!("0xD33526068D116cE69F19A9ee46F0bd304F21A51f") => Some(&ROCKET_POOL_PROTOCOL), + (1, addr) if addr == address!("0x320623b8E4fF03373931769A31Fc52A4E78B5d70") => Some(&RESERVE_RIGHTS), + (1, addr) if addr == address!("0x5aFE3855358E112B5647B952709E6165e1c1eEEe") => Some(&SAFE), + (1, addr) if addr == address!("0x3845badAde8e6dFF049820680d1F14bD3903a5d0") => Some(&THE_SANDBOX), + (1, addr) if addr == address!("0x30D20208d987713f46DFD34EF128Bb16C404D10f") => Some(&STADER), + (1, addr) if addr == address!("0x56A3BA04E95d34268A19b2a4474DC979baBDaf76") => Some(&SENTIENT), + (1, addr) if addr == address!("0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE") => Some(&SHIBA_INU), + (1, addr) if addr == address!("0x7C84e62859D0715eb77d1b1C4154Ecd6aBB21BEC") => Some(&SHPING), + (1, addr) if addr == address!("0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7") => Some(&SKALE), + (1, addr) if addr == address!("0x56072C95FAA701256059aa122697B133aDEd9279") => Some(&SKY_GOVERNANCE_TOKEN), + (1, addr) if addr == address!("0xCC8Fa225D80b9c7D42F96e9570156c65D6cAAa25") => Some(&SMOOTH_LOVE_POTION), + (1, addr) if addr == address!("0x744d70FDBE2Ba4CF95131626614a1763DF805B9E") => Some(&STATUS), + (1, addr) if addr == address!("0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F") => Some(&SYNTHETIX_NETWORK_TOKEN), + (1, addr) if addr == address!("0x23B608675a2B2fB1890d3ABBd85c5775c51691d5") => Some(&UNISOCKS), + (1, addr) if addr == address!("0xD31a59c85aE9D8edEFeC411D448f90841571b89c") => Some(&SOL_WORMHOLE), + (1, addr) if addr == address!("0x090185f2135308BaD17527004364eBcC2D37e5F6") => Some(&SPELL_TOKEN), + (1, addr) if addr == address!("0xc20059e0317DE91738d13af027DfC4a50781b066") => Some(&SPARK), + (1, addr) if addr == address!("0xE0f63A424a4439cBE457D80E4f4b51aD25b2c56C") => Some(&SPX6900), + (1, addr) if addr == address!("0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6") => Some(&STARGATE_FINANCE), + (1, addr) if addr == address!("0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC") => Some(&STORJ_TOKEN), + (1, addr) if addr == address!("0xCa14007Eff0dB1f8135f4C25B34De49AB0d42766") => Some(&STARKNET), + (1, addr) if addr == address!("0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45") => Some(&STOX), + (1, addr) if addr == address!("0x0763fdCCF1aE541A5961815C0872A8c5Bc6DE4d7") => Some(&SUKU), + (1, addr) if addr == address!("0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55") => Some(&SUPERFARM), + (1, addr) if addr == address!("0x57Ab1ec28D129707052df4dF418D58a2D46d5f51") => Some(&SYNTH_SUSD), + (1, addr) if addr == address!("0x6B3595068778DD592e39A122f4f5a5cF09C90fE2") => Some(&SUSHI), + (1, addr) if addr == address!("0x0a6E7Ba5042B38349e437ec6Db6214AEC7B35676") => Some(&SWELL), + (1, addr) if addr == address!("0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e") => Some(&SWFTCOIN), + (1, addr) if addr == address!("0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9") => Some(&SWIPE), + (1, addr) if addr == address!("0xE6Bfd33F52d82Ccb5b37E16D3dD81f9FFDAbB195") => Some(&SPACE_AND_TIME), + (1, addr) if addr == address!("0xf293d23BF2CDc05411Ca0edDD588eb1977e8dcd4") => Some(&SYLO), + (1, addr) if addr == address!("0x0f2D719407FdBeFF09D87557AbB7232601FD9F29") => Some(&SYNAPSE), + (1, addr) if addr == address!("0x643C4E15d7d62Ad0aBeC4a9BD4b001aA3Ef52d66") => Some(&SYRUP_TOKEN), + (1, addr) if addr == address!("0xCdF7028ceAB81fA0C6971208e83fa7872994beE5") => Some(&THRESHOLD_NETWORK), + (1, addr) if addr == address!("0x18084fbA666a33d37592fA2633fD49a74DD93a88") => Some(&TBTC), + (1, addr) if addr == address!("0xC3d21f79C3120A4fFda7A535f8005a7c297799bF") => Some(&TERM_FINANCE), + (1, addr) if addr == address!("0xafFbe9a60F1F45E057FD9b6DC70004Bb0Ccc8b99") => Some(&THEORIQ), + (1, addr) if addr == address!("0x485d17A6f1B8780392d53D64751824253011A260") => Some(&CHRONOTECH), + (1, addr) if addr == address!("0x888888848B652B3E3a0f34c96E00EEC0F3a23F72") => Some(&ALIEN_WORLDS), + (1, addr) if addr == address!("0x2e9d63788249371f1DFC918a52f8d799F4a38C94") => Some(&TOKEMAK), + (1, addr) if addr == address!("0x4507cEf57C46789eF8d1a19EA45f4216bae2B528") => Some(&TOKENFI), + (1, addr) if addr == address!("0x2Ab6Bb8408ca3199B8Fa6C92d5b455F820Af03c4") => Some(&TE_FOOD), + (1, addr) if addr == address!("0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F") => Some(&ORIGINTRAIL), + (1, addr) if addr == address!("0x88dF592F8eb5D7Bd38bFeF7dEb0fBc02cf3778a0") => Some(&TELLOR), + (1, addr) if addr == address!("0x77146784315Ba81904d654466968e3a7c196d1f3") => Some(&TREEHOUSE_TOKEN), + (1, addr) if addr == address!("0x228bEC415adE4b61D7CaF0adf8C91EAc587BA369") => Some(&TRIA), + (1, addr) if addr == address!("0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B") => Some(&TRIBE), + (1, addr) if addr == address!("0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784") => Some(&TRUEFI), + (1, addr) if addr == address!("0xA35923162C49cF95e6BF26623385eb431ad920D3") => Some(&TURBO), + (1, addr) if addr == address!("0xd084B83C305daFD76AE3E1b4E1F1fe2eCcCb3988") => Some(&THE_VIRTUA_KOLECT), + (1, addr) if addr == address!("0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828") => Some(&UMA_VOTING_TOKEN_V1), + (1, addr) if addr == address!("0x441761326490cACF7aF299725B6292597EE822c2") => Some(&UNIFI_PROTOCOL_DAO), + (1, addr) if addr == address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984") => Some(&UNISWAP), + (1, addr) if addr == address!("0x70D2b7C19352bB76e4409858FF5746e500f2B67c") => Some(&PAWTOCOL), + (1, addr) if addr == address!("0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d") => Some(&WORLD_LIBERTY_FINANCIAL_USD), + (1, addr) if addr == address!("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48") => Some(&USDCOIN), + (1, addr) if addr == address!("0xe343167631d89B6Ffc58B88d6b7fB0228795491D") => Some(&GLOBAL_DOLLAR), + (1, addr) if addr == address!("0x8E870D67F660D95d5be530380D0eC0bd388289E1") => Some(&PAX_DOLLAR), + (1, addr) if addr == address!("0xc83e27f270cce0A3A3A29521173a83F402c1768b") => Some(&QUANTOZ_USDQ), + (1, addr) if addr == address!("0x7B43E3875440B44613DC3bC08E7763e6Da63C8f8") => Some(&STABLR_USD), + (1, addr) if addr == address!("0xdC035D45d973E3EC169d2276DDab16f1e407384F") => Some(&USDS_STABLECOIN), + (1, addr) if addr == address!("0xdAC17F958D2ee523a2206206994597C13D831ec7") => Some(&TETHER_USD), + (1, addr) if addr == address!("0xC4441c2BE5d8fA8126822B9929CA0b81Ea0DE38E") => Some(&USUAL), + (1, addr) if addr == address!("0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624") => Some(&VANRY), + (1, addr) if addr == address!("0x3C4B6E6e1eA3D4863700D7F76b36B7f3D3f13E3d") => Some(&VOYAGER_TOKEN), + (1, addr) if addr == address!("0xEDB171C18cE90B633DB442f2A6F72874093b49Ef") => Some(&WRAPPED_AMPLEFORTH), + (1, addr) if addr == address!("0xf983da3ca66964C02628189Ea8Ca99fa9E24f66c") => Some(&WRAPPED_ANALOG_ONE_TOKEN), + (1, addr) if addr == address!("0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599") => Some(&WRAPPED_BTC), + (1, addr) if addr == address!("0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0") => Some(&WRAPPED_CENTRIFUGE), + (1, addr) if addr == address!("0xeF4461891DfB3AC8572cCf7C794664A8DD927945") => Some(&WALLETCONNECT_TOKEN), + (1, addr) if addr == address!("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2") => Some(&WRAPPED_ETHER), + (1, addr) if addr == address!("0xdA5e1988097297dCdc1f90D4dFE7909e847CBeF6") => Some(&WORLD_LIBERTY_FINANCIAL), + (1, addr) if addr == address!("0x4691937a7508860F876c9c0a2a617E7d9E945D4B") => Some(&WOO_NETWORK), + (1, addr) if addr == address!("0xCEDbEA37C8872c4171259Cdfd5255CB8923Cf8e7") => Some(&ANOMA), + (1, addr) if addr == address!("0x68749665FF8D2d112Fa859AA293F07A622782F38") => Some(&TETHER_GOLD), + (1, addr) if addr == address!("0xA2cd3D43c775978A96BdBf12d733D5A1ED94fb18") => Some(&CHAIN), + (1, addr) if addr == address!("0x70e8dE73cE538DA2bEEd35d14187F6959a8ecA96") => Some(&XSGD), + (1, addr) if addr == address!("0x55296f69f40Ea6d20E478533C15A6B08B654E758") => Some(&XYO_NETWORK), + (1, addr) if addr == address!("0x01791F726B4103694969820be083196cC7c045fF") => Some(&YIELD_BASIS), + (1, addr) if addr == address!("0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e") => Some(&YEARN_FINANCE), + (1, addr) if addr == address!("0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83") => Some(&DFI_MONEY), + (1, addr) if addr == address!("0x25f8087EAD173b73D6e8B84329989A8eEA16CF73") => Some(&YIELD_GUILD_GAMES), + (1, addr) if addr == address!("0xA12CC123ba206d4031D1c7f6223D1C2Ec249f4f3") => Some(&ZAMA), + (1, addr) if addr == address!("0xf091867EC603A6628eD83D274E835539D82e9cc8") => Some(&ZETACHAIN), + (1, addr) if addr == address!("0x000006c2A22ff4A44ff1f5d0F2ed65F781F55555") => Some(&BOUNDLESS), + (1, addr) if addr == address!("0xe1Be424F442D0687129128C6c38aAce44F8c8Dbc") => Some(&ZKPASS), + (1, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO), + (1, addr) if addr == address!("0xE41d2489571d322189246DaFA5ebDe1F4699F498") => Some(&TOKEN_0X_PROTOCOL_TOKEN), + (3, addr) if addr == address!("0xaD6D458402F60fD3Bd25163575031ACDce07538D") => Some(&DAI_STABLECOIN_3_CE07538D), + (3, addr) if addr == address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984") => Some(&UNISWAP_3_4201F984), + (3, addr) if addr == address!("0xc778417E063141139Fce010982780140Aa0cD5Ab") => Some(&WRAPPED_ETHER_3_AA0CD5AB), + (4, addr) if addr == address!("0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735") => Some(&DAI_STABLECOIN_4_A8FC4735), + (4, addr) if addr == address!("0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85") => Some(&MAKER_4_359AAD85), + (4, addr) if addr == address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984") => Some(&UNISWAP_4_4201F984), + (4, addr) if addr == address!("0xc778417E063141139Fce010982780140Aa0cD5Ab") => Some(&WRAPPED_ETHER_4_AA0CD5AB), + (5, addr) if addr == address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984") => Some(&UNISWAP_5_4201F984), + (5, addr) if addr == address!("0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6") => Some(&WRAPPED_ETHER_5_2B2208D6), + (10, addr) if addr == address!("0xAd42D013ac31486B73b6b059e748172994736426") => Some(&TOKEN_1INCH_10_94736426), + (10, addr) if addr == address!("0x76FB31fb4af56892A25e32cFC43De717950c9278") => Some(&AAVE_10_950C9278), + (10, addr) if addr == address!("0xFf733b2A3557a7ed6697007ab5D11B79FdD1b76B") => Some(&ACROSS_PROTOCOL_TOKEN_10_FDD1B76B), + (10, addr) if addr == address!("0x334cc734866E97D8452Ae6261d68Fd9bc9BFa31E") => Some(&ARPA_CHAIN_10_C9BFA31E), + (10, addr) if addr == address!("0xFE8B128bA8C78aabC59d4c64cEE7fF28e9379921") => Some(&BALANCER_10_E9379921), + (10, addr) if addr == address!("0xd6909e9e702024eb93312B989ee46794c0fB1C9D") => Some(&BICONOMY_10_C0FB1C9D), + (10, addr) if addr == address!("0x07ad578FF86B135bE19A12759064b802Cb88854D") => Some(&BOBA_NETWORK_10_CB88854D), + (10, addr) if addr == address!("0x3e7eF8f50246f725885102E8238CBba33F276747") => Some(&BARNBRIDGE_10_3F276747), + (10, addr) if addr == address!("0xEd50aCE88bd42B45cB0F49be15395021E141254e") => Some(&BRAINTRUST_10_E141254E), + (10, addr) if addr == address!("0x9C9e5fD8bbc25984B178FdCE6117Defa39d2db39") => Some(&BINANCE_USD_10_39D2DB39), + (10, addr) if addr == address!("0xadDb6A0412DE1BA0F936DCaeb8Aaa24578dcF3B2") => Some(&COINBASE_WRAPPED_STAKED_ETH_10_78DCF3B2), + (10, addr) if addr == address!("0x9b88D293b7a791E40d36A39765FFd5A1B9b5c349") => Some(&CELO_NATIVE_ASSET_WORMHOLE_10_B9B5C349), + (10, addr) if addr == address!("0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53") => Some(&CURVE_DAO_TOKEN_10_0605FB53), + (10, addr) if addr == address!("0xEc6adef5E1006bb305bB1975333e8fc4071295bf") => Some(&CARTESI_10_071295BF), + (10, addr) if addr == address!("0x14778860E937f509e651192a90589dE711Fb88a9") => Some(&CYBER), + (10, addr) if addr == address!("0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1") => Some(&DAI_STABLECOIN_10_C9000DA1), + (10, addr) if addr == address!("0x33800De7E817A70A694F31476313A7c572BBa100") => Some(&DERIVE_10_72BBA100), + (10, addr) if addr == address!("0x65559aA14915a70190438eF90104769e5E890A00") => Some(ÐEREUM_NAME_SERVICE_10_5E890A00), + (10, addr) if addr == address!("0xD8737CA46aa6285dE7B8777a8e3db232911baD41") => Some(&STAFI_10_911BAD41), + (10, addr) if addr == address!("0xF1a0DA3367BC7aa04F8D94BA57B862ff37CeD174") => Some(&SHAPESHIFT_FOX_TOKEN_10_37CED174), + (10, addr) if addr == address!("0x2E3D870790dC77A83DD1d18184Acc7439A53f475") => Some(&FRAX_10_9A53F475), + (10, addr) if addr == address!("0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be") => Some(&FRAX_SHARE_10_1C2205BE), + (10, addr) if addr == address!("0x1EBA7a6a72c894026Cd654AC5CDCF83A46445B08") => Some(&GITCOIN_10_46445B08), + (10, addr) if addr == address!("0x589d35656641d6aB57A545F08cf473eCD9B6D5F7") => Some(&GYEN_10_D9B6D5F7), + (10, addr) if addr == address!("0x2ed6222CB75E353b8789bec7Bb443b7eC9022021") => Some(&KRYLL_10_C9022021), + (10, addr) if addr == address!("0x3A18dcC9745eDcD1Ef33ecB93b0b6eBA5671e7Ca") => Some(&KUJIRA_10_5671E7CA), + (10, addr) if addr == address!("0xFdb794692724153d1488CcdBE0C56c252596735F") => Some(&LIDO_DAO_10_2596735F), + (10, addr) if addr == address!("0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6") => Some(&CHAINLINK_TOKEN_10_38FFA7F6), + (10, addr) if addr == address!("0xFEaA9194F9F8c1B65429E31341a103071464907E") => Some(&LOOPRINGCOIN_V2_10_1464907E), + (10, addr) if addr == address!("0xc40F949F8a4e094D1b49a23ea9241D289B7b2819") => Some(&LIQUITY_USD_10_9B7B2819), + (10, addr) if addr == address!("0x3390108E913824B8eaD638444cc52B9aBdF63798") => Some(&MASK_NETWORK_10_BDF63798), + (10, addr) if addr == address!("0xab7bAdEF82E9Fe11f6f33f87BC9bC2AA27F2fCB5") => Some(&MAKER_10_27F2FCB5), + (10, addr) if addr == address!("0x2561aa2bB1d2Eb6629EDd7b0938d7679B8b49f9E") => Some(&OCEAN_PROTOCOL_10_B8B49F9E), + (10, addr) if addr == address!("0x4200000000000000000000000000000000000042") => Some(&OPTIMISM), + (10, addr) if addr == address!("0xBC7B1Ff1c6989f006a1185318eD4E7b5796e66E1") => Some(&PENDLE_10_796E66E1), + (10, addr) if addr == address!("0xC1c167CC44f7923cd0062c4370Df962f9DDB16f5") => Some(&PEPE_10_9DDB16F5), + (10, addr) if addr == address!("0x9e1028F5F1D5eDE59748FFceE5532509976840E0") => Some(&PERPETUAL_PROTOCOL_10_976840E0), + (10, addr) if addr == address!("0x7FB688CCf682d58f86D7e38e03f9D22e7705448B") => Some(&RAI_REFLEX_INDEX_10_7705448B), + (10, addr) if addr == address!("0xB548f63D4405466B36C0c0aC3318a22fDcec711a") => Some(&RARI_GOVERNANCE_TOKEN_10_DCEC711A), + (10, addr) if addr == address!("0xC81D1F0EB955B0c020E5d5b264E1FF72c14d1401") => Some(&ROCKET_POOL_PROTOCOL_10_C14D1401), + (10, addr) if addr == address!("0x650AF3C15AF43dcB218406d30784416D64Cfb6B2") => Some(&STATUS_10_64CFB6B2), + (10, addr) if addr == address!("0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4") => Some(&SYNTHETIX_NETWORK_TOKEN_10_3D7599B4), + (10, addr) if addr == address!("0xba1Cf949c382A32a09A17B2AdF3587fc7fA664f1") => Some(&SOL_WORMHOLE_10_7FA664F1), + (10, addr) if addr == address!("0xEf6301DA234fC7b0545c6E877D3359FE0B9E50a4") => Some(&SUKU_10_0B9E50A4), + (10, addr) if addr == address!("0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9") => Some(&SYNTH_SUSD_10_751EC8D9), + (10, addr) if addr == address!("0x3eaEb77b03dBc0F6321AE1b72b2E9aDb0F60112B") => Some(&SUSHI_10_0F60112B), + (10, addr) if addr == address!("0x747e42Eb0591547a0ab429B3627816208c734EA7") => Some(&THRESHOLD_NETWORK_10_8C734EA7), + (10, addr) if addr == address!("0xaf8cA653Fa2772d58f4368B0a71980e9E3cEB888") => Some(&TELLOR_10_E3CEB888), + (10, addr) if addr == address!("0xE7798f023fC62146e8Aa1b36Da45fb70855a77Ea") => Some(&UMA_VOTING_TOKEN_V1_10_855A77EA), + (10, addr) if addr == address!("0x6fd9d7AD17242c41f7131d257212c54A0e816691") => Some(&UNISWAP_10_0E816691), + (10, addr) if addr == address!("0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85") => Some(&USDCOIN_10_D097FF85), + (10, addr) if addr == address!("0x7F5c764cBc14f9669B88837ca1490cCa17c31607") => Some(&USDCOIN_BRIDGED_FROM_ETHEREUM), + (10, addr) if addr == address!("0x94b008aA00579c1307B0EF2c499aD98a8ce58e58") => Some(&TETHER_USD_10_8CE58E58), + (10, addr) if addr == address!("0x9560e827aF36c94D2Ac33a39bCE1Fe78631088Db") => Some(&VELODROME_FINANCE), + (10, addr) if addr == address!("0x68f180fcCe6836688e9084f035309E29Bf0A2095") => Some(&WRAPPED_BTC_10_BF0A2095), + (10, addr) if addr == address!("0xeF4461891DfB3AC8572cCf7C794664A8DD927945") => Some(&WALLETCONNECT_TOKEN_10_DD927945), + (10, addr) if addr == address!("0x4200000000000000000000000000000000000006") => Some(&WRAPPED_ETHER_10_00000006), + (10, addr) if addr == address!("0xdC6fF44d5d932Cbd77B52E5612Ba0529DC6226F1") => Some(&WORLDCOIN), + (10, addr) if addr == address!("0x871f2F2ff935FD1eD867842FF2a7bfD051A5E527") => Some(&WOO_NETWORK_10_51A5E527), + (10, addr) if addr == address!("0x9db118D43069B73B8a252bF0be49d50Edbd81fc8") => Some(&XYO_NETWORK_10_DBD81FC8), + (10, addr) if addr == address!("0x9046D36440290FfDE54FE0DD84Db8b1CfEE9107B") => Some(&YEARN_FINANCE_10_FEE9107B), + (10, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO_10_F13271CD), + (10, addr) if addr == address!("0xD1917629B3E6A72E6772Aab5dBe58Eb7FA3C2F33") => Some(&TOKEN_0X_PROTOCOL_TOKEN_10_FA3C2F33), + (42, addr) if addr == address!("0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa") => Some(&DAI_STABLECOIN_42_B64CA6AA), + (42, addr) if addr == address!("0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD") => Some(&MAKER_42_71A4FFCD), + (42, addr) if addr == address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984") => Some(&UNISWAP_42_4201F984), + (42, addr) if addr == address!("0xd0A1E359811322d97991E03f863a0C30C2cF029C") => Some(&WRAPPED_ETHER_42_C2CF029C), + (56, addr) if addr == address!("0x111111111117dC0aa78b770fA6A738034120C302") => Some(&TOKEN_1INCH_56_4120C302), + (56, addr) if addr == address!("0xfb6115445Bff7b52FeB98650C87f44907E58f802") => Some(&AAVE_56_7E58F802), + (56, addr) if addr == address!("0xBc7d6B50616989655AfD682fb42743507003056D") => Some(&ALCHEMY_PAY_56_7003056D), + (56, addr) if addr == address!("0x6bfF4Fb161347ad7de4A625AE5aa3A1CA7077819") => Some(&AMBIRE_ADEX_56_A7077819), + (56, addr) if addr == address!("0x12f31B73D812C6Bb0d735a218c086d44D5fe5f89") => Some(&AGEUR_56_D5FE5F89), + (56, addr) if addr == address!("0x33d08D8C7a168333a85285a68C0042b39fC3741D") => Some(&AIOZ_NETWORK_56_9FC3741D), + (56, addr) if addr == address!("0x82D2f8E02Afb160Dd5A480a617692e62de9038C4") => Some(&ALEPH_IM_56_DE9038C4), + (56, addr) if addr == address!("0xAC51066d7bEC65Dc4589368da368b212745d63E8") => Some(&MY_NEIGHBOR_ALICE_56_745D63E8), + (56, addr) if addr == address!("0xa1faa113cbE53436Df28FF0aEe54275c13B40975") => Some(&ALPHA_VENTURE_DAO_56_13B40975), + (56, addr) if addr == address!("0xf307910A4c7bbc79691fD374889b36d8531B08e3") => Some(&ANKR_56_531B08E3), + (56, addr) if addr == address!("0x6F769E65c14Ebd1f68817F5f1DcDb61Cfa2D6f7e") => Some(&ARPA_CHAIN_56_FA2D6F7E), + (56, addr) if addr == address!("0x000Ae314E2A2172a039B26378814C252734f556A") => Some(&ASTER), + (56, addr) if addr == address!("0xA2120b9e674d3fC3875f415A7DF52e382F141225") => Some(&AUTOMATA_56_2F141225), + (56, addr) if addr == address!("0x8b1f4432F943c465A973FeDC6d7aa50Fc96f1f65") => Some(&AXELAR_56_C96F1F65), + (56, addr) if addr == address!("0x715D400F88C167884bbCc41C5FeA407ed4D2f8A0") => Some(&AXIE_INFINITY_56_D4D2F8A0), + (56, addr) if addr == address!("0x935a544Bf5816E3A7C13DB2EFe3009Ffda0aCdA2") => Some(&BLUZELLE_56_DA0ACDA2), + (56, addr) if addr == address!("0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56") => Some(&BINANCE_USD_56_DD087D56), + (56, addr) if addr == address!("0xaEC945e04baF28b135Fa7c640f624f8D90F1C3a6") => Some(&COIN98_56_90F1C3A6), + (56, addr) if addr == address!("0xf9CeC8d50f6c8ad3Fb6dcCEC577e05aA32B224FE") => Some(&CHROMIA_56_32B224FE), + (56, addr) if addr == address!("0x09E889BB4D5b474f561db0491C38702F367A4e4d") => Some(&CLOVER_FINANCE_56_367A4E4D), + (56, addr) if addr == address!("0x52CE071Bd9b1C4B00A0b92D298c512478CaD67e8") => Some(&COMPOUND_56_8CAD67E8), + (56, addr) if addr == address!("0xd15CeE1DEaFBad6C0B3Fd7489677Cc102B141464") => Some(&CIRCUITS_OF_VALUE_56_2B141464), + (56, addr) if addr == address!("0x8dA443F84fEA710266C8eB6bC34B71702d033EF2") => Some(&CARTESI_56_2D033EF2), + (56, addr) if addr == address!("0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3") => Some(&DAI_STABLECOIN_56_58B1DBC3), + (56, addr) if addr == address!("0x23CE9e926048273eF83be0A3A8Ba9Cb6D45cd978") => Some(&MINES_OF_DALARNIA_56_D45CD978), + (56, addr) if addr == address!("0xe91a8D2c584Ca93C7405F15c22CdFE53C29896E3") => Some(&DEXTOOLS_56_C29896E3), + (56, addr) if addr == address!("0x99956D38059cf7bEDA96Ec91Aa7BB2477E0901DD") => Some(&DIA_56_7E0901DD), + (56, addr) if addr == address!("0xEC583f25A049CC145dA9A256CDbE9B6201a705Ff") => Some(&DREP_56_01A705FF), + (56, addr) if addr == address!("0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17") => Some(&DEFI_YIELD_PROTOCOL_56_91BCEF17), + (56, addr) if addr == address!("0x7bd6FaBD64813c48545C9c0e312A0099d9be2540") => Some(&DOGELON_MARS_56_D9BE2540), + (56, addr) if addr == address!("0x4B5C23cac08a567ecf0c1fFcA8372A45a5D33743") => Some(&HARVEST_FINANCE_56_A5D33743), + (56, addr) if addr == address!("0x031b41e504677879370e9DBcF937283A8691Fa7f") => Some(&FETCH_AI_56_8691FA7F), + (56, addr) if addr == address!("0xfb5B838b6cfEEdC2873aB27866079AC55363D37E") => Some(&FLOKI_56_5363D37E), + (56, addr) if addr == address!("0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40") => Some(&FRAX_56_53E89F40), + (56, addr) if addr == address!("0xAD29AbB318791D579433D831ed122aFeAf29dcfe") => Some(&FANTOM_56_AF29DCFE), + (56, addr) if addr == address!("0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE") => Some(&FRAX_SHARE_56_5EADB9EE), + (56, addr) if addr == address!("0xe4Cc45Bb5DBDA06dB6183E8bf016569f40497Aa5") => Some(&GALXE_56_40497AA5), + (56, addr) if addr == address!("0x30117E4bC17d7B044194b76A38365C53b72F7D49") => Some(ÐGAS_56_B72F7D49), + (56, addr) if addr == address!("0x44Ec807ce2F4a6F2737A92e985f318d035883e47") => Some(&HASHFLOW_56_35883E47), + (56, addr) if addr == address!("0x5f4Bde007Dc06b867f86EBFE4802e34A1fFEEd63") => Some(&HIGHSTREET_56_1FFEED63), + (56, addr) if addr == address!("0xa2B726B1145A4773F68593CF171187d8EBe4d495") => Some(&INJECTIVE_56_EBE4D495), + (56, addr) if addr == address!("0x0231f91e02DebD20345Ae8AB7D71A41f8E140cE7") => Some(&JUPITER_56_8E140CE7), + (56, addr) if addr == address!("0x073690e6CE25bE816E68F32dCA3e11067c9FB5Cc") => Some(&KUJIRA_56_7C9FB5CC), + (56, addr) if addr == address!("0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD") => Some(&CHAINLINK_TOKEN_56_111A51BD), + (56, addr) if addr == address!("0x2eD9a5C8C13b93955103B9a7C167B67Ef4d568a3") => Some(&MASK_NETWORK_56_F4D568A3), + (56, addr) if addr == address!("0xF218184Af829Cf2b0019F8E6F0b2423498a36983") => Some(&MATH_56_98A36983), + (56, addr) if addr == address!("0xCC42724C6683B7E57334c4E856f4c9965ED682bD") => Some(&POLYGON_56_5ED682BD), + (56, addr) if addr == address!("0x949D48EcA67b17269629c7194F4b727d4Ef9E5d6") => Some(&MERIT_CIRCLE_56_4EF9E5D6), + (56, addr) if addr == address!("0xe552Fb52a4F19e44ef5A967632DBc320B0820639") => Some(&METIS_56_B0820639), + (56, addr) if addr == address!("0xfE19F0B51438fd612f6FD59C1dbB3eA319f433Ba") => Some(&MAGIC_INTERNET_MONEY_56_19F433BA), + (56, addr) if addr == address!("0x5B6DcF557E2aBE2323c48445E8CC948910d8c2c9") => Some(&MIRROR_PROTOCOL_56_10D8C2C9), + (56, addr) if addr == address!("0x9Fb9a33956351cf4fa040f65A13b835A3C8764E3") => Some(&MULTICHAIN_56_3C8764E3), + (56, addr) if addr == address!("0x4e7f408be2d4E9D60F49A64B89Bb619c84C7c6F5") => Some(&PERPETUAL_PROTOCOL_56_84C7C6F5), + (56, addr) if addr == address!("0x7e624FA0E1c4AbFD309cC15719b7E2580887f570") => Some(&POLKASTARTER_56_0887F570), + (56, addr) if addr == address!("0xd21d29B38374528675C34936bf7d5Dd693D2a577") => Some(&PARSIQ_56_93D2A577), + (56, addr) if addr == address!("0x4C882ec256823eE773B25b414d36F92ef58a7c0C") => Some(&PSTAKE_FINANCE_56_F58A7C0C), + (56, addr) if addr == address!("0x833F307aC507D47309fD8CDD1F835BeF8D702a93") => Some(&REVV_56_8D702A93), + (56, addr) if addr == address!("0x3BC5AC0dFdC871B365d159f728dd1B9A0B5481E8") => Some(&STADER_56_0B5481E8), + (56, addr) if addr == address!("0xfA54fF1a158B5189Ebba6ae130CEd6bbd3aEA76e") => Some(&SOL_WORMHOLE_56_D3AEA76E), + (56, addr) if addr == address!("0xB0D502E938ed5f4df2E681fE6E419ff29631d62b") => Some(&STARGATE_FINANCE_56_9631D62B), + (56, addr) if addr == address!("0x51BA0b044d96C3aBfcA52B64D733603CCC4F0d4D") => Some(&SUPERFARM_56_CC4F0D4D), + (56, addr) if addr == address!("0x947950BcC74888a40Ffa2593C5798F11Fc9124C4") => Some(&SUSHI_56_FC9124C4), + (56, addr) if addr == address!("0xE64E30276C2F826FEbd3784958d6Da7B55DfbaD3") => Some(&SWFTCOIN_56_55DFBAD3), + (56, addr) if addr == address!("0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A") => Some(&SWIPE_56_FABA485A), + (56, addr) if addr == address!("0xa4080f1778e69467E905B8d6F72f6e441f9e9484") => Some(&SYNAPSE_56_1F9E9484), + (56, addr) if addr == address!("0x3b198e26E473b8faB2085b37978e36c9DE5D7f68") => Some(&CHRONOTECH_56_DE5D7F68), + (56, addr) if addr == address!("0x2222227E22102Fe3322098e4CBfE18cFebD57c95") => Some(&ALIEN_WORLDS_56_EBD57C95), + (56, addr) if addr == address!("0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B") => Some(&UNIFI_PROTOCOL_DAO_56_6B814D8B), + (56, addr) if addr == address!("0xBf5140A22578168FD562DCcF235E5D43A02ce9B1") => Some(&UNISWAP_56_A02CE9B1), + (56, addr) if addr == address!("0x0D35A2B85c5A63188d566D104bEbf7C694334Ee4") => Some(&PAWTOCOL_56_94334EE4), + (56, addr) if addr == address!("0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d") => Some(&USDCOIN_56_32CD580D), + (56, addr) if addr == address!("0x55d398326f99059fF775485246999027B3197955") => Some(&TETHER_USD_56_B3197955), + (56, addr) if addr == address!("0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c") => Some(&WRAPPED_BNB), + (56, addr) if addr == address!("0x2170Ed0880ac9A755fd29B2688956BD959F933F8") => Some(&WRAPPED_ETHER_56_59F933F8), + (56, addr) if addr == address!("0x4691937a7508860F876c9c0a2a617E7d9E945D4B") => Some(&WOO_NETWORK_56_9E945D4B), + (56, addr) if addr == address!("0x7324c7C0d95CEBC73eEa7E85CbAac0dBdf88a05b") => Some(&CHAIN_56_DF88A05B), + (56, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO_56_F13271CD), + (130, addr) if addr == address!("0xbe41cde1C5e75a7b6c2c70466629878aa9ACd06E") => Some(&TOKEN_1INCH_130_A9ACD06E), + (130, addr) if addr == address!("0x44D618C366D7bC85945Bfc922ACad5B1feF7759A") => Some(&ANCIENT8_130_FEF7759A), + (130, addr) if addr == address!("0x02a24C380dA560E4032Dc6671d8164cfbEEAAE1e") => Some(&AAVE_130_BEEAAE1E), + (130, addr) if addr == address!("0xDDCe42b89215548beCaA160048460747Fe5675bC") => Some(&ARCBLOCK_130_FE5675BC), + (130, addr) if addr == address!("0xb8A8e137A2dAa25EF1B3577b6598fE8Be66Ecf77") => Some(&ALCHEMY_PAY_130_E66ECF77), + (130, addr) if addr == address!("0x34424B3352af905e41078a4029b61EDe62BbB32C") => Some(&ACROSS_PROTOCOL_TOKEN_130_62BBB32C), + (130, addr) if addr == address!("0x3e1C572d8b069fc2f14ac4f8bdCE6e8eA299A500") => Some(&AMBIRE_ADEX_130_A299A500), + (130, addr) if addr == address!("0xfd38ac2316f6d3631a86065aDb3292f6f15873B5") => Some(&AERGO_130_F15873B5), + (130, addr) if addr == address!("0x54FA9210cCB765639b7Fd532f25bCb1060D60F8B") => Some(&AEVO_130_60D60F8B), + (130, addr) if addr == address!("0xA4eeF95995F40aD0b3D63a474293Fc7CC681A118") => Some(&AGEUR_130_C681A118), + (130, addr) if addr == address!("0x14421614587A2A3e9C3Aa3131Fc396aF412721CF") => Some(&ADVENTURE_GOLD_130_412721CF), + (130, addr) if addr == address!("0x5F891E74947b0FC400128E5E85333d7a6cF99b1A") => Some(&AIOZ_NETWORK_130_6CF99B1A), + (130, addr) if addr == address!("0xbf194C82A5Bb9180f9280c1832f886a65Aebdcd6") => Some(&ALCHEMIX_130_5AEBDCD6), + (130, addr) if addr == address!("0xa3E646211a456e08829C33fcE21cC3DC4c15Bb5c") => Some(&ALEPH_IM_130_4C15BB5C), + (130, addr) if addr == address!("0x2a87dd1e1F849ed88C18565AFDa98e2EEEc73780") => Some(&ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_130_EEC73780), + (130, addr) if addr == address!("0xBb72B8031F590748d8910Aad7e25F8B18860960a") => Some(&MY_NEIGHBOR_ALICE_130_8860960A), + (130, addr) if addr == address!("0x44c3E7c49C4Bb6f4f5eCD87E035176dFceBD78d3") => Some(&ALPHA_VENTURE_DAO_130_CEBD78D3), + (130, addr) if addr == address!("0x6D5De04F1a3E0e554B9A15059d03e20cb3589153") => Some(&ALTLAYER_130_B3589153), + (130, addr) if addr == address!("0x4D6B8ecb576dF9BB4bF6E6764A469a762bBc967F") => Some(&_130_2BBC967F), + (130, addr) if addr == address!("0xf081Fc8E0878D7eBe6ec381E5d7279d6EFf97622") => Some(&ANKR_130_EFF97622), + (130, addr) if addr == address!("0x865d184885200B8e86eb2a3Da8b3B4a7d4A31308") => Some(&ARAGON_130_D4A31308), + (130, addr) if addr == address!("0xD1b8423FdE5F37464FadE603f80903cB314046cf") => Some(&APECOIN_130_314046CF), + (130, addr) if addr == address!("0xA63122b27308EED0C1D83DD355ADdaA7f678961b") => Some(&API3_130_F678961B), + (130, addr) if addr == address!("0xcDfcE5eb357E8976A80Be84E94a03BA963b9e379") => Some(&APU_APUSTAJA_130_63B9E379), + (130, addr) if addr == address!("0x5cC70a9DF8E293aFFb14DFCa1e7F851418a4b40d") => Some(&ARBITRUM_130_18A4B40D), + (130, addr) if addr == address!("0x59F16BaA7A22f49c32680661e0041A53442Ef089") => Some(&ARKHAM_130_442EF089), + (130, addr) if addr == address!("0xE911A809F87490406AB34fad701aabCA88e30b45") => Some(&ARPA_CHAIN_130_88E30B45), + (130, addr) if addr == address!("0x4b355De6Ea44711f0353Ed89545705395a30d7Fb") => Some(&ASH_130_5A30D7FB), + (130, addr) if addr == address!("0x1e196D83e2c562de0b1f270Eb72220335bA0ADa7") => Some(&ASSEMBLE_PROTOCOL_130_5BA0ADA7), + (130, addr) if addr == address!("0x7F3F14A49FE5D5009E4e0a09e76cB8468C09Ae56") => Some(&AIRSWAP_130_8C09AE56), + (130, addr) if addr == address!("0xBAAa314d2f5Af29B00867a612F24F816d890C4B2") => Some(&AUTOMATA_130_D890C4B2), + (130, addr) if addr == address!("0xa249732271cbA6E06Be4ac8B20f0D465FeE183Ab") => Some(&AETHIR_TOKEN_130_FEE183AB), + (130, addr) if addr == address!("0x82F90996a4F67Eb388116B3C6F35B6Ea91BeF68E") => Some(&BOUNCE_130_91BEF68E), + (130, addr) if addr == address!("0x48b8441dE79cEE3604b805093B41028d3c81684B") => Some(&AUDIUS_130_3C81684B), + (130, addr) if addr == address!("0x38DBf47e2a012a4b83823f15E3F3352A00939999") => Some(&ARTVERSE_TOKEN_130_00939999), + (130, addr) if addr == address!("0xbF678793522638F7439aFE3B94d2D2A3a4cBF2C9") => Some(&AXELAR_130_A4CBF2C9), + (130, addr) if addr == address!("0xDA63AdA216d2079B54F2047B2FdC2576D188f927") => Some(&AXIE_INFINITY_130_D188F927), + (130, addr) if addr == address!("0xc2a564b44b441D03f09f5B6B2b358B4a17388406") => Some(&BADGER_DAO_130_17388406), + (130, addr) if addr == address!("0x01625E26274Ed828Ac1d47694c97221b34a8ADdF") => Some(&BALANCER_130_34A8ADDF), + (130, addr) if addr == address!("0xa264F2b88C630f260AbDcAb577eAB7266A8857d5") => Some(&BAND_PROTOCOL_130_6A8857D5), + (130, addr) if addr == address!("0x4e373C99199773f9D92d32B8c8Bc0C81508ea589") => Some(&BASIC_ATTENTION_TOKEN_130_508EA589), + (130, addr) if addr == address!("0xe5ECB192f1aE5839eD49886F36dFA670f9500824") => Some(&BEAM_130_F9500824), + (130, addr) if addr == address!("0x604Ff88ADC02325EFb7f93DB3E442dc81D0588E7") => Some(&BICONOMY_130_1D0588E7), + (130, addr) if addr == address!("0x17f3AfE72cAa6b9090801b60607918b6D2Fa7cdc") => Some(&BIG_TIME_130_D2FA7CDC), + (130, addr) if addr == address!("0xA4Cb2aaf7503641B441e80fC353e6748fb523A5C") => Some(&BITDAO_130_FB523A5C), + (130, addr) if addr == address!("0x41f6e69166e81A9583DBc96604B01D2E9B3D706f") => Some(&HARRYPOTTEROBAMASONIC10INU_130_9B3D706F), + (130, addr) if addr == address!("0x942fC6b61686e06fB411cB1bCf5d16DC2b9255eA") => Some(&BLUR_130_2B9255EA), + (130, addr) if addr == address!("0xe7b3Ca9d9Db06E1867781fd1C5F02E6c8eF471ee") => Some(&BLUZELLE_130_8EF471EE), + (130, addr) if addr == address!("0xf2Cc2D274dA528AB64DA86bE3f8416E5472c5a62") => Some(&BANCOR_NETWORK_TOKEN_130_472C5A62), + (130, addr) if addr == address!("0xBE8E46422fB7F9Ca9D639B3109492D64BbB41b05") => Some(&BOBA_NETWORK_130_BBB41B05), + (130, addr) if addr == address!("0x4d5b7e9CCE3Ab81298dA7E1F52b48c9a61Df8972") => Some(&BARNBRIDGE_130_61DF8972), + (130, addr) if addr == address!("0xBbE97f3522101e5B6976cBf77376047097BA837F") => Some(&BONK), + (130, addr) if addr == address!("0x6A4a359C7453F5892392FCb8eAB7A9A100986B71") => Some(&BRAINTRUST_130_00986B71), + (130, addr) if addr == address!("0xa4da5c92F44422dFA3E2E309b53d93bbbDa9f9c6") => Some(&BINANCE_USD_130_BDA9F9C6), + (130, addr) if addr == address!("0x29129fa2e0F35594ca7b362fFA8c80f5f8e4f8E1") => Some(&COIN98_130_F8E4F8E1), + (130, addr) if addr == address!("0xb6A3E8e5715fd4c99EcEDaaAe121bDe4Ab6a1Ef1") => Some(&COINBASE_WRAPPED_BTC_130_AB6A1EF1), + (130, addr) if addr == address!("0xEb64b50FeF2A363940369285F86Ae9a68211db59") => Some(&COINBASE_WRAPPED_STAKED_ETH_130_8211DB59), + (130, addr) if addr == address!("0x6008F5BaD83742fDbFf5AAc55e3c51b65A8A8D9C") => Some(&CELO_NATIVE_ASSET_WORMHOLE_130_5A8A8D9C), + (130, addr) if addr == address!("0x5AD5d6B1AE6761Aab12066b51D21729248035703") => Some(&CELER_NETWORK_130_48035703), + (130, addr) if addr == address!("0xAC930Be88cFAc775A937E9291c4234Bf210a4e5b") => Some(&CHROMIA_130_210A4E5B), + (130, addr) if addr == address!("0xb0C69e24450e29afa8008962052007E08b2396b0") => Some(&CHILIZ_130_8B2396B0), + (130, addr) if addr == address!("0xD7212097f6d6B195a9Bc350b8dCE28a7fA41404C") => Some(&CLOVER_FINANCE_130_FA41404C), + (130, addr) if addr == address!("0xdf78e4F0A8279942ca68046476919A90f2288656") => Some(&COMPOUND_130_F2288656), + (130, addr) if addr == address!("0xc63612B3e697AEeC61C3Ce9baEc0f9Db32F499C3") => Some(&COTI_130_32F499C3), + (130, addr) if addr == address!("0x2562DC34c21371613CEF236b321EE63fCC295beC") => Some(&CIRCUITS_OF_VALUE_130_CC295BEC), + (130, addr) if addr == address!("0xC3a97c76AA194711E05Ff1d181534090B26D3996") => Some(&COW_PROTOCOL_130_B26D3996), + (130, addr) if addr == address!("0xF8E7B485CE10D3C7Ac30B8444B98a0cC423dFb57") => Some(&CLEARPOOL_130_423DFB57), + (130, addr) if addr == address!("0x6C28eeB9E018011d3841f42c5b458713621F90C1") => Some(&COVALENT_130_621F90C1), + (130, addr) if addr == address!("0x73c63A80Ec77BFe31eEc6663828C4beaA30dE818") => Some(&CRONOS_130_A30DE818), + (130, addr) if addr == address!("0x7e7784f13029c7C4BF4746112B1A503818B0D066") => Some(&CRYPTERIUM_130_18B0D066), + (130, addr) if addr == address!("0xAC73671a1762FE835208Fb93b7aE7490d1c2cCb3") => Some(&CURVE_DAO_TOKEN_130_D1C2CCB3), + (130, addr) if addr == address!("0xa7073F530856cD32c2037150dd9763B9BAaED2C5") => Some(&CARTESI_130_BAAED2C5), + (130, addr) if addr == address!("0x36fA435F6def83cbB7a0706d035C9eA062fCb619") => Some(&CRYPTEX_FINANCE_130_62FCB619), + (130, addr) if addr == address!("0xE60e9b2E68297d5DF6B383fEe787B7fB92c2F8aF") => Some(&SOMNIUM_SPACE_CUBES_130_92C2F8AF), + (130, addr) if addr == address!("0x35C458aD1e3e68d2717C8349b985384Be85a01Ed") => Some(&CIVIC_130_E85A01ED), + (130, addr) if addr == address!("0x1C6789F30e7E335c2Eca2c75EC193aDBF0087Ea5") => Some(&CONVEX_FINANCE_130_F0087EA5), + (130, addr) if addr == address!("0x8E29E12B46FeE20E034fE1e812bc12EFf14E5A09") => Some(&COVALENT_X_TOKEN_130_F14E5A09), + (130, addr) if addr == address!("0x20CAb320A855b39F724131C69424240519573f81") => Some(&DAI_STABLECOIN_130_19573F81), + (130, addr) if addr == address!("0x2ef0775A19d1bc2258653fc5529F8f8490288086") => Some(&MINES_OF_DALARNIA_130_90288086), + (130, addr) if addr == address!("0x91ED4bb192e3461E45575730508525083A270265") => Some(&DERIVADAO_130_3A270265), + (130, addr) if addr == address!("0x45a4f750d806498A4c7f7B5267815aaC328e874C") => Some(&DENT_130_328E874C), + (130, addr) if addr == address!("0x17C38207334011a131b0Acf200E35Cd81723cddd") => Some(&DEXTOOLS_130_1723CDDD), + (130, addr) if addr == address!("0x4bdc8553cf14EEBCD489cD1d75b7FF463f9543c2") => Some(&DIA_130_3F9543C2), + (130, addr) if addr == address!("0x0eb07cE7a28FF84DF132fb5ee5F56Aabc1b9E545") => Some(&DISTRICT0X_130_C1B9E545), + (130, addr) if addr == address!("0x12E96C2BFEA6E835CF8Dd38a5834fa61Cf723736") => Some(&DOGECOIN), + (130, addr) if addr == address!("0xE274f564c37aE15fd2570D544102eD4ACd2f84f1") => Some(&DEFI_PULSE_INDEX_130_CD2F84F1), + (130, addr) if addr == address!("0x56aF109D597eb0a0F79ebCD0786Dd88C38EA9Ee7") => Some(&DREP_130_38EA9EE7), + (130, addr) if addr == address!("0x601b11907EAa8d3785C0b10b41C3a7315faeB82c") => Some(&DYDX_130_5FAEB82C), + (130, addr) if addr == address!("0xBdaD8E37a9600F0A35976fE61608a4C89D598610") => Some(&DEFI_YIELD_PROTOCOL_130_9D598610), + (130, addr) if addr == address!("0xc89ab9B82610BB9b748F6757b8F3ac59d016C47D") => Some(&EIGENLAYER_130_D016C47D), + (130, addr) if addr == address!("0x24aBc32215354Ba3eD224bfa6312E31dD8E8c1ab") => Some(&ELASTOS_130_D8E8C1AB), + (130, addr) if addr == address!("0x91441fE1415B00bEA8930A4354Fe00c426C1DE05") => Some(&DOGELON_MARS_130_26C1DE05), + (130, addr) if addr == address!("0x9116E70d613860D349495d9Ef8e2AE1cA6cBD2dd") => Some(ÐENA_130_A6CBD2DD), + (130, addr) if addr == address!("0x9A0D1b7594CAAF0A9e4687cAc9fF4E0B84a6d0A6") => Some(&ENJIN_COIN_130_84A6D0A6), + (130, addr) if addr == address!("0x80756FAf1e7Fec5678bf505670eF176AB5F0383a") => Some(ÐEREUM_NAME_SERVICE_130_B5F0383A), + (130, addr) if addr == address!("0x5E5903C236E6873EB8400C3d1979271Fa93cdB03") => Some(ÐERNITY_CHAIN_130_A93CDB03), + (130, addr) if addr == address!("0xF8740269F121327D03ff77BeD03a9A3258880821") => Some(ÐER_FI_130_58880821), + (130, addr) if addr == address!("0x6319F47719b6713b1624C1b3A8e2DBf15b5D03FE") => Some(&EULER_130_5B5D03FE), + (130, addr) if addr == address!("0x72f34BC403a005A9Be390762EAa46ED42813B0a8") => Some(&EURO_COIN_130_2813B0A8), + (130, addr) if addr == address!("0xEc42461D9BbDF4eFB6481099253bBB7324D7d72d") => Some(&QUANTOZ_EURQ_130_24D7D72D), + (130, addr) if addr == address!("0x7A1ef7fD6E0d708295D8FD0C30Fd437d9C36FB5f") => Some(&STABLR_EURO_130_9C36FB5F), + (130, addr) if addr == address!("0x472E8be16Cc9823b9f6a73A34EA55c0c31ee825F") => Some(&HARVEST_FINANCE_130_31EE825F), + (130, addr) if addr == address!("0x45343279DefDAd803d81C06fBCf87936DDD7DFE7") => Some(&FETCH_AI_130_DDD7DFE7), + (130, addr) if addr == address!("0xec9Be303f204864145CCC193aEb21B5fa10764A6") => Some(&STAFI_130_A10764A6), + (130, addr) if addr == address!("0x1b3EC249dc44a64bF5Cb8Afdd70e30c26c51fA81") => Some(&FLOKI_130_6C51FA81), + (130, addr) if addr == address!("0xB20fD6fD28e1430f98a8C1e9A83C88E5D87D94e5") => Some(&FORTA_130_D87D94E5), + (130, addr) if addr == address!("0xFa004fa2ad8Ef993C2B0412baB776b182220F12e") => Some(&LEFORTH_GOVERNANCE_TOKEN_130_2220F12E), + (130, addr) if addr == address!("0xe0BB1924C17b39B71758F49a00D7c0363B7a318E") => Some(&SHAPESHIFT_FOX_TOKEN_130_3B7A318E), + (130, addr) if addr == address!("0x8c7879bf25D678D9949F305857bD4437d74132B9") => Some(&FRAX_130_D74132B9), + (130, addr) if addr == address!("0xe99235A02958637a5e01575297fBBa3790dC7F0e") => Some(&FANTOM_130_90DC7F0E), + (130, addr) if addr == address!("0x6F32725F82Bbb06FFdC04974db437fec1d7af1Af") => Some(&FUNCTION_X_130_1D7AF1AF), + (130, addr) if addr == address!("0x79301DF2117C7F56859fD01b28bBAA61062021D6") => Some(&FRAX_SHARE_130_062021D6), + (130, addr) if addr == address!("0x481cB2C560fc3351833b582b92b965626fd8803C") => Some(&GRAVITY_130_6FD8803C), + (130, addr) if addr == address!("0x70b2b785061d4c91C76CF87692f85B5c443d8675") => Some(&GALXE_130_443D8675), + (130, addr) if addr == address!("0x31A71801291774d267615f74b3a44FCEB560FAc9") => Some(&GALA_130_B560FAC9), + (130, addr) if addr == address!("0x0328A0255866706547B79072DEE54976b157d3D0") => Some(&GOLDFINCH_130_B157D3D0), + (130, addr) if addr == address!("0x4aE5712A153fDfDE81C305fF7f2E4e59840aD24B") => Some(&AAVEGOTCHI_130_840AD24B), + (130, addr) if addr == address!("0x04b747f478AE09AC797d026C8402f409E2C9f2b9") => Some(&GOLEM_130_E2C9F2B9), + (130, addr) if addr == address!("0xC4c6c3A3043Ad5ECe5c91290630A7735e125a938") => Some(&GNOSIS_TOKEN_130_E125A938), + (130, addr) if addr == address!("0x6E74EA6546e1f21Abf581b59114f2Bf5d3683f48") => Some(&GODS_UNCHAINED_130_D3683F48), + (130, addr) if addr == address!("0xBb2272Ffc0Ef8F439373aDffD45c3591B3204D71") => Some(&THE_GRAPH_130_B3204D71), + (130, addr) if addr == address!("0x592620d454a10c47274dBfe3BD922b9a8fE5cf48") => Some(&GITCOIN_130_8FE5CF48), + (130, addr) if addr == address!("0xEbA12eC786Cdc21b4bd5ba601B595b6A5C0920a9") => Some(&GEMINI_DOLLAR_130_5C0920A9), + (130, addr) if addr == address!("0xad173F5B5FE39DD1183a0d3C49C57629A574c36F") => Some(&GYEN_130_A574C36F), + (130, addr) if addr == address!("0x656104f2028BbFD7144C8f71Fa15daaA8c34A28b") => Some(&HASHFLOW_130_8C34A28B), + (130, addr) if addr == address!("0x99F64C3Db98a4870eFf637315d5C86dcb1374879") => Some(&HIGHSTREET_130_B1374879), + (130, addr) if addr == address!("0xc32C0c5a52F36D244C552E45C485cBceaf385B36") => Some(&HOPR_130_AF385B36), + (130, addr) if addr == address!("0x15D0e0c55a3E7eE67152aD7E89acf164253Ff68d") => Some(&HYPERLIQUID), + (130, addr) if addr == address!("0x4eA052BcAeE7d7ef2E3D61D601e878A560eaBe8e") => Some(&IDEX_130_60EABE8E), + (130, addr) if addr == address!("0xa76195FA77304Bba4cD8946198f5a90E42F3E51F") => Some(&ILLUVIUM_130_42F3E51F), + (130, addr) if addr == address!("0xc4Fc8cF76883094404DDb875d2AF15D1F5AA8053") => Some(&IMMUTABLE_X_130_F5AA8053), + (130, addr) if addr == address!("0xa5Afe7646f07d2C41AA82Bb6AE09e99E121e39B7") => Some(&INDEX_COOPERATIVE_130_121E39B7), + (130, addr) if addr == address!("0x9361cA28625E12C7f088523B274A25059A89f9F8") => Some(&INJECTIVE_130_9A89F9F8), + (130, addr) if addr == address!("0xD326ACaB8799fb44C3A5B7f7eFbAaB5f9F7b54fb") => Some(&INVERSE_FINANCE_130_9F7B54FB), + (130, addr) if addr == address!("0xD749094Bc62615f0c8645467e241b71Ae2B6843F") => Some(&IOTEX_130_E2B6843F), + (130, addr) if addr == address!("0x428c2B7Fa7a7821891fb529BAE4d80a71d5c61A8") => Some(&GEOJAM_130_1D5C61A8), + (130, addr) if addr == address!("0x8EF0686F380dD07f3e2121831839371922720708") => Some(&JASMYCOIN_130_22720708), + (130, addr) if addr == address!("0x781CC305fCBFe7cde376C9Ef5469d5a7E5CaB8b2") => Some(&JUPITER_130_E5CAB8B2), + (130, addr) if addr == address!("0xbe51A5e8FA434F09663e8fB4CCe79d0B2381Afad") => Some(&JUPITER_130_2381AFAD), + (130, addr) if addr == address!("0x05DBd720fc26F732c8d42Ea89BD7F442EA6AFE80") => Some(&KEEP_NETWORK_130_EA6AFE80), + (130, addr) if addr == address!("0x68Cea24F675e4F25584607F6c9feFb353f1bBfDc") => Some(&SELFKEY_130_3F1BBFDC), + (130, addr) if addr == address!("0xB0E4Ad2dFe3754e4a2443A7a828Eda5bB7Cd2284") => Some(&KYBER_NETWORK_CRYSTAL_130_B7CD2284), + (130, addr) if addr == address!("0x9C41547e404942C173E28bB2B6abE4cf5fad6A74") => Some(&KEEP3RV1_130_5FAD6A74), + (130, addr) if addr == address!("0x14CFFAD448AeB0876c56B7aa28999C9a4f002943") => Some(&KRYLL_130_4F002943), + (130, addr) if addr == address!("0x2206cdcC9B94fF7dB7A9eAbeC77b5cE430258681") => Some(&KUJIRA_130_30258681), + (130, addr) if addr == address!("0x1201209f55634bdDb67034efE4e8aA4D1B7B482C") => Some(&LAYER3_130_1B7B482C), + (130, addr) if addr == address!("0xb34b3DE63D22ffC90419c1a439de6C7d46687782") => Some(&LCX_130_46687782), + (130, addr) if addr == address!("0x68A6dbc7214a0F2b0d875963663F1613814E8829") => Some(&LIDO_DAO_130_814E8829), + (130, addr) if addr == address!("0x5a53B6D19D8EDCb7923F0D840EeBB3f09BBeEfB7") => Some(&CHAINLINK_TOKEN_130_9BBEEFB7), + (130, addr) if addr == address!("0x68648F52B85407806bC1d349B745D13C91be0fDf") => Some(&LITENTRY_130_91BE0FDF), + (130, addr) if addr == address!("0x1D1BFCFC6ae6FE045f151C7e589fB241AAC89733") => Some(&LEAGUE_OF_KINGDOMS_130_AAC89733), + (130, addr) if addr == address!("0xc68992e0514968BfbA3Dad201fef91f6009f523c") => Some(&LOOM_NETWORK_130_009F523C), + (130, addr) if addr == address!("0x11c6B34caDC550B65A9666497d7FCb39f35B73E3") => Some(&LIVEPEER_130_F35B73E3), + (130, addr) if addr == address!("0x0176B38b7767451b1B682236eCe2fae853C71a60") => Some(&LIQUITY_130_53C71A60), + (130, addr) if addr == address!("0xA2af802b95D7e20167e5aeaC7Fe8fDf4a8aB158A") => Some(&LOOPRINGCOIN_V2_130_A8AB158A), + (130, addr) if addr == address!("0xD7eb7348Ba44c5A2f9f1D1d3534623230c7bee3F") => Some(&BLOCKLORDS_130_0C7BEE3F), + (130, addr) if addr == address!("0xf81B7485B4cB59645F74528D702c7f8CD72577FB") => Some(&LIQUITY_USD_130_D72577FB), + (130, addr) if addr == address!("0x276361c863903751771e9DabA6dDfaAf00FE358b") => Some(&DECENTRALAND_130_00FE358B), + (130, addr) if addr == address!("0xC42B642F5010a2A3bD3CA2396Fe6f2e21B9512C4") => Some(&MASK_NETWORK_130_1B9512C4), + (130, addr) if addr == address!("0xB999b66186d7a48BF0Eb5d22f4E7053A99eD2C97") => Some(&MATH_130_99ED2C97), + (130, addr) if addr == address!("0xF6AC97B05B3bC92f829c7584b25839906507176b") => Some(&POLYGON_130_6507176B), + (130, addr) if addr == address!("0x460ec1C67e1614Bf1feAb84b98795BAE2d657399") => Some(&MERIT_CIRCLE_130_2D657399), + (130, addr) if addr == address!("0x68619Bc0C709FB63555Fe988ed14e78f7E6ACc40") => Some(&MOSS_CARBON_CREDIT_130_7E6ACC40), + (130, addr) if addr == address!("0xB29FddC20D5e4bacE9F54c1d9237953331BFeFF4") => Some(&MEASURABLE_DATA_TOKEN_130_31BFEFF4), + (130, addr) if addr == address!("0x397E34AFF8bFc8Ec14aa78F378074F6d8E3E7d06") => Some(&MEMECOIN_130_8E3E7D06), + (130, addr) if addr == address!("0xBfBa2A8745e5C85544DB7C8824C6962aB3A8f102") => Some(&METIS_130_B3A8F102), + (130, addr) if addr == address!("0x397C1f55FefF63C8947624b0d457a2CA3e3602ab") => Some(&MAGIC_INTERNET_MONEY_130_3E3602AB), + (130, addr) if addr == address!("0x5FE989EaB3021d7e742099d05a7937bA4A72D717") => Some(&MIRROR_PROTOCOL_130_4A72D717), + (130, addr) if addr == address!("0xf7A581f6e26EEa790225d76Af8821EA34Dc3c117") => Some(&MELON_130_4DC3C117), + (130, addr) if addr == address!("0x58d68e179864605fEA06EAADF1185c6e78921Ebd") => Some(&MOG_COIN_130_78921EBD), + (130, addr) if addr == address!("0xAe6065FB0244A68036C82deC9a8dE5501c7A1087") => Some(&MONAVALE_130_1C7A1087), + (130, addr) if addr == address!("0xaa2109f14Bb155766cBA9E7fa8B8D4bF0ff19949") => Some(&MOVEMENT_130_0FF19949), + (130, addr) if addr == address!("0x587e0E022b074015F4e81eCa489c0C41d752A219") => Some(&MAPLE_130_D752A219), + (130, addr) if addr == address!("0x71d69d07914d087f1C3536F7A5006a256CfAd9Ea") => Some(&METAL_130_6CFAD9EA), + (130, addr) if addr == address!("0x1C3a8fB65Ab82D73e26B6403bf505B99d82b4701") => Some(&MULTICHAIN_130_D82B4701), + (130, addr) if addr == address!("0x10F109379E231d5c294ee6A5f9Abb2F8b40A8Dd1") => Some(&MSTABLE_USD_130_B40A8DD1), + (130, addr) if addr == address!("0xe3d92FB06a4EEbaC5879D3C1073e0eAB81D5f345") => Some(&MUSE_DAO_130_81D5F345), + (130, addr) if addr == address!("0xD6ec6A24d5365A1811B05099f8D353c0Ff182974") => Some(&GENSOKISHI_METAVERSE_130_FF182974), + (130, addr) if addr == address!("0xCF7c45Ccc1327ac1E9Cb9E098898c59402727794") => Some(&MXC_130_02727794), + (130, addr) if addr == address!("0x328Ed7736871F863C8216Ca6CbB6f29B795032Df") => Some(&POLYSWARM_130_795032DF), + (130, addr) if addr == address!("0xc1C06527E810C4A198D8C5d35e1dDBc987696276") => Some(&NEIRO_130_87696276), + (130, addr) if addr == address!("0x75b93cED9627Cd172912304Fb79Cd3e7336BaF62") => Some(&NKN_130_336BAF62), + (130, addr) if addr == address!("0x931e587542b8603EA3C6420dD8d3b22eDbdA20FC") => Some(&NUMERAIRE_130_DBDA20FC), + (130, addr) if addr == address!("0x2AEB5256de25ECed47797b82d2F5C404AACEA6b9") => Some(&NUCYPHER_130_AACEA6B9), + (130, addr) if addr == address!("0x652293F4e9b0ef61C52a78D6615D9f5f3cD79208") => Some(&OCEAN_PROTOCOL_130_3CD79208), + (130, addr) if addr == address!("0xa60CE8f7ec6A091535b4708569B39DF5eE18c880") => Some(&ORIGIN_PROTOCOL_130_EE18C880), + (130, addr) if addr == address!("0x5949b9200dF1e77878dB3D061e43cF878Ee37383") => Some(&OMG_NETWORK_130_8EE37383), + (130, addr) if addr == address!("0xf5614D20c13D5BF2F9e640f00B7B2B76959Eb0E3") => Some(&OMNI_NETWORK_130_959EB0E3), + (130, addr) if addr == address!("0xaD0bae21db0b471dFfC6f8F9EEacFe9A85321557") => Some(&ONDO_FINANCE_130_85321557), + (130, addr) if addr == address!("0xCF2050ebC80B74370C1C2B71bDB635d11be3E8c0") => Some(&ORCA_ALLIANCE_130_1BE3E8C0), + (130, addr) if addr == address!("0x3C5319013FD75976F0f13b0bc0852537B6eaF396") => Some(&ORION_PROTOCOL_130_B6EAF396), + (130, addr) if addr == address!("0x9775C2b4f245248dE5596252Ac69311152B98042") => Some(&ORCHID_130_52B98042), + (130, addr) if addr == address!("0x3614c8d98Bf905AbE075BfA289231bbc0D292327") => Some(&PAYPEREX_130_0D292327), + (130, addr) if addr == address!("0xeC37cdfC9a692b3cCd5c85696D14aaA31E75d6aC") => Some(&PLAYDAPP_130_1E75D6AC), + (130, addr) if addr == address!("0xD9b5DA95B3D97c3E9872102fDb47d4c09074952B") => Some(&PEPE_130_9074952B), + (130, addr) if addr == address!("0x5944D2728d5fea7D1F4AA4958E3aEbb3CCFEc7D5") => Some(&PERPETUAL_PROTOCOL_130_CCFEC7D5), + (130, addr) if addr == address!("0xd0F77df9a8f0e855F910361f5f59958118d064c6") => Some(&PIRATE_NATION_130_18D064C6), + (130, addr) if addr == address!("0x5441619a9754Aee0665c939743cf7611abB6F6C7") => Some(&PLUTON_130_ABB6F6C7), + (130, addr) if addr == address!("0xF6A49aEdbD7861DeD0DA2BE1f21C6954E5682E95") => Some(&POLYGON_ECOSYSTEM_TOKEN_130_E5682E95), + (130, addr) if addr == address!("0x82a98121eaf30b0E135b08d4208c837Cdc306503") => Some(&POLKASTARTER_130_DC306503), + (130, addr) if addr == address!("0x2f5cfdC89fb96f2cf6c0FB1Ca6e3501Dd538D863") => Some(&POLYMATH_130_D538D863), + (130, addr) if addr == address!("0xA2a36541c5a54bd2815985418105091B4D4782d5") => Some(&MARLIN_130_4D4782D5), + (130, addr) if addr == address!("0x562E588471cA0e710b2b1217867FFb2E0F2a5642") => Some(&PORTAL_130_0F2A5642), + (130, addr) if addr == address!("0xf265af514762286A63d015FeE382B90edfFa6bff") => Some(&POWER_LEDGER_130_DFFA6BFF), + (130, addr) if addr == address!("0xD17D5f0DA4200bBfd3D6626AC6aEA2eccbf9fEE0") => Some(&PRIME_130_CBF9FEE0), + (130, addr) if addr == address!("0xC6Fbf362a12804FEca22000f37DB5EFC1F41A7c9") => Some(&PROPY_130_1F41A7C9), + (130, addr) if addr == address!("0xc7B7dcF3c6CAcAAc13F92c9173f9A0060ABf3def") => Some(&PARSIQ_130_0ABF3DEF), + (130, addr) if addr == address!("0x13FE2c4504f3AA18708561250e2F20E4E7D7CAa2") => Some(&PSTAKE_FINANCE_130_E7D7CAA2), + (130, addr) if addr == address!("0xAdf70dc4AaeFbC6D1E7A6cF0B02b0F2138b560d2") => Some(&PUFFER_FINANCE_130_38B560D2), + (130, addr) if addr == address!("0x0D2f98904D88909072eA6e61105CBBf78e6207c5") => Some(&PAYPAL_USD_130_8E6207C5), + (130, addr) if addr == address!("0x3a8723f2929F370c61EaC583d6652e5C98C360d4") => Some(&QUANT_130_98C360D4), + (130, addr) if addr == address!("0x006254C4664C678e64c3265da28304cc8c1068b8") => Some(&QREDO_130_8C1068B8), + (130, addr) if addr == address!("0xb019a038eaDCB2F96321D236F6633C8d6Bb5eAbB") => Some(&QUANTSTAMP_130_6BB5EABB), + (130, addr) if addr == address!("0xD815958F92E6aBe63437BCe166E97027f8E6caC2") => Some(&QUICKSWAP_130_F8E6CAC2), + (130, addr) if addr == address!("0x3F9A30c86DC7F0c657eA17d52Efe09Eff08a1a45") => Some(&RADICLE_130_F08A1A45), + (130, addr) if addr == address!("0x6164A78F7B2aC49cf9b76c49e5B6909e89f34a66") => Some(&RAI_REFLEX_INDEX_130_89F34A66), + (130, addr) if addr == address!("0xe8a0078aA52ac7e93aE43818DdD64591E025BB6F") => Some(&SUPERRARE_130_E025BB6F), + (130, addr) if addr == address!("0x16F01392Ed7fC6F3C345CF544cf1172103C8561C") => Some(&RARIBLE_130_03C8561C), + (130, addr) if addr == address!("0x29EA5682024c8C62Cd8BDf691C4f0c5D66B403E3") => Some(&RUBIC_130_66B403E3), + (130, addr) if addr == address!("0x75B2dBb2a7C70073133E42F64366a986c841cd3e") => Some(&RIBBON_FINANCE_130_C841CD3E), + (130, addr) if addr == address!("0x560603E0bFC941063D1375Ec4E3f9FE38261617E") => Some(&REPUBLIC_TOKEN_130_8261617E), + (130, addr) if addr == address!("0x097ca3FC389697080C84148C455Ca839b2816Fc4") => Some(&REPUTATION_AUGUR_V1_130_B2816FC4), + (130, addr) if addr == address!("0xE86B1E5613a5761D005a2D00D8a1B4ad1e72A8c4") => Some(&REPUTATION_AUGUR_V2_130_1E72A8C4), + (130, addr) if addr == address!("0x9FcC3133779F2039c29908c915b6EFaE9d8663Cd") => Some(&REQUEST_130_9D8663CD), + (130, addr) if addr == address!("0xc14a68015fA6396eF97B57839da544910f9Ca657") => Some(&REVV_130_0F9CA657), + (130, addr) if addr == address!("0x2178f07c1d585C39272CAf69A72beF08aAD6c9AB") => Some(&RENZO_130_AAD6C9AB), + (130, addr) if addr == address!("0x8c9606001CF1787CEb80E03DEF3F9BaF946CF284") => Some(&RARI_GOVERNANCE_TOKEN_130_946CF284), + (130, addr) if addr == address!("0x538fB2719135740b8877607217Dc391FB3347ACb") => Some(&IEXEC_RLC_130_B3347ACB), + (130, addr) if addr == address!("0x7Ad899b7C793743fDE692d982F190f443F88c889") => Some(&RALLY_130_3F88C889), + (130, addr) if addr == address!("0x965C6DeBFa700F53a38d42DbaeD922c58d649868") => Some(&RENDER_TOKEN_130_8D649868), + (130, addr) if addr == address!("0x682B2f07e61022A80Ac2753448f7D95E9de41D99") => Some(&ROOK_130_9DE41D99), + (130, addr) if addr == address!("0x993A565A1E6219951323cA3c34Cee0A3b1889066") => Some(&RESERVE_RIGHTS_130_B1889066), + (130, addr) if addr == address!("0x47B72717E48Da346C3F1ED1311c8DCDe10EfD888") => Some(&SAFE_130_10EFD888), + (130, addr) if addr == address!("0x6A654A2ec95fB988Ea37746dBCca10772CAf25CA") => Some(&THE_SANDBOX_130_2CAF25CA), + (130, addr) if addr == address!("0x7ccc67C7b232aa6417d9422e90D91ec4b32d72E5") => Some(&STADER_130_B32D72E5), + (130, addr) if addr == address!("0xaa571d01057cdF477D73433D36D86fCb5664158e") => Some(&SHIBA_INU_130_5664158E), + (130, addr) if addr == address!("0x45Bda7bA10DaC525a86DBEaB3135701A66024F2F") => Some(&SHPING_130_66024F2F), + (130, addr) if addr == address!("0x486Bbb6f250343AdB4782F50Dd09766f8aD20c01") => Some(&SKALE_130_8AD20C01), + (130, addr) if addr == address!("0x5A6058002d0d336e5E8860652e7054a6d07074E4") => Some(&SKY_GOVERNANCE_TOKEN_130_D07074E4), + (130, addr) if addr == address!("0xbD2DD310FECBFb1111fC3262F3a97bA696cb03B3") => Some(&SMOOTH_LOVE_POTION_130_96CB03B3), + (130, addr) if addr == address!("0x914f7CE2B080B2186159C2213B1e193E265aBF5F") => Some(&STATUS_130_265ABF5F), + (130, addr) if addr == address!("0x022D952aBCc6C8271F26e59e37A65dC359E6bc88") => Some(&SYNTHETIX_NETWORK_TOKEN_130_59E6BC88), + (130, addr) if addr == address!("0x5e03C123D829505F4DEa87cf679F77c9dC4627ab") => Some(&UNISOCKS_130_DC4627AB), + (130, addr) if addr == address!("0x4Ff3E944D5Cb54f6f4A1dd035782BE59c3d054FE") => Some(&SOL_WORMHOLE_130_C3D054FE), + (130, addr) if addr == address!("0xbdE8A5331E8Ac4831cf8ea9e42e229219EafaB97") => Some(&SOLANA), + (130, addr) if addr == address!("0x739316C7bc4A39Eb39dcFa1b181b64abc17fEF7F") => Some(&SPELL_TOKEN_130_C17FEF7F), + (130, addr) if addr == address!("0x51A7b9a11f10D04C16306D90dc4EC22b036DD629") => Some(&SPX6900_130_036DD629), + (130, addr) if addr == address!("0x77c8A8E1dd3b5270d3Ab589543e9A83319373135") => Some(&STARGATE_FINANCE_130_19373135), + (130, addr) if addr == address!("0xf13B5B21555092882e69b22282DAf891c9951835") => Some(&STORJ_TOKEN_130_C9951835), + (130, addr) if addr == address!("0x09f705405677970E509d606348D4635D2332c72e") => Some(&STARKNET_130_2332C72E), + (130, addr) if addr == address!("0xEf86E70E534E02AADEAE95b843973d4AcacCeA22") => Some(&STOX_130_CACCEA22), + (130, addr) if addr == address!("0xc05B416738DDEBd14D5A9B790a6e1ce782176525") => Some(&SUKU_130_82176525), + (130, addr) if addr == address!("0x0c288302629Fc22504D59Ddf8fbf8AA92bD86D3D") => Some(&SUPERFARM_130_2BD86D3D), + (130, addr) if addr == address!("0x7251d204c2e867b31096D5c7091298239B3A6a0F") => Some(&SYNTH_SUSD_130_9B3A6A0F), + (130, addr) if addr == address!("0x2982Be2D0c6ae4A7D5BC1c8fe7B630E3BDfb3ce5") => Some(&SUSHI_130_BDFB3CE5), + (130, addr) if addr == address!("0xa8015cbc9f7c58788BA00854c330F027028A5870") => Some(&SWELL_130_028A5870), + (130, addr) if addr == address!("0x0610cDF9856b8825213672981056CD4945Af1616") => Some(&SWFTCOIN_130_45AF1616), + (130, addr) if addr == address!("0xDcA295E850666753c6332D6B0E0445B09785c2E1") => Some(&SWIPE_130_9785C2E1), + (130, addr) if addr == address!("0x1BAAc1979527A38F367c6f89bE081aBfcFFCF85E") => Some(&SYLO_130_CFFCF85E), + (130, addr) if addr == address!("0xCeb1F5671C47cee096C3B40353863b6781888A48") => Some(&SYNAPSE_130_81888A48), + (130, addr) if addr == address!("0x8f7F997ba304f426E3138999919c23f68cD6FA96") => Some(&SYRUP_TOKEN_130_8CD6FA96), + (130, addr) if addr == address!("0x8F43Ab8648F1a3BAEea3782Ba5f562a148f2Ad54") => Some(&THRESHOLD_NETWORK_130_48F2AD54), + (130, addr) if addr == address!("0xFdCa15bd55F350a36E63C47661914d80411d2C22") => Some(&BITTENSOR), + (130, addr) if addr == address!("0xAd497996Dc33DC8E8e552824CcEe199420BC7814") => Some(&TBTC_130_20BC7814), + (130, addr) if addr == address!("0xD9Cbd701bbEA8e9Aaee7d82aa60748451eDa749c") => Some(&CHRONOTECH_130_1EDA749C), + (130, addr) if addr == address!("0xd649b9AD2104418B5b032a5899fBcd54a9a46c68") => Some(&ALIEN_WORLDS_130_A9A46C68), + (130, addr) if addr == address!("0x5eD5DA180bB125f229AB7b825E34D2b936213e0B") => Some(&TOKEMAK_130_36213E0B), + (130, addr) if addr == address!("0x502865ECDd2a2929Aa9418297bE7d3C4a7BD5Ac6") => Some(&TE_FOOD_130_A7BD5AC6), + (130, addr) if addr == address!("0x1ac70C9e29bC19640E64D938DD8D6A46dbAe6f2e") => Some(&ORIGINTRAIL_130_DBAE6F2E), + (130, addr) if addr == address!("0x8e902FDeA73e5CF9621D2Bee82cD79196d8ec63b") => Some(&TELLOR_130_6D8EC63B), + (130, addr) if addr == address!("0x437dD6360Bd17FB353c67376371133Cd33dacdBD") => Some(&TRIBE_130_33DACDBD), + (130, addr) if addr == address!("0x55C65102C26b173696e935B1325e5AaeF30cFE0e") => Some(&TRUEFI_130_F30CFE0E), + (130, addr) if addr == address!("0x1E4339318EcE1d6D9d2Fb129b31C06b9F2d202A1") => Some(&TURBO_130_F2D202A1), + (130, addr) if addr == address!("0x756fb781389DCaF9D3BC5468927F06A913bD9D5D") => Some(&THE_VIRTUA_KOLECT_130_13BD9D5D), + (130, addr) if addr == address!("0x478923278640a10A60951E379aFFb60772435f8C") => Some(&UMA_VOTING_TOKEN_V1_130_72435F8C), + (130, addr) if addr == address!("0xe9225a870b54f8FBA42c8188D211271f0408a30B") => Some(&UNIFI_PROTOCOL_DAO_130_0408A30B), + (130, addr) if addr == address!("0x8f187aA05619a017077f5308904739877ce9eA21") => Some(&UNISWAP_130_7CE9EA21), + (130, addr) if addr == address!("0x5EAFF8Fa6f3831Bb86FeEB701E6f98293E264D36") => Some(&PAWTOCOL_130_3E264D36), + (130, addr) if addr == address!("0x078D782b760474a361dDA0AF3839290b0EF57AD6") => Some(&USDCOIN_130_0EF57AD6), + (130, addr) if addr == address!("0x2A22868610610199D43fE93A16661473A9f86f1E") => Some(&GLOBAL_DOLLAR_130_A9F86F1E), + (130, addr) if addr == address!("0xF7E6430137eF8087E0D472343f358e986De0FEFF") => Some(&PAX_DOLLAR_130_6DE0FEFF), + (130, addr) if addr == address!("0xf37748D2Cc6E6d5D05945Ce130C03c147b2F3a5F") => Some(&QUANTOZ_USDQ_130_7B2F3A5F), + (130, addr) if addr == address!("0xaC025d055a6B633992dE1F796b97B97F004c06a7") => Some(&STABLR_USD_130_004C06A7), + (130, addr) if addr == address!("0x116EE4d63847fb295dD919aE57B768EA3B2f7Bb4") => Some(&USDS_STABLECOIN_130_3B2F7BB4), + (130, addr) if addr == address!("0x588CE4F028D8e7B53B687865d6A67b3A54C75518") => Some(&TETHER_USD_130_54C75518), + (130, addr) if addr == address!("0xc7bA59c95ba747a7c374DC7208a0513798BC5950") => Some(&USUAL_130_98BC5950), + (130, addr) if addr == address!("0x286b5Ecea3749c7c7047104aa3C5749901564A0b") => Some(&VANRY_130_01564A0B), + (130, addr) if addr == address!("0x4afd08AC2416450d9c8b84D287dbfFb68FFe537f") => Some(&VOYAGER_TOKEN_130_8FFE537F), + (130, addr) if addr == address!("0xb86a08ec917EeF9f835aC2B26c3a506c06364A49") => Some(&WRAPPED_AMPLEFORTH_130_06364A49), + (130, addr) if addr == address!("0x927B51f251480a681271180DA4de28D44EC4AfB8") => Some(&WRAPPED_BTC_130_4EC4AFB8), + (130, addr) if addr == address!("0xaE87B8eb5E313AC72B306CbA7c1E3f23D72e82C4") => Some(&WRAPPED_CENTRIFUGE_130_D72E82C4), + (130, addr) if addr == address!("0x4200000000000000000000000000000000000006") => Some(&WRAPPED_ETHER_130_00000006), + (130, addr) if addr == address!("0x97Fadb3D000b953360FD011e173F12cDDB5d70Fa") => Some(&DOGWIFHAT), + (130, addr) if addr == address!("0xef22b9df2dDf4246A827575C4Aa46BDaeFd89E62") => Some(&WOO_NETWORK_130_EFD89E62), + (130, addr) if addr == address!("0x15261eEb999eD3C3ae3c5319E0035940dc06a12f") => Some(&CHAIN_130_DC06A12F), + (130, addr) if addr == address!("0x139451953Ef1865c096F89C5e522C081DC3b5f11") => Some(&PLASMA), + (130, addr) if addr == address!("0x2615a94df961278DcbC41Fb0a54fEc5f10a693aE") => Some(&XRP), + (130, addr) if addr == address!("0xb1A9385B500Fe81B58c4d0e3AaCC39d8021265c3") => Some(&XSGD_130_021265C3), + (130, addr) if addr == address!("0x43D5EA0f30Bce3907aAD6783e61D56592AEbE4eA") => Some(&XYO_NETWORK_130_2AEBE4EA), + (130, addr) if addr == address!("0x52Bf54Eb4210F588320f3e4c151Bca81f84a3201") => Some(&YEARN_FINANCE_130_F84A3201), + (130, addr) if addr == address!("0x62ffD4229bb9a327412D1BE518A1dbAe6c18A07E") => Some(&DFI_MONEY_130_6C18A07E), + (130, addr) if addr == address!("0xeA20C2Cf22acBbF3d8311D15bC73FD7076E36f4B") => Some(&YIELD_GUILD_GAMES_130_76E36F4B), + (130, addr) if addr == address!("0x83f31af747189c2FA9E5DeB253200c505eff6ed2") => Some(&ZCASH), + (130, addr) if addr == address!("0x757dCF360f2FE999FAEEBcc6E80f5Eceb3cb3CA4") => Some(&ZETACHAIN_130_B3CB3CA4), + (130, addr) if addr == address!("0x00ad3704d1e101DF76f87738bEfE67737eD29cFb") => Some(&LAYERZERO_130_7ED29CFB), + (130, addr) if addr == address!("0x7e7e8e5f0eDd7ca2ed3D9609cea1FF37a6E7Edf5") => Some(&TOKEN_0X_PROTOCOL_TOKEN_130_A6E7EDF5), + (137, addr) if addr == address!("0xD6DF932A45C0f255f85145f286eA0b292B21C90B") => Some(&AAVE_137_2B21C90B), + (137, addr) if addr == address!("0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4") => Some(&AGEUR_137_C0057DB4), + (137, addr) if addr == address!("0x0621d647cecbFb64b79E44302c1933cB4f27054d") => Some(&_137_4F27054D), + (137, addr) if addr == address!("0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3") => Some(&BALANCER_137_3B0E76A3), + (137, addr) if addr == address!("0xA8b1E0764f85f53dfe21760e8AfE5446D82606ac") => Some(&BAND_PROTOCOL_137_D82606AC), + (137, addr) if addr == address!("0xc26D47d5c33aC71AC5CF9F776D63Ba292a4F7842") => Some(&BANCOR_NETWORK_TOKEN_137_2A4F7842), + (137, addr) if addr == address!("0x8505b9d2254A7Ae468c0E9dd10Ccea3A837aef5c") => Some(&COMPOUND_137_837AEF5C), + (137, addr) if addr == address!("0x172370d5Cd63279eFa6d502DAB29171933a610AF") => Some(&CURVE_DAO_TOKEN_137_33A610AF), + (137, addr) if addr == address!("0x66Dc5A08091d1968e08C16aA5b27BAC8398b02Be") => Some(&CIVIC_137_398B02BE), + (137, addr) if addr == address!("0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063") => Some(&DAI_STABLECOIN_137_39C6A063), + (137, addr) if addr == address!("0xbD7A5Cf51d22930B8B3Df6d834F9BCEf90EE7c4f") => Some(ÐEREUM_NAME_SERVICE_137_90EE7C4F), + (137, addr) if addr == address!("0x5FFD62D3C3eE2E81C00A7b9079FB248e7dF024A8") => Some(&GNOSIS_TOKEN_137_7DF024A8), + (137, addr) if addr == address!("0x5fe2B58c013d7601147DcdD68C143A77499f5531") => Some(&THE_GRAPH_137_499F5531), + (137, addr) if addr == address!("0x42f37A1296b2981F7C3cAcEd84c5096b2Eb0C72C") => Some(&KEEP_NETWORK_137_2EB0C72C), + (137, addr) if addr == address!("0x324b28d6565f784d596422B0F2E5aB6e9CFA1Dc7") => Some(&KYBER_NETWORK_CRYSTAL_137_9CFA1DC7), + (137, addr) if addr == address!("0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39") => Some(&CHAINLINK_TOKEN_137_3FABAD39), + (137, addr) if addr == address!("0x66EfB7cC647e0efab02eBA4316a2d2941193F6b3") => Some(&LOOM_NETWORK_137_1193F6B3), + (137, addr) if addr == address!("0x84e1670F61347CDaeD56dcc736FB990fBB47ddC1") => Some(&LOOPRINGCOIN_V2_137_BB47DDC1), + (137, addr) if addr == address!("0xA1c57f48F0Deb89f569dFbE6E2B7f46D33606fD4") => Some(&DECENTRALAND_137_33606FD4), + (137, addr) if addr == address!("0x0000000000000000000000000000000000001010") => Some(&POLYGON_137_00001010), + (137, addr) if addr == address!("0x6f7C932e7684666C9fd1d44527765433e01fF61d") => Some(&MAKER_137_E01FF61D), + (137, addr) if addr == address!("0x0Bf519071b02F22C17E7Ed5F4002ee1911f46729") => Some(&NUMERAIRE_137_11F46729), + (137, addr) if addr == address!("0x9880e3dDA13c8e7D4804691A45160102d31F6060") => Some(&ORCHID_137_D31F6060), + (137, addr) if addr == address!("0x19782D3Dc4701cEeeDcD90f0993f0A9126ed89d0") => Some(&REPUBLIC_TOKEN_137_26ED89D0), + (137, addr) if addr == address!("0x6563c1244820CfBd6Ca8820FBdf0f2847363F733") => Some(&REPUTATION_AUGUR_V2_137_7363F733), + (137, addr) if addr == address!("0x50B728D8D964fd00C2d0AAD81718b71311feF68a") => Some(&SYNTHETIX_NETWORK_TOKEN_137_11FEF68A), + (137, addr) if addr == address!("0xd72357dAcA2cF11A5F155b9FF7880E595A3F5792") => Some(&STORJ_TOKEN_137_5A3F5792), + (137, addr) if addr == address!("0xF81b4Bec6Ca8f9fe7bE01CA734F55B2b6e03A7a0") => Some(&SYNTH_SUSD_137_6E03A7A0), + (137, addr) if addr == address!("0x3066818837c5e6eD6601bd5a91B0762877A6B731") => Some(&UMA_VOTING_TOKEN_V1_137_77A6B731), + (137, addr) if addr == address!("0xb33EaAd8d922B1083446DC23f610c2567fB5180f") => Some(&UNISWAP_137_7FB5180F), + (137, addr) if addr == address!("0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359") => Some(&USDCOIN_137_3D5C3359), + (137, addr) if addr == address!("0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174") => Some(&USDCOIN_POS), + (137, addr) if addr == address!("0xc2132D05D31c914a87C6611C10748AEb04B58e8F") => Some(&TETHER_USD_137_04B58E8F), + (137, addr) if addr == address!("0x8DE5B80a0C1B02Fe4976851D030B36122dbb8624") => Some(&VANAR_CHAIN), + (137, addr) if addr == address!("0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F") => Some(&VOXIES), + (137, addr) if addr == address!("0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6") => Some(&WRAPPED_BTC_137_47D9BFD6), + (137, addr) if addr == address!("0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619") => Some(&WRAPPED_ETHER_137_F1B9F619), + (137, addr) if addr == address!("0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270") => Some(&WRAPPED_MATIC), + (137, addr) if addr == address!("0xDC3326e71D45186F113a2F448984CA0e8D201995") => Some(&XSGD_137_8D201995), + (137, addr) if addr == address!("0xDA537104D6A5edd53c6fBba9A898708E465260b6") => Some(&YEARN_FINANCE_137_465260B6), + (137, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO_137_F13271CD), + (137, addr) if addr == address!("0x5559Edb74751A0edE9DeA4DC23aeE72cCA6bE3D5") => Some(&TOKEN_0X_PROTOCOL_TOKEN_137_CA6BE3D5), + (143, addr) if addr == address!("0xea17E5a9efEBf1477dB45082d67010E2245217f1") => Some(&SOL_WORMHOLE_143_245217F1), + (143, addr) if addr == address!("0x754704Bc059F8C67012fEd69BC8A327a5aafb603") => Some(&USDCOIN_143_5AAFB603), + (143, addr) if addr == address!("0xe7cd86e13AC4309349F30B3435a9d337750fC82D") => Some(&TETHER_USD_143_750FC82D), + (143, addr) if addr == address!("0x0555E30da8f98308EdB960aa94C0Db47230d2B9c") => Some(&WRAPPED_BTC_143_230D2B9C), + (143, addr) if addr == address!("0xEE8c0E9f1BFFb4Eb878d8f15f368A02a35481242") => Some(&WRAPPED_ETHER_143_35481242), + (196, addr) if addr == address!("0x4ae46a509F6b1D9056937BA4500cb143933D2dc8") => Some(&GLOBAL_DOLLAR_196_933D2DC8), + (324, addr) if addr == address!("0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E") => Some(&ZKSYNC), + (480, addr) if addr == address!("0x79A02482A880bCE3F13e09Da970dC34db4CD24d1") => Some(&BRIDGED_USDC), + (480, addr) if addr == address!("0x03C7054BCB39f7b2e5B2c7AcB37583e32D70Cfa3") => Some(&WRAPPED_BTC_480_2D70CFA3), + (480, addr) if addr == address!("0x4200000000000000000000000000000000000006") => Some(&WRAPPED_ETHER_480_00000006), + (1868, addr) if addr == address!("0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369") => Some(&USDCOIN_1868_4AACC369), + (1868, addr) if addr == address!("0x3A337a6adA9d885b6Ad95ec48F9b75f197b5AE35") => Some(&TETHER_USD_1868_97B5AE35), + (1868, addr) if addr == address!("0x4200000000000000000000000000000000000006") => Some(&WRAPPED_ETHER_1868_00000006), + (8453, addr) if addr == address!("0xc5fecC3a29Fb57B5024eEc8a2239d4621e111CBE") => Some(&TOKEN_1INCH_8453_1E111CBE), + (8453, addr) if addr == address!("0x63706e401c06ac8513145b7687A14804d17f814b") => Some(&AAVE_8453_D17F814B), + (8453, addr) if addr == address!("0xe2A8cCB00E328a0EC2204CB0c736309D7c1fa556") => Some(&ARCBLOCK_8453_7C1FA556), + (8453, addr) if addr == address!("0x3c87e7AF3cDBAe5bB56b4936325Ea95CA3E0EfD9") => Some(&AMBIRE_ADEX_8453_A3E0EFD9), + (8453, addr) if addr == address!("0x940181a94A35A4569E4529A3CDfB74e38FD98631") => Some(&AERODROME_FINANCE), + (8453, addr) if addr == address!("0x4F9Fd6Be4a90f2620860d680c0d4d5Fb53d1A825") => Some(&AIXBT_BY_VIRTUALS), + (8453, addr) if addr == address!("0x97c806e7665d3AFd84A8Fe1837921403D59F3Dcc") => Some(&ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_8453_D59F3DCC), + (8453, addr) if addr == address!("0x449B3317a6d1efb1Bc3ba0700C9EaA4FFFf4Ae65") => Some(&AUSTRALIAN_DIGITAL_DOLLAR), + (8453, addr) if addr == address!("0x696F9436B67233384889472Cd7cD58A6fB5DF4f1") => Some(&AVANTIS), + (8453, addr) if addr == address!("0x1B4617734C43F6159F3a70b7E06d883647512778") => Some(&AWE_NETWORK), + (8453, addr) if addr == address!("0xB3B32F9f8827D4634fE7d973Fa1034Ec9fdDB3B3") => Some(&B3), + (8453, addr) if addr == address!("0x2a06A17CBC6d0032Cac2c6696DA90f29D39a1a29") => Some(&HARRYPOTTEROBAMASONIC10INU_8453_D39A1A29), + (8453, addr) if addr == address!("0x22aF33FE49fD1Fa80c7149773dDe5890D3c76F3b") => Some(&BANKRCOIN), + (8453, addr) if addr == address!("0xcbADA732173e39521CDBE8bf59a6Dc85A9fc7b8c") => Some(&COINBASE_WRAPPED_ADA), + (8453, addr) if addr == address!("0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf") => Some(&COINBASE_WRAPPED_BTC_8453_0EED33BF), + (8453, addr) if addr == address!("0xcbD06E5A2B0C65597161de254AA074E489dEb510") => Some(&COINBASE_WRAPPED_DOGE), + (8453, addr) if addr == address!("0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22") => Some(&COINBASE_WRAPPED_STAKED_ETH_8453_CF0DEC22), + (8453, addr) if addr == address!("0xcb17C9Db87B595717C857a08468793f5bAb6445F") => Some(&COINBASE_WRAPPED_LTC), + (8453, addr) if addr == address!("0xcb585250f852C6c6bf90434AB21A00f02833a4af") => Some(&COINBASE_WRAPPED_XRP), + (8453, addr) if addr == address!("0x1bc0c42215582d5A085795f4baDbaC3ff36d1Bcb") => Some(&TOKENBOT), + (8453, addr) if addr == address!("0x9e1028F5F1D5eDE59748FFceE5532509976840E0") => Some(&COMPOUND_8453_976840E0), + (8453, addr) if addr == address!("0xC0041EF357B183448B235a8Ea73Ce4E4eC8c265F") => Some(&COOKIE), + (8453, addr) if addr == address!("0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415") => Some(&CURVE_DAO_TOKEN_8453_67DD0415), + (8453, addr) if addr == address!("0x259Fac10c5CbFEFE3E710e1D9467f70a76138d45") => Some(&CARTESI_8453_76138D45), + (8453, addr) if addr == address!("0xBB22Ff867F8Ca3D5F2251B4084F6Ec86D4666E14") => Some(&CRYPTEX_FINANCE_8453_D4666E14), + (8453, addr) if addr == address!("0xB1E1f3Cc2B6fE4420C1Ac82022b457018Eb628ff") => Some(&COVALENT_X_TOKEN_8453_8EB628FF), + (8453, addr) if addr == address!("0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb") => Some(&DAI_STABLECOIN_8453_917DB0CB), + (8453, addr) if addr == address!("0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed") => Some(&DEGEN), + (8453, addr) if addr == address!("0x6921B130D297cc43754afba22e5EAc0FBf8Db75b") => Some(&DOGINME), + (8453, addr) if addr == address!("0xB38266e0e9D9681b77aEB0A280E98131b953F865") => Some(&DOVU_8453_B953F865), + (8453, addr) if addr == address!("0x9d0E8f5b25384C7310CB8C6aE32C8fbeb645d083") => Some(&DERIVE_8453_B645D083), + (8453, addr) if addr == address!("0xED6E000dEF95780fb89734c07EE2ce9F6dcAf110") => Some(&DEFINITIVE), + (8453, addr) if addr == address!("0x29cC30f9D113B356Ce408667aa6433589CeCBDcA") => Some(&ELSA), + (8453, addr) if addr == address!("0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42") => Some(&EURC), + (8453, addr) if addr == address!("0xb33Ff54b9F7242EF1593d2C9Bcd8f9df46c77935") => Some(&FAI), + (8453, addr) if addr == address!("0x5aB3D4c385B400F3aBB49e80DE2fAF6a88A7B691") => Some(&FLOCK), + (8453, addr) if addr == address!("0x61E030A56D33e8260FdD81f03B162A79Fe3449Cd") => Some(&FLUID), + (8453, addr) if addr == address!("0x16EE7ecAc70d1028E7712751E2Ee6BA808a7dd92") => Some(&SPORT_FUN), + (8453, addr) if addr == address!("0x4BfAa776991E85e5f8b1255461cbbd216cFc714f") => Some(&HOME), + (8453, addr) if addr == address!("0xC9d23ED2ADB0f551369946BD377f8644cE1ca5c4") => Some(&HYPERLANE), + (8453, addr) if addr == address!("0xBCBAf311ceC8a4EAC0430193A528d9FF27ae38C1") => Some(&IOTEX_8453_27AE38C1), + (8453, addr) if addr == address!("0xFf9957816c813C5Ad0b9881A8990Df1E3AA2a057") => Some(&GEOJAM_8453_3AA2A057), + (8453, addr) if addr == address!("0x98d0baa52b2D063E780DE12F615f963Fe8537553") => Some(&KAITO), + (8453, addr) if addr == address!("0x9a26F5433671751C3276a065f57e5a02D2817973") => Some(&KEYBOARD_CAT), + (8453, addr) if addr == address!("0xDAE49C25fAd3a62a8e8bFB6dA12c46bE611f9f7a") => Some(&KRYLL_8453_611F9F7A), + (8453, addr) if addr == address!("0xc0634090F2Fe6c6d75e61Be2b949464aBB498973") => Some(&KEETA), + (8453, addr) if addr == address!("0xd7468c14ae76C3Fc308aEAdC223D5D1F71d3c171") => Some(&LCX_8453_71D3C171), + (8453, addr) if addr == address!("0x5259384690aCF240e9b0A8811bD0FFbFBDdc125C") => Some(&LIQUITY_8453_BDDC125C), + (8453, addr) if addr == address!("0x7300B37DfdfAb110d83290A29DfB31B1740219fE") => Some(&MAMO), + (8453, addr) if addr == address!("0x9Cb41FD9dC6891BAe8187029461bfAADF6CC0C69") => Some(&NOICE), + (8453, addr) if addr == address!("0xca73ed1815e5915489570014e024b7EbE65dE679") => Some(&ODOS_TOKEN), + (8453, addr) if addr == address!("0xA99F6e6785Da0F5d6fB42495Fe424BCE029Eeb3E") => Some(&PENDLE_8453_029EEB3E), + (8453, addr) if addr == address!("0xB4fDe59a779991bfB6a52253B51947828b982be3") => Some(&PEPE_8453_8B982BE3), + (8453, addr) if addr == address!("0xCD6dDDa305955AcD6b94b934f057E8b0daaD58dE") => Some(&PERPETUAL_PROTOCOL_8453_DAAD58DE), + (8453, addr) if addr == address!("0xfA980cEd6895AC314E7dE34Ef1bFAE90a5AdD21b") => Some(&PRIME_8453_A5ADD21B), + (8453, addr) if addr == address!("0x18dD5B087bCA9920562aFf7A0199b96B9230438b") => Some(&PROPY_8453_9230438B), + (8453, addr) if addr == address!("0x30c7235866872213F68cb1F08c37Cb9eCCB93452") => Some(&PROMPT), + (8453, addr) if addr == address!("0x1aA8fD5BCce2231C6100d55Bf8B377cff33Acfc3") => Some(&RAVEDAO), + (8453, addr) if addr == address!("0x1f16e03C1a5908818F47f6EE7bB16690b40D0671") => Some(&RECALL_NETWORK), + (8453, addr) if addr == address!("0xa53887F7e7c1bf5010b8627F1C1ba94fE7a5d6E0") => Some(&RAINBOW), + (8453, addr) if addr == address!("0xFbB75A59193A3525a8825BeBe7D4b56899E2f7e1") => Some(&RESEARCHCOIN), + (8453, addr) if addr == address!("0xaB36452DbAC151bE02b16Ca17d8919826072f64a") => Some(&RESERVE_RIGHTS_8453_6072F64A), + (8453, addr) if addr == address!("0xC729777d0470F30612B1564Fd96E8Dd26f5814E3") => Some(&SAPIEN), + (8453, addr) if addr == address!("0x1C7a460413dD4e964f96D8dFC56E7223cE88CD85") => Some(&SEAMLESSS), + (8453, addr) if addr == address!("0x662015EC830DF08C0FC45896FaB726542e8AC09E") => Some(&STATUS_8453_2E8AC09E), + (8453, addr) if addr == address!("0x22e6966B799c4D5B13BE962E1D117b56327FDa66") => Some(&SYNTHETIX_NETWORK_TOKEN_8453_327FDA66), + (8453, addr) if addr == address!("0x50dA645f148798F68EF2d7dB7C1CB22A6819bb2C") => Some(&SPX6900_8453_6819BB2C), + (8453, addr) if addr == address!("0xa69f80524381275A7fFdb3AE01c54150644c8792") => Some(&SUPERFLUID_TOKEN), + (8453, addr) if addr == address!("0x7D49a065D17d6d4a55dc13649901fdBB98B2AFBA") => Some(&SUSHI_8453_98B2AFBA), + (8453, addr) if addr == address!("0x11dC28D01984079b7efE7763b533e6ed9E3722B9") => Some(&SYNDICATE), + (8453, addr) if addr == address!("0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b") => Some(&TBTC_8453_22AB794B), + (8453, addr) if addr == address!("0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4") => Some(&TOSHI), + (8453, addr) if addr == address!("0x00000000A22C618fd6b4D7E9A335C4B96B189a38") => Some(&TOWNS), + (8453, addr) if addr == address!("0x6cd905dF2Ed214b22e0d48FF17CD4200C1C6d8A3") => Some(&INTUITION), + (8453, addr) if addr == address!("0xc3De830EA07524a0761646a6a4e4be0e114a3C83") => Some(&UNISWAP_8453_114A3C83), + (8453, addr) if addr == address!("0x5b2193fDc451C1f847bE09CA9d13A4Bf60f8c86B") => Some(&SUPERFORM), + (8453, addr) if addr == address!("0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA") => Some(&USD_BASE_COIN), + (8453, addr) if addr == address!("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913") => Some(&USD_COIN), + (8453, addr) if addr == address!("0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf") => Some(&VENICE_TOKEN), + (8453, addr) if addr == address!("0xeF4461891DfB3AC8572cCf7C794664A8DD927945") => Some(&WALLETCONNECT_TOKEN_8453_DD927945), + (8453, addr) if addr == address!("0xA88594D404727625A9437C3f886C7643872296AE") => Some(&MOONWELL), + (8453, addr) if addr == address!("0x4200000000000000000000000000000000000006") => Some(&WRAPPED_ETHER_8453_00000006), + (8453, addr) if addr == address!("0x3e31966d4f81C72D2a55310A6365A56A4393E98D") => Some(&WORLD_MOBILE_TOKEN), + (8453, addr) if addr == address!("0xD7B99ffB8B2afc6fe013a17207cbe50f223aDc94") => Some(&XYO_NETWORK_8453_223ADC94), + (8453, addr) if addr == address!("0x9EaF8C1E34F05a589EDa6BAfdF391Cf6Ad3CB239") => Some(&YEARN_FINANCE_8453_AD3CB239), + (8453, addr) if addr == address!("0xaAC78d1219c08AecC8e37e03858FE885f5EF1799") => Some(&YIELD_GUILD_GAMES_8453_F5EF1799), + (8453, addr) if addr == address!("0xf43eB8De897Fbc7F2502483B2Bef7Bb9EA179229") => Some(&HORIZEN), + (8453, addr) if addr == address!("0xAA61bB7777bD01B684347961918f1E07fBbCe7CF") => Some(&BOUNDLESS_8453_FBBCE7CF), + (8453, addr) if addr == address!("0x1111111111166b7FE7bd91427724B487980aFc69") => Some(&ZORA), + (8453, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO_8453_F13271CD), + (8453, addr) if addr == address!("0x3bB4445D30AC020a84c1b5A8A2C6248ebC9779D0") => Some(&TOKEN_0X_PROTOCOL_TOKEN_8453_BC9779D0), + (42161, addr) if addr == address!("0x6314C31A7a1652cE482cffe247E9CB7c3f4BB9aF") => Some(&TOKEN_1INCH_42161_3F4BB9AF), + (42161, addr) if addr == address!("0xba5DdD1f9d7F570dc94a51479a000E3BCE967196") => Some(&AAVE_42161_CE967196), + (42161, addr) if addr == address!("0x53691596d1BCe8CEa565b84d4915e69e03d9C99d") => Some(&ACROSS_PROTOCOL_TOKEN_42161_03D9C99D), + (42161, addr) if addr == address!("0x377c1Fc73D4D0f5600cd943776CED07c2B9783cd") => Some(&AEVO_42161_2B9783CD), + (42161, addr) if addr == address!("0xFA5Ed56A203466CbBC2430a43c66b9D8723528E7") => Some(&AGEUR_42161_723528E7), + (42161, addr) if addr == address!("0xb7910E8b16e63EFD51d5D1a093d56280012A3B9C") => Some(&ADVENTURE_GOLD_42161_012A3B9C), + (42161, addr) if addr == address!("0xeC76E8fe6e2242e6c2117caA244B9e2DE1569923") => Some(&AIOZ_NETWORK_42161_E1569923), + (42161, addr) if addr == address!("0xe7dcD50836d0A28c959c72D72122fEDB8E245A6C") => Some(&ALEPH_IM_42161_8E245A6C), + (42161, addr) if addr == address!("0xeF6124368c0B56556667e0de77eA008DfC0a71d1") => Some(&ALETHEA_ARTIFICIAL_LIQUID_INTELLIGENCE_42161_FC0A71D1), + (42161, addr) if addr == address!("0xC9CBf102c73fb77Ec14f8B4C8bd88e050a6b2646") => Some(&ALPHA_VENTURE_DAO_42161_0A6B2646), + (42161, addr) if addr == address!("0x1bfc5d35bf0f7B9e15dc24c78b8C02dbC1e95447") => Some(&ANKR_42161_C1E95447), + (42161, addr) if addr == address!("0x74885b4D524d497261259B38900f54e6dbAd2210") => Some(&APECOIN_42161_DBAD2210), + (42161, addr) if addr == address!("0xF01dB12F50D0CDF5Fe360ae005b9c52F92CA7811") => Some(&API3_42161_92CA7811), + (42161, addr) if addr == address!("0x912CE59144191C1204E64559FE8253a0e49E6548") => Some(&ARBITRUM_42161_E49E6548), + (42161, addr) if addr == address!("0xDac5094B7D59647626444a4F905060FCda4E656E") => Some(&ARKHAM_42161_DA4E656E), + (42161, addr) if addr == address!("0xAC9Ac2C17cdFED4AbC80A53c5553388575714d03") => Some(&AUTOMATA_42161_75714D03), + (42161, addr) if addr == address!("0xc7dEf82Ba77BAF30BbBc9b6162DC075b49092fb4") => Some(&AETHIR_TOKEN_42161_49092FB4), + (42161, addr) if addr == address!("0x23ee2343B892b1BB63503a4FAbc840E0e2C6810f") => Some(&AXELAR_42161_E2C6810F), + (42161, addr) if addr == address!("0xe88998Fb579266628aF6a03e3821d5983e5D0089") => Some(&AXIE_INFINITY_42161_3E5D0089), + (42161, addr) if addr == address!("0xBfa641051Ba0a0Ad1b0AcF549a89536A0D76472E") => Some(&BADGER_DAO_42161_0D76472E), + (42161, addr) if addr == address!("0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8") => Some(&BALANCER_42161_F56A56B8), + (42161, addr) if addr == address!("0x3450687EF141dCd6110b77c2DC44B008616AeE75") => Some(&BASIC_ATTENTION_TOKEN_42161_616AEE75), + (42161, addr) if addr == address!("0xa68Ec98D7ca870cF1Dd0b00EBbb7c4bF60A8e74d") => Some(&BICONOMY_42161_60A8E74D), + (42161, addr) if addr == address!("0x406C8dB506653D882295875F633bEC0bEb921C2A") => Some(&BITDAO_42161_EB921C2A), + (42161, addr) if addr == address!("0xf7e17BA61973bcDB61f471eFb989E47d13bD565D") => Some(&HARRYPOTTEROBAMASONIC10INU_42161_13BD565D), + (42161, addr) if addr == address!("0xEf171a5BA71348eff16616fd692855c2Fe606EB2") => Some(&BLUR_42161_FE606EB2), + (42161, addr) if addr == address!("0x7A24159672b83ED1b89467c9d6A99556bA06D073") => Some(&BANCOR_NETWORK_TOKEN_42161_BA06D073), + (42161, addr) if addr == address!("0x0D81E50bC677fa67341c44D7eaA9228DEE64A4e1") => Some(&BARNBRIDGE_42161_EE64A4E1), + (42161, addr) if addr == address!("0x31190254504622cEFdFA55a7d3d272e6462629a2") => Some(&BINANCE_USD_42161_462629A2), + (42161, addr) if addr == address!("0xCdc343ebf71e38F003eD6c80171F5B8D7cF58860") => Some(&PANCAKESWAP_42161_7CF58860), + (42161, addr) if addr == address!("0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf") => Some(&COINBASE_WRAPPED_BTC_42161_0EED33BF), + (42161, addr) if addr == address!("0x1DEBd73E752bEaF79865Fd6446b0c970EaE7732f") => Some(&COINBASE_WRAPPED_STAKED_ETH_42161_EAE7732F), + (42161, addr) if addr == address!("0x4E51aC49bC5e2d87e0EF713E9e5AB2D71EF4F336") => Some(&CELO_NATIVE_ASSET_WORMHOLE_42161_1EF4F336), + (42161, addr) if addr == address!("0x3a8B787f78D775AECFEEa15706D4221B40F345AB") => Some(&CELER_NETWORK_42161_40F345AB), + (42161, addr) if addr == address!("0x354A6dA3fcde098F8389cad84b0182725c6C91dE") => Some(&COMPOUND_42161_5C6C91DE), + (42161, addr) if addr == address!("0x6FE14d3CC2f7bDdffBa5CdB3BBE7467dd81ea101") => Some(&COTI_42161_D81EA101), + (42161, addr) if addr == address!("0xcb8b5CD20BdCaea9a010aC1F8d835824F5C87A04") => Some(&COW_PROTOCOL_42161_F5C87A04), + (42161, addr) if addr == address!("0x69b937dB799a9BECC9E8A6F0a5d36eA3657273bf") => Some(&COVALENT_42161_657273BF), + (42161, addr) if addr == address!("0x8ea3156f834A0dfC78F1A5304fAC2CdA676F354C") => Some(&CRONOS_42161_676F354C), + (42161, addr) if addr == address!("0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978") => Some(&CURVE_DAO_TOKEN_42161_FA034978), + (42161, addr) if addr == address!("0x319f865b287fCC10b30d8cE6144e8b6D1b476999") => Some(&CARTESI_42161_1B476999), + (42161, addr) if addr == address!("0x84F5c2cFba754E76DD5aE4fB369CfC920425E12b") => Some(&CRYPTEX_FINANCE_42161_0425E12B), + (42161, addr) if addr == address!("0x9DfFB23CAd3322440bCcFF7aB1C58E781dDBF144") => Some(&CIVIC_42161_1DDBF144), + (42161, addr) if addr == address!("0xaAFcFD42c9954C6689ef1901e03db742520829c5") => Some(&CONVEX_FINANCE_42161_520829C5), + (42161, addr) if addr == address!("0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1") => Some(&DAI_STABLECOIN_42161_C9000DA1), + (42161, addr) if addr == address!("0x3Be7cB2e9413Ef8F42b4A202a0114EB59b64e227") => Some(&DEXTOOLS_42161_9B64E227), + (42161, addr) if addr == address!("0xca642467C6Ebe58c13cB4A7091317f34E17ac05e") => Some(&DIA_42161_E17AC05E), + (42161, addr) if addr == address!("0xE3696a02b2C9557639E29d829E9C45EFa49aD47A") => Some(&DISTRICT0X_42161_A49AD47A), + (42161, addr) if addr == address!("0x4667cf53C4eDF659E402B733BEA42B18B68dd74c") => Some(&DEFI_PULSE_INDEX_42161_B68DD74C), + (42161, addr) if addr == address!("0x77b7787a09818502305C95d68A2571F090abb135") => Some(&DERIVE_42161_90ABB135), + (42161, addr) if addr == address!("0x51863cB90Ce5d6dA9663106F292fA27c8CC90c5a") => Some(&DYDX_42161_8CC90C5A), + (42161, addr) if addr == address!("0x606C3e5075e5555e79Aa15F1E9FACB776F96C248") => Some(&EIGENLAYER_42161_6F96C248), + (42161, addr) if addr == address!("0x3e4Cff6E50F37F731284A92d44AE943e17077fD4") => Some(&DOGELON_MARS_42161_17077FD4), + (42161, addr) if addr == address!("0xdf8F0c63D9335A0AbD89F9F752d293A98EA977d8") => Some(ÐENA_42161_8EA977D8), + (42161, addr) if addr == address!("0x7fa9549791EFc9030e1Ed3F25D18014163806758") => Some(&ENJIN_COIN_42161_63806758), + (42161, addr) if addr == address!("0xfeA31d704DEb0975dA8e77Bf13E04239e70d7c28") => Some(ÐEREUM_NAME_SERVICE_42161_E70D7C28), + (42161, addr) if addr == address!("0x2354c8e9Ea898c751F1A15Addeb048714D667f96") => Some(ÐERNITY_CHAIN_42161_4D667F96), + (42161, addr) if addr == address!("0x3b8db18e69d6686Ad9371A423aFe3Dd1065C94f1") => Some(&ESPRESSO_42161_065C94F1), + (42161, addr) if addr == address!("0x07D65C18CECbA423298c0aEB5d2BeDED4DFd5736") => Some(ÐER_FI_42161_4DFD5736), + (42161, addr) if addr == address!("0x863708032B5c328e11aBcbC0DF9D79C71Fc52a48") => Some(&EURO_COIN_42161_1FC52A48), + (42161, addr) if addr == address!("0x8553d254Cb6934b16F87D2e486b64BbD24C83C70") => Some(&HARVEST_FINANCE_42161_24C83C70), + (42161, addr) if addr == address!("0x4BE87C766A7CE11D5Cc864b6C3Abb7457dCC4cC9") => Some(&FETCH_AI_42161_7DCC4CC9), + (42161, addr) if addr == address!("0x849B40AB2469309117Ed1038c5A99894767C7282") => Some(&STAFI_42161_767C7282), + (42161, addr) if addr == address!("0xA8C25FdC09763A176353CC6a76882e05b4905FAe") => Some(&FLOKI_42161_B4905FAE), + (42161, addr) if addr == address!("0x63806C056Fa458c548Fb416B15E358A9D685710A") => Some(&FLUX_42161_D685710A), + (42161, addr) if addr == address!("0x3A1429d50E0cBBc45c997aF600541Fe1cc3D2923") => Some(&FORTA_42161_CC3D2923), + (42161, addr) if addr == address!("0xf929de51D91C77E42f5090069E0AD7A09e513c73") => Some(&SHAPESHIFT_FOX_TOKEN_42161_9E513C73), + (42161, addr) if addr == address!("0x7468a5d8E02245B00E8C0217fCE021C70Bc51305") => Some(&FRAX_42161_0BC51305), + (42161, addr) if addr == address!("0xd42785D323e608B9E99fa542bd8b1000D4c2Df37") => Some(&FANTOM_42161_D4C2DF37), + (42161, addr) if addr == address!("0xd9f9d2Ee2d3EFE420699079f16D9e924affFdEA4") => Some(&FRAX_SHARE_42161_AFFFDEA4), + (42161, addr) if addr == address!("0xc27E7325a6BEA1FcC06de7941473f5279bfd1182") => Some(&GALXE_42161_9BFD1182), + (42161, addr) if addr == address!("0x2A676eeAd159c4C8e8593471c6d666F02827FF8C") => Some(&GALA_42161_2827FF8C), + (42161, addr) if addr == address!("0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a") => Some(&GMX), + (42161, addr) if addr == address!("0xa0b862F60edEf4452F25B4160F177db44DeB6Cf1") => Some(&GNOSIS_TOKEN_42161_4DEB6CF1), + (42161, addr) if addr == address!("0x9623063377AD1B27544C965cCd7342f7EA7e88C7") => Some(&THE_GRAPH_42161_EA7E88C7), + (42161, addr) if addr == address!("0x7f9a7DB853Ca816B9A138AEe3380Ef34c437dEe0") => Some(&GITCOIN_42161_C437DEE0), + (42161, addr) if addr == address!("0x589d35656641d6aB57A545F08cf473eCD9B6D5F7") => Some(&GYEN_42161_D9B6D5F7), + (42161, addr) if addr == address!("0xd12Eeb0142D4Efe7Af82e4f29E5Af382615bcEeA") => Some(&HIGHSTREET_42161_615BCEEA), + (42161, addr) if addr == address!("0x177F394A3eD18FAa85c1462Ae626438a70294EF7") => Some(&HOPR_42161_70294EF7), + (42161, addr) if addr == address!("0x68731d6F14B827bBCfFbEBb62b19Daa18de1d79c") => Some(&IDOS_TOKEN), + (42161, addr) if addr == address!("0x61cA9D186f6b9a793BC08F6C79fd35f205488673") => Some(&ILLUVIUM_42161_05488673), + (42161, addr) if addr == address!("0x3cFD99593a7F035F717142095a3898e3Fca7783e") => Some(&IMMUTABLE_X_42161_FCA7783E), + (42161, addr) if addr == address!("0x2A2053cb633CAD465B4A8975eD3d7f09DF608F80") => Some(&INJECTIVE_42161_DF608F80), + (42161, addr) if addr == address!("0x25f05699548D3A0820b99f93c10c8BB573E27083") => Some(&JASMYCOIN_42161_73E27083), + (42161, addr) if addr == address!("0x010700AB046Dd8e92b0e3587842080Df36364ed3") => Some(&KINTO), + (42161, addr) if addr == address!("0xf75eE6D319741057a82a88Eeff1DbAFAB7307b69") => Some(&KRYLL_42161_B7307B69), + (42161, addr) if addr == address!("0x3A18dcC9745eDcD1Ef33ecB93b0b6eBA5671e7Ca") => Some(&KUJIRA_42161_5671E7CA), + (42161, addr) if addr == address!("0x13Ad51ed4F1B7e9Dc168d8a00cB3f4dDD85EfA60") => Some(&LIDO_DAO_42161_D85EFA60), + (42161, addr) if addr == address!("0xf97f4df75117a78c1A5a0DBb814Af92458539FB4") => Some(&CHAINLINK_TOKEN_42161_58539FB4), + (42161, addr) if addr == address!("0x349fc93da004a63F3B1343361465981330A40B25") => Some(&LITENTRY_42161_30A40B25), + (42161, addr) if addr == address!("0x289ba1701C2F088cf0faf8B3705246331cB8A839") => Some(&LIVEPEER_42161_1CB8A839), + (42161, addr) if addr == address!("0xfb9E5D956D889D91a82737B9bFCDaC1DCE3e1449") => Some(&LIQUITY_42161_CE3E1449), + (42161, addr) if addr == address!("0x46d0cE7de6247b0A95f67b43B589b4041BaE7fbE") => Some(&LOOPRINGCOIN_V2_42161_1BAE7FBE), + (42161, addr) if addr == address!("0x93b346b6BC2548dA6A1E7d98E9a421B42541425b") => Some(&LIQUITY_USD_42161_2541425B), + (42161, addr) if addr == address!("0x539bdE0d7Dbd336b79148AA742883198BBF60342") => Some(&MAGIC), + (42161, addr) if addr == address!("0x442d24578A564EF628A65e6a7E3e7be2a165E231") => Some(&DECENTRALAND_42161_A165E231), + (42161, addr) if addr == address!("0x533A7B414CD1236815a5e09F1E97FC7d5c313739") => Some(&MASK_NETWORK_42161_5C313739), + (42161, addr) if addr == address!("0x99F40b01BA9C469193B360f72740E416B17Ac332") => Some(&MATH_42161_B17AC332), + (42161, addr) if addr == address!("0x561877b6b3DD7651313794e5F2894B2F18bE0766") => Some(&POLYGON_42161_18BE0766), + (42161, addr) if addr == address!("0x7F728F3595db17B0B359f4FC47aE80FAd2e33769") => Some(&METIS_42161_D2E33769), + (42161, addr) if addr == address!("0xB20A02dfFb172C474BC4bDa3fD6f4eE70C04daf2") => Some(&MAGIC_INTERNET_MONEY_42161_0C04DAF2), + (42161, addr) if addr == address!("0x2e9a6Df78E42a30712c10a9Dc4b1C8656f8F2879") => Some(&MAKER_42161_6F8F2879), + (42161, addr) if addr == address!("0x8f5c1A99b1df736Ad685006Cb6ADCA7B7Ae4b514") => Some(&MELON_42161_7AE4B514), + (42161, addr) if addr == address!("0x9c1a1C7bA9c2602123FD7EF3eb41a769edf6C53A") => Some(&MANTLE_42161_EDF6C53A), + (42161, addr) if addr == address!("0x96c42662820F6Ea32f0A61A06a38a72B206aABaC") => Some(&MOG_COIN_42161_206AABAC), + (42161, addr) if addr == address!("0xE390C0B46bd723995BE02640E6F1e1c802F620AC") => Some(&MORPHO_TOKEN_42161_02F620AC), + (42161, addr) if addr == address!("0x29024832eC3baBF5074D4F46102aA988097f0Ca0") => Some(&MAPLE_42161_097F0CA0), + (42161, addr) if addr == address!("0x7b9b94aebe5E2039531af8E31045f377EcD9A39A") => Some(&MULTICHAIN_42161_ECD9A39A), + (42161, addr) if addr == address!("0x5445972E76c5e4CEdD12B6e2BceF69133E15992F") => Some(&GENSOKISHI_METAVERSE_42161_3E15992F), + (42161, addr) if addr == address!("0x91b468Fe3dce581D7a6cFE34189F1314b6862eD6") => Some(&MXC_42161_B6862ED6), + (42161, addr) if addr == address!("0x53236015A675fcB937485F1AE58040e4Fb920d5b") => Some(&POLYSWARM_42161_FB920D5B), + (42161, addr) if addr == address!("0xBE06ca305A5Cb49ABf6B1840da7c42690406177b") => Some(&NKN_42161_0406177B), + (42161, addr) if addr == address!("0x597701b32553b9fa473e21362D480b3a6B569711") => Some(&NUMERAIRE_42161_6B569711), + (42161, addr) if addr == address!("0x933d31561e470478079FEB9A6Dd2691fAD8234DF") => Some(&OCEAN_PROTOCOL_42161_AD8234DF), + (42161, addr) if addr == address!("0x6FEb262FEb0f775B5312D2e009923f7f58AE423E") => Some(&ORIGIN_PROTOCOL_42161_58AE423E), + (42161, addr) if addr == address!("0xd962C1895c46AC0378C502c207748b7061421e8e") => Some(&OMG_NETWORK_42161_61421E8E), + (42161, addr) if addr == address!("0xA2d52A05B8Bead5d824DF54Dd1AA63188B37A5E7") => Some(&ONDO_FINANCE_42161_8B37A5E7), + (42161, addr) if addr == address!("0x1BDCC2075d5370293E248Cab0173eC3E551e6218") => Some(&ORION_PROTOCOL_42161_551E6218), + (42161, addr) if addr == address!("0x0c880f6761F1af8d9Aa9C466984b80DAb9a8c9e8") => Some(&PENDLE_42161_B9A8C9E8), + (42161, addr) if addr == address!("0x35E6A59F786d9266c7961eA28c7b768B33959cbB") => Some(&PEPE_42161_33959CBB), + (42161, addr) if addr == address!("0x753D224bCf9AAFaCD81558c32341416df61D3DAC") => Some(&PERPETUAL_PROTOCOL_42161_F61D3DAC), + (42161, addr) if addr == address!("0xac7CE9F2794e01c0D27b096C52f592e343D77cbf") => Some(&PIRATE_NATION_42161_43D77CBF), + (42161, addr) if addr == address!("0x73efDC761596328461B68E5FC58c3284CB15ba13") => Some(&PLUME_42161_CB15BA13), + (42161, addr) if addr == address!("0x044d8e7F3A17751D521efEa8CCf9282268fE08CC") => Some(&POLYGON_ECOSYSTEM_TOKEN_42161_68FE08CC), + (42161, addr) if addr == address!("0xeeeB5EaC2dB7A7Fc28134aA3248580d48b016b64") => Some(&POLKASTARTER_42161_8B016B64), + (42161, addr) if addr == address!("0xE12F29704F635F4A6E7Ae154838d21F9B33809e9") => Some(&POLYMATH_42161_B33809E9), + (42161, addr) if addr == address!("0xdA0a57B710768ae17941a9Fa33f8B720c8bD9ddD") => Some(&MARLIN_42161_C8BD9DDD), + (42161, addr) if addr == address!("0x6380F3d0C1412a80EB00F49064DA30749DB991DE") => Some(&PORTAL_42161_9DB991DE), + (42161, addr) if addr == address!("0x4e91F2AF1ee0F84B529478f19794F5AFD423e4A6") => Some(&POWER_LEDGER_42161_D423E4A6), + (42161, addr) if addr == address!("0x8d8e1b6ffc6832E8D2eF0DE8a3d957cAE7ac5067") => Some(&PRIME_42161_E7AC5067), + (42161, addr) if addr == address!("0x82164a8B646401a8776F9dC5c8Cba35DcAf60Cd2") => Some(&PARSIQ_42161_CAF60CD2), + (42161, addr) if addr == address!("0x327006c8712FE0AbdbbD55B7999DB39b0967342E") => Some(&PAYPAL_USD_42161_0967342E), + (42161, addr) if addr == address!("0xC7557C73e0eCa2E1BF7348bB6874Aee63C7eFF85") => Some(&QUANT_42161_3C7EFF85), + (42161, addr) if addr == address!("0x3c45038f4807c5bb72F6BC72c2A2B9c012155e49") => Some(&RADICLE_42161_12155E49), + (42161, addr) if addr == address!("0xaeF5bbcbFa438519a5ea80B4c7181B4E78d419f2") => Some(&RAI_REFLEX_INDEX_42161_78D419F2), + (42161, addr) if addr == address!("0xCf78572A8fE97b2B9a4B9709f6a7D9a863c1b8E0") => Some(&RARIBLE_42161_63C1B8E0), + (42161, addr) if addr == address!("0x2E9AE8f178d5Ea81970C7799A377B3985cbC335F") => Some(&RUBIC_42161_5CBC335F), + (42161, addr) if addr == address!("0x9fA891e1dB0a6D1eEAC4B929b5AAE1011C79a204") => Some(&REPUBLIC_TOKEN_42161_1C79A204), + (42161, addr) if addr == address!("0x1Cb5bBc64e148C5b889E3c667B49edF78BB92171") => Some(&REQUEST_42161_8BB92171), + (42161, addr) if addr == address!("0xef888bcA6AB6B1d26dbeC977C455388ecd794794") => Some(&RARI_GOVERNANCE_TOKEN_42161_CD794794), + (42161, addr) if addr == address!("0xE575586566b02A16338c199c23cA6d295D794e66") => Some(&IEXEC_RLC_42161_5D794E66), + (42161, addr) if addr == address!("0xC8a4EeA31E9B6b61c406DF013DD4FEc76f21E279") => Some(&RENDER_TOKEN_42161_6F21E279), + (42161, addr) if addr == address!("0xB766039cc6DB368759C1E56B79AFfE831d0Cc507") => Some(&ROCKET_POOL_PROTOCOL_42161_1D0CC507), + (42161, addr) if addr == address!("0xCa5Ca9083702c56b481D1eec86F1776FDbd2e594") => Some(&RESERVE_RIGHTS_42161_DBD2E594), + (42161, addr) if addr == address!("0xd1318eb19DBF2647743c720ed35174efd64e3DAC") => Some(&THE_SANDBOX_42161_D64E3DAC), + (42161, addr) if addr == address!("0x1629c4112952a7a377cB9B8d7d8c903092f34B63") => Some(&STADER_42161_92F34B63), + (42161, addr) if addr == address!("0x5033833c9fe8B9d3E09EEd2f73d2aaF7E3872fd1") => Some(&SHIBA_INU_42161_E3872FD1), + (42161, addr) if addr == address!("0x4F9b7DEDD8865871dF65c5D26B1c2dD537267878") => Some(&SKALE_42161_37267878), + (42161, addr) if addr == address!("0x707F635951193dDaFBB40971a0fCAAb8A6415160") => Some(&STATUS_42161_A6415160), + (42161, addr) if addr == address!("0xcBA56Cd8216FCBBF3fA6DF6137F3147cBcA37D60") => Some(&SYNTHETIX_NETWORK_TOKEN_42161_BCA37D60), + (42161, addr) if addr == address!("0xb2BE52744a804Cc732d606817C2572C5A3B264e7") => Some(&UNISOCKS_42161_A3B264E7), + (42161, addr) if addr == address!("0xb74Da9FE2F96B9E0a5f4A3cf0b92dd2bEC617124") => Some(&SOL_WORMHOLE_42161_EC617124), + (42161, addr) if addr == address!("0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF") => Some(&SPELL_TOKEN_42161_FE15D2AF), + (42161, addr) if addr == address!("0x53e70cc1d527b524A1C46Eaa892e4CB35d2ba901") => Some(&SPX6900_42161_5D2BA901), + (42161, addr) if addr == address!("0x1337420dED5ADb9980CFc35f8f2B054ea86f8aB1") => Some(&SQD), + (42161, addr) if addr == address!("0xe018C7a3d175Fb0fE15D70Da2c874d3CA16313EC") => Some(&STARGATE_FINANCE_42161_A16313EC), + (42161, addr) if addr == address!("0xE6320ebF209971b4F4696F7f0954b8457Aa2FCC2") => Some(&STORJ_TOKEN_42161_7AA2FCC2), + (42161, addr) if addr == address!("0x7f9cf5a2630a0d58567122217dF7609c26498956") => Some(&SUPERFARM_42161_26498956), + (42161, addr) if addr == address!("0xA970AF1a584579B618be4d69aD6F73459D112F95") => Some(&SYNTH_SUSD_42161_9D112F95), + (42161, addr) if addr == address!("0xd4d42F0b6DEF4CE0383636770eF773390d85c61A") => Some(&SUSHI_42161_0D85C61A), + (42161, addr) if addr == address!("0x2C96bE2612bec20fe2975C3ACFcbBe61a58f2571") => Some(&SWELL_42161_A58F2571), + (42161, addr) if addr == address!("0x1bCfc0B4eE1471674cd6A9F6B363A034375eAD84") => Some(&SYNAPSE_42161_375EAD84), + (42161, addr) if addr == address!("0x0945Cae3ae47cb384b2d47BC448Dc6A9dEC21F55") => Some(&THRESHOLD_NETWORK_42161_DEC21F55), + (42161, addr) if addr == address!("0x7E2a1eDeE171C5B19E6c54D73752396C0A572594") => Some(&TBTC_42161_0A572594), + (42161, addr) if addr == address!("0xd58D345Fd9c82262E087d2D0607624B410D88242") => Some(&TELLOR_42161_10D88242), + (42161, addr) if addr == address!("0xBfAE6fecD8124ba33cbB2180aAb0Fe4c03914A5A") => Some(&TRIBE_42161_03914A5A), + (42161, addr) if addr == address!("0x5C816d4582c857dcadb1bB1F62Ad6c9DEde4576a") => Some(&TURBO_42161_EDE4576A), + (42161, addr) if addr == address!("0xd693Ec944A85eeca4247eC1c3b130DCa9B0C3b22") => Some(&UMA_VOTING_TOKEN_V1_42161_9B0C3B22), + (42161, addr) if addr == address!("0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0") => Some(&UNISWAP_42161_72F1F7F0), + (42161, addr) if addr == address!("0x7550dE0A4b9Fb8CAbA8c32E72Ee356AFdd217A33") => Some(&WORLD_LIBERTY_FINANCIAL_USD_42161_DD217A33), + (42161, addr) if addr == address!("0xaf88d065e77c8cC2239327C5EDb3A432268e5831") => Some(&USDCOIN_42161_268E5831), + (42161, addr) if addr == address!("0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8") => Some(&BRIDGED_USDC_42161_BDDB5CC8), + (42161, addr) if addr == address!("0x78df3a6044Ce3cB1905500345B967788b699dF8f") => Some(&PAX_DOLLAR_42161_B699DF8F), + (42161, addr) if addr == address!("0x6491c05A82219b8D1479057361ff1654749b876b") => Some(&USDS_STABLECOIN_42161_749B876B), + (42161, addr) if addr == address!("0x7639AB8599f1b417CbE4ceD492fB30162140AbbB") => Some(&USUAL_42161_2140ABBB), + (42161, addr) if addr == address!("0x1c8Ec4DE3c2BFD3050695D89853EC6d78AE650bb") => Some(&WRAPPED_AMPLEFORTH_42161_8AE650BB), + (42161, addr) if addr == address!("0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f") => Some(&WRAPPED_BTC_42161_AEFC5B0F), + (42161, addr) if addr == address!("0x82aF49447D8a07e3bd95BD0d56f35241523fBab1") => Some(&WRAPPED_ETHER_42161_523FBAB1), + (42161, addr) if addr == address!("0x4D1d7134B87490AE5eEbdB22A5820d7d0E1980bf") => Some(&WORLD_LIBERTY_FINANCIAL_42161_0E1980BF), + (42161, addr) if addr == address!("0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b") => Some(&WOO_NETWORK_42161_3AEFD07B), + (42161, addr) if addr == address!("0x9B86f3c7d145979ec6b2F42eD7f92D06cfC6C9d3") => Some(&TETHER_GOLD_42161_CFC6C9D3), + (42161, addr) if addr == address!("0x58BbC087e36Db40a84b22c1B93a042294deEAFEd") => Some(&CHAIN_42161_4DEEAFED), + (42161, addr) if addr == address!("0xa05245Ade25cC1063EE50Cf7c083B4524c1C4302") => Some(&XSGD_42161_4C1C4302), + (42161, addr) if addr == address!("0x82e3A8F066a6989666b031d916c43672085b1582") => Some(&YEARN_FINANCE_42161_085B1582), + (42161, addr) if addr == address!("0x6DdBbcE7858D276678FC2B36123fD60547b88954") => Some(&ZETACHAIN_42161_47B88954), + (42161, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO_42161_F13271CD), + (42161, addr) if addr == address!("0xBD591Bd4DdB64b77B5f76Eab8f03d02519235Ae2") => Some(&TOKEN_0X_PROTOCOL_TOKEN_42161_19235AE2), + (42220, addr) if addr == address!("0xD629eb00dEced2a080B7EC630eF6aC117e614f1b") => Some(&WRAPPED_BITCOIN), + (42220, addr) if addr == address!("0x471EcE3750Da237f93B8E339c536989b8978a438") => Some(&CELO), + (42220, addr) if addr == address!("0xcebA9300f2b948710d2653dD7B07f33A8B32118C") => Some(&USDCOIN_42220_8B32118C), + (42220, addr) if addr == address!("0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e") => Some(&TETHER_USD_42220_87483D5E), + (42220, addr) if addr == address!("0x2DEf4285787d58a2f811AF24755A8150622f4361") => Some(&WRAPPED_ETHER_42220_622F4361), + (43114, addr) if addr == address!("0xd501281565bf7789224523144Fe5D98e8B28f267") => Some(&TOKEN_1INCH_43114_8B28F267), + (43114, addr) if addr == address!("0x63a72806098Bd3D9520cC43356dD78afe5D386D9") => Some(&AAVE_43114_E5D386D9), + (43114, addr) if addr == address!("0xAEC8318a9a59bAEb39861d10ff6C7f7bf1F96C57") => Some(&AGEUR_43114_F1F96C57), + (43114, addr) if addr == address!("0x2147EFFF675e4A4eE1C2f918d181cDBd7a8E208f") => Some(&ALPHA_VENTURE_DAO_43114_7A8E208F), + (43114, addr) if addr == address!("0x20CF1b6E9d856321ed4686877CF4538F2C84B4dE") => Some(&ANKR_43114_2C84B4DE), + (43114, addr) if addr == address!("0x44c784266cf024a60e8acF2427b9857Ace194C5d") => Some(&AXELAR_43114_CE194C5D), + (43114, addr) if addr == address!("0x98443B96EA4b0858FDF3219Cd13e98C7A4690588") => Some(&BASIC_ATTENTION_TOKEN_43114_A4690588), + (43114, addr) if addr == address!("0x9C9e5fD8bbc25984B178FdCE6117Defa39d2db39") => Some(&BINANCE_USD_43114_39D2DB39), + (43114, addr) if addr == address!("0xc3048E19E76CB9a3Aa9d77D8C03c29Fc906e2437") => Some(&COMPOUND_43114_906E2437), + (43114, addr) if addr == address!("0x6b289CCeAA8639e3831095D75A3e43520faBf552") => Some(&CARTESI_43114_0FABF552), + (43114, addr) if addr == address!("0xd586E7F844cEa2F87f50152665BCbc2C279D8d70") => Some(&DAI_E_TOKEN), + (43114, addr) if addr == address!("0x961C8c0B1aaD0c0b10a51FeF6a867E3091BCef17") => Some(&DEFI_YIELD_PROTOCOL_43114_91BCEF17), + (43114, addr) if addr == address!("0xC891EB4cbdEFf6e073e859e987815Ed1505c2ACD") => Some(&EURO_COIN_43114_505C2ACD), + (43114, addr) if addr == address!("0xc4B06F17ECcB2215a5DBf042C672101Fc20daF55") => Some(&FLUX_43114_C20DAF55), + (43114, addr) if addr == address!("0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64") => Some(&FRAX_43114_21A1DA64), + (43114, addr) if addr == address!("0x214DB107654fF987AD859F34125307783fC8e387") => Some(&FRAX_SHARE_43114_3FC8E387), + (43114, addr) if addr == address!("0x62edc0692BD897D2295872a9FFCac5425011c661") => Some(&GMX_43114_5011C661), + (43114, addr) if addr == address!("0x8a0cAc13c7da965a312f08ea4229c37869e85cB9") => Some(&THE_GRAPH_43114_69E85CB9), + (43114, addr) if addr == address!("0x26deBD39D5eD069770406FCa10A0E4f8d2c743eB") => Some(&GUNZ), + (43114, addr) if addr == address!("0x5947BB275c521040051D82396192181b413227A3") => Some(&CHAINLINK_TOKEN_43114_413227A3), + (43114, addr) if addr == address!("0x130966628846BFd36ff31a822705796e8cb8C18D") => Some(&MAGIC_INTERNET_MONEY_43114_8CB8C18D), + (43114, addr) if addr == address!("0x88128fd4b259552A9A1D457f435a6527AAb72d42") => Some(&MAKER_43114_AAB72D42), + (43114, addr) if addr == address!("0x9Fb9a33956351cf4fa040f65A13b835A3C8764E3") => Some(&MULTICHAIN_43114_3C8764E3), + (43114, addr) if addr == address!("0xfB98B335551a418cD0737375a2ea0ded62Ea213b") => Some(&PENDLE_43114_62EA213B), + (43114, addr) if addr == address!("0x97Cd1CFE2ed5712660bb6c14053C0EcB031Bff7d") => Some(&RAI_REFLEX_INDEX_43114_031BFF7D), + (43114, addr) if addr == address!("0xBeC243C995409E6520D7C41E404da5dEba4b209B") => Some(&SYNTHETIX_NETWORK_TOKEN_43114_BA4B209B), + (43114, addr) if addr == address!("0xFE6B19286885a4F7F55AdAD09C3Cd1f906D2478F") => Some(&SOL_WORMHOLE_43114_06D2478F), + (43114, addr) if addr == address!("0xCE1bFFBD5374Dac86a2893119683F4911a2F7814") => Some(&SPELL_TOKEN_43114_1A2F7814), + (43114, addr) if addr == address!("0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590") => Some(&STARGATE_FINANCE_43114_F56E7590), + (43114, addr) if addr == address!("0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76") => Some(&SUSHI_43114_722E4F76), + (43114, addr) if addr == address!("0x1f1E7c893855525b303f99bDF5c3c05Be09ca251") => Some(&SYNAPSE_43114_E09CA251), + (43114, addr) if addr == address!("0x3Bd2B1c7ED8D396dbb98DED3aEbb41350a5b2339") => Some(&UMA_VOTING_TOKEN_V1_43114_0A5B2339), + (43114, addr) if addr == address!("0x8eBAf22B6F053dFFeaf46f4Dd9eFA95D89ba8580") => Some(&UNI_E_TOKEN), + (43114, addr) if addr == address!("0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E") => Some(&USDC_TOKEN), + (43114, addr) if addr == address!("0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7") => Some(&TETHER_USD_43114_4DF4A8C7), + (43114, addr) if addr == address!("0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7") => Some(&WRAPPED_AVAX), + (43114, addr) if addr == address!("0x50b7545627a5162F82A992c33b87aDc75187B218") => Some(&WRAPPED_BTC_43114_5187B218), + (43114, addr) if addr == address!("0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB") => Some(&WRAPPED_ETHER_43114_6BC10BAB), + (43114, addr) if addr == address!("0xaBC9547B534519fF73921b1FBA6E672b5f58D083") => Some(&WOO_NETWORK_43114_5F58D083), + (43114, addr) if addr == address!("0x9eAaC1B23d935365bD7b542Fe22cEEe2922f52dc") => Some(&YEARN_FINANCE_43114_922F52DC), + (43114, addr) if addr == address!("0x6985884C4392D348587B19cb9eAAf157F13271cd") => Some(&LAYERZERO_43114_F13271CD), + (43114, addr) if addr == address!("0x596fA47043f99A4e0F122243B841E55375cdE0d2") => Some(&TOKEN_0X_PROTOCOL_TOKEN_43114_75CDE0D2), + (80001, addr) if addr == address!("0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa") => Some(&WRAPPED_ETHER_80001_C5D1C0AA), + (80001, addr) if addr == address!("0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889") => Some(&WRAPPED_MATIC_80001_FB032889), + (81457, addr) if addr == address!("0xb1a5700fA2358173Fe465e6eA4Ff52E36e88E2ad") => Some(&BLAST), + (7777777, addr) if addr == address!("0xCccCCccc7021b32EBb4e8C08314bD62F7c653EC4") => Some(&USD_COIN_BRIDGED_FROM_ETHEREUM), + (11155111, addr) if addr == address!("0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984") => Some(&UNISWAP_11155111_4201F984), + (11155111, addr) if addr == address!("0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14") => Some(&WRAPPED_ETHER_11155111_324D6B14), + _ => None, + } +} diff --git a/server/crates/arbiter-tokens-registry/src/lib.rs b/server/crates/arbiter-tokens-registry/src/lib.rs new file mode 100644 index 0000000..bc0765f --- /dev/null +++ b/server/crates/arbiter-tokens-registry/src/lib.rs @@ -0,0 +1 @@ +pub mod evm; \ No newline at end of file