Guest User

Untitled

a guest
Nov 6th, 2021
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. namespace Exchange.ExchangeApplicationContracts
  2. {
  3. /// <summary>
  4. /// Интерфейс драйвера для взаимодействия с биржей.
  5. /// При запуске бота ему передается стратегия, в которой указывается биржа.
  6. /// Каждая биржа имеет реализацию драйвера, посредством которого
  7. /// идет обращение к бирже на основе ее api
  8. /// </summary>
  9. public interface IExchangeDriver : IApplicationService
  10. {
  11. Exchange Exchange { set; }
  12.  
  13. #region Public methods
  14. /// <summary>
  15. /// Запрос на список сделок по валютной паре
  16. /// </summary>
  17. /// <returns></returns>
  18. Task<List<TradeDto>> TradesAsync(List<PairDto> pair);
  19.  
  20. /// <summary>
  21. /// Запрос на списки сделок по валютным нескольким парам
  22. /// </summary>
  23. /// <param name="pairs"></param>
  24. /// <returns></returns>
  25. Task<IDictionary<PairDto, IEnumerable<TradeDto>>> TradesAsync(IList<PairDto> pairs);
  26.  
  27. /// <summary>
  28. /// Ордера по валютной паре
  29. /// </summary>
  30. /// <param name="pair"></param>
  31. /// <param name="limit">кол-во отображаемых позиций (по умолчанию 100, максимум 1000)</param>
  32. /// <returns></returns>
  33. Task<OrderBookDto> OrderBookAsync(PairDto pair, uint limit = 100);
  34.  
  35. /// <summary>
  36. /// Cтатистика цен и ъемов торгов по валютным парам
  37. /// </summary>
  38. /// <returns></returns>
  39. Task<IEnumerable<PairInfoOnExchangeDto>> TickerAsync();
  40.  
  41.  
  42.  
  43. Task<List<CurrencyDto>> CurrenciesAsync();
  44.  
  45. /// <summary>
  46. /// Получение настроек валютных пар пары
  47. /// </summary>
  48. /// <returns></returns>
  49. Task<IEnumerable<PairSettings>> PairSettingsAsync();
  50.  
  51.  
  52. #endregion
  53.  
  54. #region Authenticated methods
  55.  
  56. /// <summary>
  57. /// Получение баланса кошелька пользователя
  58. /// </summary>
  59. /// <returns></returns>
  60. Task<ExchangeUserInfo> UserInfoAsync();
  61.  
  62.  
  63.  
  64. /// <summary>
  65. /// Получение списка открытых ордеров пользователя
  66. /// </summary>
  67. /// <param name="exchangeId"></param>
  68. /// <param name="exchangeUserId"></param>
  69. /// <returns></returns>
  70. Task<IEnumerable<UserOrderDto>> UserOrdersAsync();
  71.  
  72. /// <summary>
  73. /// Создание ордера
  74. /// </summary>
  75. /// <param name="order"></param>
  76. /// <param name="orderCreateType"></param>
  77. /// <returns></returns>
  78. Task<string> OrderCreateAsync(UserOrderDto order, OrderCreateTypes orderCreateType);
  79.  
  80. /// <summary>
  81. /// Получение сделок пользователя с биржи
  82. /// </summary>
  83. /// <returns></returns>
  84. Task<List<TradeDto>> UserTradesAsync(List<PairDto> pairs);
  85.  
  86. #endregion
Advertisement
Add Comment
Please, Sign In to add comment