public async Task CanGetBookOffers() { IRippleClient rippleClient = new RippleClient("wss://s1.ripple.com:443"); rippleClient.Connect(); BookOffersRequest request = new BookOffersRequest(); request.TakerGets = new Currency { CurrencyCode = "EUR", Issuer = "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" }; request.TakerPays = new Currency(); //request.TakerGets = new Currency(); //request.TakerPays = new Currency { CurrencyCode = "EUR", Issuer = "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq" }; request.Limit = 10; var offers = await rippleClient.BookOffers(request); foreach (var bookOffer in offers.Offers) { Debug.WriteLine(bookOffer.Account); } Assert.IsNotNull(offers); }
/// <summary> /// The book_offers method retrieves a list of offers, also known as the order book, between two currencies. /// </summary> public async Task <BookOffersResponse> BookOffers(BookOffersRequest request, CancellationToken cancellationToken = default) { jsonBuffer.Clear(); jsonWriter.Reset(); jsonWriter.WriteStartObject(); var requestId = WriteHeader(jsonWriter, "book_offers"); LedgerSpecification.Write(jsonWriter, request.Ledger); if (request.Limit.HasValue) { jsonWriter.WriteNumber("limit", request.Limit.Value); } if (request.Taker.HasValue) { jsonWriter.WriteString("taker", request.Taker.Value.ToString()); } jsonWriter.WritePropertyName("taker_gets"); request.TakerGets.WriteJson(jsonWriter); jsonWriter.WritePropertyName("taker_pays"); request.TakerPays.WriteJson(jsonWriter); WriteFooter(jsonWriter); jsonWriter.WriteEndObject(); jsonWriter.Flush(); var response = await SendReceiveAsync(requestId, jsonBuffer.WrittenMemory, cancellationToken); return(new BookOffersResponse(response)); }
public async Task CanGetTestNetBookOffers() { BookOffersRequest request = new BookOffersRequest(); request.TakerGets = new Currency(); request.TakerPays = new Currency { CurrencyCode = "XYZ", Issuer = "rEqtEHKbinqm18wQSQGstmqg9SFpUELasT" }; request.Limit = 10; var offers = await client.BookOffers(request); Assert.IsNotNull(offers); }
public Task <BookOffers> BookOffers(BookOffersRequest request) { var command = JsonConvert.SerializeObject(request, serializerSettings); TaskCompletionSource <BookOffers> task = new TaskCompletionSource <BookOffers>(); TaskInfo taskInfo = new TaskInfo(); taskInfo.TaskId = request.Id; taskInfo.TaskCompletionResult = task; taskInfo.Type = typeof(BookOffers); tasks.TryAdd(request.Id, taskInfo); client.SendMessage(command); return(task.Task); }
public async Task <RpcJsonResponse <BookOffersResult> > BookOffersAsync(BookOffersRequest request) { return(await PostAsync <RpcJsonResponse <BookOffersResult>, BookOffersResult>(request)); }