@ledgerhq/coin-stellar 6.26.0 → 6.26.2

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 (281) hide show
  1. package/.oxlintrc.json +7 -0
  2. package/CHANGELOG.md +12 -0
  3. package/LICENSE +194 -0
  4. package/knip.json +12 -0
  5. package/lib/api/index.d.ts +5 -5
  6. package/lib/api/index.d.ts.map +1 -1
  7. package/lib/api/index.js +12 -10
  8. package/lib/api/index.js.map +1 -1
  9. package/lib/config.d.ts +1 -1
  10. package/lib/config.d.ts.map +1 -1
  11. package/lib/config.js +2 -0
  12. package/lib/config.js.map +1 -1
  13. package/lib/constants.d.ts.map +1 -1
  14. package/lib/constants.js +3 -1
  15. package/lib/constants.js.map +1 -1
  16. package/lib/logic/broadcast.d.ts.map +1 -1
  17. package/lib/logic/broadcast.js +2 -0
  18. package/lib/logic/broadcast.js.map +1 -1
  19. package/lib/logic/combine.d.ts +1 -1
  20. package/lib/logic/combine.d.ts.map +1 -1
  21. package/lib/logic/combine.js +2 -0
  22. package/lib/logic/combine.js.map +1 -1
  23. package/lib/logic/common.d.ts +1 -1
  24. package/lib/logic/common.d.ts.map +1 -1
  25. package/lib/logic/common.js +4 -2
  26. package/lib/logic/common.js.map +1 -1
  27. package/lib/logic/craftTransaction.d.ts +1 -1
  28. package/lib/logic/craftTransaction.d.ts.map +1 -1
  29. package/lib/logic/craftTransaction.js +10 -8
  30. package/lib/logic/craftTransaction.js.map +1 -1
  31. package/lib/logic/estimateFees.d.ts.map +1 -1
  32. package/lib/logic/estimateFees.js +2 -0
  33. package/lib/logic/estimateFees.js.map +1 -1
  34. package/lib/logic/getBalance.d.ts +1 -1
  35. package/lib/logic/getBalance.d.ts.map +1 -1
  36. package/lib/logic/getBalance.js +4 -2
  37. package/lib/logic/getBalance.js.map +1 -1
  38. package/lib/logic/getBlock.d.ts +1 -1
  39. package/lib/logic/getBlock.d.ts.map +1 -1
  40. package/lib/logic/getBlock.js +39 -34
  41. package/lib/logic/getBlock.js.map +1 -1
  42. package/lib/logic/getBlockInfo.d.ts +1 -1
  43. package/lib/logic/getBlockInfo.d.ts.map +1 -1
  44. package/lib/logic/getBlockInfo.js +2 -0
  45. package/lib/logic/getBlockInfo.js.map +1 -1
  46. package/lib/logic/index.d.ts +12 -12
  47. package/lib/logic/index.d.ts.map +1 -1
  48. package/lib/logic/index.js +2 -0
  49. package/lib/logic/index.js.map +1 -1
  50. package/lib/logic/lastBlock.d.ts +1 -1
  51. package/lib/logic/lastBlock.d.ts.map +1 -1
  52. package/lib/logic/lastBlock.js +2 -0
  53. package/lib/logic/lastBlock.js.map +1 -1
  54. package/lib/logic/listOperations.d.ts +1 -1
  55. package/lib/logic/listOperations.d.ts.map +1 -1
  56. package/lib/logic/listOperations.js +6 -4
  57. package/lib/logic/listOperations.js.map +1 -1
  58. package/lib/logic/sdkWrapper.d.ts +1 -1
  59. package/lib/logic/sdkWrapper.d.ts.map +1 -1
  60. package/lib/logic/sdkWrapper.js +2 -0
  61. package/lib/logic/sdkWrapper.js.map +1 -1
  62. package/lib/logic/utils.d.ts.map +1 -1
  63. package/lib/logic/utils.js +4 -2
  64. package/lib/logic/utils.js.map +1 -1
  65. package/lib/logic/validateAddress.d.ts +1 -1
  66. package/lib/logic/validateAddress.d.ts.map +1 -1
  67. package/lib/logic/validateAddress.js +2 -0
  68. package/lib/logic/validateAddress.js.map +1 -1
  69. package/lib/logic/validateIntent.d.ts +2 -2
  70. package/lib/logic/validateIntent.d.ts.map +1 -1
  71. package/lib/logic/validateIntent.js +21 -19
  72. package/lib/logic/validateIntent.js.map +1 -1
  73. package/lib/logic/validateMemo.d.ts +1 -1
  74. package/lib/logic/validateMemo.d.ts.map +1 -1
  75. package/lib/logic/validateMemo.js +7 -5
  76. package/lib/logic/validateMemo.js.map +1 -1
  77. package/lib/network/horizon.d.ts +6 -7
  78. package/lib/network/horizon.d.ts.map +1 -1
  79. package/lib/network/horizon.js +48 -95
  80. package/lib/network/horizon.js.map +1 -1
  81. package/lib/network/horizonErrorBody.d.ts +29 -0
  82. package/lib/network/horizonErrorBody.d.ts.map +1 -0
  83. package/lib/network/horizonErrorBody.js +139 -0
  84. package/lib/network/horizonErrorBody.js.map +1 -0
  85. package/lib/network/horizonLedgerErrors.d.ts.map +1 -1
  86. package/lib/network/horizonLedgerErrors.js +28 -4
  87. package/lib/network/horizonLedgerErrors.js.map +1 -1
  88. package/lib/network/index.d.ts +1 -1
  89. package/lib/network/index.d.ts.map +1 -1
  90. package/lib/network/index.js +2 -0
  91. package/lib/network/index.js.map +1 -1
  92. package/lib/network/serialization.d.ts +6 -4
  93. package/lib/network/serialization.d.ts.map +1 -1
  94. package/lib/network/serialization.js +95 -91
  95. package/lib/network/serialization.js.map +1 -1
  96. package/lib/polyfill.d.ts.map +1 -1
  97. package/lib/polyfill.js +6 -4
  98. package/lib/polyfill.js.map +1 -1
  99. package/lib/supportedFeatures.d.ts +1 -1
  100. package/lib/supportedFeatures.d.ts.map +1 -1
  101. package/lib/supportedFeatures.js +3 -1
  102. package/lib/supportedFeatures.js.map +1 -1
  103. package/lib/types/errors.d.ts.map +1 -1
  104. package/lib/types/errors.js +14 -12
  105. package/lib/types/errors.js.map +1 -1
  106. package/lib/types/index.d.ts +2 -2
  107. package/lib/types/index.d.ts.map +1 -1
  108. package/lib/types/index.js +2 -0
  109. package/lib/types/index.js.map +1 -1
  110. package/lib/types/model.d.ts +6 -6
  111. package/lib/types/model.d.ts.map +1 -1
  112. package/lib/types/model.js +7 -5
  113. package/lib/types/model.js.map +1 -1
  114. package/lib-es/api/index.d.ts +5 -5
  115. package/lib-es/api/index.d.ts.map +1 -1
  116. package/lib-es/api/index.js +20 -18
  117. package/lib-es/api/index.js.map +1 -1
  118. package/lib-es/config.d.ts +1 -1
  119. package/lib-es/config.d.ts.map +1 -1
  120. package/lib-es/config.js +3 -1
  121. package/lib-es/config.js.map +1 -1
  122. package/lib-es/constants.d.ts.map +1 -1
  123. package/lib-es/constants.js +3 -1
  124. package/lib-es/constants.js.map +1 -1
  125. package/lib-es/logic/broadcast.d.ts.map +1 -1
  126. package/lib-es/logic/broadcast.js +3 -1
  127. package/lib-es/logic/broadcast.js.map +1 -1
  128. package/lib-es/logic/combine.d.ts +1 -1
  129. package/lib-es/logic/combine.d.ts.map +1 -1
  130. package/lib-es/logic/combine.js +3 -1
  131. package/lib-es/logic/combine.js.map +1 -1
  132. package/lib-es/logic/common.d.ts +1 -1
  133. package/lib-es/logic/common.d.ts.map +1 -1
  134. package/lib-es/logic/common.js +5 -3
  135. package/lib-es/logic/common.js.map +1 -1
  136. package/lib-es/logic/craftTransaction.d.ts +1 -1
  137. package/lib-es/logic/craftTransaction.d.ts.map +1 -1
  138. package/lib-es/logic/craftTransaction.js +15 -13
  139. package/lib-es/logic/craftTransaction.js.map +1 -1
  140. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  141. package/lib-es/logic/estimateFees.js +3 -1
  142. package/lib-es/logic/estimateFees.js.map +1 -1
  143. package/lib-es/logic/getBalance.d.ts +1 -1
  144. package/lib-es/logic/getBalance.d.ts.map +1 -1
  145. package/lib-es/logic/getBalance.js +5 -3
  146. package/lib-es/logic/getBalance.js.map +1 -1
  147. package/lib-es/logic/getBlock.d.ts +1 -1
  148. package/lib-es/logic/getBlock.d.ts.map +1 -1
  149. package/lib-es/logic/getBlock.js +42 -37
  150. package/lib-es/logic/getBlock.js.map +1 -1
  151. package/lib-es/logic/getBlockInfo.d.ts +1 -1
  152. package/lib-es/logic/getBlockInfo.d.ts.map +1 -1
  153. package/lib-es/logic/getBlockInfo.js +3 -1
  154. package/lib-es/logic/getBlockInfo.js.map +1 -1
  155. package/lib-es/logic/index.d.ts +12 -12
  156. package/lib-es/logic/index.d.ts.map +1 -1
  157. package/lib-es/logic/index.js +14 -12
  158. package/lib-es/logic/index.js.map +1 -1
  159. package/lib-es/logic/lastBlock.d.ts +1 -1
  160. package/lib-es/logic/lastBlock.d.ts.map +1 -1
  161. package/lib-es/logic/lastBlock.js +3 -1
  162. package/lib-es/logic/lastBlock.js.map +1 -1
  163. package/lib-es/logic/listOperations.d.ts +1 -1
  164. package/lib-es/logic/listOperations.d.ts.map +1 -1
  165. package/lib-es/logic/listOperations.js +7 -5
  166. package/lib-es/logic/listOperations.js.map +1 -1
  167. package/lib-es/logic/sdkWrapper.d.ts +1 -1
  168. package/lib-es/logic/sdkWrapper.d.ts.map +1 -1
  169. package/lib-es/logic/sdkWrapper.js +4 -2
  170. package/lib-es/logic/sdkWrapper.js.map +1 -1
  171. package/lib-es/logic/utils.d.ts.map +1 -1
  172. package/lib-es/logic/utils.js +6 -4
  173. package/lib-es/logic/utils.js.map +1 -1
  174. package/lib-es/logic/validateAddress.d.ts +1 -1
  175. package/lib-es/logic/validateAddress.d.ts.map +1 -1
  176. package/lib-es/logic/validateAddress.js +3 -1
  177. package/lib-es/logic/validateAddress.js.map +1 -1
  178. package/lib-es/logic/validateIntent.d.ts +2 -2
  179. package/lib-es/logic/validateIntent.d.ts.map +1 -1
  180. package/lib-es/logic/validateIntent.js +30 -28
  181. package/lib-es/logic/validateIntent.js.map +1 -1
  182. package/lib-es/logic/validateMemo.d.ts +1 -1
  183. package/lib-es/logic/validateMemo.d.ts.map +1 -1
  184. package/lib-es/logic/validateMemo.js +8 -6
  185. package/lib-es/logic/validateMemo.js.map +1 -1
  186. package/lib-es/network/horizon.d.ts +6 -7
  187. package/lib-es/network/horizon.d.ts.map +1 -1
  188. package/lib-es/network/horizon.js +57 -104
  189. package/lib-es/network/horizon.js.map +1 -1
  190. package/lib-es/network/horizonErrorBody.d.ts +29 -0
  191. package/lib-es/network/horizonErrorBody.d.ts.map +1 -0
  192. package/lib-es/network/horizonErrorBody.js +134 -0
  193. package/lib-es/network/horizonErrorBody.js.map +1 -0
  194. package/lib-es/network/horizonLedgerErrors.d.ts.map +1 -1
  195. package/lib-es/network/horizonLedgerErrors.js +30 -6
  196. package/lib-es/network/horizonLedgerErrors.js.map +1 -1
  197. package/lib-es/network/index.d.ts +1 -1
  198. package/lib-es/network/index.d.ts.map +1 -1
  199. package/lib-es/network/index.js +3 -1
  200. package/lib-es/network/index.js.map +1 -1
  201. package/lib-es/network/serialization.d.ts +6 -4
  202. package/lib-es/network/serialization.d.ts.map +1 -1
  203. package/lib-es/network/serialization.js +97 -95
  204. package/lib-es/network/serialization.js.map +1 -1
  205. package/lib-es/polyfill.d.ts.map +1 -1
  206. package/lib-es/polyfill.js +7 -5
  207. package/lib-es/polyfill.js.map +1 -1
  208. package/lib-es/supportedFeatures.d.ts +1 -1
  209. package/lib-es/supportedFeatures.d.ts.map +1 -1
  210. package/lib-es/supportedFeatures.js +3 -1
  211. package/lib-es/supportedFeatures.js.map +1 -1
  212. package/lib-es/types/errors.d.ts.map +1 -1
  213. package/lib-es/types/errors.js +15 -13
  214. package/lib-es/types/errors.js.map +1 -1
  215. package/lib-es/types/index.d.ts +2 -2
  216. package/lib-es/types/index.d.ts.map +1 -1
  217. package/lib-es/types/index.js +4 -2
  218. package/lib-es/types/index.js.map +1 -1
  219. package/lib-es/types/model.d.ts +6 -6
  220. package/lib-es/types/model.d.ts.map +1 -1
  221. package/lib-es/types/model.js +7 -5
  222. package/lib-es/types/model.js.map +1 -1
  223. package/package.json +13 -16
  224. package/src/api/index.integ.test.ts +168 -163
  225. package/src/api/index.test.ts +106 -103
  226. package/src/api/index.ts +49 -46
  227. package/src/api/index_error.test.ts +48 -25
  228. package/src/config.ts +15 -12
  229. package/src/constants.ts +4 -1
  230. package/src/globals.d.ts +7 -5
  231. package/src/logic/broadcast.integ.test.ts +22 -19
  232. package/src/logic/broadcast.ts +5 -2
  233. package/src/logic/combine.test.ts +18 -15
  234. package/src/logic/combine.ts +8 -5
  235. package/src/logic/common.ts +9 -6
  236. package/src/logic/craftTransaction.test.ts +76 -75
  237. package/src/logic/craftTransaction.ts +46 -43
  238. package/src/logic/estimateFees.ts +6 -3
  239. package/src/logic/getBalance.test.ts +31 -28
  240. package/src/logic/getBalance.ts +13 -10
  241. package/src/logic/getBlock.integ.test.ts +40 -39
  242. package/src/logic/getBlock.test.ts +462 -415
  243. package/src/logic/getBlock.ts +142 -127
  244. package/src/logic/getBlockInfo.test.ts +72 -69
  245. package/src/logic/getBlockInfo.ts +15 -12
  246. package/src/logic/index.ts +15 -12
  247. package/src/logic/lastBlock.ts +6 -3
  248. package/src/logic/listOperations.ts +14 -11
  249. package/src/logic/listOperations.unit.test.ts +212 -209
  250. package/src/logic/networkWrappers.test.ts +32 -29
  251. package/src/logic/sdkWrapper.ts +19 -16
  252. package/src/logic/utils.ts +13 -10
  253. package/src/logic/validateAddress.test.ts +21 -18
  254. package/src/logic/validateAddress.ts +7 -4
  255. package/src/logic/validateIntent.test.ts +62 -59
  256. package/src/logic/validateIntent.ts +87 -84
  257. package/src/logic/validateMemo.test.ts +50 -47
  258. package/src/logic/validateMemo.ts +16 -13
  259. package/src/network/broadcastTransaction.test.ts +83 -63
  260. package/src/network/fetchLedgerOperations.unit.test.ts +155 -0
  261. package/src/network/horizon.integ.test.ts +45 -42
  262. package/src/network/horizon.test.ts +17 -14
  263. package/src/network/horizon.ts +244 -314
  264. package/src/network/horizon.unit.test.ts +238 -237
  265. package/src/network/horizonErrorBody.test.ts +133 -0
  266. package/src/network/horizonErrorBody.ts +178 -0
  267. package/src/network/horizonLedgerErrors.test.ts +150 -78
  268. package/src/network/horizonLedgerErrors.ts +47 -20
  269. package/src/network/index.ts +4 -1
  270. package/src/network/registerHorizonInterceptors.test.ts +163 -160
  271. package/src/network/serialization.ts +232 -227
  272. package/src/network/serialization.unit.test.ts +801 -798
  273. package/src/polyfill.ts +18 -15
  274. package/src/supportedFeatures.ts +6 -3
  275. package/src/types/errors.ts +33 -32
  276. package/src/types/index.ts +5 -2
  277. package/src/types/model.ts +55 -52
  278. package/tsconfig.json +1 -1
  279. package/.unimportedrc.json +0 -17
  280. package/LICENSE.txt +0 -21
  281. package/src/network/fetchLedgerOperations.nock.unit.test.ts +0 -156
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ // SPDX-FileCopyrightText: © 2026 LEDGER SAS
3
+ // SPDX-License-Identifier: Apache-2.0
2
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
6
  };
@@ -17,7 +19,7 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
17
19
  const errors = {};
18
20
  const warnings = {};
19
21
  const useAllAmount = !!transactionIntent.useAllAmount;
20
- const destinationNotExistMessage = new errors_1.NotEnoughBalanceBecauseDestinationNotCreated("", {
22
+ const destinationNotExistMessage = new errors_1.NotEnoughBalanceBecauseDestinationNotCreated('', {
21
23
  minimalAmount: `${serialization_1.MIN_BALANCE} XLM`,
22
24
  });
23
25
  const { spendableBalance, balance } = await (0, horizon_1.fetchAccount)(transactionIntent.sender);
@@ -26,7 +28,7 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
26
28
  const baseReserve = networkInfo.baseReserve
27
29
  ? BigInt(Math.round(networkInfo.baseReserve.toNumber() * 10)) / 10n
28
30
  : 0n;
29
- const isAssetPayment = transactionIntent.asset.type !== "native";
31
+ const isAssetPayment = transactionIntent.asset.type !== 'native';
30
32
  const nativeBalance = BigInt(balance.toString());
31
33
  const nativeAmountAvailable = BigInt(spendableBalance.toString()) - estimatedFees;
32
34
  let amount = 0n;
@@ -36,8 +38,8 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
36
38
  if (!errors.amount && nativeAmountAvailable < 0) {
37
39
  errors.amount = new types_1.StellarNotEnoughNativeBalance();
38
40
  }
39
- const networkInfoBaseFee = BigInt(networkInfo.baseFee.toString() || "0");
40
- const networkFees = BigInt(networkInfo.fees.toString() || "0");
41
+ const networkInfoBaseFee = BigInt(networkInfo.baseFee.toString() || '0');
42
+ const networkFees = BigInt(networkInfo.fees.toString() || '0');
41
43
  // Entered fee is smaller than base fee
42
44
  if (estimatedFees < networkInfoBaseFee) {
43
45
  errors.transaction = new types_1.StellarFeeSmallerThanBase();
@@ -47,13 +49,13 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
47
49
  warnings.transaction = new types_1.StellarFeeSmallerThanRecommended();
48
50
  }
49
51
  // Operation specific checks
50
- if (transactionIntent.type === "changeTrust") {
52
+ if (transactionIntent.type === 'changeTrust') {
51
53
  // Check asset provided
52
- if (transactionIntent.asset.type !== "native" &&
53
- (("assetReference" in transactionIntent.asset && !transactionIntent.asset.assetReference) ||
54
- ("assetOwner" in transactionIntent.asset && !transactionIntent.asset.assetOwner))) {
54
+ if (transactionIntent.asset.type !== 'native' &&
55
+ (('assetReference' in transactionIntent.asset && !transactionIntent.asset.assetReference) ||
56
+ ('assetOwner' in transactionIntent.asset && !transactionIntent.asset.assetOwner))) {
55
57
  // This is unlikely
56
- errors.transaction = new types_1.StellarAssetRequired("");
58
+ errors.transaction = new types_1.StellarAssetRequired('');
57
59
  }
58
60
  // Has enough native balance to add new trustline
59
61
  // NOTE: need to do this as BASE_RESERVE is 0.5
@@ -68,11 +70,11 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
68
70
  // Payment
69
71
  // Check recipient address
70
72
  if (!transactionIntent.recipient) {
71
- errors.recipient = new errors_1.RecipientRequired("");
73
+ errors.recipient = new errors_1.RecipientRequired('');
72
74
  }
73
75
  else if (!(0, utils_1.isAddressValid)(transactionIntent.recipient)) {
74
- errors.recipient = new errors_1.InvalidAddress("", {
75
- currencyName: transactionIntent.asset.name ?? "", // NOTE: before account.currencyName,
76
+ errors.recipient = new errors_1.InvalidAddress('', {
77
+ currencyName: transactionIntent.asset.name ?? '', // NOTE: before account.currencyName,
76
78
  });
77
79
  }
78
80
  else if (transactionIntent.sender === transactionIntent.recipient) {
@@ -98,7 +100,7 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
98
100
  // Asset payment
99
101
  if (isAssetPayment) {
100
102
  const asset = transactionIntent.asset;
101
- if (asset.type === "native" || (!("assetReference" in asset) && !("assetOwner" in asset))) {
103
+ if (asset.type === 'native' || (!('assetReference' in asset) && !('assetOwner' in asset))) {
102
104
  throw new types_1.StellarAssetNotFound();
103
105
  }
104
106
  // Check recipient account accepts asset
@@ -106,14 +108,14 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
106
108
  !errors.recipient &&
107
109
  !warnings.recipient &&
108
110
  !recipientAccount.assetIds.includes(`${asset.assetReference}:${asset.assetOwner}`)) {
109
- errors.recipient = new types_1.StellarAssetNotAccepted("", {
111
+ errors.recipient = new types_1.StellarAssetNotAccepted('', {
110
112
  assetCode: asset.assetReference,
111
113
  });
112
114
  }
113
- const assetBalance = balances.find(b => b.asset.type !== "native" &&
114
- "assetReference" in b.asset &&
115
+ const assetBalance = balances.find((b) => b.asset.type !== 'native' &&
116
+ 'assetReference' in b.asset &&
115
117
  b.asset.assetReference === asset.assetReference &&
116
- "assetOwner" in b.asset &&
118
+ 'assetOwner' in b.asset &&
117
119
  b.asset.assetOwner === asset.assetOwner);
118
120
  if (!assetBalance) {
119
121
  // This is unlikely
@@ -146,7 +148,7 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
146
148
  disableRounding: true,
147
149
  showCode: true,
148
150
  })
149
- : "Unknown unit",
151
+ : 'Unknown unit',
150
152
  });
151
153
  }
152
154
  if (!errors.recipient && !errors.amount && (amount < 0n || totalSpent > nativeBalance)) {
@@ -162,7 +164,7 @@ const validateIntent = async (transactionIntent, balances, customFees) => {
162
164
  if (await (0, utils_1.isAccountMultiSign)(transactionIntent.sender)) {
163
165
  errors.recipient = new types_1.StellarSourceHasMultiSign();
164
166
  }
165
- if (transactionIntent?.memo?.type !== "NO_MEMO" &&
167
+ if (transactionIntent?.memo?.type !== 'NO_MEMO' &&
166
168
  !(0, validateMemo_1.validateMemo)(transactionIntent?.memo?.value, transactionIntent?.memo?.type)) {
167
169
  errors.transaction = new types_1.StellarWrongMemoFormat();
168
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validateIntent.js","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateIntent.js","sourceRoot":"","sources":["../../src/logic/validateIntent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { StellarMemoKind } from "../types/model";
1
+ import { StellarMemoKind } from '../types/model';
2
2
  export declare const MEMO_TEXT_MAXIMUM_SIZE = 28;
3
3
  export declare const MEMO_HASH_FIXED_SIZE = 64;
4
4
  export declare function validateMemo(memo: string, type: StellarMemoKind): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"validateMemo.d.ts","sourceRoot":"","sources":["../../src/logic/validateMemo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAYzE"}
1
+ {"version":3,"file":"validateMemo.d.ts","sourceRoot":"","sources":["../../src/logic/validateMemo.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,eAAO,MAAM,sBAAsB,KAAK,CAAA;AACxC,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAYzE"}
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ // SPDX-FileCopyrightText: © 2026 LEDGER SAS
3
+ // SPDX-License-Identifier: Apache-2.0
2
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
6
  };
@@ -10,14 +12,14 @@ exports.MEMO_TEXT_MAXIMUM_SIZE = 28;
10
12
  exports.MEMO_HASH_FIXED_SIZE = 64;
11
13
  function validateMemo(memo, type) {
12
14
  switch (type) {
13
- case "NO_MEMO":
15
+ case 'NO_MEMO':
14
16
  return !memo || memo.length === 0;
15
- case "MEMO_TEXT":
17
+ case 'MEMO_TEXT':
16
18
  return memo.length <= exports.MEMO_TEXT_MAXIMUM_SIZE;
17
- case "MEMO_ID":
19
+ case 'MEMO_ID':
18
20
  return !new bignumber_js_1.default(memo.toString()).isNaN();
19
- case "MEMO_HASH":
20
- case "MEMO_RETURN":
21
+ case 'MEMO_HASH':
22
+ case 'MEMO_RETURN':
21
23
  return memo.length === 64;
22
24
  }
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validateMemo.js","sourceRoot":"","sources":["../../src/logic/validateMemo.ts"],"names":[],"mappings":";;;;;;AAMA,oCAYC;AAlBD,gEAAqC;AAGxB,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAEvC,SAAgB,YAAY,CAAC,IAAY,EAAE,IAAqB;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,MAAM,IAAI,8BAAsB,CAAC;QAC/C,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,sBAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validateMemo.js","sourceRoot":"","sources":["../../src/logic/validateMemo.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,sCAAsC;;;;;;AAQtC,oCAYC;AAlBD,gEAAoC;AAGvB,QAAA,sBAAsB,GAAG,EAAE,CAAA;AAC3B,QAAA,oBAAoB,GAAG,EAAE,CAAA;AAEtC,SAAgB,YAAY,CAAC,IAAY,EAAE,IAAqB;IAC9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;QACnC,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,MAAM,IAAI,8BAAsB,CAAA;QAC9C,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,sBAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;QAChD,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,MAAM,KAAK,EAAE,CAAA;IAC7B,CAAC;AACH,CAAC"}
@@ -1,8 +1,7 @@
1
- import type { Operation, Page } from "@ledgerhq/coin-module-framework/api/types";
2
- import type { CacheRes } from "@ledgerhq/live-network/cache";
3
- import { Horizon } from "@stellar/stellar-sdk";
4
- import { BigNumber } from "bignumber.js";
5
- import { type BalanceAsset, type NetworkInfo, type RawOperation, type Signer, NetworkCongestionLevel } from "../types";
1
+ import type { Operation, Page } from '@ledgerhq/coin-module-framework/api/types';
2
+ import type { CacheRes } from '@ledgerhq/live-network/cache';
3
+ import { Horizon } from '@stellar/stellar-sdk';
4
+ import { type BalanceAsset, type NetworkInfo, type RawOperation, type Signer, NetworkCongestionLevel } from '../types';
6
5
  /**
7
6
  * Register logging and URL-fix interceptors on Horizon.AxiosClient.
8
7
  * Must be called once after coinConfig is initialised (i.e. inside createApi).
@@ -42,12 +41,12 @@ export declare function fetchAccount(addr: string): Promise<{
42
41
  *
43
42
  * @return {Operation[]}
44
43
  */
45
- export declare function fetchAllOperations(accountId: string, addr: string, order: "asc" | "desc", cursor?: string, maxOperations?: number): Promise<Operation[]>;
44
+ export declare function fetchAllOperations(accountId: string, addr: string, order: 'asc' | 'desc', cursor?: string, maxOperations?: number): Promise<Operation[]>;
46
45
  export declare function fetchOperations({ accountId, addr, minHeight, order, cursor, limit, }: {
47
46
  accountId: string;
48
47
  addr: string;
49
48
  minHeight: number;
50
- order: "asc" | "desc";
49
+ order: 'asc' | 'desc';
51
50
  cursor: string | undefined;
52
51
  limit?: number | undefined;
53
52
  }): Promise<Page<Operation>>;
@@ -1 +1 @@
1
- {"version":3,"file":"horizon.d.ts","sourceRoot":"","sources":["../../src/network/horizon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAGL,OAAO,EAQR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AA+JlB;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAmDlD;AAGD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK5D;AAMD,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,aAAa,GACvC,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,CAAC,CAsCD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC,CA6BD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,MAAM,GAAE,MAAW,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC,CAyEtB;AAGD,wBAAsB,eAAe,CAAC,EACpC,SAAS,EACT,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,KAAK,GACN,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CA6D3B;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAqBnF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAGvE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOrE;AAWD,wBAAsB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBrF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUvF;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC,CAOD;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAQjG;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA2B9F;AAED,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CACxC,KAAK,CAAC;IACJ,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,EACF;IACE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,IAAI,CAQT,CAAC"}
1
+ {"version":3,"file":"horizon.d.ts","sourceRoot":"","sources":["../../src/network/horizon.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ // SPDX-FileCopyrightText: © 2026 LEDGER SAS
3
+ // SPDX-License-Identifier: Apache-2.0
2
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
6
  };
@@ -25,72 +27,24 @@ const logs_1 = require("@ledgerhq/logs");
25
27
  const stellar_sdk_1 = require("@stellar/stellar-sdk");
26
28
  const bignumber_js_1 = require("bignumber.js");
27
29
  const config_1 = __importDefault(require("../config"));
30
+ const common_1 = require("../logic/common");
28
31
  const polyfill_1 = require("../polyfill");
29
- const errors_2 = require("../types/errors");
30
32
  const types_1 = require("../types");
31
- const serialization_1 = require("./serialization");
33
+ const errors_2 = require("../types/errors");
34
+ const horizonErrorBody_1 = require("./horizonErrorBody");
32
35
  const horizonLedgerErrors_1 = require("./horizonLedgerErrors");
33
- const common_1 = require("../logic/common");
36
+ const serialization_1 = require("./serialization");
34
37
  const FALLBACK_BASE_FEE = 100;
35
38
  const TRESHOLD_LOW = 0.5;
36
39
  const TRESHOLD_MEDIUM = 0.75;
37
40
  const FETCH_LIMIT = 100;
38
- const STELLAR_TX_RESULT_CODES_DOC_URL = "https://developers.stellar.org/docs/data/apis/horizon/api-reference/errors/result-codes/transactions";
39
- /** Horizon `extras.result_codes.transaction` → one-line description (Stellar docs). */
40
- const HORIZON_TRANSACTION_RESULT_CODE_DOCUMENTATION = {
41
- tx_success: "The transaction succeeded.",
42
- tx_failed: "One of the operations failed (none were applied).",
43
- tx_too_early: "The ledger closeTime was before the minTime.",
44
- tx_too_late: "The ledger closeTime was after the maxTime.",
45
- tx_missing_operation: "No operation was specified.",
46
- tx_bad_seq: "Sequence number does not match source account.",
47
- tx_bad_auth: "Too few valid signatures / wrong network.",
48
- tx_insufficient_balance: "Fee would bring account below reserve.",
49
- tx_no_source_account: "Source account not found.",
50
- tx_insufficient_fee: "Fee is too small.",
51
- tx_bad_auth_extra: "Unused signatures attached to transaction.",
52
- tx_internal_error: "An unknown error occurred.",
53
- tx_fee_bump_inner_success: "Fee bump inner transaction succeeded.",
54
- tx_fee_bump_inner_failed: "Fee bump inner transaction failed.",
55
- tx_not_supported: "Transaction type not supported.",
56
- tx_bad_sponsorship: "Sponsorship is invalid.",
57
- tx_bad_min_seq_age_or_gap: "Minimum sequence age or gap precondition failed.",
58
- tx_malformed: "Transaction is malformed.",
59
- tx_soroban_invalid: "Soroban transaction is invalid.",
60
- };
61
- function isHorizonSubmitErrorBody(data) {
62
- return !!(data &&
63
- typeof data === "object" &&
64
- "extras" in data &&
65
- typeof data.extras === "object" &&
66
- data.extras !== null &&
67
- "result_codes" in data.extras &&
68
- data.extras.result_codes !== undefined &&
69
- typeof data.extras.result_codes === "object");
70
- }
71
- /**
72
- * Horizon submit failures are usually {@link BadResponseError} with `response` = problem+json body.
73
- * In practice axios rejects with `AxiosError` first; the SDK's `.catch` forwards it unchanged (see js-stellar-sdk horizon/server.js),
74
- * so the Horizon body lives on `error.response.data`.
75
- */
76
- function getHorizonBodyFromSubmitFailure(error) {
77
- if (error instanceof stellar_sdk_1.BadResponseError && isHorizonSubmitErrorBody(error.response)) {
78
- return error.response;
79
- }
80
- if (error && typeof error === "object" && "response" in error) {
81
- const data = error.response?.data;
82
- if (isHorizonSubmitErrorBody(data)) {
83
- return data;
84
- }
85
- }
86
- return null;
87
- }
41
+ const STELLAR_TX_RESULT_CODES_DOC_URL = 'https://developers.stellar.org/docs/data/apis/horizon/api-reference/errors/result-codes/transactions';
88
42
  function decodeTransactionResultFields(resultXdrBase64) {
89
43
  if (!resultXdrBase64) {
90
44
  return undefined;
91
45
  }
92
46
  try {
93
- const tr = stellar_sdk_1.xdr.TransactionResult.fromXDR(resultXdrBase64, "base64");
47
+ const tr = stellar_sdk_1.xdr.TransactionResult.fromXDR(resultXdrBase64, 'base64');
94
48
  const feeChargedStroops = tr.feeCharged().toString();
95
49
  const resultXdrSwitchName = tr.result().switch().name;
96
50
  const decodedResultXdr = {
@@ -107,17 +61,15 @@ function decodeTransactionResultFields(resultXdrBase64) {
107
61
  }
108
62
  function makeBroadcastFailedError(body, cause) {
109
63
  const extras = body.extras;
110
- const horizonTransactionCode = extras?.result_codes?.transaction ?? "";
64
+ const horizonTransactionCode = extras?.result_codes?.transaction ?? '';
111
65
  const horizonOperationCodes = extras?.result_codes?.operations;
112
- const documentationSummary = (horizonTransactionCode &&
113
- HORIZON_TRANSACTION_RESULT_CODE_DOCUMENTATION[horizonTransactionCode]) ||
114
- "Unknown transaction result code.";
66
+ const documentationSummary = (0, horizonErrorBody_1.documentationSummaryFromHorizonBody)(body);
115
67
  const decodedResult = decodeTransactionResultFields(extras?.result_xdr);
116
68
  const feeChargedStroops = decodedResult?.feeChargedStroops;
117
69
  const resultXdrSwitchName = decodedResult?.resultXdrSwitchName;
118
70
  const decodedResultXdr = decodedResult?.decodedResultXdr;
119
- const envelopeXdr = extras?.envelope_xdr ?? "";
120
- const message = body.detail || body.title || `Transaction submission failed (${body.status ?? "unknown"}).`;
71
+ const envelopeXdr = extras?.envelope_xdr ?? '';
72
+ const message = body.detail || body.title || `Transaction submission failed (${body.status ?? 'unknown'}).`;
121
73
  return new errors_2.StellarBroadcastFailedError(message, {
122
74
  documentationSummary,
123
75
  horizonTransactionCode,
@@ -157,7 +109,7 @@ function registerHorizonInterceptors() {
157
109
  if (interceptorsRegistered)
158
110
  return;
159
111
  interceptorsRegistered = true;
160
- stellar_sdk_1.Horizon.AxiosClient.interceptors.request.use(config => {
112
+ stellar_sdk_1.Horizon.AxiosClient.interceptors.request.use((config) => {
161
113
  let enableNetworkLogs = false;
162
114
  try {
163
115
  enableNetworkLogs = !!config_1.default.getCoinConfig().enableNetworkLogs;
@@ -166,13 +118,13 @@ function registerHorizonInterceptors() {
166
118
  return config;
167
119
  }
168
120
  if (enableNetworkLogs) {
169
- const { baseURL, url, method = "", data } = config;
170
- (0, logs_1.log)("network", `${method} ${baseURL ?? ""}${url}`, { data });
121
+ const { baseURL, url, method = '', data } = config;
122
+ (0, logs_1.log)('network', `${method} ${baseURL ?? ''}${url}`, { data });
171
123
  requestStartTimes.set(config, Date.now());
172
124
  }
173
125
  return config;
174
126
  });
175
- stellar_sdk_1.Horizon.AxiosClient.interceptors.response.use(response => {
127
+ stellar_sdk_1.Horizon.AxiosClient.interceptors.response.use((response) => {
176
128
  let enableNetworkLogs = false;
177
129
  try {
178
130
  enableNetworkLogs = !!config_1.default.getCoinConfig().enableNetworkLogs;
@@ -184,7 +136,7 @@ function registerHorizonInterceptors() {
184
136
  // response.config is typed as `any` in stellar-sdk's HttpClientResponse
185
137
  const startTime = requestStartTimes.get(response.config) ?? 0;
186
138
  requestStartTimes.delete(response.config);
187
- (0, logs_1.log)("network-success", `${response.status} ${response.config?.method ?? ""} ${response.config?.baseURL ?? ""}${response.config?.url ?? ""} (${(Date.now() - startTime).toFixed(0)}ms)`, { data: response.data });
139
+ (0, logs_1.log)('network-success', `${response.status} ${response.config?.method ?? ''} ${response.config?.baseURL ?? ''}${response.config?.url ?? ''} (${(Date.now() - startTime).toFixed(0)}ms)`, { data: response.data });
188
140
  }
189
141
  // FIXME: workaround for the Stellar SDK not using the correct URL: the "next" URL
190
142
  // included in server responses points to the node itself instead of our reverse proxy...
@@ -261,20 +213,20 @@ async function fetchBaseFee() {
261
213
  async function fetchAccount(addr) {
262
214
  let account = {};
263
215
  let assets = [];
264
- let balance = "0";
216
+ let balance = '0';
265
217
  try {
266
218
  account = await getServer().accounts().accountId(addr).call();
267
219
  balance =
268
- account.balances?.find(balance => {
269
- return balance.asset_type === "native";
270
- })?.balance || "0";
220
+ account.balances?.find((balance) => {
221
+ return balance.asset_type === 'native';
222
+ })?.balance || '0';
271
223
  // Getting all non-native (XLM) assets on the account
272
- assets = account.balances?.filter(balance => {
273
- return balance.asset_type !== "native";
224
+ assets = account.balances?.filter((balance) => {
225
+ return balance.asset_type !== 'native';
274
226
  });
275
227
  }
276
228
  catch {
277
- balance = "0";
229
+ balance = '0';
278
230
  }
279
231
  const formattedBalance = (0, common_1.parseAPIValue)(balance);
280
232
  const spendableBalance = await getAccountSpendableBalance(formattedBalance, account);
@@ -296,7 +248,7 @@ async function fetchAccount(addr) {
296
248
  *
297
249
  * @return {Operation[]}
298
250
  */
299
- async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperations) {
251
+ async function fetchAllOperations(accountId, addr, order, cursor = '', maxOperations) {
300
252
  if (!addr) {
301
253
  return [];
302
254
  }
@@ -311,7 +263,7 @@ async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperat
311
263
  .order(order)
312
264
  .cursor(cursor)
313
265
  .includeFailed(true)
314
- .join("transactions")
266
+ .join('transactions')
315
267
  .call();
316
268
  if (!rawOperations || !rawOperations.records.length) {
317
269
  return [];
@@ -330,7 +282,7 @@ async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperat
330
282
  catch (e) {
331
283
  // FIXME: terrible hacks, because Stellar SDK fails to cast network failures to typed errors in react-native...
332
284
  // (https://github.com/stellar/js-stellar-sdk/issues/638)
333
- const errorMsg = e ? String(e) : "";
285
+ const errorMsg = e ? String(e) : '';
334
286
  if (e instanceof stellar_sdk_1.NotFoundError || errorMsg.match(/status code 404/)) {
335
287
  return [];
336
288
  }
@@ -350,7 +302,7 @@ async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperat
350
302
  }
351
303
  // https://developers.stellar.org/docs/data/horizon/api-reference/get-operations-by-account-id
352
304
  async function fetchOperations({ accountId, addr, minHeight, order, cursor, limit, }) {
353
- const noResult = { items: [], next: "" };
305
+ const noResult = { items: [], next: '' };
354
306
  if (!addr) {
355
307
  return noResult;
356
308
  }
@@ -361,9 +313,9 @@ async function fetchOperations({ accountId, addr, minHeight, order, cursor, limi
361
313
  .forAccount(addr)
362
314
  .limit(requestedLimit)
363
315
  .order(order)
364
- .cursor(cursor ?? "")
316
+ .cursor(cursor ?? '')
365
317
  .includeFailed(true)
366
- .join("transactions")
318
+ .join('transactions')
367
319
  .call();
368
320
  if (!rawOperations || !rawOperations.records.length) {
369
321
  return noResult;
@@ -372,7 +324,7 @@ async function fetchOperations({ accountId, addr, minHeight, order, cursor, limi
372
324
  const filteredOps = await (0, serialization_1.rawOperationsToOperations)(rawOps, addr, accountId, minHeight);
373
325
  // Always return the cursor so the caller can continue pagination,
374
326
  // even when filteredOps is empty (e.g. page of unsupported types).
375
- const nextCursor = rawOps.length < requestedLimit ? "" : rawOps[rawOps.length - 1].paging_token;
327
+ const nextCursor = rawOps.length < requestedLimit ? '' : rawOps[rawOps.length - 1].paging_token;
376
328
  return { items: filteredOps, next: nextCursor };
377
329
  }
378
330
  catch (e) {
@@ -380,12 +332,12 @@ async function fetchOperations({ accountId, addr, minHeight, order, cursor, limi
380
332
  // (https://github.com/stellar/js-stellar-sdk/issues/638)
381
333
  // update 2025-04-01: in case of NetworkError, the error.response fields are undefined. Hence we cannot rely on status code
382
334
  // the only way to check is the errror message, which may break at some point
383
- const errorMsg = e ? String(e) : "";
335
+ const errorMsg = e ? String(e) : '';
384
336
  if (e instanceof stellar_sdk_1.NotFoundError || errorMsg.match(/status code 404/)) {
385
337
  return noResult;
386
338
  }
387
339
  if (errorMsg.match(/too many requests/i)) {
388
- throw new errors_1.LedgerAPI4xx("status code 4xx", { status: 429, url: undefined, method: "GET" });
340
+ throw new errors_1.LedgerAPI4xx('status code 4xx', { status: 429, url: undefined, method: 'GET' });
389
341
  }
390
342
  if (errorMsg.match(/status code 4[0-9]{2}/)) {
391
343
  throw new errors_1.LedgerAPI4xx();
@@ -407,7 +359,7 @@ async function fetchAccountNetworkInfo(account) {
407
359
  const baseReserve = (0, serialization_1.getReservedBalance)(extendedAccount);
408
360
  const { recommendedFee, networkCongestionLevel, baseFee } = await fetchBaseFee();
409
361
  return {
410
- family: "stellar",
362
+ family: 'stellar',
411
363
  fees: new bignumber_js_1.BigNumber(recommendedFee.toString()),
412
364
  baseFee: new bignumber_js_1.BigNumber(baseFee.toString()),
413
365
  baseReserve,
@@ -416,7 +368,7 @@ async function fetchAccountNetworkInfo(account) {
416
368
  }
417
369
  catch {
418
370
  return {
419
- family: "stellar",
371
+ family: 'stellar',
420
372
  fees: new bignumber_js_1.BigNumber(0),
421
373
  baseFee: new bignumber_js_1.BigNumber(100),
422
374
  baseReserve: new bignumber_js_1.BigNumber(0),
@@ -437,7 +389,7 @@ async function fetchSigners(account) {
437
389
  }
438
390
  }
439
391
  function interpretedError(error) {
440
- const body = getHorizonBodyFromSubmitFailure(error);
392
+ const body = (0, horizonErrorBody_1.getHorizonErrorBody)(error);
441
393
  if (body) {
442
394
  const cause = error instanceof Error ? error : new Error(String(error));
443
395
  return makeBroadcastFailedError(body, cause);
@@ -475,7 +427,7 @@ async function loadAccount(addr) {
475
427
  }
476
428
  }
477
429
  async function getLastBlock() {
478
- const ledger = await getServer().ledgers().order("desc").limit(1).call();
430
+ const ledger = await getServer().ledgers().order('desc').limit(1).call();
479
431
  return {
480
432
  height: ledger.records[0].sequence,
481
433
  hash: ledger.records[0].hash,
@@ -513,8 +465,8 @@ async function fetchAllLedgerOperations(ledgerSequence) {
513
465
  .operations()
514
466
  .forLedger(ledgerSequence)
515
467
  .includeFailed(true)
516
- .join("transactions")
517
- .order("asc")
468
+ .join('transactions')
469
+ .order('asc')
518
470
  .limit(limit)
519
471
  .call();
520
472
  const records = [...response.records];
@@ -531,10 +483,11 @@ async function fetchAllLedgerOperations(ledgerSequence) {
531
483
  (0, horizonLedgerErrors_1.throwHorizonLedgerOrOperationsError)(e, `Stellar ledger ${ledgerSequence} not found`);
532
484
  }
533
485
  }
534
- exports.getRecipientAccount = (0, cache_1.makeLRUCache)(async ({ recipient }) => await recipientAccount(recipient), extract => extract.recipient, {
486
+ exports.getRecipientAccount = (0, cache_1.makeLRUCache)(async ({ recipient }) => await recipientAccount(recipient), (extract) => extract.recipient, {
535
487
  max: 300,
536
488
  ttl: 5 * 60,
537
- });
489
+ } // 5 minutes
490
+ );
538
491
  async function recipientAccount(address) {
539
492
  if (!address) {
540
493
  return null;
@@ -542,7 +495,7 @@ async function recipientAccount(address) {
542
495
  let accountAddress = address;
543
496
  const isMuxedAccount = stellar_sdk_1.StrKey.isValidMed25519PublicKey(address);
544
497
  if (isMuxedAccount) {
545
- const muxedAccount = stellar_sdk_1.MuxedAccount.fromAddress(address, "0");
498
+ const muxedAccount = stellar_sdk_1.MuxedAccount.fromAddress(address, '0');
546
499
  accountAddress = muxedAccount.baseAccount().accountId();
547
500
  }
548
501
  const account = await loadAccount(accountAddress);
@@ -559,12 +512,12 @@ async function recipientAccount(address) {
559
512
  }
560
513
  function getBalanceId(balance) {
561
514
  switch (balance.asset_type) {
562
- case "native":
563
- return "native";
564
- case "liquidity_pool_shares":
515
+ case 'native':
516
+ return 'native';
517
+ case 'liquidity_pool_shares':
565
518
  return balance.liquidity_pool_id || null;
566
- case "credit_alphanum4":
567
- case "credit_alphanum12":
519
+ case 'credit_alphanum4':
520
+ case 'credit_alphanum12':
568
521
  return `${balance.asset_code}:${balance.asset_issuer}`;
569
522
  default:
570
523
  return null;