@bluefin-exchange/pro-sdk 2.0.0-beta.0 → 2.0.0-beta.1

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.
Files changed (38) hide show
  1. package/README.md +2 -3
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/src/api.js +609 -810
  5. package/dist/esm/src/api.js.map +1 -1
  6. package/dist/esm/src/base.js +5 -2
  7. package/dist/esm/src/base.js.map +1 -1
  8. package/dist/esm/src/common.js +23 -39
  9. package/dist/esm/src/common.js.map +1 -1
  10. package/dist/esm/src/configuration.js +62 -2
  11. package/dist/esm/src/configuration.js.map +1 -1
  12. package/dist/esm/src/index.js +6 -6
  13. package/dist/esm/src/index.js.map +1 -1
  14. package/dist/esm/src/request-signer.js +61 -81
  15. package/dist/esm/src/request-signer.js.map +1 -1
  16. package/dist/esm/src/sdk.js +529 -570
  17. package/dist/esm/src/sdk.js.map +1 -1
  18. package/dist/esm/src/websocket.js +69 -85
  19. package/dist/esm/src/websocket.js.map +1 -1
  20. package/dist/types/index.d.ts +1 -1
  21. package/dist/types/index.d.ts.map +1 -1
  22. package/dist/types/src/api.d.ts +7 -7
  23. package/dist/types/src/api.d.ts.map +1 -1
  24. package/dist/types/src/base.d.ts +1 -1
  25. package/dist/types/src/base.d.ts.map +1 -1
  26. package/dist/types/src/common.d.ts +2 -2
  27. package/dist/types/src/common.d.ts.map +1 -1
  28. package/dist/types/src/index.d.ts +6 -6
  29. package/dist/types/src/index.d.ts.map +1 -1
  30. package/dist/types/src/request-signer.d.ts +3 -2
  31. package/dist/types/src/request-signer.d.ts.map +1 -1
  32. package/dist/types/src/sdk.d.ts +9 -9
  33. package/dist/types/src/sdk.d.ts.map +1 -1
  34. package/package.json +6 -7
  35. package/dist/esm/example.js +0 -276
  36. package/dist/esm/example.js.map +0 -1
  37. package/dist/types/example.d.ts +0 -2
  38. package/dist/types/example.d.ts.map +0 -1
@@ -1,276 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { AccountDataStream, TradeType, TransactionType, KlineInterval, CandlePriceType, OrderType, OrderSide, MarketDataStreamName, MarketEventType, AccountEventType, OrderTimeInForce, BluefinRequestSigner, BluefinProSdk, makeSigner, GetAccountValueHistoryParamsInterval, } from "./index";
11
- import { hexToBytes } from "@noble/hashes/utils";
12
- import { SuiJsonRpcClient } from "@mysten/sui/jsonRpc";
13
- import { Ed25519Keypair } from "@firefly-exchange/library-sui";
14
- // Configure logging
15
- const logger = {
16
- info: (message) => console.log(new Date().toISOString(), "-", message),
17
- error: (message) => console.error(new Date().toISOString(), "-", message),
18
- };
19
- // Handle market data stream events
20
- function handleMarketDataEvent(msg) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- if (msg.event == MarketEventType.OraclePriceUpdate) {
23
- logger.info(`OraclePriceUpdate: ${JSON.stringify(msg)}`);
24
- }
25
- if (msg.event == MarketEventType.MarkPriceUpdate) {
26
- logger.info(`MarkPriceUpdate: ${JSON.stringify(msg)}`);
27
- }
28
- if (msg.event == MarketEventType.MarketPriceUpdate) {
29
- logger.info(`MarketPriceUpdate: ${JSON.stringify(msg)}`);
30
- }
31
- if (msg.event == MarketEventType.CandlestickUpdate) {
32
- logger.info(`CandlestickUpdate: ${JSON.stringify(msg)}`);
33
- }
34
- if (msg.event == MarketEventType.OrderbookDiffDepthUpdate) {
35
- logger.info(`OrderbookDiffDepthUpdate: ${JSON.stringify(msg)}`);
36
- }
37
- if (msg.event == MarketEventType.OrderbookPartialDepthUpdate) {
38
- logger.info(`OrderbookPartialDepthUpdate: ${JSON.stringify(msg)}`);
39
- }
40
- if (msg.event == MarketEventType.RecentTradesUpdates) {
41
- logger.info(`RecentTradesUpdates: ${JSON.stringify(msg)}`);
42
- }
43
- if (msg.event == MarketEventType.TickerAllUpdate) {
44
- logger.info(`TickerAllUpdate: ${JSON.stringify(msg)}`);
45
- }
46
- if (msg.event == MarketEventType.TickerUpdate) {
47
- logger.info(`TickerUpdate: ${JSON.stringify(msg)}`);
48
- }
49
- });
50
- }
51
- // Handle account data stream events
52
- function handleAccountDataEvent(msg) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- if (msg.event == AccountEventType.AccountUpdate) {
55
- logger.info(`AccountUpdate: ${JSON.stringify(msg)}`);
56
- }
57
- if (msg.event == AccountEventType.AccountTradeUpdate) {
58
- logger.info(`AccountTradeUpdate: ${JSON.stringify(msg)}`);
59
- }
60
- if (msg.event == AccountEventType.AccountPositionUpdate) {
61
- logger.info(`AccountPositionUpdate: ${JSON.stringify(msg)}`);
62
- }
63
- if (msg.event == AccountEventType.AccountOrderUpdate) {
64
- // if (msg.actual_instance instanceof ActiveOrderUpdate) {
65
- // logger.info(`ActiveOrderUpdate: ${JSON.stringify(msg.actual_instance)}`);
66
- // }
67
- // if (msg.actual_instance instanceof OrderCancellationUpdate) {
68
- // logger.info(
69
- // `OrderCancellationUpdate: ${JSON.stringify(msg.actual_instance)}`
70
- // );
71
- // }
72
- }
73
- });
74
- }
75
- function main() {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- // Create wallet from mnemonic
78
- // const suiWallet = Ed25519Keypair.deriveKeypair(
79
- // // "dilemma salmon lake ceiling moral glide cute that ginger float area aunt vague remind cage mother concert inch dizzy present proud program time urge",
80
- // "know puzzle puzzle table miss member token image loop velvet skin legend clarify affair wisdom alert lucky unveil mean two question nice spatial grape"
81
- // );
82
- const suiWallet = Ed25519Keypair.fromSecretKey(hexToBytes("3427d19dcf5781f0874c36c78aec22c03acda435d69efcbf249e8821793567a1"));
83
- const otherSuiWallet = Ed25519Keypair.fromSecretKey(hexToBytes("1269e3f8279bed96907a6e809a93eea2528926abbdf56584f43544859fa8c0da"));
84
- logger.info(`Sui Address: ${suiWallet.getPublicKey().toSuiAddress()}`);
85
- logger.info(`Other Sui Address: ${otherSuiWallet.getPublicKey().toSuiAddress()}`);
86
- const bfSigner = new BluefinRequestSigner(makeSigner(suiWallet, false));
87
- const otherBfSigner = new BluefinRequestSigner(makeSigner(otherSuiWallet, false));
88
- const client = new BluefinProSdk(bfSigner, "testnet", new SuiJsonRpcClient({ url: "https://fullnode.testnet.sui.io:443", network: "testnet" }));
89
- yield client.initialize();
90
- // Example: Creating SDK with custom time offset
91
- // const customTime = Date.now() + 5000; // 5 seconds in the future
92
- // const clientWithTimeOffset = new BluefinProSdk(
93
- // bfSigner,
94
- // "testnet",
95
- // new SuiJsonRpcClient({ url: "https://fullnode.testnet.sui.io:443", network: "testnet" }),
96
- // { currentTimeMs: customTime }
97
- // );
98
- // await clientWithTimeOffset.initialize();
99
- //
100
- // Later, you can update the time offset:
101
- // const newCustomTime = Date.now() + 10000; // 10 seconds in the future
102
- // clientWithTimeOffset.updateCurrentTimeMs(newCustomTime);
103
- try {
104
- // Disable for now as the account does not have enough coins
105
- // await client.deposit((0.03*1e9).toString());
106
- // Sponsored Deposit Call, fallbackToExecuteTx will perform simple executeTx if the sponsor tx fails
107
- // await client.deposit((0.03*1e9).toString(), undefined, { sponsored: true, fallbackToExecuteTx: true });
108
- // Get Market Data from Exchange Data API
109
- const exchangeInfo = (yield client.exchangeDataApi.getExchangeInfo()).data;
110
- logger.info(`Exchange Info: ${JSON.stringify(exchangeInfo)}`);
111
- // Find the first market available if any
112
- const perpMarket = exchangeInfo.markets.length > 0
113
- ? exchangeInfo.markets[0]
114
- : (() => {
115
- throw new Error("No market is available");
116
- })();
117
- logger.info(`Selected market: ${JSON.stringify(perpMarket)}`);
118
- const symbol = perpMarket.symbol;
119
- client.updateAccountGroupId({
120
- accountAddress: suiWallet.getPublicKey().toSuiAddress(),
121
- groupId: "test"
122
- }).catch((e) => {
123
- logger.error(`Failed to update account group ID: ${e}`);
124
- });
125
- client.accountDataApi.getAccountDetails(suiWallet.getPublicKey().toSuiAddress())
126
- .then((res) => {
127
- logger.info(`Account details after group ID update: ${JSON.stringify(res.data)}`);
128
- })
129
- .catch((e) => {
130
- logger.error(`Failed to get account details: ${e}`);
131
- });
132
- // Get market data
133
- const candleStick = (yield client.exchangeDataApi.getCandlestickData(symbol, KlineInterval._1m, CandlePriceType.Oracle)).data;
134
- logger.info(`Candle stick: ${JSON.stringify(candleStick)}`);
135
- const rewards = (yield client.rewardsDataApi.getCampaignRewards("TRADE_AND_EARN", suiWallet.getPublicKey().toSuiAddress())).data;
136
- logger.info(`Rewards: ${JSON.stringify(rewards)}`);
137
- const depth = (yield client.exchangeDataApi.getOrderbookDepth(symbol)).data;
138
- logger.info(`Depth: ${JSON.stringify(depth)}`);
139
- const ticker = (yield client.exchangeDataApi.getMarketTicker(symbol)).data;
140
- logger.info(`Exchange Market ticker: ${JSON.stringify(ticker)}`);
141
- const recentTrades = (yield client.exchangeDataApi.getRecentTrades(symbol))
142
- .data;
143
- logger.info(`Recent Trades: ${JSON.stringify(recentTrades)}`);
144
- const fundingRateHistory = (yield client.exchangeDataApi.getFundingRateHistory(symbol)).data;
145
- logger.info(`Funding Rate History: ${JSON.stringify(fundingRateHistory)}`);
146
- const stats = (yield client.exchangeDataApi.getExchangeStats()).data;
147
- logger.info(`Stats: ${JSON.stringify(stats)}`);
148
- const statsAllTime = (yield client.exchangeDataApi.getExchangeStatsAllTime()).data;
149
- logger.info(`Stats All Time: ${JSON.stringify(statsAllTime)}`);
150
- const country = (yield client.exchangeDataApi.getCountry()).data;
151
- logger.info(`Country: ${JSON.stringify(country)}`);
152
- const leaderboard = (yield client.exchangeDataApi.getLeaderboard()).data;
153
- logger.info(`Leaderboard: ${JSON.stringify(leaderboard)}`);
154
- // Account Data API calls
155
- const accountTrades = (yield client.accountDataApi.getAccountTrades(symbol, Date.now() - 10000000, Date.now(), 1000, TradeType.Order, 1)).data;
156
- logger.info(`Trades History ${JSON.stringify(accountTrades)}`);
157
- const depositHistory = (yield client.accountDataApi.getAccountTransactionHistory([TransactionType.Deposit, TransactionType.Withdraw], symbol, Date.now() - 10000000, Date.now(), 1000, 1)).data;
158
- logger.info(`Deposits history: ${JSON.stringify(depositHistory)}`);
159
- const accountDetails = (yield client.accountDataApi.getAccountDetails(suiWallet.getPublicKey().toSuiAddress())).data;
160
- logger.info(`Account Details: ${JSON.stringify(accountDetails)}`);
161
- const accountPreferences = (yield client.accountDataApi.getAccountPreferences()).data;
162
- logger.info(`Account Preferences: ${JSON.stringify(accountPreferences)}`);
163
- const accountFundingrateHistory = (yield client.accountDataApi.getAccountFundingRateHistory()).data;
164
- logger.info(`Account Funding Rate history: ${JSON.stringify(accountFundingrateHistory)}`);
165
- const accountValueHistory = (yield client.accountDataApi.getAccountValueHistory(GetAccountValueHistoryParamsInterval._24h)).data;
166
- logger.info(`Account Value history for last 24 hours: ${JSON.stringify(accountValueHistory)}`);
167
- const accountValueHistoryByAccount = (yield client.accountDataApi.getAccountValueHistoryByAccount(suiWallet.getPublicKey().toSuiAddress())).data;
168
- logger.info(`Account Value history By Account for last 24 hours: ${JSON.stringify(accountValueHistory)}`);
169
- // Set up WebSocket listeners
170
- const accountDataListener = yield client.createAccountDataStreamListener(handleAccountDataEvent);
171
- const marketDataListener = yield client.createMarketDataStreamListener(handleMarketDataEvent);
172
- yield accountDataListener.send(JSON.stringify({
173
- method: "Subscribe",
174
- dataStreams: [
175
- AccountDataStream.AccountOrderUpdate,
176
- AccountDataStream.AccountPositionUpdate,
177
- AccountDataStream.AccountTradeUpdate,
178
- AccountDataStream.AccountTransactionUpdate,
179
- AccountDataStream.AccountUpdate,
180
- ],
181
- }));
182
- yield marketDataListener.send(JSON.stringify({
183
- method: "Subscribe",
184
- dataStreams: [
185
- {
186
- symbol: symbol,
187
- streams: [
188
- MarketDataStreamName.MarkPrice,
189
- MarketDataStreamName.RecentTrade,
190
- MarketDataStreamName.OraclePrice,
191
- MarketDataStreamName.Ticker,
192
- MarketDataStreamName.TickerAll,
193
- MarketDataStreamName.DiffDepth500Ms,
194
- MarketDataStreamName.PartialDepth5,
195
- ],
196
- },
197
- ],
198
- }));
199
- // Place order
200
- const orderParams = {
201
- clientOrderId: "123456",
202
- type: OrderType.Limit,
203
- symbol: symbol,
204
- priceE9: "10000000",
205
- quantityE9: "100000000000",
206
- side: OrderSide.Long,
207
- leverageE9: "1000000000",
208
- isIsolated: false,
209
- expiresAtMillis: Date.now() + 6 * 60 * 1000,
210
- postOnly: false,
211
- reduceOnly: false,
212
- timeInForce: OrderTimeInForce.Gtt,
213
- };
214
- const orderCreationResult = (yield client.createOrder(orderParams)).data;
215
- logger.info(`Order Creation Result: ${JSON.stringify(orderCreationResult)}`);
216
- logger.info("Update Leverage to 2");
217
- yield client.updateLeverage(symbol, "2000000000");
218
- // Withdraw 10 USD
219
- yield client.withdraw("USDC", "10000000000");
220
- logger.info("Withdraw request success");
221
- yield client.authorizeAccount(otherBfSigner.getAddress());
222
- logger.info("Authorize account request success");
223
- yield client.deauthorizeAccount(otherBfSigner.getAddress());
224
- logger.info("Deauthorize account request success");
225
- yield client.adjustIsolatedMargin(symbol, "10000000000", true);
226
- logger.info("Adjust isolated margin request success");
227
- // Example: Batch claim rewards
228
- // This example shows how to claim rewards on-chain using signatures from the API
229
- try {
230
- // First, get campaign rewards which include claim signatures
231
- const campaignRewards = (yield client.rewardsDataApi.getCampaignRewards("TRADE_AND_EARN", suiWallet.getPublicKey().toSuiAddress())).data;
232
- logger.info(`Campaign Rewards: ${JSON.stringify(campaignRewards)}`);
233
- // If there are claimable rewards with signatures, batch claim them
234
- if (campaignRewards && campaignRewards.length > 0) {
235
- // Transform the API response to BatchClaimParams format
236
- const claimPayloads = campaignRewards
237
- .filter((reward) => reward.claimSignature && reward.claimSignature.length > 0)
238
- .flatMap((reward) => reward.claimSignature.map((claimSig) => ({
239
- sigPayload: {
240
- target: claimSig.sigPayload.target,
241
- receiver: claimSig.sigPayload.receiver,
242
- amount: claimSig.sigPayload.amount,
243
- expiry: claimSig.sigPayload.expiry,
244
- nonce: claimSig.sigPayload.nonce,
245
- type: claimSig.sigPayload.type,
246
- },
247
- signature: claimSig.signature,
248
- rewardType: claimSig.rewardType, // 'Blue', 'Sui', 'Wal', etc.
249
- })));
250
- if (claimPayloads.length > 0) {
251
- logger.info(`Claiming ${claimPayloads.length} rewards...`);
252
- const claimTx = yield client.batchClaimRewards(claimPayloads);
253
- logger.info(`Batch claim transaction result: ${JSON.stringify(claimTx)}`);
254
- }
255
- else {
256
- logger.info("No claimable rewards found");
257
- }
258
- }
259
- }
260
- catch (claimError) {
261
- logger.error(`Batch claim rewards error: ${claimError}`);
262
- }
263
- // Keep connection alive
264
- yield new Promise((resolve) => setTimeout(resolve, 50000));
265
- }
266
- finally {
267
- yield client.dispose();
268
- }
269
- });
270
- }
271
- // Run the main function
272
- main().catch((error) => {
273
- console.error("Error in main:", error);
274
- process.exit(1);
275
- });
276
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../example.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../example.ts"],"names":[],"mappings":""}