Skip to content

Commit

Permalink
Merge pull request #26 from binance/rc-1.8.0
Browse files Browse the repository at this point in the history
1.8.0 release
  • Loading branch information
2pd authored Aug 12, 2022
2 parents 277a474 + eb36474 commit 3c8ebb6
Show file tree
Hide file tree
Showing 11 changed files with 352 additions and 5 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 1.8.0 - 2022-08-12

### Added
- New endpoint for Portfolio Margin:
- `GET /sapi/v1/portfolio/pmLoan` to query Portfolio Margin Bankruptcy Loan Record.
- `POST /sapi/v1/portfolio/repay` to repay Portfolio Margin Bankruptcy Loan.
- `GET /sapi/v1/portfolio/collateralRate` to get Portfolio Margin Collateral Rate.

### Changed
- Changed endpoints for Trade:
- `POST /api/v3/order/test` New optional fields `strategyId` and `strategyType`.
- `POST /api/v3/order` New optional fields `strategyId` and `strategyType`.
- `POST /api/v3/order/cancelReplace` New optional fields `strategyId` and `strategyType`.
- `POST /api/v3/order/oco` New optional fields `limitStrategyId`, `limitStrategyType`, `stopStrategyId` and `stopStrategyType`.

## 1.7.0 - 2022-07-19

### Added
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
namespace Binance.Spot.PortfolioMarginExamples
{
using System;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Binance.Common;
using Binance.Spot;
using Binance.Spot.Models;
using Microsoft.Extensions.Logging;

public class PortfolioMarginBankruptcyLoanRepay_Example
{
public static async Task Main(string[] args)
{
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddConsole();
});
ILogger logger = loggerFactory.CreateLogger<PortfolioMarginBankruptcyLoanRepay_Example>();

HttpMessageHandler loggingHandler = new BinanceLoggingHandler(logger: logger);
HttpClient httpClient = new HttpClient(handler: loggingHandler);

string apiKey = "api-key";
string apiSecret = "api-secret";

var portfolioMargin = new PortfolioMargin(httpClient, apiKey: apiKey, apiSecret: apiSecret);

var result = await portfolioMargin.PortfolioMarginBankruptcyLoanRepay();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
namespace Binance.Spot.PortfolioMarginExamples
{
using System;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Binance.Common;
using Binance.Spot;
using Binance.Spot.Models;
using Microsoft.Extensions.Logging;

public class PortfolioMarginCollateralRate_Example
{
public static async Task Main(string[] args)
{
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddConsole();
});
ILogger logger = loggerFactory.CreateLogger<PortfolioMarginCollateralRate_Example>();

HttpMessageHandler loggingHandler = new BinanceLoggingHandler(logger: logger);
HttpClient httpClient = new HttpClient(handler: loggingHandler);

string apiKey = "api-key";
string apiSecret = "api-secret";

var portfolioMargin = new PortfolioMargin(httpClient, apiKey: apiKey, apiSecret: apiSecret);

var result = await portfolioMargin.PortfolioMarginCollateralRate();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
namespace Binance.Spot.PortfolioMarginExamples
{
using System;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Binance.Common;
using Binance.Spot;
using Binance.Spot.Models;
using Microsoft.Extensions.Logging;

public class QueryPortfolioMarginBankruptcyLoanAmount_Example
{
public static async Task Main(string[] args)
{
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddConsole();
});
ILogger logger = loggerFactory.CreateLogger<QueryPortfolioMarginBankruptcyLoanAmount_Example>();

HttpMessageHandler loggingHandler = new BinanceLoggingHandler(logger: logger);
HttpClient httpClient = new HttpClient(handler: loggingHandler);

string apiKey = "api-key";
string apiSecret = "api-secret";

var portfolioMargin = new PortfolioMargin(httpClient, apiKey: apiKey, apiSecret: apiSecret);

var result = await portfolioMargin.QueryPortfolioMarginBankruptcyLoanAmount();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
open System
open System.Net
open System.Net.Http
open System.Threading.Tasks
open Microsoft.Extensions.Logging
open Binance.Common
open Binance.Spot
open Binance.Spot.Models

[<EntryPoint>]
let main argv =
let loggerFactory = LoggerFactory.Create(fun (builder:ILoggingBuilder) ->
builder.AddConsole() |> ignore
)
let logger = loggerFactory.CreateLogger()

let loggingHandler = new BinanceLoggingHandler(logger)
let httpClient = new HttpClient(loggingHandler)

let apiKey = "api-key";
let apiSecret = "api-secret";

let portfolioMargin = new PortfolioMargin(httpClient, apiKey = apiKey, apiSecret = apiSecret)

let result = portfolioMargin.PortfolioMarginBankruptcyLoanRepay() |> Async.AwaitTask |> Async.RunSynchronously

0
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
open System
open System.Net
open System.Net.Http
open System.Threading.Tasks
open Microsoft.Extensions.Logging
open Binance.Common
open Binance.Spot
open Binance.Spot.Models

[<EntryPoint>]
let main argv =
let loggerFactory = LoggerFactory.Create(fun (builder:ILoggingBuilder) ->
builder.AddConsole() |> ignore
)
let logger = loggerFactory.CreateLogger()

let loggingHandler = new BinanceLoggingHandler(logger)
let httpClient = new HttpClient(loggingHandler)

let apiKey = "api-key";
let apiSecret = "api-secret";

let portfolioMargin = new PortfolioMargin(httpClient, apiKey = apiKey, apiSecret = apiSecret)

let result = portfolioMargin.PortfolioMarginCollateralRate() |> Async.AwaitTask |> Async.RunSynchronously

0
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
open System
open System.Net
open System.Net.Http
open System.Threading.Tasks
open Microsoft.Extensions.Logging
open Binance.Common
open Binance.Spot
open Binance.Spot.Models

[<EntryPoint>]
let main argv =
let loggerFactory = LoggerFactory.Create(fun (builder:ILoggingBuilder) ->
builder.AddConsole() |> ignore
)
let logger = loggerFactory.CreateLogger()

let loggingHandler = new BinanceLoggingHandler(logger)
let httpClient = new HttpClient(loggingHandler)

let apiKey = "api-key";
let apiSecret = "api-secret";

let portfolioMargin = new PortfolioMargin(httpClient, apiKey = apiKey, apiSecret = apiSecret)

let result = portfolioMargin.QueryPortfolioMarginBankruptcyLoanAmount() |> Async.AwaitTask |> Async.RunSynchronously

0
2 changes: 1 addition & 1 deletion Src/Spot/.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<releaseNotes>https://github.com/binance/binance-connector-dotnet/blob/master/CHANGELOG.md</releaseNotes>
<readme>README.md</readme>
<repository type="git" url="https://github.com/binance/binance-connector-dotnet" branch="master"></repository>
<version>1.7.0</version>
<version>1.8.0</version>
<authors>binance</authors>

<dependencies>
Expand Down
60 changes: 60 additions & 0 deletions Src/Spot/PortfolioMargin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,65 @@ public async Task<string> GetPortfolioMarginAccountInfo(long? recvWindow = null)

return result;
}

private const string PORTFOLIO_MARGIN_COLLATERAL_RATE = "/sapi/v1/portfolio/collateralRate";

/// <summary>
/// Portfolio Margin Collateral Rate.<para />
/// Weight(IP): 50.
/// </summary>
/// <returns>Portfolio Margin Collateral Rate..</returns>
public async Task<string> PortfolioMarginCollateralRate()
{
var result = await this.SendPublicAsync<string>(
PORTFOLIO_MARGIN_COLLATERAL_RATE,
HttpMethod.Get);

return result;
}

private const string QUERY_PORTFOLIO_MARGIN_BANKRUPTCY_LOAN_AMOUNT = "/sapi/v1/portfolio/pmLoan";

/// <summary>
/// Query Portfolio Margin Bankruptcy Loan Amount.<para />
/// Weight(UID): 500.
/// </summary>
/// <param name="recvWindow">The value cannot be greater than 60000.</param>
/// <returns>Portfolio Margin Bankruptcy Loan Amount..</returns>
public async Task<string> QueryPortfolioMarginBankruptcyLoanAmount(long? recvWindow = null)
{
var result = await this.SendSignedAsync<string>(
QUERY_PORTFOLIO_MARGIN_BANKRUPTCY_LOAN_AMOUNT,
HttpMethod.Get,
query: new Dictionary<string, object>
{
{ "recvWindow", recvWindow },
{ "timestamp", DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() },
});

return result;
}

private const string PORTFOLIO_MARGIN_BANKRUPTCY_LOAN_REPAY = "/sapi/v1/portfolio/repay";

/// <summary>
/// Repay Portfolio Margin Bankruptcy Loan.<para />
/// Weight(UID): 3000.
/// </summary>
/// <param name="recvWindow">The value cannot be greater than 60000.</param>
/// <returns>Transaction..</returns>
public async Task<string> PortfolioMarginBankruptcyLoanRepay(long? recvWindow = null)
{
var result = await this.SendSignedAsync<string>(
PORTFOLIO_MARGIN_BANKRUPTCY_LOAN_REPAY,
HttpMethod.Post,
query: new Dictionary<string, object>
{
{ "recvWindow", recvWindow },
{ "timestamp", DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() },
});

return result;
}
}
}
Loading

0 comments on commit 3c8ebb6

Please sign in to comment.