@n1xyz/nord-ts 0.0.1 → 0.0.4
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/.eslintrc.js +11 -0
- package/README.md +148 -65
- package/dist/bridge/NordUser.d.ts +78 -0
- package/dist/bridge/NordUser.js +196 -0
- package/dist/bridge/client.d.ts +150 -0
- package/dist/bridge/client.js +394 -0
- package/dist/bridge/const.d.ts +23 -0
- package/dist/bridge/const.js +47 -0
- package/dist/bridge/index.d.ts +5 -0
- package/dist/bridge/index.js +23 -0
- package/dist/bridge/types.d.ts +118 -0
- package/dist/bridge/types.js +16 -0
- package/dist/bridge/utils.d.ts +64 -0
- package/dist/bridge/utils.js +131 -0
- package/dist/client.d.ts +70 -0
- package/dist/client.js +129 -0
- package/dist/const.d.ts +2 -5
- package/dist/const.js +18 -22
- package/dist/constants/endpoints.d.ts +65 -0
- package/dist/constants/endpoints.js +68 -0
- package/dist/gen/common.d.ts +6 -1
- package/dist/gen/common.js +19 -9
- package/dist/gen/nord.d.ts +75 -17
- package/dist/gen/nord.js +987 -423
- package/dist/idl/bridge.d.ts +2 -0
- package/dist/idl/bridge.js +703 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.js +18 -2
- package/dist/models/account.d.ts +58 -0
- package/dist/models/account.js +6 -0
- package/dist/models/index.d.ts +8 -0
- package/dist/models/index.js +28 -0
- package/dist/models/market.d.ts +137 -0
- package/dist/models/market.js +6 -0
- package/dist/models/order.d.ts +211 -0
- package/dist/models/order.js +6 -0
- package/dist/models/token.d.ts +50 -0
- package/dist/models/token.js +6 -0
- package/dist/nord/Nord.d.ts +222 -49
- package/dist/nord/Nord.js +290 -278
- package/dist/nord/NordError.d.ts +23 -0
- package/dist/nord/NordError.js +48 -0
- package/dist/nord/NordImpl.d.ts +6 -2
- package/dist/nord/NordImpl.js +21 -1
- package/dist/nord/NordUser.d.ts +208 -42
- package/dist/nord/NordUser.js +389 -157
- package/dist/nord/Subscriber.d.ts +37 -0
- package/dist/nord/Subscriber.js +29 -0
- package/dist/nord/api/actions.d.ts +101 -0
- package/dist/nord/api/actions.js +250 -0
- package/dist/nord/api/core.d.ts +49 -0
- package/dist/nord/api/core.js +121 -0
- package/dist/nord/api/index.d.ts +1 -0
- package/dist/nord/api/index.js +17 -0
- package/dist/nord/api/market.d.ts +36 -0
- package/dist/nord/api/market.js +98 -0
- package/dist/nord/api/metrics.d.ts +67 -0
- package/dist/nord/api/metrics.js +132 -0
- package/dist/nord/api/orderFunctions.d.ts +168 -0
- package/dist/nord/api/orderFunctions.js +133 -0
- package/dist/nord/api/queries.d.ts +81 -0
- package/dist/nord/api/queries.js +187 -0
- package/dist/nord/client/Nord.d.ts +335 -0
- package/dist/nord/client/Nord.js +532 -0
- package/dist/nord/client/NordUser.d.ts +320 -0
- package/dist/nord/client/NordUser.js +701 -0
- package/dist/nord/core.d.ts +48 -0
- package/dist/nord/core.js +97 -0
- package/dist/nord/index.d.ts +9 -2
- package/dist/nord/index.js +30 -6
- package/dist/nord/market.d.ts +36 -0
- package/dist/nord/market.js +90 -0
- package/dist/nord/metrics.d.ts +67 -0
- package/dist/nord/metrics.js +124 -0
- package/dist/nord/models/Subscriber.d.ts +37 -0
- package/dist/nord/models/Subscriber.js +29 -0
- package/dist/nord/queries.d.ts +81 -0
- package/dist/nord/queries.js +181 -0
- package/dist/nord/types.d.ts +88 -0
- package/dist/nord/types.js +2 -0
- package/dist/nord/utils/NordError.d.ts +35 -0
- package/dist/nord/utils/NordError.js +46 -0
- package/dist/nord/websocket.d.ts +49 -0
- package/dist/nord/websocket.js +107 -0
- package/dist/operations/account.d.ts +58 -0
- package/dist/operations/account.js +112 -0
- package/dist/operations/market.d.ts +65 -0
- package/dist/operations/market.js +131 -0
- package/dist/operations/orders.d.ts +57 -0
- package/dist/operations/orders.js +129 -0
- package/dist/solana/NordUser.d.ts +78 -0
- package/dist/solana/NordUser.js +196 -0
- package/dist/solana/client.d.ts +139 -0
- package/dist/solana/client.js +360 -0
- package/dist/solana/const.d.ts +23 -0
- package/dist/solana/const.js +47 -0
- package/dist/solana/index.d.ts +5 -0
- package/dist/solana/index.js +23 -0
- package/dist/solana/types.d.ts +118 -0
- package/dist/solana/types.js +16 -0
- package/dist/solana/utils.d.ts +64 -0
- package/dist/solana/utils.js +131 -0
- package/dist/types/api.d.ts +152 -0
- package/dist/types/api.js +6 -0
- package/dist/types/config.d.ts +34 -0
- package/dist/types/config.js +6 -0
- package/dist/types.d.ts +144 -87
- package/dist/types.js +13 -2
- package/dist/utils/errors.d.ts +96 -0
- package/dist/utils/errors.js +132 -0
- package/dist/utils/http.d.ts +35 -0
- package/dist/utils/http.js +105 -0
- package/dist/utils.d.ts +14 -5
- package/dist/utils.js +26 -7
- package/dist/websocket/NordWebSocketClient.d.ts +71 -0
- package/dist/websocket/NordWebSocketClient.js +343 -0
- package/dist/websocket/client.d.ts +93 -0
- package/dist/websocket/client.js +222 -0
- package/dist/websocket/events.d.ts +19 -0
- package/dist/websocket/events.js +2 -0
- package/dist/websocket/index.d.ts +2 -0
- package/dist/websocket/index.js +5 -0
- package/dist/websocket.d.ts +55 -0
- package/dist/websocket.js +211 -0
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Nord.html +2 -15
- package/docs/classes/NordUser.html +4 -4
- package/docs/enums/FillMode.html +2 -2
- package/docs/enums/KeyType.html +2 -2
- package/docs/enums/PeakTpsPeriodUnit.html +2 -2
- package/docs/enums/Side.html +2 -2
- package/docs/functions/assert.html +1 -1
- package/docs/functions/bigIntToProtoU128.html +1 -1
- package/docs/functions/checkPubKeyLength.html +1 -1
- package/docs/functions/checkedFetch.html +1 -1
- package/docs/functions/decodeLengthDelimited.html +1 -1
- package/docs/functions/encodeLengthDelimited.html +1 -1
- package/docs/functions/fillModeToProtoFillMode.html +1 -1
- package/docs/functions/findMarket.html +1 -1
- package/docs/functions/findToken.html +1 -1
- package/docs/functions/makeWalletSignFn.html +1 -1
- package/docs/functions/optExpect.html +1 -1
- package/docs/functions/optMap.html +1 -1
- package/docs/functions/optUnwrap.html +1 -1
- package/docs/functions/panic.html +1 -1
- package/docs/functions/signAction.html +1 -1
- package/docs/functions/toScaledU128.html +1 -1
- package/docs/functions/toScaledU64.html +1 -1
- package/docs/interfaces/Account.html +2 -2
- package/docs/interfaces/ActionInfo.html +2 -2
- package/docs/interfaces/ActionQuery.html +2 -2
- package/docs/interfaces/ActionResponse.html +2 -2
- package/docs/interfaces/ActionsExtendedInfo.html +2 -2
- package/docs/interfaces/ActionsQuery.html +2 -2
- package/docs/interfaces/ActionsResponse.html +2 -2
- package/docs/interfaces/AggregateMetrics.html +2 -2
- package/docs/interfaces/BlockQuery.html +2 -2
- package/docs/interfaces/BlockResponse.html +2 -2
- package/docs/interfaces/BlockSummary.html +2 -2
- package/docs/interfaces/BlockSummaryResponse.html +2 -2
- package/docs/interfaces/DeltaEvent.html +2 -2
- package/docs/interfaces/ERC20TokenInfo.html +2 -2
- package/docs/interfaces/Info.html +2 -2
- package/docs/interfaces/Market.html +2 -2
- package/docs/interfaces/MarketStats.html +2 -2
- package/docs/interfaces/MarketsStatsResponse.html +2 -2
- package/docs/interfaces/NordConfig.html +2 -2
- package/docs/interfaces/Order.html +2 -2
- package/docs/interfaces/OrderInfo.html +2 -2
- package/docs/interfaces/PerpMarketStats.html +2 -2
- package/docs/interfaces/RollmanActionExtendedInfo.html +2 -2
- package/docs/interfaces/RollmanActionInfo.html +2 -2
- package/docs/interfaces/RollmanActionResponse.html +2 -2
- package/docs/interfaces/RollmanActionsResponse.html +2 -2
- package/docs/interfaces/RollmanBlockResponse.html +2 -2
- package/docs/interfaces/SubscriberConfig.html +2 -2
- package/docs/interfaces/Token.html +2 -2
- package/docs/interfaces/Trade.html +2 -2
- package/docs/interfaces/Trades.html +2 -2
- package/docs/modules.html +0 -7
- package/docs/types/BigIntValue.html +1 -1
- package/docs/variables/DEBUG_KEYS.html +1 -1
- package/docs/variables/DEFAULT_FUNDING_AMOUNTS.html +1 -1
- package/docs/variables/DEV_CONTRACT_ADDRESS.html +1 -1
- package/docs/variables/DEV_TOKEN_INFOS.html +1 -1
- package/docs/variables/DEV_URL.html +1 -1
- package/docs/variables/ERC20_ABI.html +1 -1
- package/docs/variables/EVM_DEV_URL.html +1 -1
- package/docs/variables/FAUCET_PRIVATE_ADDRESS.html +1 -1
- package/docs/variables/MAX_BUFFER_LEN.html +1 -1
- package/docs/variables/NORD_GETTERS_FACET_ABI.html +1 -1
- package/docs/variables/NORD_RAMP_FACET_ABI.html +1 -1
- package/docs/variables/SESSION_TTL.html +1 -1
- package/docs/variables/WEBSERVER_DEV_URL.html +1 -1
- package/docs/variables/ZERO_DECIMAL.html +1 -1
- package/package.json +10 -12
- package/src/bridge/client.ts +487 -0
- package/src/bridge/const.ts +53 -0
- package/src/bridge/index.ts +7 -0
- package/src/bridge/types.ts +127 -0
- package/src/bridge/utils.ts +140 -0
- package/src/const.ts +20 -25
- package/src/gen/common.ts +27 -10
- package/src/gen/nord.ts +1044 -483
- package/src/idl/bridge.ts +702 -0
- package/src/index.ts +24 -5
- package/src/nord/{actions.ts → api/actions.ts} +33 -37
- package/src/nord/api/core.ts +130 -0
- package/src/nord/api/market.ts +125 -0
- package/src/nord/api/metrics.ts +154 -0
- package/src/nord/api/queries.ts +236 -0
- package/src/nord/client/Nord.ts +652 -0
- package/src/nord/client/NordUser.ts +1105 -0
- package/src/nord/index.ts +16 -2
- package/src/nord/models/Subscriber.ts +57 -0
- package/src/nord/utils/NordError.ts +72 -0
- package/src/types.ts +170 -99
- package/src/utils.ts +40 -19
- package/src/websocket/NordWebSocketClient.ts +432 -0
- package/src/websocket/events.ts +31 -0
- package/src/websocket/index.ts +2 -0
- package/tests/utils.spec.ts +24 -24
- package/docs/classes/Subscriber.html +0 -6
- package/docs/functions/createWebSocketSubscription.html +0 -12
- package/docs/interfaces/OrderbookOrder.html +0 -6
- package/docs/interfaces/OrderbookResponse.html +0 -10
- package/docs/interfaces/TradeInfo.html +0 -20
- package/docs/interfaces/TradesQueryParams.html +0 -10
- package/docs/interfaces/TradesResponse.html +0 -12
- package/src/abis/ERC20_ABI.ts +0 -310
- package/src/abis/NORD_GETTERS_FACET_ABI.ts +0 -192
- package/src/abis/NORD_RAMP_FACET_ABI.ts +0 -141
- package/src/abis/index.ts +0 -3
- package/src/nord/Nord.ts +0 -504
- package/src/nord/NordImpl.ts +0 -8
- package/src/nord/NordUser.ts +0 -469
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './utils';
|
|
3
|
+
export * from './const';
|
|
4
|
+
export * from './nord';
|
|
5
|
+
export * from './websocket/index';
|
|
6
|
+
export * from './bridge/client';
|
|
7
|
+
export * from './bridge/types';
|
|
8
|
+
export { bridgeToBN, fromBN, keypairFromPrivateKey, makeSigningFunction, findPda, bufferToHex, hexToBuffer, shortenPublicKey, } from './bridge/utils';
|
package/dist/index.js
CHANGED
|
@@ -14,8 +14,24 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.shortenPublicKey = exports.hexToBuffer = exports.bufferToHex = exports.findPda = exports.makeSigningFunction = exports.keypairFromPrivateKey = exports.fromBN = exports.bridgeToBN = void 0;
|
|
18
|
+
// Export types
|
|
17
19
|
__exportStar(require("./types"), exports);
|
|
18
20
|
__exportStar(require("./utils"), exports);
|
|
19
|
-
__exportStar(require("./abis"), exports);
|
|
20
|
-
__exportStar(require("./nord"), exports);
|
|
21
21
|
__exportStar(require("./const"), exports);
|
|
22
|
+
// Export Nord modules
|
|
23
|
+
__exportStar(require("./nord"), exports);
|
|
24
|
+
// Export WebSocket modules
|
|
25
|
+
__exportStar(require("./websocket/index"), exports);
|
|
26
|
+
// Export bridge modules
|
|
27
|
+
__exportStar(require("./bridge/client"), exports);
|
|
28
|
+
__exportStar(require("./bridge/types"), exports);
|
|
29
|
+
var utils_1 = require("./bridge/utils");
|
|
30
|
+
Object.defineProperty(exports, "bridgeToBN", { enumerable: true, get: function () { return utils_1.bridgeToBN; } });
|
|
31
|
+
Object.defineProperty(exports, "fromBN", { enumerable: true, get: function () { return utils_1.fromBN; } });
|
|
32
|
+
Object.defineProperty(exports, "keypairFromPrivateKey", { enumerable: true, get: function () { return utils_1.keypairFromPrivateKey; } });
|
|
33
|
+
Object.defineProperty(exports, "makeSigningFunction", { enumerable: true, get: function () { return utils_1.makeSigningFunction; } });
|
|
34
|
+
Object.defineProperty(exports, "findPda", { enumerable: true, get: function () { return utils_1.findPda; } });
|
|
35
|
+
Object.defineProperty(exports, "bufferToHex", { enumerable: true, get: function () { return utils_1.bufferToHex; } });
|
|
36
|
+
Object.defineProperty(exports, "hexToBuffer", { enumerable: true, get: function () { return utils_1.hexToBuffer; } });
|
|
37
|
+
Object.defineProperty(exports, "shortenPublicKey", { enumerable: true, get: function () { return utils_1.shortenPublicKey; } });
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account-related models and interfaces
|
|
3
|
+
* @module models/account
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Account information
|
|
7
|
+
*/
|
|
8
|
+
export interface Account {
|
|
9
|
+
/**
|
|
10
|
+
* Account ID
|
|
11
|
+
*/
|
|
12
|
+
id: number;
|
|
13
|
+
/**
|
|
14
|
+
* User's blockchain address
|
|
15
|
+
*/
|
|
16
|
+
address: string;
|
|
17
|
+
/**
|
|
18
|
+
* Account creation timestamp
|
|
19
|
+
*/
|
|
20
|
+
createdAt: number;
|
|
21
|
+
/**
|
|
22
|
+
* Account type
|
|
23
|
+
*/
|
|
24
|
+
type: 'spot' | 'margin' | 'futures';
|
|
25
|
+
/**
|
|
26
|
+
* Whether the account is active
|
|
27
|
+
*/
|
|
28
|
+
active: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Balance information
|
|
32
|
+
*/
|
|
33
|
+
export interface Balance {
|
|
34
|
+
/**
|
|
35
|
+
* Account ID
|
|
36
|
+
*/
|
|
37
|
+
accountId: number;
|
|
38
|
+
/**
|
|
39
|
+
* Token symbol
|
|
40
|
+
*/
|
|
41
|
+
symbol: string;
|
|
42
|
+
/**
|
|
43
|
+
* Token ID
|
|
44
|
+
*/
|
|
45
|
+
tokenId: number;
|
|
46
|
+
/**
|
|
47
|
+
* Available balance
|
|
48
|
+
*/
|
|
49
|
+
available: number;
|
|
50
|
+
/**
|
|
51
|
+
* Total balance (available + locked)
|
|
52
|
+
*/
|
|
53
|
+
total: number;
|
|
54
|
+
/**
|
|
55
|
+
* Locked balance (in open orders)
|
|
56
|
+
*/
|
|
57
|
+
locked: number;
|
|
58
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Export all model interfaces
|
|
4
|
+
* @module models
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// Export token models
|
|
22
|
+
__exportStar(require("./token"), exports);
|
|
23
|
+
// Export market models
|
|
24
|
+
__exportStar(require("./market"), exports);
|
|
25
|
+
// Export account models
|
|
26
|
+
__exportStar(require("./account"), exports);
|
|
27
|
+
// Export order models
|
|
28
|
+
__exportStar(require("./order"), exports);
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Market-related models and interfaces
|
|
3
|
+
* @module models/market
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Market information
|
|
7
|
+
*/
|
|
8
|
+
export interface Market {
|
|
9
|
+
/**
|
|
10
|
+
* Market symbol (e.g., "BTCUSDC")
|
|
11
|
+
*/
|
|
12
|
+
symbol: string;
|
|
13
|
+
/**
|
|
14
|
+
* Base token ID
|
|
15
|
+
*/
|
|
16
|
+
baseTokenId: number;
|
|
17
|
+
/**
|
|
18
|
+
* Quote token ID
|
|
19
|
+
*/
|
|
20
|
+
quoteTokenId: number;
|
|
21
|
+
/**
|
|
22
|
+
* Base token symbol
|
|
23
|
+
*/
|
|
24
|
+
baseSymbol: string;
|
|
25
|
+
/**
|
|
26
|
+
* Quote token symbol
|
|
27
|
+
*/
|
|
28
|
+
quoteSymbol: string;
|
|
29
|
+
/**
|
|
30
|
+
* Minimum order size
|
|
31
|
+
*/
|
|
32
|
+
minSize: number;
|
|
33
|
+
/**
|
|
34
|
+
* Maximum order size
|
|
35
|
+
*/
|
|
36
|
+
maxSize: number;
|
|
37
|
+
/**
|
|
38
|
+
* Price tick size
|
|
39
|
+
*/
|
|
40
|
+
tickSize: number;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the market is active
|
|
43
|
+
*/
|
|
44
|
+
active: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Orderbook price level
|
|
48
|
+
*/
|
|
49
|
+
export interface OrderbookLevel {
|
|
50
|
+
/**
|
|
51
|
+
* Price level
|
|
52
|
+
*/
|
|
53
|
+
price: number;
|
|
54
|
+
/**
|
|
55
|
+
* Size at this price level
|
|
56
|
+
*/
|
|
57
|
+
size: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Orderbook data
|
|
61
|
+
*/
|
|
62
|
+
export interface OrderbookData {
|
|
63
|
+
/**
|
|
64
|
+
* Market symbol
|
|
65
|
+
*/
|
|
66
|
+
market: string;
|
|
67
|
+
/**
|
|
68
|
+
* Timestamp of the orderbook snapshot
|
|
69
|
+
*/
|
|
70
|
+
timestamp: number;
|
|
71
|
+
/**
|
|
72
|
+
* Bid (buy) price levels
|
|
73
|
+
*/
|
|
74
|
+
bids: OrderbookLevel[];
|
|
75
|
+
/**
|
|
76
|
+
* Ask (sell) price levels
|
|
77
|
+
*/
|
|
78
|
+
asks: OrderbookLevel[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Trade information
|
|
82
|
+
*/
|
|
83
|
+
export interface Trade {
|
|
84
|
+
/**
|
|
85
|
+
* Trade ID
|
|
86
|
+
*/
|
|
87
|
+
id: number;
|
|
88
|
+
/**
|
|
89
|
+
* Market symbol
|
|
90
|
+
*/
|
|
91
|
+
market: string;
|
|
92
|
+
/**
|
|
93
|
+
* Trade price
|
|
94
|
+
*/
|
|
95
|
+
price: number;
|
|
96
|
+
/**
|
|
97
|
+
* Trade size
|
|
98
|
+
*/
|
|
99
|
+
size: number;
|
|
100
|
+
/**
|
|
101
|
+
* Trade side ("buy" or "sell")
|
|
102
|
+
*/
|
|
103
|
+
side: 'buy' | 'sell';
|
|
104
|
+
/**
|
|
105
|
+
* Trade timestamp
|
|
106
|
+
*/
|
|
107
|
+
timestamp: number;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Candle (OHLCV) data
|
|
111
|
+
*/
|
|
112
|
+
export interface Candle {
|
|
113
|
+
/**
|
|
114
|
+
* Timestamp of the candle start
|
|
115
|
+
*/
|
|
116
|
+
timestamp: number;
|
|
117
|
+
/**
|
|
118
|
+
* Open price
|
|
119
|
+
*/
|
|
120
|
+
open: number;
|
|
121
|
+
/**
|
|
122
|
+
* High price
|
|
123
|
+
*/
|
|
124
|
+
high: number;
|
|
125
|
+
/**
|
|
126
|
+
* Low price
|
|
127
|
+
*/
|
|
128
|
+
low: number;
|
|
129
|
+
/**
|
|
130
|
+
* Close price
|
|
131
|
+
*/
|
|
132
|
+
close: number;
|
|
133
|
+
/**
|
|
134
|
+
* Volume
|
|
135
|
+
*/
|
|
136
|
+
volume: number;
|
|
137
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Order-related models and interfaces
|
|
3
|
+
* @module models/order
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Order side
|
|
7
|
+
*/
|
|
8
|
+
export type OrderSide = 'buy' | 'sell';
|
|
9
|
+
/**
|
|
10
|
+
* Order type
|
|
11
|
+
*/
|
|
12
|
+
export type OrderType = 'limit' | 'market' | 'stop' | 'stopLimit';
|
|
13
|
+
/**
|
|
14
|
+
* Time in force options
|
|
15
|
+
*/
|
|
16
|
+
export type TimeInForce = 'GTC' | 'IOC' | 'FOK';
|
|
17
|
+
/**
|
|
18
|
+
* Order status
|
|
19
|
+
*/
|
|
20
|
+
export type OrderStatus = 'open' | 'closed' | 'canceled' | 'expired' | 'rejected';
|
|
21
|
+
/**
|
|
22
|
+
* Base order parameters
|
|
23
|
+
*/
|
|
24
|
+
export interface BaseOrderParams {
|
|
25
|
+
/**
|
|
26
|
+
* Market symbol (e.g., "BTCUSDC")
|
|
27
|
+
*/
|
|
28
|
+
market: string;
|
|
29
|
+
/**
|
|
30
|
+
* Order side
|
|
31
|
+
*/
|
|
32
|
+
side: OrderSide;
|
|
33
|
+
/**
|
|
34
|
+
* Order size
|
|
35
|
+
*/
|
|
36
|
+
size: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Limit order parameters
|
|
40
|
+
*/
|
|
41
|
+
export interface LimitOrderParams extends BaseOrderParams {
|
|
42
|
+
/**
|
|
43
|
+
* Order type
|
|
44
|
+
*/
|
|
45
|
+
type: 'limit';
|
|
46
|
+
/**
|
|
47
|
+
* Limit price
|
|
48
|
+
*/
|
|
49
|
+
price: number;
|
|
50
|
+
/**
|
|
51
|
+
* Time in force
|
|
52
|
+
*/
|
|
53
|
+
timeInForce?: TimeInForce;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Market order parameters
|
|
57
|
+
*/
|
|
58
|
+
export interface MarketOrderParams extends BaseOrderParams {
|
|
59
|
+
/**
|
|
60
|
+
* Order type
|
|
61
|
+
*/
|
|
62
|
+
type: 'market';
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Stop order parameters
|
|
66
|
+
*/
|
|
67
|
+
export interface StopOrderParams extends BaseOrderParams {
|
|
68
|
+
/**
|
|
69
|
+
* Order type
|
|
70
|
+
*/
|
|
71
|
+
type: 'stop';
|
|
72
|
+
/**
|
|
73
|
+
* Stop price
|
|
74
|
+
*/
|
|
75
|
+
stopPrice: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Stop-limit order parameters
|
|
79
|
+
*/
|
|
80
|
+
export interface StopLimitOrderParams extends BaseOrderParams {
|
|
81
|
+
/**
|
|
82
|
+
* Order type
|
|
83
|
+
*/
|
|
84
|
+
type: 'stopLimit';
|
|
85
|
+
/**
|
|
86
|
+
* Stop price
|
|
87
|
+
*/
|
|
88
|
+
stopPrice: number;
|
|
89
|
+
/**
|
|
90
|
+
* Limit price
|
|
91
|
+
*/
|
|
92
|
+
limitPrice: number;
|
|
93
|
+
/**
|
|
94
|
+
* Time in force
|
|
95
|
+
*/
|
|
96
|
+
timeInForce?: TimeInForce;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Union type for all order parameters
|
|
100
|
+
*/
|
|
101
|
+
export type PlaceOrderParams = LimitOrderParams | MarketOrderParams | StopOrderParams | StopLimitOrderParams;
|
|
102
|
+
/**
|
|
103
|
+
* Order information
|
|
104
|
+
*/
|
|
105
|
+
export interface Order {
|
|
106
|
+
/**
|
|
107
|
+
* Order ID
|
|
108
|
+
*/
|
|
109
|
+
id: number;
|
|
110
|
+
/**
|
|
111
|
+
* Account ID
|
|
112
|
+
*/
|
|
113
|
+
accountId: number;
|
|
114
|
+
/**
|
|
115
|
+
* Market symbol
|
|
116
|
+
*/
|
|
117
|
+
market: string;
|
|
118
|
+
/**
|
|
119
|
+
* Order type
|
|
120
|
+
*/
|
|
121
|
+
type: OrderType;
|
|
122
|
+
/**
|
|
123
|
+
* Order side
|
|
124
|
+
*/
|
|
125
|
+
side: OrderSide;
|
|
126
|
+
/**
|
|
127
|
+
* Order size
|
|
128
|
+
*/
|
|
129
|
+
size: number;
|
|
130
|
+
/**
|
|
131
|
+
* Filled size
|
|
132
|
+
*/
|
|
133
|
+
filledSize: number;
|
|
134
|
+
/**
|
|
135
|
+
* Remaining size
|
|
136
|
+
*/
|
|
137
|
+
remainingSize: number;
|
|
138
|
+
/**
|
|
139
|
+
* Limit price (for limit and stop-limit orders)
|
|
140
|
+
*/
|
|
141
|
+
price?: number;
|
|
142
|
+
/**
|
|
143
|
+
* Stop price (for stop and stop-limit orders)
|
|
144
|
+
*/
|
|
145
|
+
stopPrice?: number;
|
|
146
|
+
/**
|
|
147
|
+
* Average fill price
|
|
148
|
+
*/
|
|
149
|
+
avgFillPrice?: number;
|
|
150
|
+
/**
|
|
151
|
+
* Time in force
|
|
152
|
+
*/
|
|
153
|
+
timeInForce?: TimeInForce;
|
|
154
|
+
/**
|
|
155
|
+
* Order status
|
|
156
|
+
*/
|
|
157
|
+
status: OrderStatus;
|
|
158
|
+
/**
|
|
159
|
+
* Order creation timestamp
|
|
160
|
+
*/
|
|
161
|
+
createdAt: number;
|
|
162
|
+
/**
|
|
163
|
+
* Order update timestamp
|
|
164
|
+
*/
|
|
165
|
+
updatedAt: number;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Result of placing an order
|
|
169
|
+
*/
|
|
170
|
+
export interface OrderResult {
|
|
171
|
+
/**
|
|
172
|
+
* Order ID
|
|
173
|
+
*/
|
|
174
|
+
orderId: number;
|
|
175
|
+
/**
|
|
176
|
+
* Market symbol
|
|
177
|
+
*/
|
|
178
|
+
market: string;
|
|
179
|
+
/**
|
|
180
|
+
* Order type
|
|
181
|
+
*/
|
|
182
|
+
type: OrderType;
|
|
183
|
+
/**
|
|
184
|
+
* Order side
|
|
185
|
+
*/
|
|
186
|
+
side: OrderSide;
|
|
187
|
+
/**
|
|
188
|
+
* Order size
|
|
189
|
+
*/
|
|
190
|
+
size: number;
|
|
191
|
+
/**
|
|
192
|
+
* Limit price (for limit and stop-limit orders)
|
|
193
|
+
*/
|
|
194
|
+
price?: number;
|
|
195
|
+
/**
|
|
196
|
+
* Stop price (for stop and stop-limit orders)
|
|
197
|
+
*/
|
|
198
|
+
stopPrice?: number;
|
|
199
|
+
/**
|
|
200
|
+
* Time in force
|
|
201
|
+
*/
|
|
202
|
+
timeInForce?: TimeInForce;
|
|
203
|
+
/**
|
|
204
|
+
* Order status
|
|
205
|
+
*/
|
|
206
|
+
status: OrderStatus;
|
|
207
|
+
/**
|
|
208
|
+
* Order creation timestamp
|
|
209
|
+
*/
|
|
210
|
+
createdAt: number;
|
|
211
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token-related models and interfaces
|
|
3
|
+
* @module models/token
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Information about a token
|
|
7
|
+
*/
|
|
8
|
+
export interface TokenInfo {
|
|
9
|
+
/**
|
|
10
|
+
* Token address (contract address or mint address)
|
|
11
|
+
*/
|
|
12
|
+
address: string;
|
|
13
|
+
/**
|
|
14
|
+
* Token precision (number of decimal places)
|
|
15
|
+
*/
|
|
16
|
+
precision: number;
|
|
17
|
+
/**
|
|
18
|
+
* Token ID
|
|
19
|
+
*/
|
|
20
|
+
tokenId: number;
|
|
21
|
+
/**
|
|
22
|
+
* Token name/symbol
|
|
23
|
+
*/
|
|
24
|
+
name: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Token data
|
|
28
|
+
*/
|
|
29
|
+
export interface Token {
|
|
30
|
+
/**
|
|
31
|
+
* Token ID
|
|
32
|
+
*/
|
|
33
|
+
id: number;
|
|
34
|
+
/**
|
|
35
|
+
* Token name
|
|
36
|
+
*/
|
|
37
|
+
name: string;
|
|
38
|
+
/**
|
|
39
|
+
* Token symbol
|
|
40
|
+
*/
|
|
41
|
+
symbol: string;
|
|
42
|
+
/**
|
|
43
|
+
* Token precision (number of decimal places)
|
|
44
|
+
*/
|
|
45
|
+
precision: number;
|
|
46
|
+
/**
|
|
47
|
+
* Token address
|
|
48
|
+
*/
|
|
49
|
+
address: string;
|
|
50
|
+
}
|