@bluefin-exchange/pro-sdk 0.1.54 → 0.1.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/api.d.ts CHANGED
@@ -1072,17 +1072,23 @@ export interface AffiliateIntervalOverview {
1072
1072
  */
1073
1073
  'intervalNumber': number;
1074
1074
  /**
1075
- * Start date of the interval in milliseconds
1075
+ * Start date of the interval in seconds
1076
1076
  * @type {number}
1077
1077
  * @memberof AffiliateIntervalOverview
1078
1078
  */
1079
1079
  'intervalStartDate': number;
1080
1080
  /**
1081
- * End date of the interval in milliseconds
1081
+ * End date of the interval in seconds
1082
1082
  * @type {number}
1083
1083
  * @memberof AffiliateIntervalOverview
1084
1084
  */
1085
1085
  'intervalEndDate': number;
1086
+ /**
1087
+ * Status of the interval
1088
+ * @type {string}
1089
+ * @memberof AffiliateIntervalOverview
1090
+ */
1091
+ 'status': AffiliateIntervalOverviewStatusEnum;
1086
1092
  /**
1087
1093
  * Date when the user was referred
1088
1094
  * @type {string}
@@ -1162,6 +1168,13 @@ export interface AffiliateIntervalOverview {
1162
1168
  */
1163
1169
  'totalEarningsE9': string;
1164
1170
  }
1171
+ export declare const AffiliateIntervalOverviewStatusEnum: {
1172
+ readonly Active: "ACTIVE";
1173
+ readonly NotStarted: "NOT_STARTED";
1174
+ readonly Finalized: "FINALIZED";
1175
+ readonly Cooldown: "COOLDOWN";
1176
+ };
1177
+ export type AffiliateIntervalOverviewStatusEnum = typeof AffiliateIntervalOverviewStatusEnum[keyof typeof AffiliateIntervalOverviewStatusEnum];
1165
1178
  /**
1166
1179
  *
1167
1180
  * @export
package/dist/src/api.js CHANGED
@@ -22,8 +22,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
22
22
  });
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.GetRecentTradesTradeTypeEnum = exports.ExchangeApi = exports.ExchangeApiFactory = exports.ExchangeApiFp = exports.ExchangeApiAxiosParamCreator = exports.AuthApi = exports.AuthApiFactory = exports.AuthApiFp = exports.AuthApiAxiosParamCreator = exports.AccountDataApi = exports.AccountDataApiFactory = exports.AccountDataApiFp = exports.AccountDataApiAxiosParamCreator = exports.UserCampaignRewardsStatusEnum = exports.TransactionType = exports.TradeType = exports.TradeSide = exports.SubscriptionType = exports.SelfTradePreventionType = exports.PositionSide = exports.OrderbookPartialDepthUpdateDepthLevelEnum = exports.OrderType = exports.OrderTimeInForce = exports.OrderStatus = exports.OrderSide = exports.OrderCancellationFailureReason = exports.OrderCancelReason = exports.OraclePriceUpdateSourceEnum = exports.MarketStatus = exports.MarketPriceUpdateSourceEnum = exports.MarketEventType = exports.MarketDataStreamName = exports.MarkPriceUpdateSourceEnum = exports.MarginType = exports.KlineInterval = exports.IntervalRewardsStatusEnum = exports.IntervalMetadataStatusEnum = exports.FailedCommandType = exports.EpochMetadataStatusEnum = exports.ContractsConfigNetworkEnum = exports.CommandFailureReasonCode = exports.CandlePriceType = exports.CampaignMetadataStatusEnum = exports.AffiliateOnboardResponseStatusEnum = exports.AffiliateMetadataTierEnum = exports.AffiliateMetadataStatusEnum = exports.AdjustMarginOperation = exports.AccountEventType = exports.AccountEventReason = exports.AccountDataStream = void 0;
26
- exports.TradeApi = exports.TradeApiFactory = exports.TradeApiFp = exports.TradeApiAxiosParamCreator = exports.WebSocketMarketDataSecWebSocketVersionEnum = exports.WebSocketMarketDataUpgradeEnum = exports.WebSocketAccountDataSecWebSocketVersionEnum = exports.WebSocketAccountDataUpgradeEnum = exports.StreamsApi = exports.StreamsApiFactory = exports.StreamsApiFp = exports.StreamsApiAxiosParamCreator = exports.GetRewardsEpochMetadataEpochEnum = exports.GetRewardsCampaignMetadataStatusEnum = exports.GetAffiliateOverviewSortOrderEnum = exports.GetAffiliateOverviewSortByEnum = exports.GetAffiliateLeaderDashboardSortOrderEnum = exports.GetAffiliateLeaderDashboardSortByEnum = exports.RewardsApi = exports.RewardsApiFactory = exports.RewardsApiFp = exports.RewardsApiAxiosParamCreator = void 0;
25
+ exports.ExchangeApi = exports.ExchangeApiFactory = exports.ExchangeApiFp = exports.ExchangeApiAxiosParamCreator = exports.AuthApi = exports.AuthApiFactory = exports.AuthApiFp = exports.AuthApiAxiosParamCreator = exports.AccountDataApi = exports.AccountDataApiFactory = exports.AccountDataApiFp = exports.AccountDataApiAxiosParamCreator = exports.UserCampaignRewardsStatusEnum = exports.TransactionType = exports.TradeType = exports.TradeSide = exports.SubscriptionType = exports.SelfTradePreventionType = exports.PositionSide = exports.OrderbookPartialDepthUpdateDepthLevelEnum = exports.OrderType = exports.OrderTimeInForce = exports.OrderStatus = exports.OrderSide = exports.OrderCancellationFailureReason = exports.OrderCancelReason = exports.OraclePriceUpdateSourceEnum = exports.MarketStatus = exports.MarketPriceUpdateSourceEnum = exports.MarketEventType = exports.MarketDataStreamName = exports.MarkPriceUpdateSourceEnum = exports.MarginType = exports.KlineInterval = exports.IntervalRewardsStatusEnum = exports.IntervalMetadataStatusEnum = exports.FailedCommandType = exports.EpochMetadataStatusEnum = exports.ContractsConfigNetworkEnum = exports.CommandFailureReasonCode = exports.CandlePriceType = exports.CampaignMetadataStatusEnum = exports.AffiliateOnboardResponseStatusEnum = exports.AffiliateMetadataTierEnum = exports.AffiliateMetadataStatusEnum = exports.AffiliateIntervalOverviewStatusEnum = exports.AdjustMarginOperation = exports.AccountEventType = exports.AccountEventReason = exports.AccountDataStream = void 0;
26
+ exports.TradeApi = exports.TradeApiFactory = exports.TradeApiFp = exports.TradeApiAxiosParamCreator = exports.WebSocketMarketDataSecWebSocketVersionEnum = exports.WebSocketMarketDataUpgradeEnum = exports.WebSocketAccountDataSecWebSocketVersionEnum = exports.WebSocketAccountDataUpgradeEnum = exports.StreamsApi = exports.StreamsApiFactory = exports.StreamsApiFp = exports.StreamsApiAxiosParamCreator = exports.GetRewardsEpochMetadataEpochEnum = exports.GetRewardsCampaignMetadataStatusEnum = exports.GetAffiliateOverviewSortOrderEnum = exports.GetAffiliateOverviewSortByEnum = exports.GetAffiliateLeaderDashboardSortOrderEnum = exports.GetAffiliateLeaderDashboardSortByEnum = exports.RewardsApi = exports.RewardsApiFactory = exports.RewardsApiFp = exports.RewardsApiAxiosParamCreator = exports.GetRecentTradesTradeTypeEnum = void 0;
27
27
  const axios_1 = require("axios");
28
28
  // Some imports not used depending on template conditions
29
29
  // @ts-ignore
@@ -83,6 +83,12 @@ exports.AdjustMarginOperation = {
83
83
  Add: 'ADD',
84
84
  Subtract: 'SUBTRACT'
85
85
  };
86
+ exports.AffiliateIntervalOverviewStatusEnum = {
87
+ Active: 'ACTIVE',
88
+ NotStarted: 'NOT_STARTED',
89
+ Finalized: 'FINALIZED',
90
+ Cooldown: 'COOLDOWN'
91
+ };
86
92
  exports.AffiliateMetadataStatusEnum = {
87
93
  Pending: 'PENDING',
88
94
  Approved: 'APPROVED',
package/dist/src/sdk.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { OrderType, OrderTimeInForce, SelfTradePreventionType, OrderSide, CancelOrdersRequest, AccountDataApi, ExchangeApi, MarketStreamMessage, AccountStreamMessage, LoginResponse, RewardsApi, UpdateAccountPreferenceRequest } from "./api";
2
- import { IBluefinSigner } from "./request-signer";
3
- import { WebSocket } from "ws";
4
- import { SuiClient } from "@firefly-exchange/library-sui";
1
+ import { OrderType, OrderTimeInForce, SelfTradePreventionType, OrderSide, CancelOrdersRequest, AccountDataApi, ExchangeApi, MarketStreamMessage, AccountStreamMessage, LoginResponse, RewardsApi, UpdateAccountPreferenceRequest } from './api';
2
+ import { IBluefinSigner } from './request-signer';
3
+ import { WebSocket } from 'ws';
4
+ import { SuiClient } from '@firefly-exchange/library-sui';
5
5
  export interface OrderParams {
6
6
  clientOrderId: string;
7
7
  type: OrderType;
@@ -40,6 +40,7 @@ export declare class BluefinProSdk {
40
40
  private readonly bfSigner;
41
41
  private environment;
42
42
  private suiClient;
43
+ private static readonly TOKEN_REFRESH_THRESHOLD_PERCENTAGE;
43
44
  private readonly configs;
44
45
  readonly exchangeDataApi: ExchangeApi;
45
46
  readonly rewardsDataApi: RewardsApi;
@@ -50,7 +51,7 @@ export declare class BluefinProSdk {
50
51
  private tokenResponse;
51
52
  private tokenSetAtSeconds;
52
53
  private isConnected;
53
- private updateTokenInterval;
54
+ private updateTokenTimeout;
54
55
  private contractsConfig;
55
56
  private assets;
56
57
  private txBuilder;
@@ -58,6 +59,11 @@ export declare class BluefinProSdk {
58
59
  private disableLoginPromptOnLogout;
59
60
  private onLogout?;
60
61
  private onAccessTokenUpdate?;
62
+ private isRefreshing;
63
+ private refreshPromise;
64
+ private visibilityChangeHandler?;
65
+ private onlineHandler?;
66
+ private offlineHandler?;
61
67
  constructor(bfSigner: IBluefinSigner, environment: "mainnet" | "testnet" | "devnet" | undefined, suiClient: SuiClient, opts?: BluefinProSdkOptions);
62
68
  createWallet(): {
63
69
  privateKey: string;
@@ -65,10 +71,18 @@ export declare class BluefinProSdk {
65
71
  };
66
72
  getTokenResponse(): LoginResponse | null;
67
73
  private generateSalt;
74
+ private isRefreshTokenValid;
75
+ private isAccessTokenExpired;
68
76
  private initializeTxBuilder;
69
77
  initialize(options?: InitializeOptions): Promise<void>;
70
78
  private setContractsConfig;
71
79
  private loginAndUpdateToken;
80
+ private scheduleTokenRefresh;
81
+ private setupVisibilityChangeListener;
82
+ private setupNetworkChangeListener;
83
+ private handleVisible;
84
+ private handleOnline;
85
+ private handleOffline;
72
86
  private login;
73
87
  getAccessToken(): Promise<string>;
74
88
  getOpenOrders(symbol?: string): Promise<import("axios").AxiosResponse<import("./api").OpenOrderResponse[], any>>;
@@ -84,7 +98,8 @@ export declare class BluefinProSdk {
84
98
  getAccountPreferences(): Promise<import("axios").AxiosResponse<import("./api").AccountPreference, any>>;
85
99
  updateAccountPreferences(updateAccountPreferenceRequest: UpdateAccountPreferenceRequest): Promise<import("axios").AxiosResponse<void, any>>;
86
100
  deposit(amountE9: string, accountAddress?: string): Promise<import("@firefly-exchange/library-sui").DryRunTransactionBlockResponse | import("@firefly-exchange/library-sui").SuiTransactionBlockResponse>;
87
- refreshToken(): Promise<void>;
101
+ refreshToken(force?: boolean): Promise<void>;
102
+ private performTokenRefresh;
88
103
  createAccountDataStreamListener(handler: (data: AccountStreamMessage) => Promise<void>): Promise<WebSocket>;
89
104
  createMarketDataStreamListener(handler: (data: MarketStreamMessage) => Promise<void>): Promise<WebSocket>;
90
105
  logout(): Promise<void>;