future-private: add change margin mode request

This commit is contained in:
mahdi msr committed 2025-09-28 16:02:15 +03:30
1 parent ccebbf8f70
commit d561f69ece
7 files changed
+424 -46

No files matched your search

+17 -1
View File
@@ -4,11 +4,12 @@ namespace Msr\LaravelBitunixApi;
use GuzzleHttp\Client;
use Msr\LaravelBitunixApi\Requests\ChangeLeverageRequestContract;
use Msr\LaravelBitunixApi\Requests\ChangeMarginModeRequestContract;
use Msr\LaravelBitunixApi\Requests\FutureKLineRequestContract;
use Msr\LaravelBitunixApi\Requests\Header;
use Psr\Http\Message\ResponseInterface;
class LaravelBitunixApi implements ChangeLeverageRequestContract, FutureKLineRequestContract
class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginModeRequestContract, FutureKLineRequestContract
{
private Client $publicFutureClient;
@@ -60,4 +61,19 @@ class LaravelBitunixApi implements ChangeLeverageRequestContract, FutureKLineReq
return $response;
}
public function changeMarginMode(string $symbol, string $marginCoin, string $marginMode): ResponseInterface
{
$body = [
'symbol' => $symbol,
'marginCoin' => $marginCoin,
'marginMode' => $marginMode,
];
$response = $this->getPrivateFutureClient([], $body)->post('account/change_margin_mode', [
'json' => $body,
]);
return $response;
}
}
+2
View File
@@ -4,6 +4,7 @@ namespace Msr\LaravelBitunixApi;
use Msr\LaravelBitunixApi\Commands\LaravelBitunixApiCommand;
use Msr\LaravelBitunixApi\Requests\ChangeLeverageRequestContract;
use Msr\LaravelBitunixApi\Requests\ChangeMarginModeRequestContract;
use Msr\LaravelBitunixApi\Requests\FutureKLineRequestContract;
use Spatie\LaravelPackageTools\Package;
use Spatie\LaravelPackageTools\PackageServiceProvider;
@@ -31,5 +32,6 @@ class LaravelBitunixApiServiceProvider extends PackageServiceProvider
$this->app->bind(FutureKLineRequestContract::class, LaravelBitunixApi::class);
$this->app->bind(ChangeLeverageRequestContract::class, LaravelBitunixApi::class);
$this->app->bind(ChangeMarginModeRequestContract::class, LaravelBitunixApi::class);
}
}
@@ -0,0 +1,18 @@
<?php
namespace Msr\LaravelBitunixApi\Requests;
use Psr\Http\Message\ResponseInterface;
interface ChangeMarginModeRequestContract
{
/**
* Change margin mode for a trading pair
*
* @param string $symbol Trading pair (e.g., 'BTCUSDT')
* @param string $marginCoin Margin coin (e.g., 'USDT')
* @param string $marginMode Margin mode ('ISOLATION' or 'CROSS')
* @return ResponseInterface
*/
public function changeMarginMode(string $symbol, string $marginCoin, string $marginMode): ResponseInterface;
}