@n1xyz/nord-ts 0.0.4 → 0.0.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.
Files changed (306) hide show
  1. package/dist/bridge/client.d.ts +4 -4
  2. package/dist/bridge/client.js +4 -4
  3. package/dist/bridge/const.d.ts +2 -2
  4. package/dist/bridge/const.js +22 -22
  5. package/dist/bridge/index.d.ts +4 -4
  6. package/dist/bridge/types.d.ts +3 -3
  7. package/dist/bridge/utils.d.ts +4 -4
  8. package/dist/bridge/utils.js +10 -10
  9. package/dist/const.d.ts +1 -1
  10. package/dist/const.js +17 -17
  11. package/dist/gen/nord.d.ts +1 -4
  12. package/dist/idl/bridge.d.ts +1 -1
  13. package/dist/idl/bridge.js +185 -185
  14. package/dist/index.d.ts +8 -8
  15. package/dist/nord/api/actions.d.ts +3 -3
  16. package/dist/nord/api/actions.js +21 -21
  17. package/dist/nord/api/core.d.ts +3 -3
  18. package/dist/nord/api/core.js +12 -12
  19. package/dist/nord/api/market.d.ts +1 -1
  20. package/dist/nord/api/market.js +12 -12
  21. package/dist/nord/api/metrics.d.ts +1 -1
  22. package/dist/nord/api/metrics.js +6 -6
  23. package/dist/nord/api/queries.d.ts +1 -1
  24. package/dist/nord/api/queries.js +9 -9
  25. package/dist/nord/client/Nord.d.ts +4 -4
  26. package/dist/nord/client/Nord.js +18 -18
  27. package/dist/nord/client/NordUser.d.ts +7 -7
  28. package/dist/nord/client/NordUser.js +45 -49
  29. package/dist/nord/index.d.ts +9 -9
  30. package/dist/nord/models/Subscriber.d.ts +6 -6
  31. package/dist/nord/models/Subscriber.js +1 -5
  32. package/dist/nord/utils/NordError.js +2 -2
  33. package/dist/types.d.ts +1 -1
  34. package/dist/types.js +1 -1
  35. package/dist/utils.d.ts +6 -6
  36. package/dist/utils.js +8 -8
  37. package/dist/websocket/NordWebSocketClient.d.ts +2 -2
  38. package/dist/websocket/NordWebSocketClient.js +38 -38
  39. package/dist/websocket/events.d.ts +1 -1
  40. package/dist/websocket/index.d.ts +2 -2
  41. package/docs/assets/hierarchy.js +1 -0
  42. package/docs/assets/highlight.css +16 -16
  43. package/docs/assets/icons.js +17 -14
  44. package/docs/assets/icons.svg +1 -1
  45. package/docs/assets/main.js +5 -4
  46. package/docs/assets/navigation.js +1 -1
  47. package/docs/assets/search.js +1 -1
  48. package/docs/assets/style.css +1423 -1227
  49. package/docs/classes/Nord.html +190 -31
  50. package/docs/classes/NordError.html +24 -0
  51. package/docs/classes/NordUser.html +120 -35
  52. package/docs/classes/NordWebSocketClient.html +335 -0
  53. package/docs/classes/SolanaBridgeClient.html +86 -0
  54. package/docs/classes/Subscriber.html +10 -0
  55. package/docs/enums/FillMode.html +5 -5
  56. package/docs/enums/KeyType.html +4 -4
  57. package/docs/enums/MetricPeriod.html +9 -0
  58. package/docs/enums/PdaSeedType.html +9 -0
  59. package/docs/enums/PeakTpsPeriodUnit.html +7 -7
  60. package/docs/enums/Side.html +3 -3
  61. package/docs/enums/WebSocketMessageType.html +7 -0
  62. package/docs/functions/actionQueryRollman.html +6 -0
  63. package/docs/functions/actionsQueryRollman.html +6 -0
  64. package/docs/functions/aggregateMetrics-1.html +7 -0
  65. package/docs/functions/assert.html +1 -1
  66. package/docs/functions/bigIntToProtoU128.html +3 -3
  67. package/docs/functions/blockQueryRollman.html +6 -0
  68. package/docs/functions/blockSummaryQueryRollman.html +6 -0
  69. package/docs/functions/bridgeToBN.html +5 -0
  70. package/docs/functions/bufferToHex.html +4 -0
  71. package/docs/functions/cancelOrder.html +1 -0
  72. package/docs/functions/checkPubKeyLength.html +1 -1
  73. package/docs/functions/checkedFetch.html +4 -4
  74. package/docs/functions/createSession.html +1 -0
  75. package/docs/functions/decodeLengthDelimited.html +7 -6
  76. package/docs/functions/encodeLengthDelimited.html +4 -4
  77. package/docs/functions/fillModeToProtoFillMode.html +4 -4
  78. package/docs/functions/findMarket.html +1 -1
  79. package/docs/functions/findPda.html +6 -0
  80. package/docs/functions/findToken.html +1 -1
  81. package/docs/functions/fromBN.html +5 -0
  82. package/docs/functions/getAccount.html +6 -0
  83. package/docs/functions/getActionNonce.html +5 -0
  84. package/docs/functions/getCurrentTps.html +6 -0
  85. package/docs/functions/getInfo.html +5 -0
  86. package/docs/functions/getMedianLatency.html +6 -0
  87. package/docs/functions/getOrderbook.html +6 -0
  88. package/docs/functions/getPeakTps.html +6 -0
  89. package/docs/functions/getTimestamp.html +5 -0
  90. package/docs/functions/getTotalTransactions.html +5 -0
  91. package/docs/functions/getTrades.html +6 -0
  92. package/docs/functions/getUserAccountIds.html +6 -0
  93. package/docs/functions/hexToBuffer.html +4 -0
  94. package/docs/functions/initWebSocketClient.html +12 -0
  95. package/docs/functions/keypairFromPrivateKey.html +4 -0
  96. package/docs/functions/makeSigningFunction.html +4 -0
  97. package/docs/functions/makeWalletSignFn.html +5 -5
  98. package/docs/functions/marketsStats.html +5 -0
  99. package/docs/functions/optExpect.html +4 -4
  100. package/docs/functions/optMap.html +5 -5
  101. package/docs/functions/optUnwrap.html +2 -2
  102. package/docs/functions/panic.html +1 -1
  103. package/docs/functions/placeOrder.html +1 -0
  104. package/docs/functions/queryAction.html +6 -0
  105. package/docs/functions/queryBlock.html +6 -0
  106. package/docs/functions/queryLastNBlocks.html +5 -0
  107. package/docs/functions/queryPrometheus.html +6 -0
  108. package/docs/functions/queryRecentActions.html +6 -0
  109. package/docs/functions/queryRecentBlocks.html +6 -0
  110. package/docs/functions/revokeSession.html +1 -0
  111. package/docs/functions/shortenPublicKey.html +5 -0
  112. package/docs/functions/signAction.html +2 -2
  113. package/docs/functions/toBN.html +5 -0
  114. package/docs/functions/toScaledU128.html +5 -5
  115. package/docs/functions/toScaledU64.html +5 -5
  116. package/docs/functions/transfer.html +1 -0
  117. package/docs/functions/withdraw.html +1 -0
  118. package/docs/hierarchy.html +1 -0
  119. package/docs/index.html +39 -20
  120. package/docs/interfaces/Account.html +8 -8
  121. package/docs/interfaces/ActionInfo.html +8 -8
  122. package/docs/interfaces/ActionNonceResponse.html +3 -0
  123. package/docs/interfaces/ActionQuery.html +4 -4
  124. package/docs/interfaces/ActionResponse.html +8 -8
  125. package/docs/interfaces/ActionsExtendedInfo.html +10 -10
  126. package/docs/interfaces/ActionsQuery.html +5 -5
  127. package/docs/interfaces/ActionsResponse.html +6 -6
  128. package/docs/interfaces/AggregateMetrics.html +12 -12
  129. package/docs/interfaces/BlockFacts.html +10 -0
  130. package/docs/interfaces/BlockQuery.html +6 -6
  131. package/docs/interfaces/BlockResponse.html +6 -6
  132. package/docs/interfaces/BlockSummary.html +8 -8
  133. package/docs/interfaces/BlockSummaryResponse.html +6 -6
  134. package/docs/interfaces/DeltaEvent.html +6 -6
  135. package/docs/interfaces/DepositSplParams.html +10 -0
  136. package/docs/interfaces/Info.html +3 -3
  137. package/docs/interfaces/Market.html +8 -6
  138. package/docs/interfaces/MarketStats.html +7 -7
  139. package/docs/interfaces/MarketsStatsResponse.html +2 -2
  140. package/docs/interfaces/NordConfig.html +14 -5
  141. package/docs/interfaces/NordWebSocketClientEvents.html +4 -0
  142. package/docs/interfaces/NordWebSocketEvents.html +8 -0
  143. package/docs/interfaces/Order.html +6 -6
  144. package/docs/interfaces/OrderInfo.html +6 -6
  145. package/docs/interfaces/OrderbookEntry.html +4 -0
  146. package/docs/interfaces/OrderbookQuery.html +6 -0
  147. package/docs/interfaces/OrderbookResponse.html +6 -0
  148. package/docs/interfaces/OrderbookSubscription.html +159 -0
  149. package/docs/interfaces/PerpMarketStats.html +5 -5
  150. package/docs/interfaces/RollmanActionExtendedInfo.html +4 -4
  151. package/docs/interfaces/RollmanActionInfo.html +4 -4
  152. package/docs/interfaces/RollmanActionResponse.html +4 -4
  153. package/docs/interfaces/RollmanActionsResponse.html +2 -2
  154. package/docs/interfaces/RollmanBlockResponse.html +3 -3
  155. package/docs/interfaces/SPLTokenInfo.html +10 -0
  156. package/docs/interfaces/SolanaBridgeConfig.html +10 -0
  157. package/docs/interfaces/StateFacts.html +10 -0
  158. package/docs/interfaces/SubscriberConfig.html +3 -3
  159. package/docs/interfaces/TimestampResponse.html +3 -0
  160. package/docs/interfaces/Token.html +5 -5
  161. package/docs/interfaces/TokenInfo.html +5 -0
  162. package/docs/interfaces/Trade.html +5 -5
  163. package/docs/interfaces/TradeSubscription.html +159 -0
  164. package/docs/interfaces/Trades.html +5 -5
  165. package/docs/interfaces/TradesQuery.html +6 -0
  166. package/docs/interfaces/TradesResponse.html +7 -0
  167. package/docs/interfaces/TransferParams.html +8 -0
  168. package/docs/interfaces/UserAccountIdsQuery.html +3 -0
  169. package/docs/interfaces/UserAccountIdsResponse.html +3 -0
  170. package/docs/interfaces/WebSocketDeltaUpdate.html +9 -0
  171. package/docs/interfaces/WebSocketSubscription.html +4 -0
  172. package/docs/interfaces/WebSocketTradeUpdate.html +6 -0
  173. package/docs/interfaces/WebSocketUserUpdate.html +6 -0
  174. package/docs/interfaces/WithdrawalClaim.html +14 -0
  175. package/docs/interfaces/WithdrawalParams.html +8 -0
  176. package/docs/modules.html +1 -70
  177. package/docs/types/BigIntValue.html +2 -2
  178. package/docs/types/WebSocketMessage.html +1 -0
  179. package/docs/variables/DEBUG_KEYS.html +1 -1
  180. package/docs/variables/DEFAULT_FUNDING_AMOUNTS.html +1 -1
  181. package/docs/variables/DEV_TOKEN_INFOS.html +1 -1
  182. package/docs/variables/DEV_URL.html +1 -1
  183. package/docs/variables/MAX_BUFFER_LEN.html +1 -1
  184. package/docs/variables/SESSION_TTL.html +1 -1
  185. package/docs/variables/WEBSERVER_DEV_URL.html +1 -1
  186. package/docs/variables/ZERO_DECIMAL.html +1 -1
  187. package/docs/variables/_private.html +2 -0
  188. package/eslint.config.mjs +66 -0
  189. package/package.json +12 -13
  190. package/src/bridge/client.ts +10 -10
  191. package/src/bridge/const.ts +24 -24
  192. package/src/bridge/index.ts +4 -4
  193. package/src/bridge/types.ts +10 -10
  194. package/src/bridge/utils.ts +14 -14
  195. package/src/const.ts +18 -18
  196. package/src/gen/nord.ts +1 -4
  197. package/src/idl/bridge.ts +186 -186
  198. package/src/index.ts +8 -8
  199. package/src/nord/api/actions.ts +25 -25
  200. package/src/nord/api/core.ts +16 -16
  201. package/src/nord/api/market.ts +15 -15
  202. package/src/nord/api/metrics.ts +16 -16
  203. package/src/nord/api/queries.ts +12 -12
  204. package/src/nord/client/Nord.ts +27 -27
  205. package/src/nord/client/NordUser.ts +59 -63
  206. package/src/nord/index.ts +9 -9
  207. package/src/nord/models/Subscriber.ts +11 -12
  208. package/src/nord/utils/NordError.ts +2 -2
  209. package/src/types.ts +12 -12
  210. package/src/utils.ts +20 -20
  211. package/src/websocket/NordWebSocketClient.ts +42 -42
  212. package/src/websocket/events.ts +1 -1
  213. package/src/websocket/index.ts +2 -2
  214. package/tests/utils.spec.ts +24 -24
  215. package/tsconfig.eslint.json +12 -0
  216. package/.eslintignore +0 -1
  217. package/.eslintrc.js +0 -31
  218. package/dist/abis/ERC20_ABI.d.ts +0 -39
  219. package/dist/abis/ERC20_ABI.js +0 -313
  220. package/dist/abis/NORD_GETTERS_FACET_ABI.d.ts +0 -34
  221. package/dist/abis/NORD_GETTERS_FACET_ABI.js +0 -195
  222. package/dist/abis/NORD_RAMP_FACET_ABI.d.ts +0 -35
  223. package/dist/abis/NORD_RAMP_FACET_ABI.js +0 -144
  224. package/dist/abis/index.d.ts +0 -3
  225. package/dist/abis/index.js +0 -9
  226. package/dist/bridge/NordUser.d.ts +0 -78
  227. package/dist/bridge/NordUser.js +0 -196
  228. package/dist/client.d.ts +0 -70
  229. package/dist/client.js +0 -129
  230. package/dist/constants/endpoints.d.ts +0 -65
  231. package/dist/constants/endpoints.js +0 -68
  232. package/dist/models/account.d.ts +0 -58
  233. package/dist/models/account.js +0 -6
  234. package/dist/models/index.d.ts +0 -8
  235. package/dist/models/index.js +0 -28
  236. package/dist/models/market.d.ts +0 -137
  237. package/dist/models/market.js +0 -6
  238. package/dist/models/order.d.ts +0 -211
  239. package/dist/models/order.js +0 -6
  240. package/dist/models/token.d.ts +0 -50
  241. package/dist/models/token.js +0 -6
  242. package/dist/nord/Nord.d.ts +0 -249
  243. package/dist/nord/Nord.js +0 -388
  244. package/dist/nord/NordError.d.ts +0 -23
  245. package/dist/nord/NordError.js +0 -48
  246. package/dist/nord/NordImpl.d.ts +0 -11
  247. package/dist/nord/NordImpl.js +0 -26
  248. package/dist/nord/NordUser.d.ts +0 -243
  249. package/dist/nord/NordUser.js +0 -481
  250. package/dist/nord/Subscriber.d.ts +0 -37
  251. package/dist/nord/Subscriber.js +0 -29
  252. package/dist/nord/actions.d.ts +0 -101
  253. package/dist/nord/actions.js +0 -254
  254. package/dist/nord/api/index.d.ts +0 -1
  255. package/dist/nord/api/index.js +0 -17
  256. package/dist/nord/api/orderFunctions.d.ts +0 -168
  257. package/dist/nord/api/orderFunctions.js +0 -133
  258. package/dist/nord/core.d.ts +0 -48
  259. package/dist/nord/core.js +0 -97
  260. package/dist/nord/market.d.ts +0 -36
  261. package/dist/nord/market.js +0 -90
  262. package/dist/nord/metrics.d.ts +0 -67
  263. package/dist/nord/metrics.js +0 -124
  264. package/dist/nord/queries.d.ts +0 -81
  265. package/dist/nord/queries.js +0 -181
  266. package/dist/nord/types.d.ts +0 -88
  267. package/dist/nord/types.js +0 -2
  268. package/dist/nord/websocket.d.ts +0 -49
  269. package/dist/nord/websocket.js +0 -107
  270. package/dist/operations/account.d.ts +0 -58
  271. package/dist/operations/account.js +0 -112
  272. package/dist/operations/market.d.ts +0 -65
  273. package/dist/operations/market.js +0 -131
  274. package/dist/operations/orders.d.ts +0 -57
  275. package/dist/operations/orders.js +0 -129
  276. package/dist/solana/NordUser.d.ts +0 -78
  277. package/dist/solana/NordUser.js +0 -196
  278. package/dist/solana/client.d.ts +0 -139
  279. package/dist/solana/client.js +0 -360
  280. package/dist/solana/const.d.ts +0 -23
  281. package/dist/solana/const.js +0 -47
  282. package/dist/solana/index.d.ts +0 -5
  283. package/dist/solana/index.js +0 -23
  284. package/dist/solana/types.d.ts +0 -118
  285. package/dist/solana/types.js +0 -16
  286. package/dist/solana/utils.d.ts +0 -64
  287. package/dist/solana/utils.js +0 -131
  288. package/dist/types/api.d.ts +0 -152
  289. package/dist/types/api.js +0 -6
  290. package/dist/types/config.d.ts +0 -34
  291. package/dist/types/config.js +0 -6
  292. package/dist/utils/errors.d.ts +0 -96
  293. package/dist/utils/errors.js +0 -132
  294. package/dist/utils/http.d.ts +0 -35
  295. package/dist/utils/http.js +0 -105
  296. package/dist/websocket/client.d.ts +0 -93
  297. package/dist/websocket/client.js +0 -222
  298. package/dist/websocket.d.ts +0 -55
  299. package/dist/websocket.js +0 -211
  300. package/docs/interfaces/ERC20TokenInfo.html +0 -5
  301. package/docs/variables/DEV_CONTRACT_ADDRESS.html +0 -1
  302. package/docs/variables/ERC20_ABI.html +0 -1
  303. package/docs/variables/EVM_DEV_URL.html +0 -1
  304. package/docs/variables/FAUCET_PRIVATE_ADDRESS.html +0 -1
  305. package/docs/variables/NORD_GETTERS_FACET_ABI.html +0 -1
  306. package/docs/variables/NORD_RAMP_FACET_ABI.html +0 -1
@@ -1,249 +0,0 @@
1
- import { Account, ActionQuery, ActionResponse, ActionsResponse, AggregateMetrics, BlockQuery, BlockResponse, BlockSummaryResponse, Info, Market, MarketsStatsResponse, NordConfig, OrderbookQuery, OrderbookResponse, PeakTpsPeriodUnit, RollmanActionResponse, RollmanActionsResponse, RollmanBlockResponse, Token, TokenInfo, TradesQuery, TradesResponse, UserAccountIdsQuery, UserAccountIdsResponse } from "../types";
2
- import { NordWebSocketClient } from "../websocket/index";
3
- import { OrderbookSubscription, TradeSubscription } from "./Subscriber";
4
- /**
5
- * Main Nord client class for interacting with the Nord API
6
- */
7
- export declare class Nord {
8
- /** Base URL for the Nord web server */
9
- readonly webServerUrl: string;
10
- /** Token information */
11
- readonly tokenInfos: TokenInfo[];
12
- /** Solana program ID */
13
- readonly solanaProgramId?: string;
14
- /** Solana RPC URL */
15
- readonly solanaUrl?: string;
16
- /** Available markets */
17
- markets: Market[];
18
- /** Available tokens */
19
- tokens: Token[];
20
- /** WebSocket client for real-time updates */
21
- private readonly ws;
22
- /**
23
- * Create a new Nord client instance
24
- *
25
- * @param config - Configuration options for the Nord client
26
- * @throws {Error} If required configuration is missing
27
- */
28
- constructor({ webServerUrl, tokenInfos, solanaProgramId, solanaUrl, }: NordConfig);
29
- /**
30
- * Get the current timestamp from the Nord server
31
- *
32
- * @returns Current timestamp as a bigint
33
- * @throws {NordError} If the request fails
34
- */
35
- getTimestamp(): Promise<bigint>;
36
- /**
37
- * Get the next action nonce from the Nord server
38
- *
39
- * @returns Next action nonce
40
- * @throws {NordError} If the request fails
41
- */
42
- getActionNonce(): Promise<number>;
43
- /**
44
- * Fetch information about Nord markets and tokens
45
- *
46
- * @throws {NordError} If the request fails
47
- */
48
- fetchNordInfo(): Promise<void>;
49
- /**
50
- * Initialize a new Nord client
51
- *
52
- * @param nordConfig - Configuration options for the Nord client
53
- * @returns Initialized Nord client
54
- * @throws {NordError} If initialization fails
55
- */
56
- static initNord(nordConfig: NordConfig): Promise<Nord>;
57
- /**
58
- * Get market statistics
59
- *
60
- * @returns Market statistics response
61
- * @throws {NordError} If the request fails
62
- */
63
- marketsStats(): Promise<MarketsStatsResponse>;
64
- /**
65
- * Query a specific block
66
- *
67
- * @param query - Block query parameters
68
- * @returns Block response
69
- * @throws {NordError} If the request fails
70
- */
71
- queryBlock(query: BlockQuery): Promise<BlockResponse>;
72
- /**
73
- * Query the last N blocks
74
- *
75
- * @returns Block response for the last N blocks
76
- * @throws {NordError} If the request fails
77
- */
78
- queryLastNBlocks(): Promise<BlockResponse>;
79
- /**
80
- * Query recent blocks
81
- *
82
- * @param last_n - Number of recent blocks to query
83
- * @returns Block summary response
84
- * @throws {NordError} If the request fails
85
- */
86
- queryRecentBlocks(last_n: number): Promise<BlockSummaryResponse>;
87
- /**
88
- * Query a specific action
89
- *
90
- * @param query - Action query parameters
91
- * @returns Action response
92
- * @throws {NordError} If the request fails
93
- */
94
- queryAction(query: ActionQuery): Promise<ActionResponse>;
95
- /**
96
- * Query recent actions
97
- *
98
- * @param last_n - Number of recent actions to query
99
- * @returns Actions response
100
- * @throws {NordError} If the request fails
101
- */
102
- queryRecentActions(last_n: number): Promise<ActionsResponse>;
103
- /**
104
- * Fetch aggregate metrics from the Nord API
105
- *
106
- * @param txPeakTpsPeriod - Period for peak TPS calculation
107
- * @param txPeakTpsPeriodUnit - Unit for peak TPS period
108
- * @returns Aggregate metrics
109
- * @throws {NordError} If the request fails
110
- */
111
- aggregateMetrics(txPeakTpsPeriod?: number, txPeakTpsPeriodUnit?: PeakTpsPeriodUnit): Promise<AggregateMetrics>;
112
- /**
113
- * Get current transactions per second
114
- *
115
- * @param period - Time period for the query
116
- * @returns Current TPS value
117
- * @throws {NordError} If the request fails
118
- */
119
- getCurrentTps(period?: string): Promise<any>;
120
- /**
121
- * Get peak transactions per second
122
- *
123
- * @param period - Time period for the query
124
- * @returns Peak TPS value
125
- * @throws {NordError} If the request fails
126
- */
127
- getPeakTps(period?: string): Promise<any>;
128
- /**
129
- * Get median transaction latency
130
- *
131
- * @param period - Time period for the query
132
- * @returns Median latency in milliseconds
133
- * @throws {NordError} If the request fails
134
- */
135
- getMedianLatency(period?: string): Promise<any>;
136
- /**
137
- * Get total transaction count
138
- *
139
- * @returns Total transaction count
140
- * @throws {NordError} If the request fails
141
- */
142
- getTotalTransactions(): Promise<any>;
143
- /**
144
- * Query a block from Rollman
145
- *
146
- * @param query - Block query parameters
147
- * @returns Rollman block response
148
- * @throws {NordError} If the request fails
149
- */
150
- blockQueryRollman(query: BlockQuery): Promise<RollmanBlockResponse>;
151
- /**
152
- * Query block summaries from Rollman
153
- *
154
- * @param last_n - Number of recent blocks to query
155
- * @returns Block summary response
156
- * @throws {NordError} If the request fails
157
- */
158
- blockSummaryQueryRollman(last_n: number): Promise<BlockSummaryResponse>;
159
- /**
160
- * Query an action from Rollman
161
- *
162
- * @param query - Action query parameters
163
- * @returns Rollman action response
164
- * @throws {NordError} If the request fails
165
- */
166
- actionQueryRollman(query: ActionQuery): Promise<RollmanActionResponse>;
167
- /**
168
- * Query actions from Rollman
169
- *
170
- * @param last_n - Number of recent actions to query
171
- * @returns Rollman actions response
172
- * @throws {NordError} If the request fails
173
- */
174
- actionsQueryRollman(last_n: number): Promise<RollmanActionsResponse>;
175
- /**
176
- * Query Prometheus metrics
177
- *
178
- * @param params - Prometheus query parameters
179
- * @returns Query result as a number
180
- * @throws {NordError} If the request fails
181
- */
182
- queryPrometheus(params: string): Promise<number>;
183
- /**
184
- * Get the WebSocket client
185
- *
186
- * @returns WebSocket client
187
- */
188
- getWebSocketClient(): NordWebSocketClient;
189
- /**
190
- * Subscribe to orderbook updates for a market
191
- *
192
- * @param symbol - Market symbol
193
- * @returns Orderbook subscription
194
- */
195
- subscribeOrderbook(symbol: string): OrderbookSubscription;
196
- /**
197
- * Subscribe to trade updates for a market
198
- *
199
- * @param symbol - Market symbol
200
- * @returns Trade subscription
201
- */
202
- subscribeTrades(symbol: string): TradeSubscription;
203
- /**
204
- * Get trades for a market
205
- *
206
- * @param query - Trades query parameters
207
- * @returns Trades response
208
- * @throws {NordError} If the request fails
209
- */
210
- getTrades(query: TradesQuery): Promise<TradesResponse>;
211
- /**
212
- * Get user account IDs
213
- *
214
- * @param query - User account IDs query parameters
215
- * @returns User account IDs response
216
- * @throws {NordError} If the request fails
217
- */
218
- getUserAccountIds(query: UserAccountIdsQuery): Promise<UserAccountIdsResponse>;
219
- /**
220
- * Get orderbook for a market
221
- *
222
- * @param query - Orderbook query parameters
223
- * @returns Orderbook response
224
- * @throws {NordError} If the request fails
225
- */
226
- getOrderbook(query: OrderbookQuery): Promise<OrderbookResponse>;
227
- /**
228
- * Get information about the Nord server
229
- *
230
- * @returns Information about markets and tokens
231
- * @throws {NordError} If the request fails
232
- */
233
- getInfo(): Promise<Info>;
234
- /**
235
- * Get account information
236
- *
237
- * @param accountId - Account ID to get information for
238
- * @returns Account information
239
- * @throws {NordError} If the request fails
240
- */
241
- getAccount(accountId: number): Promise<Account>;
242
- /**
243
- * Get market statistics (alias for marketsStats for backward compatibility)
244
- *
245
- * @deprecated Use marketsStats instead
246
- * @returns Market statistics response
247
- */
248
- getMarketStats(): Promise<MarketsStatsResponse>;
249
- }
package/dist/nord/Nord.js DELETED
@@ -1,388 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Nord = void 0;
37
- const events_1 = require("events");
38
- const types_1 = require("../types");
39
- const NordError_1 = require("./NordError");
40
- const core = __importStar(require("./core"));
41
- const metrics = __importStar(require("./metrics"));
42
- const queries = __importStar(require("./queries"));
43
- const market = __importStar(require("./market"));
44
- /**
45
- * Main Nord client class for interacting with the Nord API
46
- */
47
- class Nord {
48
- /**
49
- * Create a new Nord client instance
50
- *
51
- * @param config - Configuration options for the Nord client
52
- * @throws {Error} If required configuration is missing
53
- */
54
- constructor({ webServerUrl, tokenInfos, solanaProgramId, solanaUrl, }) {
55
- /** Available markets */
56
- this.markets = [];
57
- /** Available tokens */
58
- this.tokens = [];
59
- if (!webServerUrl) {
60
- throw new NordError_1.NordError("webServerUrl is required");
61
- }
62
- this.webServerUrl = webServerUrl;
63
- this.tokenInfos = tokenInfos || [];
64
- this.solanaProgramId = solanaProgramId;
65
- this.solanaUrl = solanaUrl;
66
- // Initialize WebSocket client
67
- this.ws = core.initWebSocketClient(webServerUrl);
68
- }
69
- /**
70
- * Get the current timestamp from the Nord server
71
- *
72
- * @returns Current timestamp as a bigint
73
- * @throws {NordError} If the request fails
74
- */
75
- async getTimestamp() {
76
- return core.getTimestamp(this.webServerUrl);
77
- }
78
- /**
79
- * Get the next action nonce from the Nord server
80
- *
81
- * @returns Next action nonce
82
- * @throws {NordError} If the request fails
83
- */
84
- async getActionNonce() {
85
- return core.getActionNonce(this.webServerUrl);
86
- }
87
- /**
88
- * Fetch information about Nord markets and tokens
89
- *
90
- * @throws {NordError} If the request fails
91
- */
92
- async fetchNordInfo() {
93
- try {
94
- const info = await core.getInfo(this.webServerUrl);
95
- this.markets = info.markets;
96
- this.tokens = info.tokens;
97
- }
98
- catch (error) {
99
- throw new NordError_1.NordError("Failed to fetch Nord info", { cause: error });
100
- }
101
- }
102
- /**
103
- * Initialize a new Nord client
104
- *
105
- * @param nordConfig - Configuration options for the Nord client
106
- * @returns Initialized Nord client
107
- * @throws {NordError} If initialization fails
108
- */
109
- static async initNord(nordConfig) {
110
- const nord = new Nord(nordConfig);
111
- await nord.fetchNordInfo();
112
- return nord;
113
- }
114
- /**
115
- * Get market statistics
116
- *
117
- * @returns Market statistics response
118
- * @throws {NordError} If the request fails
119
- */
120
- async marketsStats() {
121
- return market.marketsStats(this.webServerUrl);
122
- }
123
- /**
124
- * Query a specific block
125
- *
126
- * @param query - Block query parameters
127
- * @returns Block response
128
- * @throws {NordError} If the request fails
129
- */
130
- async queryBlock(query) {
131
- return queries.queryBlock(this.webServerUrl, query);
132
- }
133
- /**
134
- * Query the last N blocks
135
- *
136
- * @returns Block response for the last N blocks
137
- * @throws {NordError} If the request fails
138
- */
139
- async queryLastNBlocks() {
140
- return queries.queryLastNBlocks(this.webServerUrl);
141
- }
142
- /**
143
- * Query recent blocks
144
- *
145
- * @param last_n - Number of recent blocks to query
146
- * @returns Block summary response
147
- * @throws {NordError} If the request fails
148
- */
149
- async queryRecentBlocks(last_n) {
150
- return queries.queryRecentBlocks(this.webServerUrl, last_n);
151
- }
152
- /**
153
- * Query a specific action
154
- *
155
- * @param query - Action query parameters
156
- * @returns Action response
157
- * @throws {NordError} If the request fails
158
- */
159
- async queryAction(query) {
160
- return queries.queryAction(this.webServerUrl, query);
161
- }
162
- /**
163
- * Query recent actions
164
- *
165
- * @param last_n - Number of recent actions to query
166
- * @returns Actions response
167
- * @throws {NordError} If the request fails
168
- */
169
- async queryRecentActions(last_n) {
170
- return queries.queryRecentActions(this.webServerUrl, last_n);
171
- }
172
- /**
173
- * Fetch aggregate metrics from the Nord API
174
- *
175
- * @param txPeakTpsPeriod - Period for peak TPS calculation
176
- * @param txPeakTpsPeriodUnit - Unit for peak TPS period
177
- * @returns Aggregate metrics
178
- * @throws {NordError} If the request fails
179
- */
180
- async aggregateMetrics(txPeakTpsPeriod = 1, txPeakTpsPeriodUnit = types_1.PeakTpsPeriodUnit.Day) {
181
- return metrics.aggregateMetrics(this.webServerUrl, txPeakTpsPeriod, txPeakTpsPeriodUnit);
182
- }
183
- /**
184
- * Get current transactions per second
185
- *
186
- * @param period - Time period for the query
187
- * @returns Current TPS value
188
- * @throws {NordError} If the request fails
189
- */
190
- async getCurrentTps(period = "1m") {
191
- return metrics.getCurrentTps(this.webServerUrl, period);
192
- }
193
- /**
194
- * Get peak transactions per second
195
- *
196
- * @param period - Time period for the query
197
- * @returns Peak TPS value
198
- * @throws {NordError} If the request fails
199
- */
200
- async getPeakTps(period = "24h") {
201
- return metrics.getPeakTps(this.webServerUrl, period);
202
- }
203
- /**
204
- * Get median transaction latency
205
- *
206
- * @param period - Time period for the query
207
- * @returns Median latency in milliseconds
208
- * @throws {NordError} If the request fails
209
- */
210
- async getMedianLatency(period = "1m") {
211
- return metrics.getMedianLatency(this.webServerUrl, period);
212
- }
213
- /**
214
- * Get total transaction count
215
- *
216
- * @returns Total transaction count
217
- * @throws {NordError} If the request fails
218
- */
219
- async getTotalTransactions() {
220
- return metrics.getTotalTransactions(this.webServerUrl);
221
- }
222
- /**
223
- * Query a block from Rollman
224
- *
225
- * @param query - Block query parameters
226
- * @returns Rollman block response
227
- * @throws {NordError} If the request fails
228
- */
229
- async blockQueryRollman(query) {
230
- return queries.blockQueryRollman(this.webServerUrl, query);
231
- }
232
- /**
233
- * Query block summaries from Rollman
234
- *
235
- * @param last_n - Number of recent blocks to query
236
- * @returns Block summary response
237
- * @throws {NordError} If the request fails
238
- */
239
- async blockSummaryQueryRollman(last_n) {
240
- return queries.blockSummaryQueryRollman(this.webServerUrl, last_n);
241
- }
242
- /**
243
- * Query an action from Rollman
244
- *
245
- * @param query - Action query parameters
246
- * @returns Rollman action response
247
- * @throws {NordError} If the request fails
248
- */
249
- async actionQueryRollman(query) {
250
- return queries.actionQueryRollman(this.webServerUrl, query);
251
- }
252
- /**
253
- * Query actions from Rollman
254
- *
255
- * @param last_n - Number of recent actions to query
256
- * @returns Rollman actions response
257
- * @throws {NordError} If the request fails
258
- */
259
- async actionsQueryRollman(last_n) {
260
- return queries.actionsQueryRollman(this.webServerUrl, last_n);
261
- }
262
- /**
263
- * Query Prometheus metrics
264
- *
265
- * @param params - Prometheus query parameters
266
- * @returns Query result as a number
267
- * @throws {NordError} If the request fails
268
- */
269
- async queryPrometheus(params) {
270
- return metrics.queryPrometheus(this.webServerUrl, params);
271
- }
272
- /**
273
- * Get the WebSocket client
274
- *
275
- * @returns WebSocket client
276
- */
277
- getWebSocketClient() {
278
- return this.ws;
279
- }
280
- /**
281
- * Subscribe to orderbook updates for a market
282
- *
283
- * @param symbol - Market symbol
284
- * @returns Orderbook subscription
285
- */
286
- subscribeOrderbook(symbol) {
287
- const subscription = new events_1.EventEmitter();
288
- const handleDelta = (update) => {
289
- if (update.market_symbol === symbol) {
290
- subscription.emit("message", {
291
- asks: update.asks,
292
- bids: update.bids,
293
- market_symbol: update.market_symbol,
294
- last_update_id: update.last_update_id,
295
- });
296
- }
297
- };
298
- this.ws.on("delta", handleDelta);
299
- this.ws.subscribe([`deltas@${symbol}`]);
300
- subscription.close = () => {
301
- this.ws.unsubscribe([`deltas@${symbol}`]);
302
- this.ws.removeAllListeners("delta");
303
- subscription.removeAllListeners();
304
- };
305
- return subscription;
306
- }
307
- /**
308
- * Subscribe to trade updates for a market
309
- *
310
- * @param symbol - Market symbol
311
- * @returns Trade subscription
312
- */
313
- subscribeTrades(symbol) {
314
- const subscription = new events_1.EventEmitter();
315
- const handleTrade = (update) => {
316
- if (update.market_symbol === symbol) {
317
- subscription.emit("message", update.trades);
318
- }
319
- };
320
- this.ws.on("trade", handleTrade);
321
- this.ws.subscribe([`trades@${symbol}`]);
322
- subscription.close = () => {
323
- this.ws.unsubscribe([`trades@${symbol}`]);
324
- this.ws.removeAllListeners("trade");
325
- subscription.removeAllListeners();
326
- };
327
- return subscription;
328
- }
329
- /**
330
- * Get trades for a market
331
- *
332
- * @param query - Trades query parameters
333
- * @returns Trades response
334
- * @throws {NordError} If the request fails
335
- */
336
- async getTrades(query) {
337
- return market.getTrades(this.webServerUrl, query);
338
- }
339
- /**
340
- * Get user account IDs
341
- *
342
- * @param query - User account IDs query parameters
343
- * @returns User account IDs response
344
- * @throws {NordError} If the request fails
345
- */
346
- async getUserAccountIds(query) {
347
- return market.getUserAccountIds(this.webServerUrl, query);
348
- }
349
- /**
350
- * Get orderbook for a market
351
- *
352
- * @param query - Orderbook query parameters
353
- * @returns Orderbook response
354
- * @throws {NordError} If the request fails
355
- */
356
- async getOrderbook(query) {
357
- return market.getOrderbook(this.webServerUrl, query);
358
- }
359
- /**
360
- * Get information about the Nord server
361
- *
362
- * @returns Information about markets and tokens
363
- * @throws {NordError} If the request fails
364
- */
365
- async getInfo() {
366
- return core.getInfo(this.webServerUrl);
367
- }
368
- /**
369
- * Get account information
370
- *
371
- * @param accountId - Account ID to get information for
372
- * @returns Account information
373
- * @throws {NordError} If the request fails
374
- */
375
- async getAccount(accountId) {
376
- return core.getAccount(this.webServerUrl, accountId);
377
- }
378
- /**
379
- * Get market statistics (alias for marketsStats for backward compatibility)
380
- *
381
- * @deprecated Use marketsStats instead
382
- * @returns Market statistics response
383
- */
384
- async getMarketStats() {
385
- return this.marketsStats();
386
- }
387
- }
388
- exports.Nord = Nord;
@@ -1,23 +0,0 @@
1
- /**
2
- * Custom error class for Nord-related errors
3
- * Extends the standard Error class with additional context
4
- */
5
- export declare class NordError extends Error {
6
- /** The original error that caused this error, if any */
7
- readonly cause?: unknown;
8
- /**
9
- * Create a new NordError
10
- *
11
- * @param message - Error message
12
- * @param options - Additional error options
13
- */
14
- constructor(message: string, options?: {
15
- cause?: unknown;
16
- });
17
- /**
18
- * Get a string representation of the error including the cause if available
19
- *
20
- * @returns String representation of the error
21
- */
22
- toString(): string;
23
- }
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NordError = void 0;
4
- /**
5
- * Custom error class for Nord-related errors
6
- * Extends the standard Error class with additional context
7
- */
8
- class NordError extends Error {
9
- /**
10
- * Create a new NordError
11
- *
12
- * @param message - Error message
13
- * @param options - Additional error options
14
- */
15
- constructor(message, options) {
16
- super(message);
17
- // Set the prototype explicitly to ensure instanceof works correctly
18
- Object.setPrototypeOf(this, NordError.prototype);
19
- // Set the name to the class name for better error messages
20
- this.name = 'NordError';
21
- // Store the cause if provided
22
- if (options?.cause) {
23
- this.cause = options.cause;
24
- }
25
- // Capture stack trace
26
- if (Error.captureStackTrace) {
27
- Error.captureStackTrace(this, NordError);
28
- }
29
- }
30
- /**
31
- * Get a string representation of the error including the cause if available
32
- *
33
- * @returns String representation of the error
34
- */
35
- toString() {
36
- let result = `${this.name}: ${this.message}`;
37
- if (this.cause) {
38
- if (this.cause instanceof Error) {
39
- result += `\nCaused by: ${this.cause.toString()}`;
40
- }
41
- else {
42
- result += `\nCaused by: ${String(this.cause)}`;
43
- }
44
- }
45
- return result;
46
- }
47
- }
48
- exports.NordError = NordError;