Repository: rotki/rotki

Issue:
Keep getting "Found coinbase deposit/withdrawal with unknown asset FET. Ignoring it." error
## Problem Definition

Hello, this is the first of several issues I constantly encounter in rotki (I love it by the way!)
I connected the Coinbase API and it keeps giving me this message. FET was a coin for Coinbase Learn program, after I got it I immediately swapped it. Even though I hold no FET, I keep getting this message every 5-10 minutes in the notifications panel (the little bell)
![image](https://user-images.githubusercontent.com/30185650/135701767-2a5f9f46-780e-4cd3-a62b-d054edaa3195.png)

I checked the Manage Assets, and FET is there, so I don't understand what's going on.

This problem was present with the previous version as well, but I waited out for the update to see if it'd get solved.
### System Description

Operating system: Windows 10 21H1 19043.1237
Rotki version: 1.21.0

Keep getting "Found coinbase deposit/withdrawal with unknown asset FET. Ignoring it." error
## Problem Definition

Hello, this is the first of several issues I constantly encounter in rotki (I love it by the way!)
I connected the Coinbase API and it keeps giving me this message. FET was a coin for Coinbase Learn program, after I got it I immediately swapped it. Even though I hold no FET, I keep getting this message every 5-10 minutes in the notifications panel (the little bell)
![image](https://user-images.githubusercontent.com/30185650/135701767-2a5f9f46-780e-4cd3-a62b-d054edaa3195.png)

I checked the Manage Assets, and FET is there, so I don't understand what's going on.

This problem was present with the previous version as well, but I waited out for the update to see if it'd get solved.
### System Description

Operating system: Windows 10 21H1 19043.1237
Rotki version: 1.21.0



Discussion:
You can ignore it. This is just a warning.
You can ignore it. This is just a warning.

Resolving patch:
diff --git a/rotkehlchen/assets/asset.py b/rotkehlchen/assets/asset.py
--- a/rotkehlchen/assets/asset.py
+++ b/rotkehlchen/assets/asset.py
@@ -429,6 +429,7 @@ def deserialize_from_db(cls, entry: UnderlyingTokenDBTuple) -> 'UnderlyingToken'
     'SOL-2': 'SOL',
     strethaddress_to_identifier('0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b'): 'AXS',
     strethaddress_to_identifier('0x32353A6C91143bfd6C7d363B546e62a9A2489A20'): 'AGLD',
+    strethaddress_to_identifier('0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85'): 'FET',
 }
 
 WORLD_TO_UPHOLD = {
diff --git a/rotkehlchen/chain/ethereum/tokens.py b/rotkehlchen/chain/ethereum/tokens.py
--- a/rotkehlchen/chain/ethereum/tokens.py
+++ b/rotkehlchen/chain/ethereum/tokens.py
@@ -128,6 +128,14 @@ def query_tokens_for_addresses(
             # since the SDK entry might return other tokens from sushi and we don't
             # fully support sushi now.
             string_to_ethereum_address('0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272'),
+            # Ignore the following tokens. They are old tokens of upgraded contracts which
+            # duplicated the balances at upgrade instead of doing a token swap.
+            # e.g.: https://github.com/rotki/rotki/issues/3548
+            # TODO: At some point we should actually remove them from the DB and
+            # upgrade possible occurences in the user DB
+            #
+            # Old contract of Fetch.ai
+            string_to_ethereum_address('0x1D287CC25dAD7cCaF76a26bc660c5F7C8E2a05BD'),
         ]
         for asset in ignored_assets:  # don't query for the ignored tokens
             if asset.is_eth_token():  # type ignore since we know asset is a token


Test patch: