shoonya-sdk 0.4.4 → 0.4.5
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/shoonya-sdk.d.mts +25 -13
- package/dist/shoonya-sdk.d.ts +25 -13
- package/dist/shoonya-sdk.js +27 -8
- package/dist/shoonya-sdk.mjs +27 -8
- package/package.json +1 -1
package/dist/shoonya-sdk.d.mts
CHANGED
|
@@ -14,13 +14,15 @@ interface UserCred {
|
|
|
14
14
|
imei?: string;
|
|
15
15
|
vendorCode?: string;
|
|
16
16
|
}
|
|
17
|
+
type Exchange = "NSE" | "NFO" | "CDS" | "MCX" | "BSE";
|
|
18
|
+
type ProductType = "C" | "M" | "I" | "B" | "H";
|
|
17
19
|
interface OrderInput {
|
|
18
20
|
uid?: string;
|
|
19
21
|
/**
|
|
20
22
|
* Same as userId
|
|
21
23
|
*/
|
|
22
24
|
actid?: string;
|
|
23
|
-
exch:
|
|
25
|
+
exch: Exchange;
|
|
24
26
|
/**
|
|
25
27
|
* Unique id of contract on which order to be placed.
|
|
26
28
|
*
|
|
@@ -56,7 +58,7 @@ interface OrderInput {
|
|
|
56
58
|
* `H` : Cover Order
|
|
57
59
|
* ```
|
|
58
60
|
*/
|
|
59
|
-
prd:
|
|
61
|
+
prd: ProductType;
|
|
60
62
|
/**
|
|
61
63
|
* Transaction Type
|
|
62
64
|
* ```
|
|
@@ -85,7 +87,7 @@ interface BaseResponse<T> {
|
|
|
85
87
|
emsg?: string;
|
|
86
88
|
}
|
|
87
89
|
interface SearchScripValues {
|
|
88
|
-
exch:
|
|
90
|
+
exch: Exchange;
|
|
89
91
|
tsym: string;
|
|
90
92
|
token: string;
|
|
91
93
|
pp: string;
|
|
@@ -108,14 +110,17 @@ interface OptionChainValue extends SearchScripValues {
|
|
|
108
110
|
interface OptionChainResponse extends BaseResponse<OptionChainValue> {
|
|
109
111
|
}
|
|
110
112
|
type PlaceOrder = {
|
|
111
|
-
stat: "Ok"
|
|
112
|
-
request_time
|
|
113
|
-
norenordno
|
|
114
|
-
|
|
113
|
+
stat: "Ok";
|
|
114
|
+
request_time: string;
|
|
115
|
+
norenordno: string;
|
|
116
|
+
} | {
|
|
117
|
+
stat: "Not_Ok";
|
|
118
|
+
request_time: string;
|
|
119
|
+
emsg: string;
|
|
115
120
|
};
|
|
116
121
|
interface OrderBookSuccess {
|
|
117
122
|
stat: "Ok";
|
|
118
|
-
exch:
|
|
123
|
+
exch: Exchange;
|
|
119
124
|
/**
|
|
120
125
|
* Trading Symbol
|
|
121
126
|
*/
|
|
@@ -176,9 +181,9 @@ interface GetLimitsParam {
|
|
|
176
181
|
* `H` : Cover Order
|
|
177
182
|
* ```
|
|
178
183
|
*/
|
|
179
|
-
prd?:
|
|
184
|
+
prd?: ProductType;
|
|
180
185
|
seg?: "CM" | "FX" | "FO";
|
|
181
|
-
exch?:
|
|
186
|
+
exch?: Exchange;
|
|
182
187
|
}
|
|
183
188
|
interface GetLimitsResponseFail {
|
|
184
189
|
stat: "Not_Ok";
|
|
@@ -206,7 +211,7 @@ interface GetLimitsResponseSuccess {
|
|
|
206
211
|
interface GetSecurityInfoSuccess {
|
|
207
212
|
request_time: string;
|
|
208
213
|
stat: "Ok";
|
|
209
|
-
exch:
|
|
214
|
+
exch: Exchange;
|
|
210
215
|
tsym: string;
|
|
211
216
|
cname: string;
|
|
212
217
|
symname: string;
|
|
@@ -265,6 +270,8 @@ declare const paths: {
|
|
|
265
270
|
readonly orderBook: "OrderBook";
|
|
266
271
|
readonly holding: "Holdings";
|
|
267
272
|
readonly limits: "Limits";
|
|
273
|
+
readonly singleOrderStatus: "SingleOrdStatus";
|
|
274
|
+
readonly singleOrderHistory: "SingleOrdHist";
|
|
268
275
|
};
|
|
269
276
|
type Path = keyof typeof paths;
|
|
270
277
|
|
|
@@ -393,7 +400,7 @@ declare class Shoonya extends EventEmitter {
|
|
|
393
400
|
midPrice: string;
|
|
394
401
|
count: string;
|
|
395
402
|
}): Promise<OptionChainResponse>;
|
|
396
|
-
orderBook(prd:
|
|
403
|
+
orderBook(prd: ProductType): Promise<OrderBook>;
|
|
397
404
|
/**
|
|
398
405
|
* Its a custom method which will return token number of option
|
|
399
406
|
* it can be used to start websocket connection to that tokenƒ
|
|
@@ -435,7 +442,7 @@ declare class Shoonya extends EventEmitter {
|
|
|
435
442
|
* `H` : Cover Order
|
|
436
443
|
* ```
|
|
437
444
|
*/
|
|
438
|
-
getAccountHolding(
|
|
445
|
+
getAccountHolding(productType: ProductType): Promise<any>;
|
|
439
446
|
getAccountLimits(params?: GetLimitsParam): Promise<GetLimitsResponseSuccess | GetLimitsResponseFail>;
|
|
440
447
|
getLastWSMessage(): Date;
|
|
441
448
|
getWSState(): {
|
|
@@ -445,6 +452,11 @@ declare class Shoonya extends EventEmitter {
|
|
|
445
452
|
CONNECTING: boolean;
|
|
446
453
|
};
|
|
447
454
|
getSubscribedTokens(): string[];
|
|
455
|
+
getSingleOrderStatus(params: {
|
|
456
|
+
orderId: number;
|
|
457
|
+
exchange: Exchange;
|
|
458
|
+
}): Promise<OrderBook>;
|
|
459
|
+
getSingleOrderHistory(orderId: number): Promise<OrderBook>;
|
|
448
460
|
connectWS(): void;
|
|
449
461
|
/**
|
|
450
462
|
*
|
package/dist/shoonya-sdk.d.ts
CHANGED
|
@@ -14,13 +14,15 @@ interface UserCred {
|
|
|
14
14
|
imei?: string;
|
|
15
15
|
vendorCode?: string;
|
|
16
16
|
}
|
|
17
|
+
type Exchange = "NSE" | "NFO" | "CDS" | "MCX" | "BSE";
|
|
18
|
+
type ProductType = "C" | "M" | "I" | "B" | "H";
|
|
17
19
|
interface OrderInput {
|
|
18
20
|
uid?: string;
|
|
19
21
|
/**
|
|
20
22
|
* Same as userId
|
|
21
23
|
*/
|
|
22
24
|
actid?: string;
|
|
23
|
-
exch:
|
|
25
|
+
exch: Exchange;
|
|
24
26
|
/**
|
|
25
27
|
* Unique id of contract on which order to be placed.
|
|
26
28
|
*
|
|
@@ -56,7 +58,7 @@ interface OrderInput {
|
|
|
56
58
|
* `H` : Cover Order
|
|
57
59
|
* ```
|
|
58
60
|
*/
|
|
59
|
-
prd:
|
|
61
|
+
prd: ProductType;
|
|
60
62
|
/**
|
|
61
63
|
* Transaction Type
|
|
62
64
|
* ```
|
|
@@ -85,7 +87,7 @@ interface BaseResponse<T> {
|
|
|
85
87
|
emsg?: string;
|
|
86
88
|
}
|
|
87
89
|
interface SearchScripValues {
|
|
88
|
-
exch:
|
|
90
|
+
exch: Exchange;
|
|
89
91
|
tsym: string;
|
|
90
92
|
token: string;
|
|
91
93
|
pp: string;
|
|
@@ -108,14 +110,17 @@ interface OptionChainValue extends SearchScripValues {
|
|
|
108
110
|
interface OptionChainResponse extends BaseResponse<OptionChainValue> {
|
|
109
111
|
}
|
|
110
112
|
type PlaceOrder = {
|
|
111
|
-
stat: "Ok"
|
|
112
|
-
request_time
|
|
113
|
-
norenordno
|
|
114
|
-
|
|
113
|
+
stat: "Ok";
|
|
114
|
+
request_time: string;
|
|
115
|
+
norenordno: string;
|
|
116
|
+
} | {
|
|
117
|
+
stat: "Not_Ok";
|
|
118
|
+
request_time: string;
|
|
119
|
+
emsg: string;
|
|
115
120
|
};
|
|
116
121
|
interface OrderBookSuccess {
|
|
117
122
|
stat: "Ok";
|
|
118
|
-
exch:
|
|
123
|
+
exch: Exchange;
|
|
119
124
|
/**
|
|
120
125
|
* Trading Symbol
|
|
121
126
|
*/
|
|
@@ -176,9 +181,9 @@ interface GetLimitsParam {
|
|
|
176
181
|
* `H` : Cover Order
|
|
177
182
|
* ```
|
|
178
183
|
*/
|
|
179
|
-
prd?:
|
|
184
|
+
prd?: ProductType;
|
|
180
185
|
seg?: "CM" | "FX" | "FO";
|
|
181
|
-
exch?:
|
|
186
|
+
exch?: Exchange;
|
|
182
187
|
}
|
|
183
188
|
interface GetLimitsResponseFail {
|
|
184
189
|
stat: "Not_Ok";
|
|
@@ -206,7 +211,7 @@ interface GetLimitsResponseSuccess {
|
|
|
206
211
|
interface GetSecurityInfoSuccess {
|
|
207
212
|
request_time: string;
|
|
208
213
|
stat: "Ok";
|
|
209
|
-
exch:
|
|
214
|
+
exch: Exchange;
|
|
210
215
|
tsym: string;
|
|
211
216
|
cname: string;
|
|
212
217
|
symname: string;
|
|
@@ -265,6 +270,8 @@ declare const paths: {
|
|
|
265
270
|
readonly orderBook: "OrderBook";
|
|
266
271
|
readonly holding: "Holdings";
|
|
267
272
|
readonly limits: "Limits";
|
|
273
|
+
readonly singleOrderStatus: "SingleOrdStatus";
|
|
274
|
+
readonly singleOrderHistory: "SingleOrdHist";
|
|
268
275
|
};
|
|
269
276
|
type Path = keyof typeof paths;
|
|
270
277
|
|
|
@@ -393,7 +400,7 @@ declare class Shoonya extends EventEmitter {
|
|
|
393
400
|
midPrice: string;
|
|
394
401
|
count: string;
|
|
395
402
|
}): Promise<OptionChainResponse>;
|
|
396
|
-
orderBook(prd:
|
|
403
|
+
orderBook(prd: ProductType): Promise<OrderBook>;
|
|
397
404
|
/**
|
|
398
405
|
* Its a custom method which will return token number of option
|
|
399
406
|
* it can be used to start websocket connection to that tokenƒ
|
|
@@ -435,7 +442,7 @@ declare class Shoonya extends EventEmitter {
|
|
|
435
442
|
* `H` : Cover Order
|
|
436
443
|
* ```
|
|
437
444
|
*/
|
|
438
|
-
getAccountHolding(
|
|
445
|
+
getAccountHolding(productType: ProductType): Promise<any>;
|
|
439
446
|
getAccountLimits(params?: GetLimitsParam): Promise<GetLimitsResponseSuccess | GetLimitsResponseFail>;
|
|
440
447
|
getLastWSMessage(): Date;
|
|
441
448
|
getWSState(): {
|
|
@@ -445,6 +452,11 @@ declare class Shoonya extends EventEmitter {
|
|
|
445
452
|
CONNECTING: boolean;
|
|
446
453
|
};
|
|
447
454
|
getSubscribedTokens(): string[];
|
|
455
|
+
getSingleOrderStatus(params: {
|
|
456
|
+
orderId: number;
|
|
457
|
+
exchange: Exchange;
|
|
458
|
+
}): Promise<OrderBook>;
|
|
459
|
+
getSingleOrderHistory(orderId: number): Promise<OrderBook>;
|
|
448
460
|
connectWS(): void;
|
|
449
461
|
/**
|
|
450
462
|
*
|
package/dist/shoonya-sdk.js
CHANGED
|
@@ -65,7 +65,9 @@ var paths = {
|
|
|
65
65
|
optionChain: "GetOptionChain",
|
|
66
66
|
orderBook: "OrderBook",
|
|
67
67
|
holding: "Holdings",
|
|
68
|
-
limits: "Limits"
|
|
68
|
+
limits: "Limits",
|
|
69
|
+
singleOrderStatus: "SingleOrdStatus",
|
|
70
|
+
singleOrderHistory: "SingleOrdHist"
|
|
69
71
|
};
|
|
70
72
|
|
|
71
73
|
// src/shoonya-sdk.ts
|
|
@@ -140,10 +142,6 @@ var Logger = class {
|
|
|
140
142
|
var logger_default = Logger;
|
|
141
143
|
|
|
142
144
|
// src/utils/parser.ts
|
|
143
|
-
var exampleObject = {
|
|
144
|
-
convertable: "57.3",
|
|
145
|
-
unconvertable: "So"
|
|
146
|
-
};
|
|
147
145
|
function parseKeysToNumber(obj) {
|
|
148
146
|
const newObj = {};
|
|
149
147
|
for (const key in obj) {
|
|
@@ -156,7 +154,6 @@ function parseKeysToNumber(obj) {
|
|
|
156
154
|
return newObj;
|
|
157
155
|
}
|
|
158
156
|
__name(parseKeysToNumber, "parseKeysToNumber");
|
|
159
|
-
var parsedObj = parseKeysToNumber(exampleObject);
|
|
160
157
|
|
|
161
158
|
// src/shoonya-sdk.ts
|
|
162
159
|
var import_totp_generator = __toESM(require("totp-generator"));
|
|
@@ -536,11 +533,11 @@ var Shoonya = class extends import_events.EventEmitter {
|
|
|
536
533
|
* `H` : Cover Order
|
|
537
534
|
* ```
|
|
538
535
|
*/
|
|
539
|
-
async getAccountHolding(
|
|
536
|
+
async getAccountHolding(productType) {
|
|
540
537
|
const data = {
|
|
541
538
|
uid: this.userId,
|
|
542
539
|
actid: this.accountId,
|
|
543
|
-
prd:
|
|
540
|
+
prd: productType
|
|
544
541
|
};
|
|
545
542
|
return await this.request("holding", { data, key: this.accessToken });
|
|
546
543
|
}
|
|
@@ -574,6 +571,28 @@ var Shoonya = class extends import_events.EventEmitter {
|
|
|
574
571
|
getSubscribedTokens() {
|
|
575
572
|
return this.scripList;
|
|
576
573
|
}
|
|
574
|
+
async getSingleOrderStatus(params) {
|
|
575
|
+
const data = {
|
|
576
|
+
uid: this.userId,
|
|
577
|
+
norenordno: params.orderId.toString(),
|
|
578
|
+
actid: this.accountId,
|
|
579
|
+
exch: params.exchange
|
|
580
|
+
};
|
|
581
|
+
return this.request("singleOrderStatus", {
|
|
582
|
+
data,
|
|
583
|
+
key: this.accessToken
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
async getSingleOrderHistory(orderId) {
|
|
587
|
+
const data = {
|
|
588
|
+
uid: this.userId,
|
|
589
|
+
norenordno: orderId.toString()
|
|
590
|
+
};
|
|
591
|
+
return this.request("singleOrderHistory", {
|
|
592
|
+
data,
|
|
593
|
+
key: this.accessToken
|
|
594
|
+
});
|
|
595
|
+
}
|
|
577
596
|
// WebSocket API
|
|
578
597
|
connectWS() {
|
|
579
598
|
if (this.getWSState().OPEN || this.getWSState().CONNECTING) {
|
package/dist/shoonya-sdk.mjs
CHANGED
|
@@ -32,7 +32,9 @@ var paths = {
|
|
|
32
32
|
optionChain: "GetOptionChain",
|
|
33
33
|
orderBook: "OrderBook",
|
|
34
34
|
holding: "Holdings",
|
|
35
|
-
limits: "Limits"
|
|
35
|
+
limits: "Limits",
|
|
36
|
+
singleOrderStatus: "SingleOrdStatus",
|
|
37
|
+
singleOrderHistory: "SingleOrdHist"
|
|
36
38
|
};
|
|
37
39
|
|
|
38
40
|
// src/shoonya-sdk.ts
|
|
@@ -114,10 +116,6 @@ var Logger = class {
|
|
|
114
116
|
var logger_default = Logger;
|
|
115
117
|
|
|
116
118
|
// src/utils/parser.ts
|
|
117
|
-
var exampleObject = {
|
|
118
|
-
convertable: "57.3",
|
|
119
|
-
unconvertable: "So"
|
|
120
|
-
};
|
|
121
119
|
function parseKeysToNumber(obj) {
|
|
122
120
|
const newObj = {};
|
|
123
121
|
for (const key in obj) {
|
|
@@ -130,7 +128,6 @@ function parseKeysToNumber(obj) {
|
|
|
130
128
|
return newObj;
|
|
131
129
|
}
|
|
132
130
|
__name(parseKeysToNumber, "parseKeysToNumber");
|
|
133
|
-
var parsedObj = parseKeysToNumber(exampleObject);
|
|
134
131
|
|
|
135
132
|
// src/shoonya-sdk.ts
|
|
136
133
|
import totp from "totp-generator";
|
|
@@ -510,11 +507,11 @@ var Shoonya = class extends EventEmitter {
|
|
|
510
507
|
* `H` : Cover Order
|
|
511
508
|
* ```
|
|
512
509
|
*/
|
|
513
|
-
async getAccountHolding(
|
|
510
|
+
async getAccountHolding(productType) {
|
|
514
511
|
const data = {
|
|
515
512
|
uid: this.userId,
|
|
516
513
|
actid: this.accountId,
|
|
517
|
-
prd:
|
|
514
|
+
prd: productType
|
|
518
515
|
};
|
|
519
516
|
return await this.request("holding", { data, key: this.accessToken });
|
|
520
517
|
}
|
|
@@ -548,6 +545,28 @@ var Shoonya = class extends EventEmitter {
|
|
|
548
545
|
getSubscribedTokens() {
|
|
549
546
|
return this.scripList;
|
|
550
547
|
}
|
|
548
|
+
async getSingleOrderStatus(params) {
|
|
549
|
+
const data = {
|
|
550
|
+
uid: this.userId,
|
|
551
|
+
norenordno: params.orderId.toString(),
|
|
552
|
+
actid: this.accountId,
|
|
553
|
+
exch: params.exchange
|
|
554
|
+
};
|
|
555
|
+
return this.request("singleOrderStatus", {
|
|
556
|
+
data,
|
|
557
|
+
key: this.accessToken
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
async getSingleOrderHistory(orderId) {
|
|
561
|
+
const data = {
|
|
562
|
+
uid: this.userId,
|
|
563
|
+
norenordno: orderId.toString()
|
|
564
|
+
};
|
|
565
|
+
return this.request("singleOrderHistory", {
|
|
566
|
+
data,
|
|
567
|
+
key: this.accessToken
|
|
568
|
+
});
|
|
569
|
+
}
|
|
551
570
|
// WebSocket API
|
|
552
571
|
connectWS() {
|
|
553
572
|
if (this.getWSState().OPEN || this.getWSState().CONNECTING) {
|