-
Notifications
You must be signed in to change notification settings - Fork 0
/
FluxApiService.cs
55 lines (48 loc) · 1.57 KB
/
FluxApiService.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using Newtonsoft.Json;
namespace FluxApi.SDK;
public static class FluxApiService
{
public static async Task<TransactionHistory[]> GetTransactionHistories(string accountId)
{
using var client = new FluxApiClient();
Response httpResponse;
TransactionHistory[] response;
try
{
httpResponse = await client.Get($"/explorer/transactions?address={accountId}");
response = JsonConvert.DeserializeObject<TransactionHistory[]>(httpResponse.Data);
}
catch (Exception e)
{
throw e;
}
return response;
}
public static async Task<RawTransaction> GetRawTransaction(string transactionId)
{
using var client = new FluxApiClient();
Response httpResponse;
RawTransaction response;
try
{
httpResponse = await client.Get($"/daemon/getrawtransaction?txid={transactionId}&verbose=1");
response = JsonConvert.DeserializeObject<RawTransaction>(httpResponse.Data);
}
catch (Exception e)
{
throw e;
}
return response;
}
public static async Task<RawTransaction[]> GetAccountRawTransactions(string accountId)
{
var transactionHistories = await GetTransactionHistories(accountId);
var result = new List<RawTransaction>();
foreach (var transactionHistory in transactionHistories)
{
var t = await GetRawTransaction(transactionHistory.Txid);
result.Add(t);
}
return result.ToArray();
}
}