Done
This commit is contained in:
1 parent
f066040415
commit
3845bf12c1
4 files changed
+26
-17
No files matched your search
+19
-10
@@ -4,6 +4,7 @@ namespace Msr\LaravelBitunixApi;
|
||||
|
||||
use GuzzleHttp\Client;
|
||||
use GuzzleHttp\Exception\GuzzleException;
|
||||
use Msr\LaravelBitunixApi\Contracts\RateLimiterContract as RateLimiter;
|
||||
use Msr\LaravelBitunixApi\Requests\ChangeLeverageRequestContract;
|
||||
use Msr\LaravelBitunixApi\Requests\ChangeMarginModeRequestContract;
|
||||
use Msr\LaravelBitunixApi\Requests\FlashClosePositionRequestContract;
|
||||
@@ -19,19 +20,14 @@ use Msr\LaravelBitunixApi\Requests\PlacePositionTpSlOrderRequestContract;
|
||||
use Msr\LaravelBitunixApi\Requests\PlaceTpSlOrderRequestContract;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginModeRequestContract,
|
||||
FlashClosePositionRequestContract, FutureKLineRequestContract,
|
||||
GetPendingPositionsRequestContract, GetSingleAccountRequestContract,
|
||||
GetTradingPairsRequestContract, PlaceOrderRequestContract,
|
||||
PlacePositionTpSlOrderRequestContract, PlaceTpSlOrderRequestContract,
|
||||
GetHistoryPositionsRequestContract, GetHistoryTradesRequestContract
|
||||
class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginModeRequestContract, FlashClosePositionRequestContract, FutureKLineRequestContract, GetHistoryPositionsRequestContract, GetHistoryTradesRequestContract, GetPendingPositionsRequestContract, GetSingleAccountRequestContract, GetTradingPairsRequestContract, PlaceOrderRequestContract, PlacePositionTpSlOrderRequestContract, PlaceTpSlOrderRequestContract
|
||||
{
|
||||
private Client $publicFutureClient;
|
||||
|
||||
public function __construct()
|
||||
public function __construct(protected RateLimiter $rateLimiter)
|
||||
{
|
||||
$this->publicFutureClient = new Client([
|
||||
'base_uri' => config('bitunix-api.future_base_uri') . '/api/v1/futures/market/',
|
||||
'base_uri' => config('bitunix-api.future_base_uri').'/api/v1/futures/market/',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -41,7 +37,7 @@ class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginMo
|
||||
$headers = Header::generateHeaders($queryParams, $bodyString);
|
||||
|
||||
return new Client([
|
||||
'base_uri' => config('bitunix-api.future_base_uri') . '/api/v1/futures/',
|
||||
'base_uri' => config('bitunix-api.future_base_uri').'/api/v1/futures/',
|
||||
'headers' => $headers,
|
||||
]);
|
||||
}
|
||||
@@ -211,6 +207,13 @@ class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginMo
|
||||
int $skip = 0,
|
||||
int $limit = 100
|
||||
): ResponseInterface {
|
||||
$this->rateLimiter->throttle(
|
||||
'futures::get_history_trades',
|
||||
$this->resolveRateLimitIdentity(),
|
||||
maxRequests: 8,
|
||||
perSeconds: 1
|
||||
);
|
||||
|
||||
$queryParams = [
|
||||
'skip' => $skip,
|
||||
'limit' => $limit,
|
||||
@@ -243,7 +246,6 @@ class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginMo
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
public function getPendingPositions(?string $symbol = null, ?string $positionId = null): ResponseInterface
|
||||
{
|
||||
$queryParams = [];
|
||||
@@ -273,6 +275,13 @@ class LaravelBitunixApi implements ChangeLeverageRequestContract, ChangeMarginMo
|
||||
int $skip = 0,
|
||||
int $limit = 100
|
||||
): ResponseInterface {
|
||||
$this->rateLimiter->throttle(
|
||||
'futures::get_history_positions',
|
||||
$this->resolveRateLimitIdentity(),
|
||||
maxRequests: 8,
|
||||
perSeconds: 1
|
||||
);
|
||||
|
||||
$queryParams = [
|
||||
'skip' => $skip,
|
||||
'limit' => $limit,
|
||||
|
||||
Reference in new issue
Block a user