@n1xyz/nord-ts 0.0.15 → 0.0.16-29f6652

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 (155) hide show
  1. package/dist/bridge/client.js +2 -1
  2. package/dist/bridge/types.d.ts +2 -0
  3. package/dist/gen/common.js +1 -1
  4. package/dist/gen/nord.d.ts +13 -25
  5. package/dist/gen/nord.js +59 -66
  6. package/dist/nord/client/NordUser.d.ts +1 -1
  7. package/dist/nord/client/NordUser.js +15 -9
  8. package/dist/websocket/NordWebSocketClient.js +0 -2
  9. package/docs/assets/hierarchy.js +1 -1
  10. package/docs/assets/search.js +1 -1
  11. package/docs/classes/Nord.html +35 -35
  12. package/docs/classes/NordError.html +6 -6
  13. package/docs/classes/NordUser.html +37 -37
  14. package/docs/classes/NordWebSocketClient.html +6 -6
  15. package/docs/classes/SolanaBridgeClient.html +31 -26
  16. package/docs/classes/Subscriber.html +3 -3
  17. package/docs/enums/FillMode.html +2 -2
  18. package/docs/enums/KeyType.html +2 -2
  19. package/docs/enums/MetricPeriod.html +2 -2
  20. package/docs/enums/PdaSeedType.html +5 -3
  21. package/docs/enums/PeakTpsPeriodUnit.html +2 -2
  22. package/docs/enums/Side.html +2 -2
  23. package/docs/enums/WebSocketMessageType.html +2 -2
  24. package/docs/functions/actionQueryRollman.html +1 -1
  25. package/docs/functions/actionsQueryRollman.html +1 -1
  26. package/docs/functions/aggregateMetrics-1.html +1 -1
  27. package/docs/functions/assert.html +1 -1
  28. package/docs/functions/bigIntToProtoU128.html +1 -1
  29. package/docs/functions/bridgeToBN.html +1 -1
  30. package/docs/functions/bufferToHex.html +1 -1
  31. package/docs/functions/cancelOrder.html +1 -1
  32. package/docs/functions/checkPubKeyLength.html +1 -1
  33. package/docs/functions/checkedFetch.html +1 -1
  34. package/docs/functions/createSession.html +1 -1
  35. package/docs/functions/decodeLengthDelimited.html +1 -1
  36. package/docs/functions/encodeLengthDelimited.html +1 -1
  37. package/docs/functions/fillModeToProtoFillMode.html +1 -1
  38. package/docs/functions/findMarket.html +1 -1
  39. package/docs/functions/findPda.html +1 -1
  40. package/docs/functions/findToken.html +1 -1
  41. package/docs/functions/fromBN.html +1 -1
  42. package/docs/functions/getAccount.html +1 -1
  43. package/docs/functions/getActionNonce.html +1 -1
  44. package/docs/functions/getCurrentTps.html +1 -1
  45. package/docs/functions/getInfo.html +1 -1
  46. package/docs/functions/getLastActionId.html +1 -1
  47. package/docs/functions/getMedianLatency.html +1 -1
  48. package/docs/functions/getOrderbook.html +1 -1
  49. package/docs/functions/getPeakTps.html +1 -1
  50. package/docs/functions/getTimestamp.html +1 -1
  51. package/docs/functions/getTotalTransactions.html +1 -1
  52. package/docs/functions/getTrades.html +1 -1
  53. package/docs/functions/getUserAccountIds.html +1 -1
  54. package/docs/functions/hexToBuffer.html +1 -1
  55. package/docs/functions/initWebSocketClient.html +1 -1
  56. package/docs/functions/keypairFromPrivateKey.html +1 -1
  57. package/docs/functions/makeSigningFunction.html +1 -1
  58. package/docs/functions/makeWalletSignFn.html +1 -1
  59. package/docs/functions/marketsStats.html +1 -1
  60. package/docs/functions/optExpect.html +1 -1
  61. package/docs/functions/optMap.html +1 -1
  62. package/docs/functions/optUnwrap.html +1 -1
  63. package/docs/functions/panic.html +1 -1
  64. package/docs/functions/placeOrder.html +1 -1
  65. package/docs/functions/queryAction.html +1 -1
  66. package/docs/functions/queryPrometheus.html +1 -1
  67. package/docs/functions/queryRecentActions.html +1 -1
  68. package/docs/functions/revokeSession.html +1 -1
  69. package/docs/functions/shortenPublicKey.html +1 -1
  70. package/docs/functions/signAction.html +1 -1
  71. package/docs/functions/toBN.html +1 -1
  72. package/docs/functions/toScaledU128.html +1 -1
  73. package/docs/functions/toScaledU64.html +1 -1
  74. package/docs/functions/transfer.html +1 -1
  75. package/docs/functions/withdraw.html +1 -1
  76. package/docs/hierarchy.html +1 -1
  77. package/docs/interfaces/Account.html +2 -2
  78. package/docs/interfaces/ActionInfo.html +2 -2
  79. package/docs/interfaces/ActionNonceResponse.html +2 -2
  80. package/docs/interfaces/ActionQuery.html +2 -2
  81. package/docs/interfaces/ActionResponse.html +2 -2
  82. package/docs/interfaces/ActionsExtendedInfo.html +2 -2
  83. package/docs/interfaces/ActionsQuery.html +2 -2
  84. package/docs/interfaces/ActionsResponse.html +2 -2
  85. package/docs/interfaces/AggregateMetrics.html +2 -2
  86. package/docs/interfaces/BlockFacts.html +5 -5
  87. package/docs/interfaces/BlockQuery.html +2 -2
  88. package/docs/interfaces/BlockResponse.html +2 -2
  89. package/docs/interfaces/BlockSummary.html +2 -2
  90. package/docs/interfaces/BlockSummaryResponse.html +2 -2
  91. package/docs/interfaces/DeltaEvent.html +2 -2
  92. package/docs/interfaces/DepositSplParams.html +6 -6
  93. package/docs/interfaces/Info.html +2 -2
  94. package/docs/interfaces/Market.html +2 -2
  95. package/docs/interfaces/MarketStats.html +2 -2
  96. package/docs/interfaces/MarketsStatsResponse.html +2 -2
  97. package/docs/interfaces/NordConfig.html +7 -7
  98. package/docs/interfaces/NordWebSocketClientEvents.html +2 -2
  99. package/docs/interfaces/NordWebSocketEvents.html +2 -2
  100. package/docs/interfaces/Order.html +2 -2
  101. package/docs/interfaces/OrderInfo.html +2 -2
  102. package/docs/interfaces/OrderbookEntry.html +2 -2
  103. package/docs/interfaces/OrderbookQuery.html +2 -2
  104. package/docs/interfaces/OrderbookResponse.html +2 -2
  105. package/docs/interfaces/OrderbookSubscription.html +5 -5
  106. package/docs/interfaces/PerpMarketStats.html +2 -2
  107. package/docs/interfaces/RollmanActionExtendedInfo.html +2 -2
  108. package/docs/interfaces/RollmanActionInfo.html +2 -2
  109. package/docs/interfaces/RollmanActionResponse.html +2 -2
  110. package/docs/interfaces/RollmanActionsResponse.html +2 -2
  111. package/docs/interfaces/RollmanBlockResponse.html +2 -2
  112. package/docs/interfaces/SPLTokenInfo.html +5 -5
  113. package/docs/interfaces/SolanaBridgeConfig.html +8 -6
  114. package/docs/interfaces/StateFacts.html +5 -5
  115. package/docs/interfaces/SubscriberConfig.html +2 -2
  116. package/docs/interfaces/TimestampResponse.html +2 -2
  117. package/docs/interfaces/Token.html +2 -2
  118. package/docs/interfaces/TokenInfo.html +2 -2
  119. package/docs/interfaces/Trade.html +2 -2
  120. package/docs/interfaces/TradeSubscription.html +5 -5
  121. package/docs/interfaces/Trades.html +2 -2
  122. package/docs/interfaces/TradesQuery.html +2 -2
  123. package/docs/interfaces/TradesResponse.html +2 -2
  124. package/docs/interfaces/TransferParams.html +4 -4
  125. package/docs/interfaces/UserAccountIdsQuery.html +2 -2
  126. package/docs/interfaces/UserAccountIdsResponse.html +2 -2
  127. package/docs/interfaces/WebSocketAccountUpdate.html +2 -2
  128. package/docs/interfaces/WebSocketDeltaUpdate.html +2 -2
  129. package/docs/interfaces/WebSocketSubscription.html +2 -2
  130. package/docs/interfaces/WebSocketTradeUpdate.html +2 -2
  131. package/docs/interfaces/WithdrawalClaim.html +7 -7
  132. package/docs/interfaces/WithdrawalParams.html +4 -4
  133. package/docs/types/BigIntValue.html +1 -1
  134. package/docs/types/SubscriptionPattern.html +1 -1
  135. package/docs/types/SubscriptionType.html +1 -1
  136. package/docs/types/WebSocketMessage.html +1 -1
  137. package/docs/variables/DEBUG_KEYS.html +1 -1
  138. package/docs/variables/DEFAULT_FUNDING_AMOUNTS.html +1 -1
  139. package/docs/variables/DEV_TOKEN_INFOS.html +1 -1
  140. package/docs/variables/DEV_URL.html +1 -1
  141. package/docs/variables/MAX_BUFFER_LEN.html +1 -1
  142. package/docs/variables/SESSION_TTL.html +1 -1
  143. package/docs/variables/WEBSERVER_DEV_URL.html +1 -1
  144. package/docs/variables/ZERO_DECIMAL.html +1 -1
  145. package/docs/variables/_private.html +1 -1
  146. package/package.json +3 -1
  147. package/src/bridge/client.ts +2 -1
  148. package/src/bridge/types.ts +2 -0
  149. package/src/gen/common.ts +1 -1
  150. package/src/gen/nord.ts +59 -66
  151. package/src/nord/client/NordUser.ts +20 -10
  152. package/src/websocket/NordWebSocketClient.ts +0 -2
  153. package/tsconfig.json +1 -1
  154. package/dist/idl/bridge.d.ts +0 -2
  155. package/dist/idl/bridge.js +0 -930
@@ -201,9 +201,10 @@ class SolanaBridgeClient {
201
201
  tokenAuthority,
202
202
  };
203
203
  const allAccounts = { ...accounts, prevDeposit: prevDeposit };
204
+ const txRecipient = params.recipientAddress || this.provider.wallet.publicKey;
204
205
  // Create the transaction
205
206
  const tx = await (await this.program.methods
206
- .deposit(this.provider.wallet.publicKey, params.amount)
207
+ .deposit(txRecipient, params.amount)
207
208
  .accounts(allAccounts)).transaction();
208
209
  // Check if toAccount is initialized and add preinstruction if needed
209
210
  try {
@@ -38,6 +38,8 @@ export interface DepositSplParams {
38
38
  mint: PublicKey;
39
39
  /** User's token account to deposit from */
40
40
  fromAccount: PublicKey;
41
+ /** Optional destination token account for the bridge deposit. If omitted, the account will be derived automatically. */
42
+ recipientAddress?: PublicKey;
41
43
  }
42
44
  /**
43
45
  * Parameters for withdrawing tokens
@@ -2,7 +2,7 @@
2
2
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
3
  // versions:
4
4
  // protoc-gen-ts_proto v2.7.0
5
- // protoc v3.21.12
5
+ // protoc v5.28.3
6
6
  // source: common.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Message_Transfer = exports.Message = exports.protobufPackage = void 0;
@@ -119,31 +119,6 @@ export declare enum Error {
119
119
  * retained on account
120
120
  */
121
121
  DUST_ACCOUNT = 145,
122
- /** ORDER_EXECUTION - 10011_000 - 3 bit suffix */
123
- ORDER_EXECUTION = 152,
124
- /** ORDER_EXECUTION_EMPTY - 10011_001; */
125
- ORDER_EXECUTION_EMPTY = 153,
126
- /** ORDER_EXECUTION_FILL_OR_KILL - 10011_010; */
127
- ORDER_EXECUTION_FILL_OR_KILL = 154,
128
- /**
129
- * ORDER_EXECUTION_MISSING_LIMITS - Order requires some of its limits specified according to fill mode
130
- * 10011_011;
131
- */
132
- ORDER_EXECUTION_MISSING_LIMITS = 155,
133
- /** ORDER_EXECUTION_MISSING_PRICE - 10011_100; */
134
- ORDER_EXECUTION_MISSING_PRICE = 156,
135
- /** ORDER_EXECUTION_SIZE_LIMIT - 10011_101; */
136
- ORDER_EXECUTION_SIZE_LIMIT = 157,
137
- /**
138
- * ORDER_REDUCE_IS_POST_ONLY - 10011_110;
139
- * Reduce orders can only be post only.
140
- */
141
- ORDER_REDUCE_IS_POST_ONLY = 158,
142
- /**
143
- * ORDER_EXECUTION_SELL_PRICE - 10011_111;
144
- * Order was rejected, because it planned under proposed price
145
- */
146
- ORDER_EXECUTION_SELL_PRICE = 159,
147
122
  /** BALANCE - 10100_000 */
148
123
  BALANCE = 160,
149
124
  /** BALANCE_DEPOSIT_OVERFLOW - 10100_001 */
@@ -212,6 +187,19 @@ export declare enum Error {
212
187
  SIGNATURE_VERIFICATION = 217,
213
188
  SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY = 218,
214
189
  SIGNATURE_VERIFICATION_INVALID_LENGTH = 219,
190
+ /** ORDER_EXECUTION - 1111_0000 = 240 -- 4 bit suffix */
191
+ ORDER_EXECUTION = 240,
192
+ ORDER_EXECUTION_EMPTY = 241,
193
+ ORDER_EXECUTION_FILL_OR_KILL = 242,
194
+ /** ORDER_EXECUTION_MISSING_LIMITS - Order requires some of its limits specified according to fill mode */
195
+ ORDER_EXECUTION_MISSING_LIMITS = 243,
196
+ ORDER_EXECUTION_MISSING_PRICE = 244,
197
+ ORDER_EXECUTION_SIZE_LIMIT = 245,
198
+ ORDER_EXECUTION_LIMIT_PRICE = 246,
199
+ /** ORDER_REDUCE_IS_POST_ONLY - Reduce orders can only be post only. */
200
+ ORDER_REDUCE_IS_POST_ONLY = 247,
201
+ /** ORDER_EXECUTION_SELL_PRICE - Order was rejected, because it planned under proposed price */
202
+ ORDER_EXECUTION_SELL_PRICE = 248,
215
203
  NOT_IMPLEMENTED = 500,
216
204
  Dropped = 999
217
205
  }
package/dist/gen/nord.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
3
  // versions:
4
4
  // protoc-gen-ts_proto v2.7.0
5
- // protoc v3.21.12
5
+ // protoc v5.28.3
6
6
  // source: nord.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Receipt_Transferred = exports.Receipt_Unpaused = exports.Receipt_Paused = exports.Receipt_SessionRevoked = exports.Receipt_AccountLiquidated = exports.Receipt_PerpPosition = exports.Receipt_UpdateGuardianSetResult = exports.Receipt_OracleUpdateResult = exports.Receipt_OracleSymbolFeedResult = exports.Receipt_WithdrawResult = exports.Receipt_InsertMarketResult = exports.Receipt_InsertTokenResult = exports.Receipt_DepositResult = exports.Receipt_CancelOrderResult = exports.Receipt_PositionTakenOrTradedResult = exports.Receipt_TakenResult = exports.Receipt_PlaceOrderResult = exports.Receipt_CreateSessionResult = exports.Receipt_Trade = exports.Receipt_Posted = exports.Receipt = exports.Action_TakePosition = exports.Action_RemoveTrigger = exports.Action_AddTrigger = exports.Action_Transfer = exports.Action_Unpause = exports.Action_Pause = exports.Action_RevokeSession = exports.Action_Liquidate = exports.Action_PythPriceFeedUpdate = exports.Action_PythSetSymbolFeed = exports.Action_PythSetWormholeGuardians = exports.Action_Withdraw = exports.Action_Deposit = exports.Action_CancelOrderById = exports.Action_PlaceOrder = exports.Action_CreateMarket = exports.Action_CreateToken = exports.Action_CreateSession = exports.Action = exports.Token = exports.Market = exports.U128 = exports.SpecialAccount = exports.Error = exports.MarketType = exports.FillMode = exports.TriggerKind = exports.Side = exports.protobufPackage = void 0;
@@ -236,31 +236,6 @@ var Error;
236
236
  * retained on account
237
237
  */
238
238
  Error[Error["DUST_ACCOUNT"] = 145] = "DUST_ACCOUNT";
239
- /** ORDER_EXECUTION - 10011_000 - 3 bit suffix */
240
- Error[Error["ORDER_EXECUTION"] = 152] = "ORDER_EXECUTION";
241
- /** ORDER_EXECUTION_EMPTY - 10011_001; */
242
- Error[Error["ORDER_EXECUTION_EMPTY"] = 153] = "ORDER_EXECUTION_EMPTY";
243
- /** ORDER_EXECUTION_FILL_OR_KILL - 10011_010; */
244
- Error[Error["ORDER_EXECUTION_FILL_OR_KILL"] = 154] = "ORDER_EXECUTION_FILL_OR_KILL";
245
- /**
246
- * ORDER_EXECUTION_MISSING_LIMITS - Order requires some of its limits specified according to fill mode
247
- * 10011_011;
248
- */
249
- Error[Error["ORDER_EXECUTION_MISSING_LIMITS"] = 155] = "ORDER_EXECUTION_MISSING_LIMITS";
250
- /** ORDER_EXECUTION_MISSING_PRICE - 10011_100; */
251
- Error[Error["ORDER_EXECUTION_MISSING_PRICE"] = 156] = "ORDER_EXECUTION_MISSING_PRICE";
252
- /** ORDER_EXECUTION_SIZE_LIMIT - 10011_101; */
253
- Error[Error["ORDER_EXECUTION_SIZE_LIMIT"] = 157] = "ORDER_EXECUTION_SIZE_LIMIT";
254
- /**
255
- * ORDER_REDUCE_IS_POST_ONLY - 10011_110;
256
- * Reduce orders can only be post only.
257
- */
258
- Error[Error["ORDER_REDUCE_IS_POST_ONLY"] = 158] = "ORDER_REDUCE_IS_POST_ONLY";
259
- /**
260
- * ORDER_EXECUTION_SELL_PRICE - 10011_111;
261
- * Order was rejected, because it planned under proposed price
262
- */
263
- Error[Error["ORDER_EXECUTION_SELL_PRICE"] = 159] = "ORDER_EXECUTION_SELL_PRICE";
264
239
  /** BALANCE - 10100_000 */
265
240
  Error[Error["BALANCE"] = 160] = "BALANCE";
266
241
  /** BALANCE_DEPOSIT_OVERFLOW - 10100_001 */
@@ -329,6 +304,19 @@ var Error;
329
304
  Error[Error["SIGNATURE_VERIFICATION"] = 217] = "SIGNATURE_VERIFICATION";
330
305
  Error[Error["SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY"] = 218] = "SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY";
331
306
  Error[Error["SIGNATURE_VERIFICATION_INVALID_LENGTH"] = 219] = "SIGNATURE_VERIFICATION_INVALID_LENGTH";
307
+ /** ORDER_EXECUTION - 1111_0000 = 240 -- 4 bit suffix */
308
+ Error[Error["ORDER_EXECUTION"] = 240] = "ORDER_EXECUTION";
309
+ Error[Error["ORDER_EXECUTION_EMPTY"] = 241] = "ORDER_EXECUTION_EMPTY";
310
+ Error[Error["ORDER_EXECUTION_FILL_OR_KILL"] = 242] = "ORDER_EXECUTION_FILL_OR_KILL";
311
+ /** ORDER_EXECUTION_MISSING_LIMITS - Order requires some of its limits specified according to fill mode */
312
+ Error[Error["ORDER_EXECUTION_MISSING_LIMITS"] = 243] = "ORDER_EXECUTION_MISSING_LIMITS";
313
+ Error[Error["ORDER_EXECUTION_MISSING_PRICE"] = 244] = "ORDER_EXECUTION_MISSING_PRICE";
314
+ Error[Error["ORDER_EXECUTION_SIZE_LIMIT"] = 245] = "ORDER_EXECUTION_SIZE_LIMIT";
315
+ Error[Error["ORDER_EXECUTION_LIMIT_PRICE"] = 246] = "ORDER_EXECUTION_LIMIT_PRICE";
316
+ /** ORDER_REDUCE_IS_POST_ONLY - Reduce orders can only be post only. */
317
+ Error[Error["ORDER_REDUCE_IS_POST_ONLY"] = 247] = "ORDER_REDUCE_IS_POST_ONLY";
318
+ /** ORDER_EXECUTION_SELL_PRICE - Order was rejected, because it planned under proposed price */
319
+ Error[Error["ORDER_EXECUTION_SELL_PRICE"] = 248] = "ORDER_EXECUTION_SELL_PRICE";
332
320
  Error[Error["NOT_IMPLEMENTED"] = 500] = "NOT_IMPLEMENTED";
333
321
  Error[Error["Dropped"] = 999] = "Dropped";
334
322
  })(Error || (exports.Error = Error = {}));
@@ -496,30 +484,6 @@ function errorFromJSON(object) {
496
484
  case 145:
497
485
  case "DUST_ACCOUNT":
498
486
  return Error.DUST_ACCOUNT;
499
- case 152:
500
- case "ORDER_EXECUTION":
501
- return Error.ORDER_EXECUTION;
502
- case 153:
503
- case "ORDER_EXECUTION_EMPTY":
504
- return Error.ORDER_EXECUTION_EMPTY;
505
- case 154:
506
- case "ORDER_EXECUTION_FILL_OR_KILL":
507
- return Error.ORDER_EXECUTION_FILL_OR_KILL;
508
- case 155:
509
- case "ORDER_EXECUTION_MISSING_LIMITS":
510
- return Error.ORDER_EXECUTION_MISSING_LIMITS;
511
- case 156:
512
- case "ORDER_EXECUTION_MISSING_PRICE":
513
- return Error.ORDER_EXECUTION_MISSING_PRICE;
514
- case 157:
515
- case "ORDER_EXECUTION_SIZE_LIMIT":
516
- return Error.ORDER_EXECUTION_SIZE_LIMIT;
517
- case 158:
518
- case "ORDER_REDUCE_IS_POST_ONLY":
519
- return Error.ORDER_REDUCE_IS_POST_ONLY;
520
- case 159:
521
- case "ORDER_EXECUTION_SELL_PRICE":
522
- return Error.ORDER_EXECUTION_SELL_PRICE;
523
487
  case 160:
524
488
  case "BALANCE":
525
489
  return Error.BALANCE;
@@ -607,6 +571,33 @@ function errorFromJSON(object) {
607
571
  case 219:
608
572
  case "SIGNATURE_VERIFICATION_INVALID_LENGTH":
609
573
  return Error.SIGNATURE_VERIFICATION_INVALID_LENGTH;
574
+ case 240:
575
+ case "ORDER_EXECUTION":
576
+ return Error.ORDER_EXECUTION;
577
+ case 241:
578
+ case "ORDER_EXECUTION_EMPTY":
579
+ return Error.ORDER_EXECUTION_EMPTY;
580
+ case 242:
581
+ case "ORDER_EXECUTION_FILL_OR_KILL":
582
+ return Error.ORDER_EXECUTION_FILL_OR_KILL;
583
+ case 243:
584
+ case "ORDER_EXECUTION_MISSING_LIMITS":
585
+ return Error.ORDER_EXECUTION_MISSING_LIMITS;
586
+ case 244:
587
+ case "ORDER_EXECUTION_MISSING_PRICE":
588
+ return Error.ORDER_EXECUTION_MISSING_PRICE;
589
+ case 245:
590
+ case "ORDER_EXECUTION_SIZE_LIMIT":
591
+ return Error.ORDER_EXECUTION_SIZE_LIMIT;
592
+ case 246:
593
+ case "ORDER_EXECUTION_LIMIT_PRICE":
594
+ return Error.ORDER_EXECUTION_LIMIT_PRICE;
595
+ case 247:
596
+ case "ORDER_REDUCE_IS_POST_ONLY":
597
+ return Error.ORDER_REDUCE_IS_POST_ONLY;
598
+ case 248:
599
+ case "ORDER_EXECUTION_SELL_PRICE":
600
+ return Error.ORDER_EXECUTION_SELL_PRICE;
610
601
  case 500:
611
602
  case "NOT_IMPLEMENTED":
612
603
  return Error.NOT_IMPLEMENTED;
@@ -727,22 +718,6 @@ function errorToJSON(object) {
727
718
  return "ACCOUNT_INVALID_OWNER";
728
719
  case Error.DUST_ACCOUNT:
729
720
  return "DUST_ACCOUNT";
730
- case Error.ORDER_EXECUTION:
731
- return "ORDER_EXECUTION";
732
- case Error.ORDER_EXECUTION_EMPTY:
733
- return "ORDER_EXECUTION_EMPTY";
734
- case Error.ORDER_EXECUTION_FILL_OR_KILL:
735
- return "ORDER_EXECUTION_FILL_OR_KILL";
736
- case Error.ORDER_EXECUTION_MISSING_LIMITS:
737
- return "ORDER_EXECUTION_MISSING_LIMITS";
738
- case Error.ORDER_EXECUTION_MISSING_PRICE:
739
- return "ORDER_EXECUTION_MISSING_PRICE";
740
- case Error.ORDER_EXECUTION_SIZE_LIMIT:
741
- return "ORDER_EXECUTION_SIZE_LIMIT";
742
- case Error.ORDER_REDUCE_IS_POST_ONLY:
743
- return "ORDER_REDUCE_IS_POST_ONLY";
744
- case Error.ORDER_EXECUTION_SELL_PRICE:
745
- return "ORDER_EXECUTION_SELL_PRICE";
746
721
  case Error.BALANCE:
747
722
  return "BALANCE";
748
723
  case Error.BALANCE_DEPOSIT_OVERFLOW:
@@ -801,6 +776,24 @@ function errorToJSON(object) {
801
776
  return "SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY";
802
777
  case Error.SIGNATURE_VERIFICATION_INVALID_LENGTH:
803
778
  return "SIGNATURE_VERIFICATION_INVALID_LENGTH";
779
+ case Error.ORDER_EXECUTION:
780
+ return "ORDER_EXECUTION";
781
+ case Error.ORDER_EXECUTION_EMPTY:
782
+ return "ORDER_EXECUTION_EMPTY";
783
+ case Error.ORDER_EXECUTION_FILL_OR_KILL:
784
+ return "ORDER_EXECUTION_FILL_OR_KILL";
785
+ case Error.ORDER_EXECUTION_MISSING_LIMITS:
786
+ return "ORDER_EXECUTION_MISSING_LIMITS";
787
+ case Error.ORDER_EXECUTION_MISSING_PRICE:
788
+ return "ORDER_EXECUTION_MISSING_PRICE";
789
+ case Error.ORDER_EXECUTION_SIZE_LIMIT:
790
+ return "ORDER_EXECUTION_SIZE_LIMIT";
791
+ case Error.ORDER_EXECUTION_LIMIT_PRICE:
792
+ return "ORDER_EXECUTION_LIMIT_PRICE";
793
+ case Error.ORDER_REDUCE_IS_POST_ONLY:
794
+ return "ORDER_REDUCE_IS_POST_ONLY";
795
+ case Error.ORDER_EXECUTION_SELL_PRICE:
796
+ return "ORDER_EXECUTION_SELL_PRICE";
804
797
  case Error.NOT_IMPLEMENTED:
805
798
  return "NOT_IMPLEMENTED";
806
799
  case Error.Dropped:
@@ -183,7 +183,7 @@ export declare class NordUser {
183
183
  * @returns Transaction signature
184
184
  * @throws {NordError} If required parameters are missing or operation fails
185
185
  */
186
- depositSpl(amount: number, tokenId: number): Promise<string>;
186
+ depositSpl(amount: number, tokenId: number, recipientAddress?: PublicKey): Promise<string>;
187
187
  /**
188
188
  * Withdraw SPL tokens from the bridge
189
189
  *
@@ -36,7 +36,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.NordUser = void 0;
37
37
  const spl_token_1 = require("@solana/spl-token");
38
38
  const web3_js_1 = require("@solana/web3.js");
39
- const nacl = __importStar(require("tweetnacl"));
39
+ const ed = __importStar(require("@noble/ed25519"));
40
+ const sha512_1 = require("@noble/hashes/sha512");
41
+ ed.etc.sha512Sync = sha512_1.sha512;
40
42
  const client_1 = require("../../bridge/client");
41
43
  const utils_1 = require("../../bridge/utils");
42
44
  const utils_2 = require("../../utils");
@@ -197,16 +199,19 @@ class NordUser {
197
199
  const publicKey = keypair.publicKey;
198
200
  // Create a signing function that uses the keypair but doesn't expose it
199
201
  const walletSignFn = async (message) => {
200
- const messageBuffer = typeof message === "string"
201
- ? Buffer.from(message)
202
- : Buffer.from(message);
203
- // Use the keypair to sign the message
204
- const signature = nacl.sign.detached(messageBuffer, keypair.secretKey);
202
+ function toHex(buffer) {
203
+ return Array.from(buffer)
204
+ .map((byte) => byte.toString(16).padStart(2, "0"))
205
+ .join("");
206
+ }
207
+ const messageBuffer = new TextEncoder().encode(toHex(message));
208
+ // Use ed25519 to sign the message
209
+ const signature = ed.sign(messageBuffer, keypair.secretKey.slice(0, 32));
205
210
  return signature;
206
211
  };
207
212
  const sessionSignFn = async (message) => {
208
- // Use the keypair to sign the message
209
- return nacl.sign.detached(message, keypair.secretKey);
213
+ // Use ed25519 to sign the message
214
+ return ed.sign(message, keypair.secretKey.slice(0, 32));
210
215
  };
211
216
  // Create a transaction signing function
212
217
  const transactionSignFn = async (transaction) => {
@@ -264,7 +269,7 @@ class NordUser {
264
269
  * @returns Transaction signature
265
270
  * @throws {NordError} If required parameters are missing or operation fails
266
271
  */
267
- async depositSpl(amount, tokenId) {
272
+ async depositSpl(amount, tokenId, recipientAddress) {
268
273
  if (!this.bridgeClient || !this.getSolanaPublicKey() || !this.connection) {
269
274
  throw new NordError_1.NordError("Bridge client, Solana public key, and connection are required for deposit");
270
275
  }
@@ -284,6 +289,7 @@ class NordUser {
284
289
  amount: amountBN,
285
290
  mint,
286
291
  fromAccount,
292
+ ...(recipientAddress ? { recipientAddress } : {})
287
293
  });
288
294
  }
289
295
  catch (error) {
@@ -98,9 +98,7 @@ class NordWebSocketClient extends events_1.EventEmitter {
98
98
  getWebSocketClass() {
99
99
  if (this.isBrowser) {
100
100
  // In browser environments
101
- // @ts-expect-error - Check for WebSocket in globalThis
102
101
  if (typeof globalThis !== "undefined" && globalThis.WebSocket) {
103
- // @ts-expect-error - Return WebSocket from globalThis
104
102
  return globalThis.WebSocket;
105
103
  }
106
104
  throw new Error("WebSocket is not available in this environment");
@@ -1 +1 @@
1
- window.hierarchyData = "eJx9kDEPwiAQhf/LzVQFo9GuxtXFwcF0QLimpBQSOF0a/rtgY6fqcpfcvZfv5Y0QvKcI9Z2L47ZhELC1qMh4l48jcL7hZTs5INRw8UHf8HH1qkc6WYOOgEFvnIaaiwODZ7BZpqyMEeN6Qb7qaLDZ85FkKUVdFX81HRKDEuQ/8vzKI85gsdt/wcYRhlaqZfbk+5lgNpdnZ6wO6EoxuYImpfQGUItlFg=="
1
+ window.hierarchyData = "eJx9kDEPwiAQhf/LzVSFqNGuxtXFwcF0QLimpBQSOF0a/rtgY6fqcpfcvZfv5Y0QvKcI9Z2L47ZhELC1qMh4l48jcL4RZTs5INRw8UHf8HH1qkc6WYOOgEFvnIaaiwODZ7BZpqyMEeN6Qb7qaLDZ85FkKUVdFX81HRKDEuQ/8vzKI85gsdt/wcYRhlaqZfbk+5lgNpdnZ6wO6EoxuYImpfQGU0tlGg=="
@@ -1 +1 @@
1
- window.searchData = "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";
1
+ window.searchData = "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";