public static Dictionary <string, List <Utxo> > GetBalanceByAddress(string api, string _addr, ref Dictionary <string, string> usedUtxoDic) { MyJson.JsonNode_Object response = (MyJson.JsonNode_Object)MyJson.Parse(Helper.HttpGet(api + "?method=getutxo&id=1¶ms=['" + _addr + "']").Result); MyJson.JsonNode_Array resJA = (MyJson.JsonNode_Array)response["result"]; Dictionary <string, List <Utxo> > _dir = new Dictionary <string, List <Utxo> >(); List <string> usedList = new List <string>(usedUtxoDic.Keys); foreach (MyJson.JsonNode_Object j in resJA) { Utxo utxo = new Utxo(j["addr"].ToString(), new ThinNeo.Hash256(j["txid"].ToString()), j["asset"].ToString(), decimal.Parse(j["value"].ToString()), int.Parse(j["n"].ToString())); if (_dir.ContainsKey(j["asset"].ToString())) { _dir[j["asset"].ToString()].Add(utxo); } else { List <Utxo> l = new List <Utxo>(); l.Add(utxo); _dir[j["asset"].ToString()] = l; } for (int i = usedList.Count - 1; i >= 0; i--) { if (usedUtxoDic[usedList[i]] == utxo.txid.ToString()) { usedUtxoDic.Remove(usedList[i]); usedList.Remove(usedList[i]); } } } return(_dir); }
public static async Task <Dictionary <string, List <Utxo> > > GetBalanceByAddress(string api, string _addr) { MyJson.JsonNode_Object response = (MyJson.JsonNode_Object)MyJson.Parse(await Helper.HttpGet(api + "?method=getutxo&id=1¶ms=['" + _addr + "']")); MyJson.JsonNode_Array resJA = (MyJson.JsonNode_Array)response["result"]; Dictionary <string, List <Utxo> > _dir = new Dictionary <string, List <Utxo> >(); foreach (MyJson.JsonNode_Object j in resJA) { Utxo utxo = new Utxo(j["addr"].ToString(), new ThinNeo.Hash256(j["txid"].ToString()), j["asset"].ToString(), decimal.Parse(j["value"].ToString()), int.Parse(j["n"].ToString())); if (_dir.ContainsKey(j["asset"].ToString())) { _dir[j["asset"].ToString()].Add(utxo); } else { List <Utxo> l = new List <Utxo>(); l.Add(utxo); _dir[j["asset"].ToString()] = l; } } return(_dir); }