token_list: write NetworkName, tokenID to drk_tokenlist hashmap

This commit is contained in:
lunar-mining
2021-10-02 19:25:54 +02:00
parent a0e637b133
commit ca2fc9f361

View File

@@ -1,4 +1,7 @@
use crate::{util::NetworkName, Error, Result};
use crate::{
util::{generate_id, NetworkName},
Error, Result,
};
use serde_json::Value;
use std::collections::HashMap;
@@ -15,11 +18,22 @@ impl TokenList {
let sol_tokenlist: Value = serde_json::from_str(&file_contents)?;
let mut drk_tokenlist = HashMap::new();
// for tkn in sol_tokenlist:
// generate_id(tkn, Solana)
// let btc = generate_id(tkn, BTC)
//
// let tokenid = generate_id(
let tokens = sol_tokenlist["tokens"]
.as_array()
.ok_or(Error::TokenParseError)?;
let mut symbols = Vec::new();
for item in tokens {
let symbol = item["symbol"].as_str().unwrap();
symbols.push(symbol.to_string());
}
for symbol in symbols {
let id = generate_id(&symbol, &NetworkName::Solana)?;
drk_tokenlist.insert(NetworkName::Solana, id);
}
// TODO: add btc_id, NetworkName::Bitcoin to drk_tokenlist
Ok(Self {
sol_tokenlist,
drk_tokenlist,