strategy-tools 1.0.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 (44) hide show
  1. package/README.md +2 -0
  2. package/__mocks__/jose.js +17 -0
  3. package/dist/Signer.d.ts +4 -0
  4. package/dist/Signer.js +3 -0
  5. package/dist/Signer.js.map +1 -0
  6. package/dist/binance/BinanceApiSigner.d.ts +6 -0
  7. package/dist/binance/BinanceApiSigner.js +20 -0
  8. package/dist/binance/BinanceApiSigner.js.map +1 -0
  9. package/dist/binance/BinanceConnection.d.ts +21 -0
  10. package/dist/binance/BinanceConnection.js +77 -0
  11. package/dist/binance/BinanceConnection.js.map +1 -0
  12. package/dist/binance/BinanceSapiSigner.d.ts +6 -0
  13. package/dist/binance/BinanceSapiSigner.js +22 -0
  14. package/dist/binance/BinanceSapiSigner.js.map +1 -0
  15. package/dist/binance/BinanceTypes.d.ts +159 -0
  16. package/dist/binance/BinanceTypes.js +44 -0
  17. package/dist/binance/BinanceTypes.js.map +1 -0
  18. package/dist/binance/connection/BinanceOperationConnection.d.ts +121 -0
  19. package/dist/binance/connection/BinanceOperationConnection.js +83 -0
  20. package/dist/binance/connection/BinanceOperationConnection.js.map +1 -0
  21. package/dist/binance/connection/BinanceRfqConnection.d.ts +2 -0
  22. package/dist/binance/connection/BinanceRfqConnection.js +7 -0
  23. package/dist/binance/connection/BinanceRfqConnection.js.map +1 -0
  24. package/dist/cetus/CetusStrategyApiConnection.d.ts +25 -0
  25. package/dist/cetus/CetusStrategyApiConnection.js +22 -0
  26. package/dist/cetus/CetusStrategyApiConnection.js.map +1 -0
  27. package/dist/index.d.ts +5 -0
  28. package/dist/index.js +20 -0
  29. package/dist/index.js.map +1 -0
  30. package/jest.config.js +19 -0
  31. package/package.json +44 -0
  32. package/src/Signer.ts +4 -0
  33. package/src/binance/BinanceApiSigner.ts +20 -0
  34. package/src/binance/BinanceConnection.ts +86 -0
  35. package/src/binance/BinanceSapiSigner.ts +21 -0
  36. package/src/binance/BinanceTypes.ts +168 -0
  37. package/src/binance/connection/BinanceOperationConnection.ts +122 -0
  38. package/src/binance/connection/BinanceRfqConnection.ts +1 -0
  39. package/src/cetus/CetusStrategyApiConnection.ts +30 -0
  40. package/src/index.ts +6 -0
  41. package/test/binance/BinanceOperationConnection.test.ts +73 -0
  42. package/test/binance/BinanceSigner.test.ts +45 -0
  43. package/test/cetus/CetusStrategyApiConnection.test.ts +27 -0
  44. package/tsconfig.json +23 -0
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # strategy-tools
2
+ Librería para el desarrollo de estrategias de Cetus
@@ -0,0 +1,17 @@
1
+ module.exports = {
2
+ JWTPayload: class {},
3
+ SignJWT: class {
4
+ setProtectedHeader() { return this; }
5
+ setIssuedAt() { return this; }
6
+ setExpirationTime() { return this; }
7
+ sign() { return Promise.resolve("mocked.jwt.token"); }
8
+ },
9
+ jwtVerify: jest.fn().mockResolvedValue({
10
+ payload: {
11
+ userId: "mock-user-id",
12
+ rolesByPlatform: {},
13
+ status: "active",
14
+ application: "test"
15
+ }
16
+ })
17
+ };
@@ -0,0 +1,4 @@
1
+ export interface Signer<I, K, S> {
2
+ sign(input: I, key: K): S;
3
+ verify(input: I, key: K, signature: S): boolean;
4
+ }
package/dist/Signer.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { Signer } from "../Signer";
2
+ import { BinanceParams } from "./BinanceTypes";
3
+ export declare class BinanceApiSigner implements Signer<BinanceParams, string, string> {
4
+ sign(params: BinanceParams, key: string): string;
5
+ verify(input: BinanceParams, key: string, signature: string): boolean;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinanceApiSigner = void 0;
4
+ const { KJUR, hextob64 } = require('jsrsasign');
5
+ class BinanceApiSigner {
6
+ sign(params, key) {
7
+ const queryString = new URLSearchParams(params).toString();
8
+ const signer = new KJUR.crypto.Signature({ "alg": "SHA256withRSA" });
9
+ signer.init(key);
10
+ signer.updateString(queryString);
11
+ const signatureHex = signer.sign();
12
+ const signature = hextob64(signatureHex);
13
+ return encodeURIComponent(signature);
14
+ }
15
+ verify(input, key, signature) {
16
+ return true;
17
+ }
18
+ }
19
+ exports.BinanceApiSigner = BinanceApiSigner;
20
+ //# sourceMappingURL=BinanceApiSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinanceApiSigner.js","sourceRoot":"","sources":["../../src/binance/BinanceApiSigner.ts"],"names":[],"mappings":";;;AAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAKhD,MAAa,gBAAgB;IAClB,IAAI,CAAC,MAAqB,EAAE,GAAW;QAC1C,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,eAAe,EAAC,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,KAAoB,EAAE,GAAW,EAAE,SAAiB;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAdD,4CAcC"}
@@ -0,0 +1,21 @@
1
+ import { BinanceAccountResponse, BinanceParams, BinanceResponse } from "./BinanceTypes";
2
+ export interface BinanceConfig {
3
+ baseUrl: string;
4
+ secretKey: string;
5
+ privateKey: string;
6
+ }
7
+ export declare class BinanceConnection {
8
+ protected config: BinanceConfig;
9
+ private apiSigner;
10
+ private sapiSigner;
11
+ constructor(config: BinanceConfig);
12
+ getAccount(params: {
13
+ omitZeroBalances?: boolean;
14
+ recvWindow?: number;
15
+ }): Promise<BinanceAccountResponse>;
16
+ private parseBalances;
17
+ protected sendGetRequest(endpoint: string, params: BinanceParams): Promise<BinanceResponse>;
18
+ protected sendPostRequest(endpoint: string, params: BinanceParams): Promise<BinanceResponse>;
19
+ protected sendDeleteRequest(endpoint: string, params: BinanceParams): Promise<BinanceResponse>;
20
+ protected sendSapiPostRequest(endpoint: string, params: BinanceParams): Promise<BinanceResponse>;
21
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinanceConnection = void 0;
4
+ const BinanceApiSigner_1 = require("./BinanceApiSigner");
5
+ const BinanceSapiSigner_1 = require("./BinanceSapiSigner");
6
+ const itrm_tools_1 = require("itrm-tools");
7
+ ;
8
+ class BinanceConnection {
9
+ config;
10
+ apiSigner = new BinanceApiSigner_1.BinanceApiSigner();
11
+ sapiSigner = new BinanceSapiSigner_1.BinanceSapiSignerBinanceApiSigner();
12
+ constructor(config) {
13
+ this.config = config;
14
+ }
15
+ async getAccount(params) {
16
+ let response = await this.sendGetRequest('/api/v3/account', params);
17
+ return {
18
+ makerCommission: response.makerCommission,
19
+ takerCommission: response.takerCommission,
20
+ buyerCommission: response.buyerCommission,
21
+ sellerCommission: response.sellerCommission,
22
+ commissionRates: {
23
+ maker: parseFloat(response.commissionRates.maker),
24
+ taker: parseFloat(response.commissionRates.taker),
25
+ buyer: parseFloat(response.commissionRates.buyer),
26
+ seller: parseFloat(response.commissionRates.seller)
27
+ },
28
+ canTrade: response.canTrade,
29
+ canWithdraw: response.canWithdraw,
30
+ canDeposit: response.canDeposit,
31
+ brokered: response.brokered,
32
+ requireSelfTradePrevention: response.requireSelfTradePrevention,
33
+ preventSor: response.preventSor,
34
+ updateTime: response.updateTime,
35
+ accountType: response.accountType,
36
+ balances: this.parseBalances(response.balances),
37
+ permissions: response.permissions,
38
+ uid: response.uid
39
+ };
40
+ }
41
+ parseBalances(balances) {
42
+ let result = [];
43
+ for (let balance of balances)
44
+ result.push({
45
+ asset: balance.asset,
46
+ free: parseFloat(balance.free),
47
+ locked: parseFloat(balance.locked)
48
+ });
49
+ return result;
50
+ }
51
+ async sendGetRequest(endpoint, params) {
52
+ params.timestamp = Date.now();
53
+ const queryString = new URLSearchParams(params).toString();
54
+ const url = `${this.config.baseUrl}${endpoint}?${queryString}&signature=${this.apiSigner.sign(params, this.config.privateKey)}`;
55
+ return await itrm_tools_1.RequestAxiosCall.get(url, { headers: { "X-MBX-APIKEY": this.config.secretKey } });
56
+ }
57
+ async sendPostRequest(endpoint, params) {
58
+ params.timestamp = Date.now();
59
+ const queryString = new URLSearchParams(params).toString();
60
+ const requestBody = `${queryString}&signature=${this.apiSigner.sign(params, this.config.privateKey)}`;
61
+ return await itrm_tools_1.RequestAxiosCall.post(`${this.config.baseUrl}${endpoint}`, requestBody, { headers: { "X-MBX-APIKEY": this.config.secretKey } });
62
+ }
63
+ async sendDeleteRequest(endpoint, params) {
64
+ params.timestamp = Date.now();
65
+ const queryString = new URLSearchParams(params).toString();
66
+ const url = `${this.config.baseUrl}${endpoint}?${queryString}&signature=${this.apiSigner.sign(params, this.config.privateKey)}`;
67
+ return await itrm_tools_1.RequestAxiosCall.delete(url, { headers: { "X-MBX-APIKEY": this.config.secretKey } });
68
+ }
69
+ async sendSapiPostRequest(endpoint, params) {
70
+ params.timestamp = Date.now();
71
+ const queryString = new URLSearchParams(params).toString().replace(/\%40/g, '@');
72
+ const requestBody = `${queryString}&signature=${this.apiSigner.sign(params, this.config.privateKey)}`;
73
+ return await itrm_tools_1.RequestAxiosCall.post(`${this.config.baseUrl}${endpoint}`, requestBody, { headers: { "X-MBX-APIKEY": this.config.secretKey } });
74
+ }
75
+ }
76
+ exports.BinanceConnection = BinanceConnection;
77
+ //# sourceMappingURL=BinanceConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinanceConnection.js","sourceRoot":"","sources":["../../src/binance/BinanceConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BinanceParams } from "./BinanceTypes";
2
+ import { Signer } from "../Signer";
3
+ export declare class BinanceSapiSignerBinanceApiSigner implements Signer<BinanceParams, string, string> {
4
+ sign(params: BinanceParams, key: string): string;
5
+ verify(input: BinanceParams, key: string, signature: string): boolean;
6
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinanceSapiSignerBinanceApiSigner = void 0;
4
+ const crypto_js_1 = require("crypto-js");
5
+ class BinanceSapiSignerBinanceApiSigner {
6
+ sign(params, key) {
7
+ const queryString = new URLSearchParams(params).toString();
8
+ const signature = (0, crypto_js_1.HmacSHA256)(queryString, key).toString(crypto_js_1.enc.Hex);
9
+ /*const signer = new KJUR.crypto.Signature({"alg": "SHA256withRSA"});
10
+ signer.init(key);
11
+ signer.updateString(queryString);
12
+ const signatureHex = signer.sign();
13
+ const signature = hextob64(signatureHex);*/
14
+ console.log(">>> signature:", signature);
15
+ return encodeURIComponent(signature);
16
+ }
17
+ verify(input, key, signature) {
18
+ return true;
19
+ }
20
+ }
21
+ exports.BinanceSapiSignerBinanceApiSigner = BinanceSapiSignerBinanceApiSigner;
22
+ //# sourceMappingURL=BinanceSapiSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinanceSapiSigner.js","sourceRoot":"","sources":["../../src/binance/BinanceSapiSigner.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAG5C,MAAa,iCAAiC;IACnC,IAAI,CAAC,MAAqB,EAAE,GAAW;QAC1C,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,IAAA,sBAAU,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAG,CAAC,GAAG,CAAC,CAAC;QACjE;;;;mDAI2C;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,KAAoB,EAAE,GAAW,EAAE,SAAiB;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAhBD,8EAgBC"}
@@ -0,0 +1,159 @@
1
+ export interface BinanceParams {
2
+ quoteId?: string;
3
+ rfqId?: string;
4
+ baseAsset?: string;
5
+ quoteAsset?: string;
6
+ quantity?: number;
7
+ price?: number;
8
+ settleTime?: number;
9
+ omitZeroBalances?: boolean;
10
+ recvWindow?: number;
11
+ timestamp?: number;
12
+ symbol?: string;
13
+ side?: BinanceOrderSide;
14
+ type?: BinanceOrderType;
15
+ timeInForce?: BinanceTimeInForce;
16
+ quoteOrderQty?: number;
17
+ orderId?: number;
18
+ origClientOrderId?: string;
19
+ newClientOrderId?: string;
20
+ cancelRestrictions?: BinanceCancelRestrictions;
21
+ toEmail?: string;
22
+ asset?: string;
23
+ amount?: number;
24
+ }
25
+ export interface BinanceResponse {
26
+ makerCommission?: number;
27
+ takerCommission?: number;
28
+ buyerCommission?: number;
29
+ sellerCommission?: number;
30
+ commissionRates?: {
31
+ maker: string;
32
+ taker: string;
33
+ buyer: string;
34
+ seller: string;
35
+ };
36
+ canTrade?: boolean;
37
+ canWithdraw?: boolean;
38
+ canDeposit?: boolean;
39
+ brokered?: boolean;
40
+ requireSelfTradePrevention?: boolean;
41
+ preventSor?: boolean;
42
+ updateTime?: number;
43
+ accountType?: string;
44
+ balances?: {
45
+ asset: string;
46
+ free: string;
47
+ locked: string;
48
+ }[];
49
+ permissions?: string[];
50
+ uid?: number;
51
+ symbol?: string;
52
+ orderId?: number;
53
+ orderListId?: number;
54
+ clientOrderId?: string;
55
+ transactTime?: number;
56
+ price?: string;
57
+ origQty?: string;
58
+ executedQty?: string;
59
+ origQuoteOrderQty?: string;
60
+ cummulativeQuoteQty?: string;
61
+ status?: BinanceOrderStatus;
62
+ timeInForce?: BinanceTimeInForce;
63
+ type?: BinanceOrderType;
64
+ side?: BinanceOrderSide;
65
+ workingTime?: number;
66
+ fills?: {
67
+ qty: string;
68
+ price: string;
69
+ tradeId: number;
70
+ commission: string;
71
+ commissionAsset: string;
72
+ }[];
73
+ selfTradePreventionMode?: string;
74
+ }
75
+ export interface BinanceAccountResponse {
76
+ makerCommission: number;
77
+ takerCommission: number;
78
+ buyerCommission: number;
79
+ sellerCommission: number;
80
+ commissionRates: {
81
+ maker: number;
82
+ taker: number;
83
+ buyer: number;
84
+ seller: number;
85
+ };
86
+ canTrade: boolean;
87
+ canWithdraw: boolean;
88
+ canDeposit: boolean;
89
+ brokered: boolean;
90
+ requireSelfTradePrevention: boolean;
91
+ preventSor: boolean;
92
+ updateTime: number;
93
+ accountType: string;
94
+ balances: {
95
+ asset: string;
96
+ free: number;
97
+ locked: number;
98
+ }[];
99
+ permissions: string[];
100
+ uid: number;
101
+ }
102
+ export interface BinanceOrder {
103
+ symbol: string;
104
+ orderId: number;
105
+ orderListId: number;
106
+ clientOrderId: string;
107
+ transactTime: number;
108
+ price: number;
109
+ origQty: number;
110
+ executedQty: number;
111
+ origQuoteOrderQty: number;
112
+ cummulativeQuoteQty: number;
113
+ status: BinanceOrderStatus;
114
+ timeInForce: BinanceTimeInForce;
115
+ type: BinanceOrderType;
116
+ side: BinanceOrderSide;
117
+ workingTime: number;
118
+ fills: {
119
+ qty: number;
120
+ price: number;
121
+ tradeId: number;
122
+ commission: number;
123
+ commissionAsset: string;
124
+ }[];
125
+ selfTradePreventionMode: string;
126
+ }
127
+ export declare enum BinanceSymbolStatus {
128
+ TRADING = "TRADING",
129
+ BREAK = "BREAK",
130
+ HALT = "HALT"
131
+ }
132
+ export declare enum BinanceOrderSide {
133
+ BUY = "BUY",
134
+ SELL = "SELL"
135
+ }
136
+ export declare enum BinanceOrderType {
137
+ LIMIT = "LIMIT",
138
+ MARKET = "MARKET",
139
+ STOP_LOSS = "STOP_LOSS",
140
+ STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT",
141
+ TAKE_PROFIT = "TAKE_PROFIT",
142
+ TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT",
143
+ LIMIT_MAKER = "LIMIT_MAKER"
144
+ }
145
+ export declare enum BinanceTimeInForce {
146
+ GOOD_TILL_CANCELED = "GTC",
147
+ INMEDIATE_OR_CANCEL = "IOC",
148
+ FILL_OR_KILL = "FOK"
149
+ }
150
+ export declare enum BinanceOrderStatus {
151
+ NEW = "NEW",
152
+ FILLED = "FILLED",
153
+ CANCELED = "CANCELED",
154
+ PARTIALLY_FILLED = "PARTIALLY_FILLED"
155
+ }
156
+ export declare enum BinanceCancelRestrictions {
157
+ ONLY_NEW = "ONLY_NEW",
158
+ ONLY_PARTIALLY_FILLED = "ONLY_PARTIALLY_FILLED"
159
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinanceCancelRestrictions = exports.BinanceOrderStatus = exports.BinanceTimeInForce = exports.BinanceOrderType = exports.BinanceOrderSide = exports.BinanceSymbolStatus = void 0;
4
+ ;
5
+ var BinanceSymbolStatus;
6
+ (function (BinanceSymbolStatus) {
7
+ BinanceSymbolStatus["TRADING"] = "TRADING";
8
+ BinanceSymbolStatus["BREAK"] = "BREAK";
9
+ BinanceSymbolStatus["HALT"] = "HALT";
10
+ })(BinanceSymbolStatus || (exports.BinanceSymbolStatus = BinanceSymbolStatus = {}));
11
+ var BinanceOrderSide;
12
+ (function (BinanceOrderSide) {
13
+ BinanceOrderSide["BUY"] = "BUY";
14
+ BinanceOrderSide["SELL"] = "SELL";
15
+ })(BinanceOrderSide || (exports.BinanceOrderSide = BinanceOrderSide = {}));
16
+ var BinanceOrderType;
17
+ (function (BinanceOrderType) {
18
+ BinanceOrderType["LIMIT"] = "LIMIT";
19
+ BinanceOrderType["MARKET"] = "MARKET";
20
+ BinanceOrderType["STOP_LOSS"] = "STOP_LOSS";
21
+ BinanceOrderType["STOP_LOSS_LIMIT"] = "STOP_LOSS_LIMIT";
22
+ BinanceOrderType["TAKE_PROFIT"] = "TAKE_PROFIT";
23
+ BinanceOrderType["TAKE_PROFIT_LIMIT"] = "TAKE_PROFIT_LIMIT";
24
+ BinanceOrderType["LIMIT_MAKER"] = "LIMIT_MAKER";
25
+ })(BinanceOrderType || (exports.BinanceOrderType = BinanceOrderType = {}));
26
+ var BinanceTimeInForce;
27
+ (function (BinanceTimeInForce) {
28
+ BinanceTimeInForce["GOOD_TILL_CANCELED"] = "GTC";
29
+ BinanceTimeInForce["INMEDIATE_OR_CANCEL"] = "IOC";
30
+ BinanceTimeInForce["FILL_OR_KILL"] = "FOK";
31
+ })(BinanceTimeInForce || (exports.BinanceTimeInForce = BinanceTimeInForce = {}));
32
+ var BinanceOrderStatus;
33
+ (function (BinanceOrderStatus) {
34
+ BinanceOrderStatus["NEW"] = "NEW";
35
+ BinanceOrderStatus["FILLED"] = "FILLED";
36
+ BinanceOrderStatus["CANCELED"] = "CANCELED";
37
+ BinanceOrderStatus["PARTIALLY_FILLED"] = "PARTIALLY_FILLED";
38
+ })(BinanceOrderStatus || (exports.BinanceOrderStatus = BinanceOrderStatus = {}));
39
+ var BinanceCancelRestrictions;
40
+ (function (BinanceCancelRestrictions) {
41
+ BinanceCancelRestrictions["ONLY_NEW"] = "ONLY_NEW";
42
+ BinanceCancelRestrictions["ONLY_PARTIALLY_FILLED"] = "ONLY_PARTIALLY_FILLED";
43
+ })(BinanceCancelRestrictions || (exports.BinanceCancelRestrictions = BinanceCancelRestrictions = {}));
44
+ //# sourceMappingURL=BinanceTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinanceTypes.js","sourceRoot":"","sources":["../../src/binance/BinanceTypes.ts"],"names":[],"mappings":";;;AAuBC,CAAC;AA2GF,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,oCAAa,CAAA;AACjB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,+BAAW,CAAA;IACX,iCAAa,CAAA;AACjB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,IAAY,gBAQX;AARD,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,2CAAuB,CAAA;IACvB,uDAAmC,CAAA;IACnC,+CAA2B,CAAA;IAC3B,2DAAuC,CAAA;IACvC,+CAA2B,CAAA;AAC/B,CAAC,EARW,gBAAgB,gCAAhB,gBAAgB,QAQ3B;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,gDAA0B,CAAA;IAC1B,iDAA2B,CAAA;IAC3B,0CAAoB,CAAA;AACxB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAED,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,2DAAqC,CAAA;AACzC,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B;AAED,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACjC,kDAAqB,CAAA;IACrB,4EAA+C,CAAA;AACnD,CAAC,EAHW,yBAAyB,yCAAzB,yBAAyB,QAGpC"}
@@ -0,0 +1,121 @@
1
+ import { BinanceConfig, BinanceConnection } from "../BinanceConnection";
2
+ import { BinanceCancelRestrictions, BinanceOrder, BinanceOrderSide, BinanceOrderType, BinanceResponse, BinanceTimeInForce } from "../BinanceTypes";
3
+ export interface BinanceBookTicker {
4
+ symbol: string;
5
+ bidPrice: number;
6
+ bidQty: number;
7
+ askPrice: number;
8
+ askQty: number;
9
+ }
10
+ export declare class BinanceOperationConnection extends BinanceConnection {
11
+ constructor(config: BinanceConfig);
12
+ getBookTicker(symbols: string[]): Promise<BinanceBookTicker[]>;
13
+ createOrder(params: {
14
+ symbol: string;
15
+ side: BinanceOrderSide;
16
+ type: BinanceOrderType;
17
+ timeInForce: BinanceTimeInForce;
18
+ quantity?: number;
19
+ quoteOrderQty?: number;
20
+ price?: number;
21
+ recvWindow?: number;
22
+ }): Promise<BinanceOrder>;
23
+ private parseOrder;
24
+ private parseOrderFills;
25
+ cancelOrder(params: {
26
+ symbol: string;
27
+ orderId?: number;
28
+ origClientOrderId?: string;
29
+ newClientOrderId?: string;
30
+ cancelRestrictions?: BinanceCancelRestrictions;
31
+ recvWindow?: number;
32
+ }): Promise<{
33
+ symbol: string;
34
+ orderId: number;
35
+ orderListId: number;
36
+ clientOrderId: string;
37
+ transactTime: number;
38
+ price: number;
39
+ origQty: number;
40
+ executedQty: number;
41
+ origQuoteOrderQty: number;
42
+ cummulativeQuoteQty: number;
43
+ status: import("../BinanceTypes").BinanceOrderStatus;
44
+ timeInForce: BinanceTimeInForce;
45
+ type: BinanceOrderType;
46
+ side: BinanceOrderSide;
47
+ workingTime: number;
48
+ fills: {
49
+ qty: number;
50
+ price: number;
51
+ tradeId: number;
52
+ commission: number;
53
+ commissionAsset: string;
54
+ }[];
55
+ selfTradePreventionMode: string;
56
+ }>;
57
+ getOrder(params: {
58
+ symbol: string;
59
+ orderId?: number;
60
+ origClientOrderId?: string;
61
+ recvWindow?: number;
62
+ }): Promise<{
63
+ symbol: string;
64
+ orderId: number;
65
+ orderListId: number;
66
+ clientOrderId: string;
67
+ transactTime: number;
68
+ price: number;
69
+ origQty: number;
70
+ executedQty: number;
71
+ origQuoteOrderQty: number;
72
+ cummulativeQuoteQty: number;
73
+ status: import("../BinanceTypes").BinanceOrderStatus;
74
+ timeInForce: BinanceTimeInForce;
75
+ type: BinanceOrderType;
76
+ side: BinanceOrderSide;
77
+ workingTime: number;
78
+ fills: {
79
+ qty: number;
80
+ price: number;
81
+ tradeId: number;
82
+ commission: number;
83
+ commissionAsset: string;
84
+ }[];
85
+ selfTradePreventionMode: string;
86
+ }>;
87
+ getOpenOrders(params: {
88
+ symbol?: string;
89
+ recvWindow?: number;
90
+ }): Promise<{
91
+ symbol: string;
92
+ orderId: number;
93
+ orderListId: number;
94
+ clientOrderId: string;
95
+ transactTime: number;
96
+ price: number;
97
+ origQty: number;
98
+ executedQty: number;
99
+ origQuoteOrderQty: number;
100
+ cummulativeQuoteQty: number;
101
+ status: import("../BinanceTypes").BinanceOrderStatus;
102
+ timeInForce: BinanceTimeInForce;
103
+ type: BinanceOrderType;
104
+ side: BinanceOrderSide;
105
+ workingTime: number;
106
+ fills: {
107
+ qty: number;
108
+ price: number;
109
+ tradeId: number;
110
+ commission: number;
111
+ commissionAsset: string;
112
+ }[];
113
+ selfTradePreventionMode: string;
114
+ }[]>;
115
+ transferToSubaccountOfSameMaster(params: {
116
+ toEmail: string;
117
+ asset: string;
118
+ amount: number;
119
+ recvWindow?: number;
120
+ }): Promise<BinanceResponse>;
121
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinanceOperationConnection = void 0;
4
+ const itrm_tools_1 = require("itrm-tools");
5
+ const BinanceConnection_1 = require("../BinanceConnection");
6
+ class BinanceOperationConnection extends BinanceConnection_1.BinanceConnection {
7
+ constructor(config) {
8
+ super(config);
9
+ }
10
+ async getBookTicker(symbols) {
11
+ const url = `${this.config.baseUrl}/api/v3/ticker/bookTicker?symbols=${JSON.stringify(symbols)}`;
12
+ let response = await itrm_tools_1.RequestAxiosCall.get(url);
13
+ let result = [];
14
+ for (let value of response)
15
+ result.push({
16
+ symbol: value.symbol,
17
+ askPrice: parseFloat(value.askPrice),
18
+ askQty: parseFloat(value.askQty),
19
+ bidPrice: parseFloat(value.bidPrice),
20
+ bidQty: parseFloat(value.bidQty)
21
+ });
22
+ return result;
23
+ }
24
+ async createOrder(params) {
25
+ let response = await this.sendPostRequest('/api/v3/order', params);
26
+ return this.parseOrder(response);
27
+ }
28
+ parseOrder(response) {
29
+ return {
30
+ symbol: response.symbol,
31
+ orderId: response.orderId,
32
+ orderListId: response.orderListId,
33
+ clientOrderId: response.clientOrderId,
34
+ transactTime: response.transactTime,
35
+ price: parseFloat(response.price),
36
+ origQty: parseFloat(response.origQty),
37
+ executedQty: parseFloat(response.executedQty),
38
+ origQuoteOrderQty: parseFloat(response.origQuoteOrderQty),
39
+ cummulativeQuoteQty: parseFloat(response.cummulativeQuoteQty),
40
+ status: response.status,
41
+ timeInForce: response.timeInForce,
42
+ type: response.type,
43
+ side: response.side,
44
+ workingTime: response.workingTime,
45
+ fills: response.fills ? this.parseOrderFills(response.fills) : [],
46
+ selfTradePreventionMode: response.selfTradePreventionMode
47
+ };
48
+ }
49
+ parseOrderFills(fills) {
50
+ let result = [];
51
+ for (let fill of fills)
52
+ result.push({
53
+ qty: parseFloat(fill.qty),
54
+ price: parseFloat(fill.price),
55
+ tradeId: fill.tradeId,
56
+ commission: parseFloat(fill.commission),
57
+ commissionAsset: fill.commissionAsset
58
+ });
59
+ return result;
60
+ }
61
+ async cancelOrder(params) {
62
+ let response = await this.sendDeleteRequest('/api/v3/order', params);
63
+ return this.parseOrder(response);
64
+ }
65
+ async getOrder(params) {
66
+ let response = await this.sendGetRequest('/api/v3/order', params);
67
+ return this.parseOrder(response);
68
+ }
69
+ async getOpenOrders(params) {
70
+ let response = await this.sendGetRequest('/api/v3/openOrders', params);
71
+ let result = [];
72
+ for (let order of response)
73
+ result.push(this.parseOrder(order));
74
+ return result;
75
+ }
76
+ async transferToSubaccountOfSameMaster(params) {
77
+ //const signature = CryptoJS.HmacSHA256(queryString, SUB_ACCOUNT_SECRET).toString();
78
+ let response = (await this.sendSapiPostRequest('/sapi/v1/sub-account/transfer/subToSub', params));
79
+ return response;
80
+ }
81
+ }
82
+ exports.BinanceOperationConnection = BinanceOperationConnection;
83
+ //# sourceMappingURL=BinanceOperationConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinanceOperationConnection.js","sourceRoot":"","sources":["../../../src/binance/connection/BinanceOperationConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class BinanceRfqConnection {
2
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BinanceRfqConnection = void 0;
4
+ class BinanceRfqConnection {
5
+ }
6
+ exports.BinanceRfqConnection = BinanceRfqConnection;
7
+ //# sourceMappingURL=BinanceRfqConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinanceRfqConnection.js","sourceRoot":"","sources":["../../../src/binance/connection/BinanceRfqConnection.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;CAAG;AAApC,oDAAoC"}