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.
- package/README.md +2 -0
- package/__mocks__/jose.js +17 -0
- package/dist/Signer.d.ts +4 -0
- package/dist/Signer.js +3 -0
- package/dist/Signer.js.map +1 -0
- package/dist/binance/BinanceApiSigner.d.ts +6 -0
- package/dist/binance/BinanceApiSigner.js +20 -0
- package/dist/binance/BinanceApiSigner.js.map +1 -0
- package/dist/binance/BinanceConnection.d.ts +21 -0
- package/dist/binance/BinanceConnection.js +77 -0
- package/dist/binance/BinanceConnection.js.map +1 -0
- package/dist/binance/BinanceSapiSigner.d.ts +6 -0
- package/dist/binance/BinanceSapiSigner.js +22 -0
- package/dist/binance/BinanceSapiSigner.js.map +1 -0
- package/dist/binance/BinanceTypes.d.ts +159 -0
- package/dist/binance/BinanceTypes.js +44 -0
- package/dist/binance/BinanceTypes.js.map +1 -0
- package/dist/binance/connection/BinanceOperationConnection.d.ts +121 -0
- package/dist/binance/connection/BinanceOperationConnection.js +83 -0
- package/dist/binance/connection/BinanceOperationConnection.js.map +1 -0
- package/dist/binance/connection/BinanceRfqConnection.d.ts +2 -0
- package/dist/binance/connection/BinanceRfqConnection.js +7 -0
- package/dist/binance/connection/BinanceRfqConnection.js.map +1 -0
- package/dist/cetus/CetusStrategyApiConnection.d.ts +25 -0
- package/dist/cetus/CetusStrategyApiConnection.js +22 -0
- package/dist/cetus/CetusStrategyApiConnection.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/jest.config.js +19 -0
- package/package.json +44 -0
- package/src/Signer.ts +4 -0
- package/src/binance/BinanceApiSigner.ts +20 -0
- package/src/binance/BinanceConnection.ts +86 -0
- package/src/binance/BinanceSapiSigner.ts +21 -0
- package/src/binance/BinanceTypes.ts +168 -0
- package/src/binance/connection/BinanceOperationConnection.ts +122 -0
- package/src/binance/connection/BinanceRfqConnection.ts +1 -0
- package/src/cetus/CetusStrategyApiConnection.ts +30 -0
- package/src/index.ts +6 -0
- package/test/binance/BinanceOperationConnection.test.ts +73 -0
- package/test/binance/BinanceSigner.test.ts +45 -0
- package/test/cetus/CetusStrategyApiConnection.test.ts +27 -0
- package/tsconfig.json +23 -0
package/README.md
ADDED
|
@@ -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
|
+
};
|
package/dist/Signer.d.ts
ADDED
package/dist/Signer.js
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"BinanceRfqConnection.js","sourceRoot":"","sources":["../../../src/binance/connection/BinanceRfqConnection.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;CAAG;AAApC,oDAAoC"}
|