Skip to content

Commit

Permalink
added get incoming transaction by address
Browse files Browse the repository at this point in the history
  • Loading branch information
thomas-tran committed Sep 16, 2019
1 parent 8fb5359 commit 34ab40d
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions src/ProximaX.Sirius.Chain.Sdk/Infrastructure/AccountHttp.cs
Original file line number Diff line number Diff line change
@@ -280,6 +280,42 @@ public IObservable<List<Transaction>> IncomingTransactions(PublicAccount account
.Select(h => h.Select(t => new TransactionMapping().Apply(t)).ToList());
}

/// <summary>
/// Get incoming transactions by address
/// </summary>
/// <param name="account">The public account</param>
/// <param name="query">The query parameters</param>
/// <returns>IObservable&lt;List&lt;Transaction&gt;&gt;</returns>
public IObservable<List<Transaction>> IncomingTransactions(Address address, QueryParams query = null)
{
if (address == null) throw new ArgumentNullException(nameof(address));

var route = $"{BasePath}/account/{address.Plain}/transactions/incoming";

if (query != null)
{
if (query.PageSize > 0) route.SetQueryParam("pageSize", query.PageSize);

if (!string.IsNullOrEmpty(query.Id)) route.SetQueryParam("id", query.Id);

switch (query.Order)
{
case Order.ASC:
route.SetQueryParam("ordering", "id");
break;
case Order.DESC:
route.SetQueryParam("ordering", "-id");
break;
default:
route.SetQueryParam("ordering", "-id");
break;
}
}

return Observable.FromAsync(async ar => await route.GetJsonAsync<List<JObject>>())
.Select(h => h.Select(t => new TransactionMapping().Apply(t)).ToList());
}

/// <summary>
/// Get outgoing transactions for which an account is the sender or receiver.
/// </summary>

0 comments on commit 34ab40d

Please sign in to comment.