@n1xyz/nord-ts 0.0.1 → 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 (260) hide show
  1. package/README.md +148 -65
  2. package/dist/bridge/client.d.ts +150 -0
  3. package/dist/bridge/client.js +394 -0
  4. package/dist/bridge/const.d.ts +23 -0
  5. package/dist/bridge/const.js +47 -0
  6. package/dist/bridge/index.d.ts +5 -0
  7. package/dist/bridge/index.js +23 -0
  8. package/dist/bridge/types.d.ts +118 -0
  9. package/dist/bridge/types.js +16 -0
  10. package/dist/bridge/utils.d.ts +64 -0
  11. package/dist/bridge/utils.js +131 -0
  12. package/dist/const.d.ts +2 -5
  13. package/dist/const.js +2 -6
  14. package/dist/gen/common.d.ts +6 -1
  15. package/dist/gen/common.js +19 -9
  16. package/dist/gen/nord.d.ts +76 -21
  17. package/dist/gen/nord.js +987 -423
  18. package/dist/idl/bridge.d.ts +2 -0
  19. package/dist/idl/bridge.js +703 -0
  20. package/dist/index.d.ts +5 -2
  21. package/dist/index.js +18 -2
  22. package/dist/nord/{actions.d.ts → api/actions.d.ts} +6 -6
  23. package/dist/nord/{actions.js → api/actions.js} +6 -10
  24. package/dist/nord/api/core.d.ts +49 -0
  25. package/dist/nord/api/core.js +121 -0
  26. package/dist/nord/api/market.d.ts +36 -0
  27. package/dist/nord/api/market.js +98 -0
  28. package/dist/nord/api/metrics.d.ts +67 -0
  29. package/dist/nord/api/metrics.js +132 -0
  30. package/dist/nord/api/queries.d.ts +81 -0
  31. package/dist/nord/api/queries.js +187 -0
  32. package/dist/nord/client/Nord.d.ts +335 -0
  33. package/dist/nord/client/Nord.js +532 -0
  34. package/dist/nord/client/NordUser.d.ts +320 -0
  35. package/dist/nord/client/NordUser.js +697 -0
  36. package/dist/nord/index.d.ts +9 -2
  37. package/dist/nord/index.js +30 -6
  38. package/dist/nord/models/Subscriber.d.ts +37 -0
  39. package/dist/nord/models/Subscriber.js +25 -0
  40. package/dist/nord/utils/NordError.d.ts +35 -0
  41. package/dist/nord/utils/NordError.js +46 -0
  42. package/dist/types.d.ts +143 -86
  43. package/dist/types.js +12 -1
  44. package/dist/utils.d.ts +9 -0
  45. package/dist/utils.js +20 -1
  46. package/dist/websocket/NordWebSocketClient.d.ts +71 -0
  47. package/dist/websocket/NordWebSocketClient.js +343 -0
  48. package/dist/websocket/events.d.ts +19 -0
  49. package/dist/websocket/events.js +2 -0
  50. package/dist/websocket/index.d.ts +2 -0
  51. package/dist/websocket/index.js +5 -0
  52. package/docs/assets/hierarchy.js +1 -0
  53. package/docs/assets/highlight.css +16 -16
  54. package/docs/assets/icons.js +17 -14
  55. package/docs/assets/icons.svg +1 -1
  56. package/docs/assets/main.js +5 -4
  57. package/docs/assets/navigation.js +1 -1
  58. package/docs/assets/search.js +1 -1
  59. package/docs/assets/style.css +1423 -1227
  60. package/docs/classes/Nord.html +189 -43
  61. package/docs/classes/NordError.html +24 -0
  62. package/docs/classes/NordUser.html +120 -35
  63. package/docs/classes/NordWebSocketClient.html +335 -0
  64. package/docs/classes/SolanaBridgeClient.html +86 -0
  65. package/docs/classes/Subscriber.html +10 -6
  66. package/docs/enums/FillMode.html +5 -5
  67. package/docs/enums/KeyType.html +4 -4
  68. package/docs/enums/MetricPeriod.html +9 -0
  69. package/docs/enums/PdaSeedType.html +9 -0
  70. package/docs/enums/PeakTpsPeriodUnit.html +7 -7
  71. package/docs/enums/Side.html +3 -3
  72. package/docs/enums/WebSocketMessageType.html +7 -0
  73. package/docs/functions/actionQueryRollman.html +6 -0
  74. package/docs/functions/actionsQueryRollman.html +6 -0
  75. package/docs/functions/aggregateMetrics-1.html +7 -0
  76. package/docs/functions/assert.html +1 -1
  77. package/docs/functions/bigIntToProtoU128.html +3 -3
  78. package/docs/functions/blockQueryRollman.html +6 -0
  79. package/docs/functions/blockSummaryQueryRollman.html +6 -0
  80. package/docs/functions/bridgeToBN.html +5 -0
  81. package/docs/functions/bufferToHex.html +4 -0
  82. package/docs/functions/cancelOrder.html +1 -0
  83. package/docs/functions/checkPubKeyLength.html +1 -1
  84. package/docs/functions/checkedFetch.html +4 -4
  85. package/docs/functions/createSession.html +1 -0
  86. package/docs/functions/decodeLengthDelimited.html +7 -6
  87. package/docs/functions/encodeLengthDelimited.html +4 -4
  88. package/docs/functions/fillModeToProtoFillMode.html +4 -4
  89. package/docs/functions/findMarket.html +1 -1
  90. package/docs/functions/findPda.html +6 -0
  91. package/docs/functions/findToken.html +1 -1
  92. package/docs/functions/fromBN.html +5 -0
  93. package/docs/functions/getAccount.html +6 -0
  94. package/docs/functions/getActionNonce.html +5 -0
  95. package/docs/functions/getCurrentTps.html +6 -0
  96. package/docs/functions/getInfo.html +5 -0
  97. package/docs/functions/getMedianLatency.html +6 -0
  98. package/docs/functions/getOrderbook.html +6 -0
  99. package/docs/functions/getPeakTps.html +6 -0
  100. package/docs/functions/getTimestamp.html +5 -0
  101. package/docs/functions/getTotalTransactions.html +5 -0
  102. package/docs/functions/getTrades.html +6 -0
  103. package/docs/functions/getUserAccountIds.html +6 -0
  104. package/docs/functions/hexToBuffer.html +4 -0
  105. package/docs/functions/initWebSocketClient.html +12 -0
  106. package/docs/functions/keypairFromPrivateKey.html +4 -0
  107. package/docs/functions/makeSigningFunction.html +4 -0
  108. package/docs/functions/makeWalletSignFn.html +5 -5
  109. package/docs/functions/marketsStats.html +5 -0
  110. package/docs/functions/optExpect.html +4 -4
  111. package/docs/functions/optMap.html +5 -5
  112. package/docs/functions/optUnwrap.html +2 -2
  113. package/docs/functions/panic.html +1 -1
  114. package/docs/functions/placeOrder.html +1 -0
  115. package/docs/functions/queryAction.html +6 -0
  116. package/docs/functions/queryBlock.html +6 -0
  117. package/docs/functions/queryLastNBlocks.html +5 -0
  118. package/docs/functions/queryPrometheus.html +6 -0
  119. package/docs/functions/queryRecentActions.html +6 -0
  120. package/docs/functions/queryRecentBlocks.html +6 -0
  121. package/docs/functions/revokeSession.html +1 -0
  122. package/docs/functions/shortenPublicKey.html +5 -0
  123. package/docs/functions/signAction.html +2 -2
  124. package/docs/functions/toBN.html +5 -0
  125. package/docs/functions/toScaledU128.html +5 -5
  126. package/docs/functions/toScaledU64.html +5 -5
  127. package/docs/functions/transfer.html +1 -0
  128. package/docs/functions/withdraw.html +1 -0
  129. package/docs/hierarchy.html +1 -0
  130. package/docs/index.html +39 -20
  131. package/docs/interfaces/Account.html +8 -8
  132. package/docs/interfaces/ActionInfo.html +8 -8
  133. package/docs/interfaces/ActionNonceResponse.html +3 -0
  134. package/docs/interfaces/ActionQuery.html +4 -4
  135. package/docs/interfaces/ActionResponse.html +8 -8
  136. package/docs/interfaces/ActionsExtendedInfo.html +10 -10
  137. package/docs/interfaces/ActionsQuery.html +5 -5
  138. package/docs/interfaces/ActionsResponse.html +6 -6
  139. package/docs/interfaces/AggregateMetrics.html +12 -12
  140. package/docs/interfaces/BlockFacts.html +10 -0
  141. package/docs/interfaces/BlockQuery.html +6 -6
  142. package/docs/interfaces/BlockResponse.html +6 -6
  143. package/docs/interfaces/BlockSummary.html +8 -8
  144. package/docs/interfaces/BlockSummaryResponse.html +6 -6
  145. package/docs/interfaces/DeltaEvent.html +6 -6
  146. package/docs/interfaces/DepositSplParams.html +10 -0
  147. package/docs/interfaces/Info.html +3 -3
  148. package/docs/interfaces/Market.html +8 -6
  149. package/docs/interfaces/MarketStats.html +7 -7
  150. package/docs/interfaces/MarketsStatsResponse.html +2 -2
  151. package/docs/interfaces/NordConfig.html +14 -5
  152. package/docs/interfaces/NordWebSocketClientEvents.html +4 -0
  153. package/docs/interfaces/NordWebSocketEvents.html +8 -0
  154. package/docs/interfaces/Order.html +6 -6
  155. package/docs/interfaces/OrderInfo.html +6 -6
  156. package/docs/interfaces/OrderbookEntry.html +4 -0
  157. package/docs/interfaces/OrderbookQuery.html +6 -0
  158. package/docs/interfaces/OrderbookResponse.html +6 -10
  159. package/docs/interfaces/OrderbookSubscription.html +159 -0
  160. package/docs/interfaces/PerpMarketStats.html +5 -5
  161. package/docs/interfaces/RollmanActionExtendedInfo.html +4 -4
  162. package/docs/interfaces/RollmanActionInfo.html +4 -4
  163. package/docs/interfaces/RollmanActionResponse.html +4 -4
  164. package/docs/interfaces/RollmanActionsResponse.html +2 -2
  165. package/docs/interfaces/RollmanBlockResponse.html +3 -3
  166. package/docs/interfaces/SPLTokenInfo.html +10 -0
  167. package/docs/interfaces/SolanaBridgeConfig.html +10 -0
  168. package/docs/interfaces/StateFacts.html +10 -0
  169. package/docs/interfaces/SubscriberConfig.html +3 -3
  170. package/docs/interfaces/TimestampResponse.html +3 -0
  171. package/docs/interfaces/Token.html +5 -5
  172. package/docs/interfaces/TokenInfo.html +5 -0
  173. package/docs/interfaces/Trade.html +5 -5
  174. package/docs/interfaces/TradeSubscription.html +159 -0
  175. package/docs/interfaces/Trades.html +5 -5
  176. package/docs/interfaces/TradesQuery.html +6 -0
  177. package/docs/interfaces/TradesResponse.html +7 -12
  178. package/docs/interfaces/TransferParams.html +8 -0
  179. package/docs/interfaces/UserAccountIdsQuery.html +3 -0
  180. package/docs/interfaces/UserAccountIdsResponse.html +3 -0
  181. package/docs/interfaces/WebSocketDeltaUpdate.html +9 -0
  182. package/docs/interfaces/WebSocketSubscription.html +4 -0
  183. package/docs/interfaces/WebSocketTradeUpdate.html +6 -0
  184. package/docs/interfaces/WebSocketUserUpdate.html +6 -0
  185. package/docs/interfaces/WithdrawalClaim.html +14 -0
  186. package/docs/interfaces/WithdrawalParams.html +8 -0
  187. package/docs/modules.html +1 -77
  188. package/docs/types/BigIntValue.html +2 -2
  189. package/docs/types/WebSocketMessage.html +1 -0
  190. package/docs/variables/DEBUG_KEYS.html +1 -1
  191. package/docs/variables/DEFAULT_FUNDING_AMOUNTS.html +1 -1
  192. package/docs/variables/DEV_TOKEN_INFOS.html +1 -1
  193. package/docs/variables/DEV_URL.html +1 -1
  194. package/docs/variables/MAX_BUFFER_LEN.html +1 -1
  195. package/docs/variables/SESSION_TTL.html +1 -1
  196. package/docs/variables/WEBSERVER_DEV_URL.html +1 -1
  197. package/docs/variables/ZERO_DECIMAL.html +1 -1
  198. package/docs/variables/_private.html +2 -0
  199. package/eslint.config.mjs +66 -0
  200. package/package.json +20 -23
  201. package/src/bridge/client.ts +487 -0
  202. package/src/bridge/const.ts +53 -0
  203. package/src/bridge/index.ts +7 -0
  204. package/src/bridge/types.ts +127 -0
  205. package/src/bridge/utils.ts +140 -0
  206. package/src/const.ts +4 -9
  207. package/src/gen/common.ts +27 -10
  208. package/src/gen/nord.ts +1045 -487
  209. package/src/idl/bridge.ts +702 -0
  210. package/src/index.ts +21 -2
  211. package/src/nord/{actions.ts → api/actions.ts} +12 -16
  212. package/src/nord/api/core.ts +130 -0
  213. package/src/nord/api/market.ts +125 -0
  214. package/src/nord/api/metrics.ts +154 -0
  215. package/src/nord/api/queries.ts +236 -0
  216. package/src/nord/client/Nord.ts +652 -0
  217. package/src/nord/client/NordUser.ts +1101 -0
  218. package/src/nord/index.ts +16 -2
  219. package/src/nord/models/Subscriber.ts +56 -0
  220. package/src/nord/utils/NordError.ts +72 -0
  221. package/src/types.ts +163 -92
  222. package/src/utils.ts +22 -1
  223. package/src/websocket/NordWebSocketClient.ts +432 -0
  224. package/src/websocket/events.ts +31 -0
  225. package/src/websocket/index.ts +2 -0
  226. package/tsconfig.eslint.json +12 -0
  227. package/.eslintignore +0 -1
  228. package/.eslintrc.js +0 -20
  229. package/dist/abis/ERC20_ABI.d.ts +0 -39
  230. package/dist/abis/ERC20_ABI.js +0 -313
  231. package/dist/abis/NORD_GETTERS_FACET_ABI.d.ts +0 -34
  232. package/dist/abis/NORD_GETTERS_FACET_ABI.js +0 -195
  233. package/dist/abis/NORD_RAMP_FACET_ABI.d.ts +0 -35
  234. package/dist/abis/NORD_RAMP_FACET_ABI.js +0 -144
  235. package/dist/abis/index.d.ts +0 -3
  236. package/dist/abis/index.js +0 -9
  237. package/dist/nord/Nord.d.ts +0 -76
  238. package/dist/nord/Nord.js +0 -376
  239. package/dist/nord/NordImpl.d.ts +0 -7
  240. package/dist/nord/NordImpl.js +0 -6
  241. package/dist/nord/NordUser.d.ts +0 -77
  242. package/dist/nord/NordUser.js +0 -249
  243. package/docs/functions/createWebSocketSubscription.html +0 -12
  244. package/docs/interfaces/ERC20TokenInfo.html +0 -5
  245. package/docs/interfaces/OrderbookOrder.html +0 -6
  246. package/docs/interfaces/TradeInfo.html +0 -20
  247. package/docs/interfaces/TradesQueryParams.html +0 -10
  248. package/docs/variables/DEV_CONTRACT_ADDRESS.html +0 -1
  249. package/docs/variables/ERC20_ABI.html +0 -1
  250. package/docs/variables/EVM_DEV_URL.html +0 -1
  251. package/docs/variables/FAUCET_PRIVATE_ADDRESS.html +0 -1
  252. package/docs/variables/NORD_GETTERS_FACET_ABI.html +0 -1
  253. package/docs/variables/NORD_RAMP_FACET_ABI.html +0 -1
  254. package/src/abis/ERC20_ABI.ts +0 -310
  255. package/src/abis/NORD_GETTERS_FACET_ABI.ts +0 -192
  256. package/src/abis/NORD_RAMP_FACET_ABI.ts +0 -141
  257. package/src/abis/index.ts +0 -3
  258. package/src/nord/Nord.ts +0 -504
  259. package/src/nord/NordImpl.ts +0 -8
  260. package/src/nord/NordUser.ts +0 -469
@@ -0,0 +1,236 @@
1
+ import {
2
+ ActionQuery,
3
+ ActionResponse,
4
+ ActionsResponse,
5
+ BlockQuery,
6
+ BlockResponse,
7
+ BlockSummaryResponse,
8
+ RollmanActionResponse,
9
+ RollmanActionsResponse,
10
+ RollmanBlockResponse,
11
+ } from "../../types";
12
+ import { checkedFetch } from "../../utils";
13
+ import { NordError } from "../utils/NordError";
14
+
15
+ /**
16
+ * Query a specific block
17
+ *
18
+ * @param webServerUrl - Base URL for the Nord web server
19
+ * @param query - Block query parameters
20
+ * @returns Block response
21
+ * @throws {NordError} If the request fails
22
+ */
23
+ export async function queryBlock(
24
+ webServerUrl: string,
25
+ query: BlockQuery,
26
+ ): Promise<BlockResponse> {
27
+ try {
28
+ const params = new URLSearchParams();
29
+ if (query.block_number !== undefined) {
30
+ params.append("block_height", query.block_number.toString());
31
+ }
32
+
33
+ const response = await checkedFetch(
34
+ `${webServerUrl}/block?${params.toString()}`,
35
+ );
36
+ return await response.json();
37
+ } catch (error) {
38
+ throw new NordError("Failed to query block", { cause: error });
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Query the last N blocks
44
+ *
45
+ * @param webServerUrl - Base URL for the Nord web server
46
+ * @returns Block response for the last N blocks
47
+ * @throws {NordError} If the request fails
48
+ */
49
+ export async function queryLastNBlocks(
50
+ webServerUrl: string,
51
+ ): Promise<BlockResponse> {
52
+ try {
53
+ const response = await checkedFetch(`${webServerUrl}/blocks`);
54
+ return await response.json();
55
+ } catch (error) {
56
+ throw new NordError("Failed to query last N blocks", { cause: error });
57
+ }
58
+ }
59
+
60
+ /**
61
+ * Query recent blocks
62
+ *
63
+ * @param webServerUrl - Base URL for the Nord web server
64
+ * @param last_n - Number of recent blocks to query
65
+ * @returns Block summary response
66
+ * @throws {NordError} If the request fails
67
+ */
68
+ export async function queryRecentBlocks(
69
+ webServerUrl: string,
70
+ last_n: number,
71
+ ): Promise<BlockSummaryResponse> {
72
+ try {
73
+ const response = await checkedFetch(
74
+ `${webServerUrl}/blocks_summary?last_n=${last_n}`,
75
+ );
76
+ return await response.json();
77
+ } catch (error) {
78
+ throw new NordError(`Failed to query recent blocks (last ${last_n})`, {
79
+ cause: error,
80
+ });
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Query a specific action
86
+ *
87
+ * @param webServerUrl - Base URL for the Nord web server
88
+ * @param query - Action query parameters
89
+ * @returns Action response
90
+ * @throws {NordError} If the request fails
91
+ */
92
+ export async function queryAction(
93
+ webServerUrl: string,
94
+ query: ActionQuery,
95
+ ): Promise<ActionResponse> {
96
+ try {
97
+ const params = new URLSearchParams();
98
+ if (query.action_id !== undefined) {
99
+ params.append("action_id", query.action_id.toString());
100
+ }
101
+
102
+ const response = await checkedFetch(
103
+ `${webServerUrl}/action?${params.toString()}`,
104
+ );
105
+ return await response.json();
106
+ } catch (error) {
107
+ throw new NordError("Failed to query action", { cause: error });
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Query recent actions
113
+ *
114
+ * @param webServerUrl - Base URL for the Nord web server
115
+ * @param last_n - Number of recent actions to query
116
+ * @returns Actions response
117
+ * @throws {NordError} If the request fails
118
+ */
119
+ export async function queryRecentActions(
120
+ webServerUrl: string,
121
+ last_n: number,
122
+ ): Promise<ActionsResponse> {
123
+ try {
124
+ const response = await checkedFetch(
125
+ `${webServerUrl}/actions?last_n=${last_n}`,
126
+ );
127
+ return await response.json();
128
+ } catch (error) {
129
+ throw new NordError(`Failed to query recent actions (last ${last_n})`, {
130
+ cause: error,
131
+ });
132
+ }
133
+ }
134
+
135
+ /**
136
+ * Query a block from Rollman
137
+ *
138
+ * @param webServerUrl - Base URL for the Nord web server
139
+ * @param query - Block query parameters
140
+ * @returns Rollman block response
141
+ * @throws {NordError} If the request fails
142
+ */
143
+ export async function blockQueryRollman(
144
+ webServerUrl: string,
145
+ query: BlockQuery,
146
+ ): Promise<RollmanBlockResponse> {
147
+ try {
148
+ const params = new URLSearchParams();
149
+ if (query.block_number !== undefined) {
150
+ params.append("block_height", query.block_number.toString());
151
+ }
152
+
153
+ const response = await checkedFetch(
154
+ `${webServerUrl}/rollman/block?${params.toString()}`,
155
+ );
156
+ return await response.json();
157
+ } catch (error) {
158
+ throw new NordError("Failed to query Rollman block", { cause: error });
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Query block summaries from Rollman
164
+ *
165
+ * @param webServerUrl - Base URL for the Nord web server
166
+ * @param last_n - Number of recent blocks to query
167
+ * @returns Block summary response
168
+ * @throws {NordError} If the request fails
169
+ */
170
+ export async function blockSummaryQueryRollman(
171
+ webServerUrl: string,
172
+ last_n: number,
173
+ ): Promise<BlockSummaryResponse> {
174
+ try {
175
+ const response = await checkedFetch(
176
+ `${webServerUrl}/rollman/blocks_summary?last_n=${last_n}`,
177
+ );
178
+ return await response.json();
179
+ } catch (error) {
180
+ throw new NordError(
181
+ `Failed to query Rollman block summaries (last ${last_n})`,
182
+ { cause: error },
183
+ );
184
+ }
185
+ }
186
+
187
+ /**
188
+ * Query an action from Rollman
189
+ *
190
+ * @param webServerUrl - Base URL for the Nord web server
191
+ * @param query - Action query parameters
192
+ * @returns Rollman action response
193
+ * @throws {NordError} If the request fails
194
+ */
195
+ export async function actionQueryRollman(
196
+ webServerUrl: string,
197
+ query: ActionQuery,
198
+ ): Promise<RollmanActionResponse> {
199
+ try {
200
+ const params = new URLSearchParams();
201
+ if (query.action_id !== undefined) {
202
+ params.append("action_id", query.action_id.toString());
203
+ }
204
+
205
+ const response = await checkedFetch(
206
+ `${webServerUrl}/rollman/action?${params.toString()}`,
207
+ );
208
+ return await response.json();
209
+ } catch (error) {
210
+ throw new NordError("Failed to query Rollman action", { cause: error });
211
+ }
212
+ }
213
+
214
+ /**
215
+ * Query actions from Rollman
216
+ *
217
+ * @param webServerUrl - Base URL for the Nord web server
218
+ * @param last_n - Number of recent actions to query
219
+ * @returns Rollman actions response
220
+ * @throws {NordError} If the request fails
221
+ */
222
+ export async function actionsQueryRollman(
223
+ webServerUrl: string,
224
+ last_n: number,
225
+ ): Promise<RollmanActionsResponse> {
226
+ try {
227
+ const response = await checkedFetch(
228
+ `${webServerUrl}/rollman/actions?last_n=${last_n}`,
229
+ );
230
+ return await response.json();
231
+ } catch (error) {
232
+ throw new NordError(`Failed to query Rollman actions (last ${last_n})`, {
233
+ cause: error,
234
+ });
235
+ }
236
+ }