@ledgerhq/coin-stellar 6.26.0 → 6.26.1

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 (271) hide show
  1. package/.oxlintrc.json +7 -0
  2. package/CHANGELOG.md +6 -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 +71 -68
  80. package/lib/network/horizon.js.map +1 -1
  81. package/lib/network/horizonLedgerErrors.d.ts.map +1 -1
  82. package/lib/network/horizonLedgerErrors.js +5 -3
  83. package/lib/network/horizonLedgerErrors.js.map +1 -1
  84. package/lib/network/index.d.ts +1 -1
  85. package/lib/network/index.d.ts.map +1 -1
  86. package/lib/network/index.js +2 -0
  87. package/lib/network/index.js.map +1 -1
  88. package/lib/network/serialization.d.ts +6 -4
  89. package/lib/network/serialization.d.ts.map +1 -1
  90. package/lib/network/serialization.js +95 -91
  91. package/lib/network/serialization.js.map +1 -1
  92. package/lib/polyfill.d.ts.map +1 -1
  93. package/lib/polyfill.js +6 -4
  94. package/lib/polyfill.js.map +1 -1
  95. package/lib/supportedFeatures.d.ts +1 -1
  96. package/lib/supportedFeatures.d.ts.map +1 -1
  97. package/lib/supportedFeatures.js +3 -1
  98. package/lib/supportedFeatures.js.map +1 -1
  99. package/lib/types/errors.d.ts.map +1 -1
  100. package/lib/types/errors.js +14 -12
  101. package/lib/types/errors.js.map +1 -1
  102. package/lib/types/index.d.ts +2 -2
  103. package/lib/types/index.d.ts.map +1 -1
  104. package/lib/types/index.js +2 -0
  105. package/lib/types/index.js.map +1 -1
  106. package/lib/types/model.d.ts +6 -6
  107. package/lib/types/model.d.ts.map +1 -1
  108. package/lib/types/model.js +7 -5
  109. package/lib/types/model.js.map +1 -1
  110. package/lib-es/api/index.d.ts +5 -5
  111. package/lib-es/api/index.d.ts.map +1 -1
  112. package/lib-es/api/index.js +20 -18
  113. package/lib-es/api/index.js.map +1 -1
  114. package/lib-es/config.d.ts +1 -1
  115. package/lib-es/config.d.ts.map +1 -1
  116. package/lib-es/config.js +3 -1
  117. package/lib-es/config.js.map +1 -1
  118. package/lib-es/constants.d.ts.map +1 -1
  119. package/lib-es/constants.js +3 -1
  120. package/lib-es/constants.js.map +1 -1
  121. package/lib-es/logic/broadcast.d.ts.map +1 -1
  122. package/lib-es/logic/broadcast.js +3 -1
  123. package/lib-es/logic/broadcast.js.map +1 -1
  124. package/lib-es/logic/combine.d.ts +1 -1
  125. package/lib-es/logic/combine.d.ts.map +1 -1
  126. package/lib-es/logic/combine.js +3 -1
  127. package/lib-es/logic/combine.js.map +1 -1
  128. package/lib-es/logic/common.d.ts +1 -1
  129. package/lib-es/logic/common.d.ts.map +1 -1
  130. package/lib-es/logic/common.js +5 -3
  131. package/lib-es/logic/common.js.map +1 -1
  132. package/lib-es/logic/craftTransaction.d.ts +1 -1
  133. package/lib-es/logic/craftTransaction.d.ts.map +1 -1
  134. package/lib-es/logic/craftTransaction.js +15 -13
  135. package/lib-es/logic/craftTransaction.js.map +1 -1
  136. package/lib-es/logic/estimateFees.d.ts.map +1 -1
  137. package/lib-es/logic/estimateFees.js +3 -1
  138. package/lib-es/logic/estimateFees.js.map +1 -1
  139. package/lib-es/logic/getBalance.d.ts +1 -1
  140. package/lib-es/logic/getBalance.d.ts.map +1 -1
  141. package/lib-es/logic/getBalance.js +5 -3
  142. package/lib-es/logic/getBalance.js.map +1 -1
  143. package/lib-es/logic/getBlock.d.ts +1 -1
  144. package/lib-es/logic/getBlock.d.ts.map +1 -1
  145. package/lib-es/logic/getBlock.js +42 -37
  146. package/lib-es/logic/getBlock.js.map +1 -1
  147. package/lib-es/logic/getBlockInfo.d.ts +1 -1
  148. package/lib-es/logic/getBlockInfo.d.ts.map +1 -1
  149. package/lib-es/logic/getBlockInfo.js +3 -1
  150. package/lib-es/logic/getBlockInfo.js.map +1 -1
  151. package/lib-es/logic/index.d.ts +12 -12
  152. package/lib-es/logic/index.d.ts.map +1 -1
  153. package/lib-es/logic/index.js +14 -12
  154. package/lib-es/logic/index.js.map +1 -1
  155. package/lib-es/logic/lastBlock.d.ts +1 -1
  156. package/lib-es/logic/lastBlock.d.ts.map +1 -1
  157. package/lib-es/logic/lastBlock.js +3 -1
  158. package/lib-es/logic/lastBlock.js.map +1 -1
  159. package/lib-es/logic/listOperations.d.ts +1 -1
  160. package/lib-es/logic/listOperations.d.ts.map +1 -1
  161. package/lib-es/logic/listOperations.js +7 -5
  162. package/lib-es/logic/listOperations.js.map +1 -1
  163. package/lib-es/logic/sdkWrapper.d.ts +1 -1
  164. package/lib-es/logic/sdkWrapper.d.ts.map +1 -1
  165. package/lib-es/logic/sdkWrapper.js +4 -2
  166. package/lib-es/logic/sdkWrapper.js.map +1 -1
  167. package/lib-es/logic/utils.d.ts.map +1 -1
  168. package/lib-es/logic/utils.js +6 -4
  169. package/lib-es/logic/utils.js.map +1 -1
  170. package/lib-es/logic/validateAddress.d.ts +1 -1
  171. package/lib-es/logic/validateAddress.d.ts.map +1 -1
  172. package/lib-es/logic/validateAddress.js +3 -1
  173. package/lib-es/logic/validateAddress.js.map +1 -1
  174. package/lib-es/logic/validateIntent.d.ts +2 -2
  175. package/lib-es/logic/validateIntent.d.ts.map +1 -1
  176. package/lib-es/logic/validateIntent.js +30 -28
  177. package/lib-es/logic/validateIntent.js.map +1 -1
  178. package/lib-es/logic/validateMemo.d.ts +1 -1
  179. package/lib-es/logic/validateMemo.d.ts.map +1 -1
  180. package/lib-es/logic/validateMemo.js +8 -6
  181. package/lib-es/logic/validateMemo.js.map +1 -1
  182. package/lib-es/network/horizon.d.ts +6 -7
  183. package/lib-es/network/horizon.d.ts.map +1 -1
  184. package/lib-es/network/horizon.js +80 -77
  185. package/lib-es/network/horizon.js.map +1 -1
  186. package/lib-es/network/horizonLedgerErrors.d.ts.map +1 -1
  187. package/lib-es/network/horizonLedgerErrors.js +7 -5
  188. package/lib-es/network/horizonLedgerErrors.js.map +1 -1
  189. package/lib-es/network/index.d.ts +1 -1
  190. package/lib-es/network/index.d.ts.map +1 -1
  191. package/lib-es/network/index.js +3 -1
  192. package/lib-es/network/index.js.map +1 -1
  193. package/lib-es/network/serialization.d.ts +6 -4
  194. package/lib-es/network/serialization.d.ts.map +1 -1
  195. package/lib-es/network/serialization.js +97 -95
  196. package/lib-es/network/serialization.js.map +1 -1
  197. package/lib-es/polyfill.d.ts.map +1 -1
  198. package/lib-es/polyfill.js +7 -5
  199. package/lib-es/polyfill.js.map +1 -1
  200. package/lib-es/supportedFeatures.d.ts +1 -1
  201. package/lib-es/supportedFeatures.d.ts.map +1 -1
  202. package/lib-es/supportedFeatures.js +3 -1
  203. package/lib-es/supportedFeatures.js.map +1 -1
  204. package/lib-es/types/errors.d.ts.map +1 -1
  205. package/lib-es/types/errors.js +15 -13
  206. package/lib-es/types/errors.js.map +1 -1
  207. package/lib-es/types/index.d.ts +2 -2
  208. package/lib-es/types/index.d.ts.map +1 -1
  209. package/lib-es/types/index.js +4 -2
  210. package/lib-es/types/index.js.map +1 -1
  211. package/lib-es/types/model.d.ts +6 -6
  212. package/lib-es/types/model.d.ts.map +1 -1
  213. package/lib-es/types/model.js +7 -5
  214. package/lib-es/types/model.js.map +1 -1
  215. package/package.json +13 -16
  216. package/src/api/index.integ.test.ts +165 -162
  217. package/src/api/index.test.ts +106 -103
  218. package/src/api/index.ts +49 -46
  219. package/src/api/index_error.test.ts +48 -25
  220. package/src/config.ts +15 -12
  221. package/src/constants.ts +4 -1
  222. package/src/globals.d.ts +7 -5
  223. package/src/logic/broadcast.integ.test.ts +22 -19
  224. package/src/logic/broadcast.ts +5 -2
  225. package/src/logic/combine.test.ts +18 -15
  226. package/src/logic/combine.ts +8 -5
  227. package/src/logic/common.ts +9 -6
  228. package/src/logic/craftTransaction.test.ts +76 -75
  229. package/src/logic/craftTransaction.ts +46 -43
  230. package/src/logic/estimateFees.ts +6 -3
  231. package/src/logic/getBalance.test.ts +31 -28
  232. package/src/logic/getBalance.ts +13 -10
  233. package/src/logic/getBlock.integ.test.ts +40 -39
  234. package/src/logic/getBlock.test.ts +462 -415
  235. package/src/logic/getBlock.ts +142 -127
  236. package/src/logic/getBlockInfo.test.ts +72 -69
  237. package/src/logic/getBlockInfo.ts +15 -12
  238. package/src/logic/index.ts +15 -12
  239. package/src/logic/lastBlock.ts +6 -3
  240. package/src/logic/listOperations.ts +14 -11
  241. package/src/logic/listOperations.unit.test.ts +212 -209
  242. package/src/logic/networkWrappers.test.ts +32 -29
  243. package/src/logic/sdkWrapper.ts +19 -16
  244. package/src/logic/utils.ts +13 -10
  245. package/src/logic/validateAddress.test.ts +21 -18
  246. package/src/logic/validateAddress.ts +7 -4
  247. package/src/logic/validateIntent.test.ts +62 -59
  248. package/src/logic/validateIntent.ts +87 -84
  249. package/src/logic/validateMemo.test.ts +50 -47
  250. package/src/logic/validateMemo.ts +16 -13
  251. package/src/network/broadcastTransaction.test.ts +60 -60
  252. package/src/network/fetchLedgerOperations.unit.test.ts +155 -0
  253. package/src/network/horizon.integ.test.ts +45 -42
  254. package/src/network/horizon.test.ts +17 -14
  255. package/src/network/horizon.ts +279 -281
  256. package/src/network/horizon.unit.test.ts +238 -237
  257. package/src/network/horizonLedgerErrors.test.ts +81 -78
  258. package/src/network/horizonLedgerErrors.ts +22 -19
  259. package/src/network/index.ts +4 -1
  260. package/src/network/registerHorizonInterceptors.test.ts +163 -160
  261. package/src/network/serialization.ts +232 -227
  262. package/src/network/serialization.unit.test.ts +801 -798
  263. package/src/polyfill.ts +18 -15
  264. package/src/supportedFeatures.ts +6 -3
  265. package/src/types/errors.ts +33 -32
  266. package/src/types/index.ts +5 -2
  267. package/src/types/model.ts +55 -52
  268. package/tsconfig.json +1 -1
  269. package/.unimportedrc.json +0 -17
  270. package/LICENSE.txt +0 -21
  271. 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,48 +27,48 @@ 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");
32
34
  const horizonLedgerErrors_1 = require("./horizonLedgerErrors");
33
- const common_1 = require("../logic/common");
35
+ const serialization_1 = require("./serialization");
34
36
  const FALLBACK_BASE_FEE = 100;
35
37
  const TRESHOLD_LOW = 0.5;
36
38
  const TRESHOLD_MEDIUM = 0.75;
37
39
  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";
40
+ const STELLAR_TX_RESULT_CODES_DOC_URL = 'https://developers.stellar.org/docs/data/apis/horizon/api-reference/errors/result-codes/transactions';
39
41
  /** Horizon `extras.result_codes.transaction` → one-line description (Stellar docs). */
40
42
  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.",
43
+ tx_success: 'The transaction succeeded.',
44
+ tx_failed: 'One of the operations failed (none were applied).',
45
+ tx_too_early: 'The ledger closeTime was before the minTime.',
46
+ tx_too_late: 'The ledger closeTime was after the maxTime.',
47
+ tx_missing_operation: 'No operation was specified.',
48
+ tx_bad_seq: 'Sequence number does not match source account.',
49
+ tx_bad_auth: 'Too few valid signatures / wrong network.',
50
+ tx_insufficient_balance: 'Fee would bring account below reserve.',
51
+ tx_no_source_account: 'Source account not found.',
52
+ tx_insufficient_fee: 'Fee is too small.',
53
+ tx_bad_auth_extra: 'Unused signatures attached to transaction.',
54
+ tx_internal_error: 'An unknown error occurred.',
55
+ tx_fee_bump_inner_success: 'Fee bump inner transaction succeeded.',
56
+ tx_fee_bump_inner_failed: 'Fee bump inner transaction failed.',
57
+ tx_not_supported: 'Transaction type not supported.',
58
+ tx_bad_sponsorship: 'Sponsorship is invalid.',
59
+ tx_bad_min_seq_age_or_gap: 'Minimum sequence age or gap precondition failed.',
60
+ tx_malformed: 'Transaction is malformed.',
61
+ tx_soroban_invalid: 'Soroban transaction is invalid.',
60
62
  };
61
63
  function isHorizonSubmitErrorBody(data) {
62
64
  return !!(data &&
63
- typeof data === "object" &&
64
- "extras" in data &&
65
- typeof data.extras === "object" &&
65
+ typeof data === 'object' &&
66
+ 'extras' in data &&
67
+ typeof data.extras === 'object' &&
66
68
  data.extras !== null &&
67
- "result_codes" in data.extras &&
69
+ 'result_codes' in data.extras &&
68
70
  data.extras.result_codes !== undefined &&
69
- typeof data.extras.result_codes === "object");
71
+ typeof data.extras.result_codes === 'object');
70
72
  }
71
73
  /**
72
74
  * Horizon submit failures are usually {@link BadResponseError} with `response` = problem+json body.
@@ -77,7 +79,7 @@ function getHorizonBodyFromSubmitFailure(error) {
77
79
  if (error instanceof stellar_sdk_1.BadResponseError && isHorizonSubmitErrorBody(error.response)) {
78
80
  return error.response;
79
81
  }
80
- if (error && typeof error === "object" && "response" in error) {
82
+ if (error && typeof error === 'object' && 'response' in error) {
81
83
  const data = error.response?.data;
82
84
  if (isHorizonSubmitErrorBody(data)) {
83
85
  return data;
@@ -90,7 +92,7 @@ function decodeTransactionResultFields(resultXdrBase64) {
90
92
  return undefined;
91
93
  }
92
94
  try {
93
- const tr = stellar_sdk_1.xdr.TransactionResult.fromXDR(resultXdrBase64, "base64");
95
+ const tr = stellar_sdk_1.xdr.TransactionResult.fromXDR(resultXdrBase64, 'base64');
94
96
  const feeChargedStroops = tr.feeCharged().toString();
95
97
  const resultXdrSwitchName = tr.result().switch().name;
96
98
  const decodedResultXdr = {
@@ -107,17 +109,17 @@ function decodeTransactionResultFields(resultXdrBase64) {
107
109
  }
108
110
  function makeBroadcastFailedError(body, cause) {
109
111
  const extras = body.extras;
110
- const horizonTransactionCode = extras?.result_codes?.transaction ?? "";
112
+ const horizonTransactionCode = extras?.result_codes?.transaction ?? '';
111
113
  const horizonOperationCodes = extras?.result_codes?.operations;
112
114
  const documentationSummary = (horizonTransactionCode &&
113
115
  HORIZON_TRANSACTION_RESULT_CODE_DOCUMENTATION[horizonTransactionCode]) ||
114
- "Unknown transaction result code.";
116
+ 'Unknown transaction result code.';
115
117
  const decodedResult = decodeTransactionResultFields(extras?.result_xdr);
116
118
  const feeChargedStroops = decodedResult?.feeChargedStroops;
117
119
  const resultXdrSwitchName = decodedResult?.resultXdrSwitchName;
118
120
  const decodedResultXdr = decodedResult?.decodedResultXdr;
119
- const envelopeXdr = extras?.envelope_xdr ?? "";
120
- const message = body.detail || body.title || `Transaction submission failed (${body.status ?? "unknown"}).`;
121
+ const envelopeXdr = extras?.envelope_xdr ?? '';
122
+ const message = body.detail || body.title || `Transaction submission failed (${body.status ?? 'unknown'}).`;
121
123
  return new errors_2.StellarBroadcastFailedError(message, {
122
124
  documentationSummary,
123
125
  horizonTransactionCode,
@@ -157,7 +159,7 @@ function registerHorizonInterceptors() {
157
159
  if (interceptorsRegistered)
158
160
  return;
159
161
  interceptorsRegistered = true;
160
- stellar_sdk_1.Horizon.AxiosClient.interceptors.request.use(config => {
162
+ stellar_sdk_1.Horizon.AxiosClient.interceptors.request.use((config) => {
161
163
  let enableNetworkLogs = false;
162
164
  try {
163
165
  enableNetworkLogs = !!config_1.default.getCoinConfig().enableNetworkLogs;
@@ -166,13 +168,13 @@ function registerHorizonInterceptors() {
166
168
  return config;
167
169
  }
168
170
  if (enableNetworkLogs) {
169
- const { baseURL, url, method = "", data } = config;
170
- (0, logs_1.log)("network", `${method} ${baseURL ?? ""}${url}`, { data });
171
+ const { baseURL, url, method = '', data } = config;
172
+ (0, logs_1.log)('network', `${method} ${baseURL ?? ''}${url}`, { data });
171
173
  requestStartTimes.set(config, Date.now());
172
174
  }
173
175
  return config;
174
176
  });
175
- stellar_sdk_1.Horizon.AxiosClient.interceptors.response.use(response => {
177
+ stellar_sdk_1.Horizon.AxiosClient.interceptors.response.use((response) => {
176
178
  let enableNetworkLogs = false;
177
179
  try {
178
180
  enableNetworkLogs = !!config_1.default.getCoinConfig().enableNetworkLogs;
@@ -184,7 +186,7 @@ function registerHorizonInterceptors() {
184
186
  // response.config is typed as `any` in stellar-sdk's HttpClientResponse
185
187
  const startTime = requestStartTimes.get(response.config) ?? 0;
186
188
  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 });
189
+ (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
190
  }
189
191
  // FIXME: workaround for the Stellar SDK not using the correct URL: the "next" URL
190
192
  // included in server responses points to the node itself instead of our reverse proxy...
@@ -261,20 +263,20 @@ async function fetchBaseFee() {
261
263
  async function fetchAccount(addr) {
262
264
  let account = {};
263
265
  let assets = [];
264
- let balance = "0";
266
+ let balance = '0';
265
267
  try {
266
268
  account = await getServer().accounts().accountId(addr).call();
267
269
  balance =
268
- account.balances?.find(balance => {
269
- return balance.asset_type === "native";
270
- })?.balance || "0";
270
+ account.balances?.find((balance) => {
271
+ return balance.asset_type === 'native';
272
+ })?.balance || '0';
271
273
  // Getting all non-native (XLM) assets on the account
272
- assets = account.balances?.filter(balance => {
273
- return balance.asset_type !== "native";
274
+ assets = account.balances?.filter((balance) => {
275
+ return balance.asset_type !== 'native';
274
276
  });
275
277
  }
276
278
  catch {
277
- balance = "0";
279
+ balance = '0';
278
280
  }
279
281
  const formattedBalance = (0, common_1.parseAPIValue)(balance);
280
282
  const spendableBalance = await getAccountSpendableBalance(formattedBalance, account);
@@ -296,7 +298,7 @@ async function fetchAccount(addr) {
296
298
  *
297
299
  * @return {Operation[]}
298
300
  */
299
- async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperations) {
301
+ async function fetchAllOperations(accountId, addr, order, cursor = '', maxOperations) {
300
302
  if (!addr) {
301
303
  return [];
302
304
  }
@@ -311,7 +313,7 @@ async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperat
311
313
  .order(order)
312
314
  .cursor(cursor)
313
315
  .includeFailed(true)
314
- .join("transactions")
316
+ .join('transactions')
315
317
  .call();
316
318
  if (!rawOperations || !rawOperations.records.length) {
317
319
  return [];
@@ -330,7 +332,7 @@ async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperat
330
332
  catch (e) {
331
333
  // FIXME: terrible hacks, because Stellar SDK fails to cast network failures to typed errors in react-native...
332
334
  // (https://github.com/stellar/js-stellar-sdk/issues/638)
333
- const errorMsg = e ? String(e) : "";
335
+ const errorMsg = e ? String(e) : '';
334
336
  if (e instanceof stellar_sdk_1.NotFoundError || errorMsg.match(/status code 404/)) {
335
337
  return [];
336
338
  }
@@ -350,7 +352,7 @@ async function fetchAllOperations(accountId, addr, order, cursor = "", maxOperat
350
352
  }
351
353
  // https://developers.stellar.org/docs/data/horizon/api-reference/get-operations-by-account-id
352
354
  async function fetchOperations({ accountId, addr, minHeight, order, cursor, limit, }) {
353
- const noResult = { items: [], next: "" };
355
+ const noResult = { items: [], next: '' };
354
356
  if (!addr) {
355
357
  return noResult;
356
358
  }
@@ -361,9 +363,9 @@ async function fetchOperations({ accountId, addr, minHeight, order, cursor, limi
361
363
  .forAccount(addr)
362
364
  .limit(requestedLimit)
363
365
  .order(order)
364
- .cursor(cursor ?? "")
366
+ .cursor(cursor ?? '')
365
367
  .includeFailed(true)
366
- .join("transactions")
368
+ .join('transactions')
367
369
  .call();
368
370
  if (!rawOperations || !rawOperations.records.length) {
369
371
  return noResult;
@@ -372,7 +374,7 @@ async function fetchOperations({ accountId, addr, minHeight, order, cursor, limi
372
374
  const filteredOps = await (0, serialization_1.rawOperationsToOperations)(rawOps, addr, accountId, minHeight);
373
375
  // Always return the cursor so the caller can continue pagination,
374
376
  // even when filteredOps is empty (e.g. page of unsupported types).
375
- const nextCursor = rawOps.length < requestedLimit ? "" : rawOps[rawOps.length - 1].paging_token;
377
+ const nextCursor = rawOps.length < requestedLimit ? '' : rawOps[rawOps.length - 1].paging_token;
376
378
  return { items: filteredOps, next: nextCursor };
377
379
  }
378
380
  catch (e) {
@@ -380,12 +382,12 @@ async function fetchOperations({ accountId, addr, minHeight, order, cursor, limi
380
382
  // (https://github.com/stellar/js-stellar-sdk/issues/638)
381
383
  // update 2025-04-01: in case of NetworkError, the error.response fields are undefined. Hence we cannot rely on status code
382
384
  // the only way to check is the errror message, which may break at some point
383
- const errorMsg = e ? String(e) : "";
385
+ const errorMsg = e ? String(e) : '';
384
386
  if (e instanceof stellar_sdk_1.NotFoundError || errorMsg.match(/status code 404/)) {
385
387
  return noResult;
386
388
  }
387
389
  if (errorMsg.match(/too many requests/i)) {
388
- throw new errors_1.LedgerAPI4xx("status code 4xx", { status: 429, url: undefined, method: "GET" });
390
+ throw new errors_1.LedgerAPI4xx('status code 4xx', { status: 429, url: undefined, method: 'GET' });
389
391
  }
390
392
  if (errorMsg.match(/status code 4[0-9]{2}/)) {
391
393
  throw new errors_1.LedgerAPI4xx();
@@ -407,7 +409,7 @@ async function fetchAccountNetworkInfo(account) {
407
409
  const baseReserve = (0, serialization_1.getReservedBalance)(extendedAccount);
408
410
  const { recommendedFee, networkCongestionLevel, baseFee } = await fetchBaseFee();
409
411
  return {
410
- family: "stellar",
412
+ family: 'stellar',
411
413
  fees: new bignumber_js_1.BigNumber(recommendedFee.toString()),
412
414
  baseFee: new bignumber_js_1.BigNumber(baseFee.toString()),
413
415
  baseReserve,
@@ -416,7 +418,7 @@ async function fetchAccountNetworkInfo(account) {
416
418
  }
417
419
  catch {
418
420
  return {
419
- family: "stellar",
421
+ family: 'stellar',
420
422
  fees: new bignumber_js_1.BigNumber(0),
421
423
  baseFee: new bignumber_js_1.BigNumber(100),
422
424
  baseReserve: new bignumber_js_1.BigNumber(0),
@@ -475,7 +477,7 @@ async function loadAccount(addr) {
475
477
  }
476
478
  }
477
479
  async function getLastBlock() {
478
- const ledger = await getServer().ledgers().order("desc").limit(1).call();
480
+ const ledger = await getServer().ledgers().order('desc').limit(1).call();
479
481
  return {
480
482
  height: ledger.records[0].sequence,
481
483
  hash: ledger.records[0].hash,
@@ -513,8 +515,8 @@ async function fetchAllLedgerOperations(ledgerSequence) {
513
515
  .operations()
514
516
  .forLedger(ledgerSequence)
515
517
  .includeFailed(true)
516
- .join("transactions")
517
- .order("asc")
518
+ .join('transactions')
519
+ .order('asc')
518
520
  .limit(limit)
519
521
  .call();
520
522
  const records = [...response.records];
@@ -531,10 +533,11 @@ async function fetchAllLedgerOperations(ledgerSequence) {
531
533
  (0, horizonLedgerErrors_1.throwHorizonLedgerOrOperationsError)(e, `Stellar ledger ${ledgerSequence} not found`);
532
534
  }
533
535
  }
534
- exports.getRecipientAccount = (0, cache_1.makeLRUCache)(async ({ recipient }) => await recipientAccount(recipient), extract => extract.recipient, {
536
+ exports.getRecipientAccount = (0, cache_1.makeLRUCache)(async ({ recipient }) => await recipientAccount(recipient), (extract) => extract.recipient, {
535
537
  max: 300,
536
538
  ttl: 5 * 60,
537
- });
539
+ } // 5 minutes
540
+ );
538
541
  async function recipientAccount(address) {
539
542
  if (!address) {
540
543
  return null;
@@ -542,7 +545,7 @@ async function recipientAccount(address) {
542
545
  let accountAddress = address;
543
546
  const isMuxedAccount = stellar_sdk_1.StrKey.isValidMed25519PublicKey(address);
544
547
  if (isMuxedAccount) {
545
- const muxedAccount = stellar_sdk_1.MuxedAccount.fromAddress(address, "0");
548
+ const muxedAccount = stellar_sdk_1.MuxedAccount.fromAddress(address, '0');
546
549
  accountAddress = muxedAccount.baseAccount().accountId();
547
550
  }
548
551
  const account = await loadAccount(accountAddress);
@@ -559,12 +562,12 @@ async function recipientAccount(address) {
559
562
  }
560
563
  function getBalanceId(balance) {
561
564
  switch (balance.asset_type) {
562
- case "native":
563
- return "native";
564
- case "liquidity_pool_shares":
565
+ case 'native':
566
+ return 'native';
567
+ case 'liquidity_pool_shares':
565
568
  return balance.liquidity_pool_id || null;
566
- case "credit_alphanum4":
567
- case "credit_alphanum12":
569
+ case 'credit_alphanum4':
570
+ case 'credit_alphanum12':
568
571
  return `${balance.asset_code}:${balance.asset_issuer}`;
569
572
  default:
570
573
  return null;