diff --git a/crypto/sol/app.py b/crypto/sol/app.py index e78890d..561a02d 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -316,8 +316,10 @@ from borsh_construct import String, CStruct async def get_token_metadata_symbol(mint_address): global TOKENS_INFO + if mint_address in TOKENS_INFO and 'symbol' in TOKENS_INFO[mint_address]: return TOKENS_INFO[mint_address].get('symbol') + try: account_data_result = await solana_jsonrpc("getAccountInfo", mint_address) if 'value' in account_data_result and 'data' in account_data_result['value']: @@ -334,20 +336,14 @@ async def get_token_metadata_symbol(mint_address): TOKENS_INFO[mint_address]['name'] = account_data_info['tokenName'] else: TOKENS_INFO[mint_address] = {'name': account_data_info['tokenName']} - # token_address = Pubkey.from_string(mint_address) - # # token = Token(solana_client, token_address, TOKEN_PROGRAM_ID, Keypair()) - # token = AsyncToken(solana_client, token_address, TOKEN_PROGRAM_ID, Keypair()) - # tokenInfo = await token.get_mint_info() - # token_info = await solana_client.get_account_info_json_parsed(Pubkey.from_string(mint_address)) - # if token_info.value and 'symbol' in token_info.value: - # return token_info.value['symbol'] + metadata = await get_token_metadata(mint_address) if metadata: if mint_address in TOKENS_INFO: TOKENS_INFO[mint_address].update(metadata) else: TOKENS_INFO[mint_address] = metadata - + save_token_info() # TOKENS_INFO[mint_address] = metadata # return metadata.get('symbol') or metadata.get('name') return TOKENS_INFO[mint_address].get('symbol') @@ -409,13 +405,17 @@ async def get_token_metadata(mint_address): name_length = struct.unpack(" update_authority