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

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 (51) hide show
  1. package/README.md +3 -2
  2. package/dist/esm/example.js +42 -43
  3. package/dist/esm/example.js.map +1 -1
  4. package/dist/esm/index.js +1 -17
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/esm/src/api.js +1095 -571
  7. package/dist/esm/src/api.js.map +1 -1
  8. package/dist/esm/src/base.js +7 -15
  9. package/dist/esm/src/base.js.map +1 -1
  10. package/dist/esm/src/common.js +12 -24
  11. package/dist/esm/src/common.js.map +1 -1
  12. package/dist/esm/src/configuration.js +1 -5
  13. package/dist/esm/src/configuration.js.map +1 -1
  14. package/dist/esm/src/index.js +6 -22
  15. package/dist/esm/src/index.js.map +1 -1
  16. package/dist/esm/src/request-signer.js +14 -19
  17. package/dist/esm/src/request-signer.js.map +1 -1
  18. package/dist/esm/src/sdk.js +42 -46
  19. package/dist/esm/src/sdk.js.map +1 -1
  20. package/dist/esm/src/utils.js +1 -4
  21. package/dist/esm/src/utils.js.map +1 -1
  22. package/dist/esm/src/websocket.js +5 -9
  23. package/dist/esm/src/websocket.js.map +1 -1
  24. package/dist/types/src/api.d.ts +607 -8
  25. package/dist/types/src/api.d.ts.map +1 -1
  26. package/dist/types/src/request-signer.d.ts +1 -1
  27. package/dist/types/src/sdk.d.ts +3 -2
  28. package/dist/types/src/sdk.d.ts.map +1 -1
  29. package/package.json +18 -13
  30. package/dist/cjs/example.js +0 -277
  31. package/dist/cjs/example.js.map +0 -1
  32. package/dist/cjs/index.js +0 -18
  33. package/dist/cjs/index.js.map +0 -1
  34. package/dist/cjs/src/api.js +0 -5170
  35. package/dist/cjs/src/api.js.map +0 -1
  36. package/dist/cjs/src/base.js +0 -69
  37. package/dist/cjs/src/base.js.map +0 -1
  38. package/dist/cjs/src/common.js +0 -162
  39. package/dist/cjs/src/common.js.map +0 -1
  40. package/dist/cjs/src/configuration.js +0 -45
  41. package/dist/cjs/src/configuration.js.map +0 -1
  42. package/dist/cjs/src/index.js +0 -23
  43. package/dist/cjs/src/index.js.map +0 -1
  44. package/dist/cjs/src/request-signer.js +0 -234
  45. package/dist/cjs/src/request-signer.js.map +0 -1
  46. package/dist/cjs/src/sdk.js +0 -863
  47. package/dist/cjs/src/sdk.js.map +0 -1
  48. package/dist/cjs/src/utils.js +0 -10
  49. package/dist/cjs/src/utils.js.map +0 -1
  50. package/dist/cjs/src/websocket.js +0 -159
  51. package/dist/cjs/src/websocket.js.map +0 -1
@@ -1,234 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BluefinRequestSigner = void 0;
13
- exports.makeSigner = makeSigner;
14
- const cryptography_1 = require("@mysten/sui/cryptography");
15
- const api_1 = require("./api");
16
- const library_sui_1 = require("@firefly-exchange/library-sui");
17
- function makeSigner(keyPair, isUIWallet) {
18
- return Object.assign(keyPair, {
19
- toSuiAddress: () => keyPair.getPublicKey().toSuiAddress(),
20
- isUIWallet: () => isUIWallet,
21
- });
22
- }
23
- // ------- ISerializables ---------
24
- // Enums
25
- var ClientPayloadType;
26
- (function (ClientPayloadType) {
27
- ClientPayloadType["WithdrawRequest"] = "Bluefin Pro Withdrawal";
28
- ClientPayloadType["OrderRequest"] = "Bluefin Pro Order";
29
- ClientPayloadType["LeverageAdjustment"] = "Bluefin Pro Leverage Adjustment";
30
- ClientPayloadType["AuthorizeAccount"] = "Bluefin Pro Authorize Account";
31
- ClientPayloadType["AdjustIsolatedMargin"] = "Bluefin Pro Margin Adjustment";
32
- })(ClientPayloadType || (ClientPayloadType = {}));
33
- var PositionType;
34
- (function (PositionType) {
35
- PositionType["Isolated"] = "ISOLATED";
36
- PositionType["Cross"] = "CROSS";
37
- })(PositionType || (PositionType = {}));
38
- // Conversion functions
39
- function toUIWithdrawRequest(val) {
40
- return {
41
- type: ClientPayloadType.WithdrawRequest,
42
- eds: val.edsId,
43
- assetSymbol: val.assetSymbol,
44
- account: val.accountAddress,
45
- amount: val.amountE9,
46
- salt: val.salt,
47
- signedAt: val.signedAtMillis.toString(),
48
- };
49
- }
50
- function toUICreateOrderRequest(val) {
51
- return {
52
- type: ClientPayloadType.OrderRequest,
53
- ids: val.idsId,
54
- account: val.accountAddress,
55
- market: val.symbol,
56
- price: val.priceE9,
57
- quantity: val.quantityE9,
58
- leverage: val.leverageE9,
59
- side: val.side.toString(),
60
- positionType: val.isIsolated ? PositionType.Isolated : PositionType.Cross,
61
- expiration: val.expiresAtMillis.toString(),
62
- salt: val.salt,
63
- signedAt: val.signedAtMillis.toString(),
64
- };
65
- }
66
- function toUIUpdateAccountPositionLeverageRequest(val) {
67
- return {
68
- type: ClientPayloadType.LeverageAdjustment,
69
- ids: val.idsId,
70
- account: val.accountAddress,
71
- market: val.symbol,
72
- leverage: val.leverageE9,
73
- salt: val.salt,
74
- signedAt: val.signedAtMillis.toString(),
75
- };
76
- }
77
- function toUIAuthorizeAccountRequest(val) {
78
- return {
79
- type: ClientPayloadType.AuthorizeAccount,
80
- ids: val.idsId,
81
- account: val.accountAddress,
82
- user: val.authorizedAccountAddress,
83
- status: true,
84
- salt: val.salt,
85
- signedAt: val.signedAtMillis.toString(),
86
- };
87
- }
88
- function toUIDeAuthorizeAccountRequest(val) {
89
- return {
90
- type: ClientPayloadType.AuthorizeAccount,
91
- ids: val.idsId,
92
- account: val.accountAddress,
93
- user: val.authorizedAccountAddress,
94
- status: false,
95
- salt: val.salt,
96
- signedAt: val.signedAtMillis.toString(),
97
- };
98
- }
99
- function toUIAdjustIsolatedMarginRequest(val) {
100
- return {
101
- type: ClientPayloadType.AdjustIsolatedMargin,
102
- ids: val.idsId,
103
- account: val.accountAddress,
104
- market: val.symbol,
105
- add: val.operation === api_1.AdjustMarginOperation.Add,
106
- amount: val.quantityE9,
107
- salt: val.salt,
108
- signedAt: val.signedAtMillis.toString(),
109
- };
110
- }
111
- // ---------- Utils ----------
112
- function toJson(val) {
113
- return JSON.stringify(val, null, 2);
114
- }
115
- // --------------------------------
116
- class BluefinRequestSigner {
117
- constructor(wallet) {
118
- this.wallet = wallet;
119
- }
120
- /**
121
- * Sign the login request
122
- */
123
- signLoginRequest(loginRequest) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const loginRequestJson = JSON.stringify(loginRequest);
126
- const signedMessage = yield this.wallet.signPersonalMessage(new TextEncoder().encode(loginRequestJson));
127
- return signedMessage.signature;
128
- });
129
- }
130
- /**
131
- * Sign an order request
132
- */
133
- signOrderRequest(signedFields) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- const orderJson = toJson(toUICreateOrderRequest(signedFields));
136
- const signedMessageSerialized = yield this.wallet.signPersonalMessage(new TextEncoder().encode(orderJson));
137
- const parsedSignature = (0, cryptography_1.parseSerializedSignature)(signedMessageSerialized.signature);
138
- if (parsedSignature.signatureScheme == 'MultiSig') {
139
- throw new Error('MultiSig not supported');
140
- }
141
- return signedMessageSerialized.signature;
142
- });
143
- }
144
- /**
145
- * Sign a withdraw request
146
- */
147
- signWithdrawRequest(withdrawRequestSignedFields) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- const requestJson = toJson(toUIWithdrawRequest(withdrawRequestSignedFields));
150
- const signedMessageSerialized = yield this.wallet.signPersonalMessage(new TextEncoder().encode(requestJson));
151
- const parsedSignature = (0, cryptography_1.parseSerializedSignature)(signedMessageSerialized.signature);
152
- if (parsedSignature.signatureScheme == 'MultiSig') {
153
- throw new Error('MultiSig not supported');
154
- }
155
- return signedMessageSerialized.signature;
156
- });
157
- }
158
- /**
159
- * Sign a leverage update request
160
- */
161
- signLeverageUpdateRequest(signedFields) {
162
- return __awaiter(this, void 0, void 0, function* () {
163
- const requestJson = toJson(toUIUpdateAccountPositionLeverageRequest(signedFields));
164
- const signedMessageSerialized = yield this.wallet.signPersonalMessage(new TextEncoder().encode(requestJson));
165
- const parsedSignature = (0, cryptography_1.parseSerializedSignature)(signedMessageSerialized.signature);
166
- if (parsedSignature.signatureScheme == 'MultiSig') {
167
- throw new Error('MultiSig not supported');
168
- }
169
- return signedMessageSerialized.signature;
170
- });
171
- }
172
- /**
173
- * Sign an account authorization request
174
- */
175
- signAccountAuthorizationRequest(signedFields, is_authorize) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- const requestJson = toJson(is_authorize
178
- ? toUIAuthorizeAccountRequest(signedFields)
179
- : toUIDeAuthorizeAccountRequest(signedFields));
180
- const signedMessageSerialized = yield this.wallet.signPersonalMessage(new TextEncoder().encode(requestJson));
181
- const parsedSignature = (0, cryptography_1.parseSerializedSignature)(signedMessageSerialized.signature);
182
- if (parsedSignature.signatureScheme == 'MultiSig') {
183
- throw new Error('MultiSig not supported');
184
- }
185
- return signedMessageSerialized.signature;
186
- });
187
- }
188
- /**
189
- * Sign an isolated margin adjustment request
190
- */
191
- signAdjustIsolatedMarginRequest(signedFields) {
192
- return __awaiter(this, void 0, void 0, function* () {
193
- const requestJson = toJson(toUIAdjustIsolatedMarginRequest(signedFields));
194
- const signedMessageSerialized = yield this.wallet.signPersonalMessage(new TextEncoder().encode(requestJson));
195
- const parsedSignature = (0, cryptography_1.parseSerializedSignature)(signedMessageSerialized.signature);
196
- if (parsedSignature.signatureScheme == 'MultiSig') {
197
- throw new Error('MultiSig not supported');
198
- }
199
- return signedMessageSerialized.signature;
200
- });
201
- }
202
- signTx(txb, suiClient) {
203
- return __awaiter(this, void 0, void 0, function* () {
204
- return yield library_sui_1.SuiBlocks.buildAndSignTxBlock(txb, suiClient, this.wallet, this.wallet.isUIWallet());
205
- });
206
- }
207
- executeSponsoredTx(txBytes, userSignature, sponsorSignature, suiClient) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- return library_sui_1.SuiBlocks.executeSponsoredTxBlock(txBytes, userSignature, sponsorSignature, suiClient);
210
- });
211
- }
212
- executeTx(txb, suiClient) {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- return library_sui_1.SuiBlocks.execCall(txb, suiClient, this.wallet, false, this.wallet.isUIWallet());
215
- });
216
- }
217
- /**
218
- * Get the wallet's address
219
- */
220
- getAddress() {
221
- return this.wallet.toSuiAddress();
222
- }
223
- toSuiAddress() {
224
- return this.wallet.toSuiAddress();
225
- }
226
- /**
227
- * Get the wallet type (ui wallet or backend)
228
- */
229
- isUIWallet() {
230
- return this.wallet.isUIWallet();
231
- }
232
- }
233
- exports.BluefinRequestSigner = BluefinRequestSigner;
234
- //# sourceMappingURL=request-signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-signer.js","sourceRoot":"","sources":["../../../src/request-signer.ts"],"names":[],"mappings":"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"}