@ledgerhq/live-common 34.33.2-hotfix.0 → 34.34.0-nightly.0

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 (99) hide show
  1. package/lib/DataModel.d.ts.map +1 -1
  2. package/lib/DataModel.js +8 -0
  3. package/lib/DataModel.js.map +1 -1
  4. package/lib/DataModel.test.js +46 -0
  5. package/lib/DataModel.test.js.map +1 -1
  6. package/lib/domain/getTokensWithFunds.d.ts +3 -0
  7. package/lib/domain/getTokensWithFunds.d.ts.map +1 -0
  8. package/lib/domain/getTokensWithFunds.js +36 -0
  9. package/lib/domain/getTokensWithFunds.js.map +1 -0
  10. package/lib/domain/getTokensWithFunds.test.d.ts +2 -0
  11. package/lib/domain/getTokensWithFunds.test.d.ts.map +1 -0
  12. package/lib/domain/getTokensWithFunds.test.js +71 -0
  13. package/lib/domain/getTokensWithFunds.test.js.map +1 -0
  14. package/lib/e2e/index.d.ts +3 -0
  15. package/lib/e2e/index.d.ts.map +1 -1
  16. package/lib/env.react.d.ts +1 -1
  17. package/lib/env.react.d.ts.map +1 -1
  18. package/lib/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
  19. package/lib/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
  20. package/lib/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
  21. package/lib/families/evm/config.d.ts.map +1 -1
  22. package/lib/families/evm/config.js +65 -2
  23. package/lib/families/evm/config.js.map +1 -1
  24. package/lib/families/solana/banner.test.js +1 -0
  25. package/lib/families/solana/banner.test.js.map +1 -1
  26. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  27. package/lib/featureFlags/defaultFeatures.js +8 -0
  28. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  29. package/lib/featureFlags/useFeature.d.ts +1 -1
  30. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  31. package/lib/market/hooks/useLargeMoverDataProvider.d.ts +17 -0
  32. package/lib/market/hooks/useLargeMoverDataProvider.d.ts.map +1 -0
  33. package/lib/market/hooks/useLargeMoverDataProvider.js +48 -0
  34. package/lib/market/hooks/useLargeMoverDataProvider.js.map +1 -0
  35. package/lib/wallet-api/Exchange/server.d.ts +6 -1
  36. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  37. package/lib/wallet-api/Exchange/server.js +11 -1
  38. package/lib/wallet-api/Exchange/server.js.map +1 -1
  39. package/lib/wallet-api/Exchange/server.test.js +2 -0
  40. package/lib/wallet-api/Exchange/server.test.js.map +1 -1
  41. package/lib/wallet-api/constants.d.ts +1 -1
  42. package/lib-es/DataModel.d.ts.map +1 -1
  43. package/lib-es/DataModel.js +8 -0
  44. package/lib-es/DataModel.js.map +1 -1
  45. package/lib-es/DataModel.test.js +46 -0
  46. package/lib-es/DataModel.test.js.map +1 -1
  47. package/lib-es/domain/getTokensWithFunds.d.ts +3 -0
  48. package/lib-es/domain/getTokensWithFunds.d.ts.map +1 -0
  49. package/lib-es/domain/getTokensWithFunds.js +32 -0
  50. package/lib-es/domain/getTokensWithFunds.js.map +1 -0
  51. package/lib-es/domain/getTokensWithFunds.test.d.ts +2 -0
  52. package/lib-es/domain/getTokensWithFunds.test.d.ts.map +1 -0
  53. package/lib-es/domain/getTokensWithFunds.test.js +66 -0
  54. package/lib-es/domain/getTokensWithFunds.test.js.map +1 -0
  55. package/lib-es/e2e/index.d.ts +3 -0
  56. package/lib-es/e2e/index.d.ts.map +1 -1
  57. package/lib-es/env.react.d.ts +1 -1
  58. package/lib-es/env.react.d.ts.map +1 -1
  59. package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
  60. package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
  61. package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
  62. package/lib-es/families/evm/config.d.ts.map +1 -1
  63. package/lib-es/families/evm/config.js +65 -2
  64. package/lib-es/families/evm/config.js.map +1 -1
  65. package/lib-es/families/solana/banner.test.js +1 -0
  66. package/lib-es/families/solana/banner.test.js.map +1 -1
  67. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  68. package/lib-es/featureFlags/defaultFeatures.js +8 -0
  69. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  70. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  71. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  72. package/lib-es/market/hooks/useLargeMoverDataProvider.d.ts +17 -0
  73. package/lib-es/market/hooks/useLargeMoverDataProvider.d.ts.map +1 -0
  74. package/lib-es/market/hooks/useLargeMoverDataProvider.js +44 -0
  75. package/lib-es/market/hooks/useLargeMoverDataProvider.js.map +1 -0
  76. package/lib-es/wallet-api/Exchange/server.d.ts +6 -1
  77. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  78. package/lib-es/wallet-api/Exchange/server.js +11 -1
  79. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  80. package/lib-es/wallet-api/Exchange/server.test.js +2 -0
  81. package/lib-es/wallet-api/Exchange/server.test.js.map +1 -1
  82. package/lib-es/wallet-api/constants.d.ts +1 -1
  83. package/package.json +65 -65
  84. package/src/DataModel.test.ts +51 -0
  85. package/src/DataModel.ts +8 -2
  86. package/src/domain/getTokensWithFunds.test.ts +94 -0
  87. package/src/domain/getTokensWithFunds.ts +36 -0
  88. package/src/exchange/swap/getIncompatibleCurrencyKeys.ts +4 -0
  89. package/src/families/aptos/__snapshots__/bridge.integration.test.ts.snap +72 -6
  90. package/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap +4351 -745
  91. package/src/families/cosmos/datasets/__snapshots__/cosmos.integration.test.ts.snap +2 -2
  92. package/src/families/evm/config.ts +65 -2
  93. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +1612 -0
  94. package/src/families/solana/banner.test.ts +1 -0
  95. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +254 -14
  96. package/src/featureFlags/defaultFeatures.ts +8 -0
  97. package/src/market/hooks/useLargeMoverDataProvider.ts +70 -0
  98. package/src/wallet-api/Exchange/server.test.ts +2 -0
  99. package/src/wallet-api/Exchange/server.ts +15 -0
@@ -109,6 +109,7 @@ const validatorsMap = {
109
109
  version: "1",
110
110
  validatorsWithMeta: [],
111
111
  validators,
112
+ splTokens: null,
112
113
  } as SolanaPreloadDataV1;
113
114
 
114
115
  describe("solana/banner", () => {
@@ -3,82 +3,82 @@
3
3
  exports[`stellar currency bridge scanAccounts stellar seed 1 1`] = `
4
4
  [
5
5
  {
6
- "balance": "341064624",
6
+ "balance": "341064626",
7
7
  "currencyId": "stellar",
8
8
  "derivationMode": "sep5",
9
9
  "freshAddress": "GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
10
10
  "freshAddressPath": "44'/148'/0'",
11
11
  "id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
12
12
  "index": 0,
13
- "operationsCount": 67,
13
+ "operationsCount": 69,
14
14
  "pendingOperations": [],
15
15
  "seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
16
- "spendableBalance": "311064524",
16
+ "spendableBalance": "311064526",
17
17
  "subAccounts": [],
18
18
  "swapHistory": [],
19
19
  "syncHash": undefined,
20
20
  "used": true,
21
21
  },
22
22
  {
23
- "balance": "89999837",
23
+ "balance": "89999840",
24
24
  "currencyId": "stellar",
25
25
  "derivationMode": "sep5",
26
26
  "freshAddress": "GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z",
27
27
  "freshAddressPath": "44'/148'/1'",
28
28
  "id": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5",
29
29
  "index": 1,
30
- "operationsCount": 20,
30
+ "operationsCount": 23,
31
31
  "pendingOperations": [],
32
32
  "seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
33
- "spendableBalance": "79999737",
33
+ "spendableBalance": "79999740",
34
34
  "subAccounts": [],
35
35
  "swapHistory": [],
36
36
  "syncHash": undefined,
37
37
  "used": true,
38
38
  },
39
39
  {
40
- "balance": "59999338",
40
+ "balance": "59999341",
41
41
  "currencyId": "stellar",
42
42
  "derivationMode": "sep5",
43
43
  "freshAddress": "GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS",
44
44
  "freshAddressPath": "44'/148'/2'",
45
45
  "id": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
46
46
  "index": 2,
47
- "operationsCount": 14,
47
+ "operationsCount": 17,
48
48
  "pendingOperations": [],
49
49
  "seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
50
- "spendableBalance": "44999238",
50
+ "spendableBalance": "44999241",
51
51
  "subAccounts": [],
52
52
  "swapHistory": [],
53
53
  "syncHash": undefined,
54
54
  "used": true,
55
55
  },
56
56
  {
57
- "balance": "20145820",
57
+ "balance": "20145821",
58
58
  "currencyId": "stellar",
59
59
  "derivationMode": "sep5",
60
60
  "freshAddress": "GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC",
61
61
  "freshAddressPath": "44'/148'/3'",
62
62
  "id": "js:2:stellar:GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC:sep5",
63
63
  "index": 3,
64
- "operationsCount": 16,
64
+ "operationsCount": 17,
65
65
  "pendingOperations": [],
66
66
  "seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
67
- "spendableBalance": "10145720",
67
+ "spendableBalance": "10145721",
68
68
  "subAccounts": [],
69
69
  "swapHistory": [],
70
70
  "syncHash": undefined,
71
71
  "used": true,
72
72
  },
73
73
  {
74
- "balance": "10000000",
74
+ "balance": "10000001",
75
75
  "currencyId": "stellar",
76
76
  "derivationMode": "sep5",
77
77
  "freshAddress": "GBQMOU2WYJUP6AKY53FFKZJGQMDWCMTWSOUTZ5DVIAQPVW7AJUHSX2M5",
78
78
  "freshAddressPath": "44'/148'/4'",
79
79
  "id": "js:2:stellar:GBQMOU2WYJUP6AKY53FFKZJGQMDWCMTWSOUTZ5DVIAQPVW7AJUHSX2M5:sep5",
80
80
  "index": 4,
81
- "operationsCount": 3,
81
+ "operationsCount": 4,
82
82
  "pendingOperations": [],
83
83
  "seedIdentifier": "27c586f8499294c64d57f8d7956eef4431de58ab20e1c88001f6cf131c97d6f3",
84
84
  "spendableBalance": "0",
@@ -203,6 +203,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
203
203
  "type": "OUT",
204
204
  "value": "10000000",
205
205
  },
206
+ {
207
+ "accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
208
+ "blockHash": "ef457e3171c63398ecc9935759502cc1f41f472ee0b188553515bfa45b9404b0",
209
+ "blockHeight": 56002611,
210
+ "extra": {
211
+ "blockTime": 2025-03-04T19:08:36.000Z,
212
+ "ledgerOpType": "IN",
213
+ "memo": "t.me/WealthAcademyStellar",
214
+ "pagingToken": "240529382736080977",
215
+ },
216
+ "fee": "10000",
217
+ "hasFailed": false,
218
+ "hash": "05f4965e87c2a9b4ceb48246ec8278324156c8ea06e2b7a1d7ef49d178f79471",
219
+ "id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-05f4965e87c2a9b4ceb48246ec8278324156c8ea06e2b7a1d7ef49d178f79471-IN",
220
+ "recipients": [
221
+ "GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
222
+ ],
223
+ "senders": [
224
+ "GCVTUT4QMMCZFKOQTXFRHWFGBT6B4V3GUECDE6OVNC6HFKSPOBHHTBHI",
225
+ ],
226
+ "transactionSequenceNumber": 240200272276634700,
227
+ "type": "IN",
228
+ "value": "1",
229
+ },
206
230
  {
207
231
  "accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
208
232
  "blockHash": "a7769b7f7c72338772933bd009182489c81e44b2e7b73c8395b73726318fc139",
@@ -274,6 +298,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
274
298
  "type": "OUT",
275
299
  "value": "10000000",
276
300
  },
301
+ {
302
+ "accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
303
+ "blockHash": "de91876967432c18db672925858963de846140dc7cbfc8e73e016a09bec9f719",
304
+ "blockHeight": 55972081,
305
+ "extra": {
306
+ "blockTime": 2025-03-02T17:43:03.000Z,
307
+ "ledgerOpType": "IN",
308
+ "memo": "Send XLM will return double",
309
+ "pagingToken": "240398257385058400",
310
+ },
311
+ "fee": "10000",
312
+ "hasFailed": false,
313
+ "hash": "10f80f998201ebff68bccdd827700e9a0a9939de101961762a3db002f57e2a56",
314
+ "id": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5-10f80f998201ebff68bccdd827700e9a0a9939de101961762a3db002f57e2a56-IN",
315
+ "recipients": [
316
+ "GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV",
317
+ ],
318
+ "senders": [
319
+ "GBDBVQPLYTGE746IPBUZ2WVZIQ7ITEQI7WTAIRHOWDOJKFCZPUOFLLMC",
320
+ ],
321
+ "transactionSequenceNumber": 224182496688895580,
322
+ "type": "IN",
323
+ "value": "1",
324
+ },
277
325
  {
278
326
  "accountId": "js:2:stellar:GAT4LBXYJGJJJRSNK74NPFLO55CDDXSYVMQODSEAAH3M6EY4S7LPH5GV:sep5",
279
327
  "blockHash": "9b53959e3850d83e925dbd0eb1bd7846e7b80c70f31ebb71494690aff354a43a",
@@ -1751,6 +1799,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
1751
1799
  "type": "IN",
1752
1800
  "value": "10000000",
1753
1801
  },
1802
+ {
1803
+ "accountId": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5",
1804
+ "blockHash": "a503209c6c00b8266962e78a5737d64cf055b5fa4ed0b8ee9837cbd85a4aa1ae",
1805
+ "blockHeight": 56007260,
1806
+ "extra": {
1807
+ "blockTime": 2025-03-05T02:35:15.000Z,
1808
+ "ledgerOpType": "IN",
1809
+ "memo": "t.me/WealthAcademyStellar",
1810
+ "pagingToken": "240549350038851652",
1811
+ },
1812
+ "fee": "10000",
1813
+ "hasFailed": false,
1814
+ "hash": "11b3716f32c7cca29315d5c5f8531acde37c8f44564ef5683d1d4af491ee8369",
1815
+ "id": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5-11b3716f32c7cca29315d5c5f8531acde37c8f44564ef5683d1d4af491ee8369-IN",
1816
+ "recipients": [
1817
+ "GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z",
1818
+ ],
1819
+ "senders": [
1820
+ "GCVTUT4QMMCZFKOQTXFRHWFGBT6B4V3GUECDE6OVNC6HFKSPOBHHTBHI",
1821
+ ],
1822
+ "transactionSequenceNumber": 240200272276639000,
1823
+ "type": "IN",
1824
+ "value": "1",
1825
+ },
1754
1826
  {
1755
1827
  "accountId": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5",
1756
1828
  "blockHash": "2ce97ae5ea75b59247c22d89a28ec88437603f5d5b8b020d53b2834d53a8f8cc",
@@ -1937,6 +2009,54 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
1937
2009
  "type": "IN",
1938
2010
  "value": "10000000",
1939
2011
  },
2012
+ {
2013
+ "accountId": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5",
2014
+ "blockHash": "c3a1c60c55f04bdb4f6f9ec2debc88ef3306397763b998307f4d2514e6132ae9",
2015
+ "blockHeight": 55927470,
2016
+ "extra": {
2017
+ "blockTime": 2025-02-27T17:17:18.000Z,
2018
+ "ledgerOpType": "IN",
2019
+ "memo": "Send XLM will return double",
2020
+ "pagingToken": "240206654598270996",
2021
+ },
2022
+ "fee": "10000",
2023
+ "hasFailed": false,
2024
+ "hash": "6b019b55c20a4a160ecc6d3416b7bcf275eb080755e8b1c4f7885606ef4dedda",
2025
+ "id": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5-6b019b55c20a4a160ecc6d3416b7bcf275eb080755e8b1c4f7885606ef4dedda-IN",
2026
+ "recipients": [
2027
+ "GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z",
2028
+ ],
2029
+ "senders": [
2030
+ "GAN5MKWRBXUZSOMS4WJUWCWIMO4YV3MEVB4UN6LQDNJ46KCZA6ZTQHZM",
2031
+ ],
2032
+ "transactionSequenceNumber": 224182410789546850,
2033
+ "type": "IN",
2034
+ "value": "1",
2035
+ },
2036
+ {
2037
+ "accountId": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5",
2038
+ "blockHash": "7cc5f24068f69a7d0405ca2c1bc836f291bd3ebb848bf512a923d2f7951cfaf7",
2039
+ "blockHeight": 55968678,
2040
+ "extra": {
2041
+ "blockTime": 2025-03-02T12:03:54.000Z,
2042
+ "ledgerOpType": "IN",
2043
+ "memo": "Send XLM will return double",
2044
+ "pagingToken": "240383641610809364",
2045
+ },
2046
+ "fee": "10000",
2047
+ "hasFailed": false,
2048
+ "hash": "707fe3c97df2a0df4df5922615635ca3b8901cb2eee555790b9aa5ddc48f73f1",
2049
+ "id": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5-707fe3c97df2a0df4df5922615635ca3b8901cb2eee555790b9aa5ddc48f73f1-IN",
2050
+ "recipients": [
2051
+ "GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z",
2052
+ ],
2053
+ "senders": [
2054
+ "GAN5MKWRBXUZSOMS4WJUWCWIMO4YV3MEVB4UN6LQDNJ46KCZA6ZTQHZM",
2055
+ ],
2056
+ "transactionSequenceNumber": 224182410789548900,
2057
+ "type": "IN",
2058
+ "value": "1",
2059
+ },
1940
2060
  {
1941
2061
  "accountId": "js:2:stellar:GAIXIJBMYPTSF2CDVQ35WOTULCLZIE4W2SDEK3RQGAA3A22BPWY7R53Z:sep5",
1942
2062
  "blockHash": "940f6d55e324cad32a8f495d0d4816167f2dc527e98f38a4c05d2ec6a0dd1fa3",
@@ -2197,6 +2317,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
2197
2317
  "type": "IN",
2198
2318
  "value": "9999800",
2199
2319
  },
2320
+ {
2321
+ "accountId": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
2322
+ "blockHash": "fb3194849fbdb434e8a40ed48118a9e33999499caec01d910cfc5921569fcc74",
2323
+ "blockHeight": 55965218,
2324
+ "extra": {
2325
+ "blockTime": 2025-03-02T06:29:04.000Z,
2326
+ "ledgerOpType": "IN",
2327
+ "memo": "Send XLM will return double",
2328
+ "pagingToken": "240368781023604799",
2329
+ },
2330
+ "fee": "10000",
2331
+ "hasFailed": false,
2332
+ "hash": "66275feac6a658704ca0dedd08eb4eb0c3aa4d93f8c4fbeb0445151608e221f3",
2333
+ "id": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5-66275feac6a658704ca0dedd08eb4eb0c3aa4d93f8c4fbeb0445151608e221f3-IN",
2334
+ "recipients": [
2335
+ "GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS",
2336
+ ],
2337
+ "senders": [
2338
+ "GBWVA367C4ZMEGRZQPNME3QYXSMJ6KZ3BWWDFC4W4AINAPA5JO22GAFM",
2339
+ ],
2340
+ "transactionSequenceNumber": 224182376429809540,
2341
+ "type": "IN",
2342
+ "value": "1",
2343
+ },
2200
2344
  {
2201
2345
  "accountId": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
2202
2346
  "blockHash": "2583196005865980360213d8744c1b7fec8ca4c597bc7f02523b9f58e86b28b6",
@@ -2338,6 +2482,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
2338
2482
  "type": "OUT",
2339
2483
  "value": "20000000",
2340
2484
  },
2485
+ {
2486
+ "accountId": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
2487
+ "blockHash": "059ac557d43c4f9abcf3761ae47a3a016ff22a53483ecd9e92747528747aca7b",
2488
+ "blockHeight": 56008962,
2489
+ "extra": {
2490
+ "blockTime": 2025-03-05T05:20:29.000Z,
2491
+ "ledgerOpType": "IN",
2492
+ "memo": "t.me/WealthAcademyStellar",
2493
+ "pagingToken": "240556660073410576",
2494
+ },
2495
+ "fee": "10000",
2496
+ "hasFailed": false,
2497
+ "hash": "cccc617abbe10c7f72105522d7142d33540684b1c43cdc663c1ac91bd4bd9375",
2498
+ "id": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5-cccc617abbe10c7f72105522d7142d33540684b1c43cdc663c1ac91bd4bd9375-IN",
2499
+ "recipients": [
2500
+ "GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS",
2501
+ ],
2502
+ "senders": [
2503
+ "GCVTUT4QMMCZFKOQTXFRHWFGBT6B4V3GUECDE6OVNC6HFKSPOBHHTBHI",
2504
+ ],
2505
+ "transactionSequenceNumber": 240200272276640450,
2506
+ "type": "IN",
2507
+ "value": "1",
2508
+ },
2341
2509
  {
2342
2510
  "accountId": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
2343
2511
  "blockHash": "7fe0edcad6eda2aac460570e81b895da10a5f59457aa2f97dbe735758f2f4a24",
@@ -2408,6 +2576,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
2408
2576
  "type": "OUT",
2409
2577
  "value": "100",
2410
2578
  },
2579
+ {
2580
+ "accountId": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
2581
+ "blockHash": "1fbe0399c6d69ee786a9bf8bc8c2d5367cece4a14978384a35270b68b9871ffd",
2582
+ "blockHeight": 55924151,
2583
+ "extra": {
2584
+ "blockTime": 2025-02-27T11:56:15.000Z,
2585
+ "ledgerOpType": "IN",
2586
+ "memo": "Send XLM will return double",
2587
+ "pagingToken": "240192399601573951",
2588
+ },
2589
+ "fee": "10000",
2590
+ "hasFailed": false,
2591
+ "hash": "e6ea018c4edb4cdadbe69505f884102d76a324eb963b03dc506b87fc68bfe6f3",
2592
+ "id": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5-e6ea018c4edb4cdadbe69505f884102d76a324eb963b03dc506b87fc68bfe6f3-IN",
2593
+ "recipients": [
2594
+ "GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS",
2595
+ ],
2596
+ "senders": [
2597
+ "GBWVA367C4ZMEGRZQPNME3QYXSMJ6KZ3BWWDFC4W4AINAPA5JO22GAFM",
2598
+ ],
2599
+ "transactionSequenceNumber": 224182376429807500,
2600
+ "type": "IN",
2601
+ "value": "1",
2602
+ },
2411
2603
  {
2412
2604
  "accountId": "js:2:stellar:GCDDN6T2LJN3T7SPWJQV6BCCL5KNY5GBN7X4CMSZLDEXDHXAH32TOAHS:sep5",
2413
2605
  "blockHash": "8ddf2943fb33e1073e0465753c07f67c9b716870a4805de91b9628e355f91f83",
@@ -2525,6 +2717,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
2525
2717
  "type": "IN",
2526
2718
  "value": "1000",
2527
2719
  },
2720
+ {
2721
+ "accountId": "js:2:stellar:GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC:sep5",
2722
+ "blockHash": "702b748ceb91919b47aa60268bc388f13d21c74fe49738ea267c6bca2c32b6bb",
2723
+ "blockHeight": 56031711,
2724
+ "extra": {
2725
+ "blockTime": 2025-03-06T18:17:33.000Z,
2726
+ "ledgerOpType": "IN",
2727
+ "memo": "t.me/WealthAcademyStellar",
2728
+ "pagingToken": "240654366283989072",
2729
+ },
2730
+ "fee": "10000",
2731
+ "hasFailed": false,
2732
+ "hash": "214048caa2a53392a0e72182289e9b5569cb2de8841194785e896e2b4ec240d6",
2733
+ "id": "js:2:stellar:GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC:sep5-214048caa2a53392a0e72182289e9b5569cb2de8841194785e896e2b4ec240d6-IN",
2734
+ "recipients": [
2735
+ "GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC",
2736
+ ],
2737
+ "senders": [
2738
+ "GCVTUT4QMMCZFKOQTXFRHWFGBT6B4V3GUECDE6OVNC6HFKSPOBHHTBHI",
2739
+ ],
2740
+ "transactionSequenceNumber": 240200272276660830,
2741
+ "type": "IN",
2742
+ "value": "1",
2743
+ },
2528
2744
  {
2529
2745
  "accountId": "js:2:stellar:GAHQKL7UW5DSNJXWNA4ASJ6D2I7JYFWVHDFWYJZK3WDR4BUTG27K2PWC:sep5",
2530
2746
  "blockHash": "7a8a04682794135315a774dbeda355e18774b081c418b7e3fb9b75e985a9b499",
@@ -2920,6 +3136,30 @@ exports[`stellar currency bridge scanAccounts stellar seed 1 2`] = `
2920
3136
  "type": "IN",
2921
3137
  "value": "10000000",
2922
3138
  },
3139
+ {
3140
+ "accountId": "js:2:stellar:GBQMOU2WYJUP6AKY53FFKZJGQMDWCMTWSOUTZ5DVIAQPVW7AJUHSX2M5:sep5",
3141
+ "blockHash": "39c16b2810fc502733f411484db4bc41f40d9989db0a094e737e0b624e93522c",
3142
+ "blockHeight": 56072035,
3143
+ "extra": {
3144
+ "blockTime": 2025-03-09T11:28:36.000Z,
3145
+ "ledgerOpType": "IN",
3146
+ "memo": "t.me/WealthAcademyStellar",
3147
+ "pagingToken": "240827556545601633",
3148
+ },
3149
+ "fee": "10000",
3150
+ "hasFailed": false,
3151
+ "hash": "dffbcb57db47eda8f1ae59f94f82776b02beaf2e91b7e19079fc3d88882e1cc5",
3152
+ "id": "js:2:stellar:GBQMOU2WYJUP6AKY53FFKZJGQMDWCMTWSOUTZ5DVIAQPVW7AJUHSX2M5:sep5-dffbcb57db47eda8f1ae59f94f82776b02beaf2e91b7e19079fc3d88882e1cc5-IN",
3153
+ "recipients": [
3154
+ "GBQMOU2WYJUP6AKY53FFKZJGQMDWCMTWSOUTZ5DVIAQPVW7AJUHSX2M5",
3155
+ ],
3156
+ "senders": [
3157
+ "GCVTUT4QMMCZFKOQTXFRHWFGBT6B4V3GUECDE6OVNC6HFKSPOBHHTBHI",
3158
+ ],
3159
+ "transactionSequenceNumber": 240200272276696130,
3160
+ "type": "IN",
3161
+ "value": "1",
3162
+ },
2923
3163
  ],
2924
3164
  [],
2925
3165
  ]
@@ -601,6 +601,14 @@ export const DEFAULT_FEATURES: Features = {
601
601
  },
602
602
  },
603
603
  llNftSupport: DEFAULT_FEATURE,
604
+ llNftEntryPoint: {
605
+ ...DEFAULT_FEATURE,
606
+ params: {
607
+ opensea: false,
608
+ magiceden: false,
609
+ chains: ["ethereum", "polygon", "base", "arbitrum"],
610
+ },
611
+ },
604
612
  };
605
613
 
606
614
  // Firebase SDK treat JSON values as strings
@@ -0,0 +1,70 @@
1
+ import { useQueries } from "@tanstack/react-query";
2
+ import { fetchCurrency, fetchCurrencyChartData } from "../api";
3
+ import { QUERY_KEY } from "../utils/queryKeys";
4
+ import { REFETCH_TIME_ONE_MINUTE, BASIC_REFETCH } from "../utils/timers";
5
+ import { CurrencyData, MarketCoinDataChart, MarketItemResponse } from "../utils/types";
6
+ import { format } from "../utils/currencyFormatter";
7
+ import { listCryptoCurrencies } from "@ledgerhq/cryptoassets/currencies";
8
+
9
+ const cryptoCurrenciesList = [...listCryptoCurrencies()];
10
+
11
+ type UseLargeMoverDataProviderParams = {
12
+ ids: string[];
13
+ counterCurrency: string;
14
+ range: string;
15
+ };
16
+
17
+ function mapIdsToQueries<T>(ids: string[], queries: T[]): Record<string, T> {
18
+ return Object.fromEntries(ids.map((id, index) => [id, queries[index]]));
19
+ }
20
+
21
+ export const useLargeMoverDataProvider = ({
22
+ ids,
23
+ counterCurrency,
24
+ range,
25
+ }: UseLargeMoverDataProviderParams): {
26
+ currencies: {
27
+ id: string;
28
+ data?: CurrencyData;
29
+ chartData?: MarketCoinDataChart;
30
+ isLoading: boolean;
31
+ isError: boolean;
32
+ }[];
33
+ } => {
34
+ const currencyQueries = useQueries({
35
+ queries: ids.map(id => ({
36
+ queryKey: [QUERY_KEY.CurrencyDataRaw, id, counterCurrency],
37
+ queryFn: () => fetchCurrency({ id, counterCurrency }),
38
+ refetchInterval: REFETCH_TIME_ONE_MINUTE * BASIC_REFETCH,
39
+ staleTime: REFETCH_TIME_ONE_MINUTE * BASIC_REFETCH,
40
+ select: (data: MarketItemResponse) => format(data, cryptoCurrenciesList),
41
+ })),
42
+ });
43
+
44
+ const chartQueries = useQueries({
45
+ queries: ids.map(id => ({
46
+ queryKey: [QUERY_KEY.CurrencyChartData, id, counterCurrency, range],
47
+ queryFn: () => fetchCurrencyChartData({ id, counterCurrency, range }),
48
+ refetchInterval: REFETCH_TIME_ONE_MINUTE * BASIC_REFETCH,
49
+ staleTime: REFETCH_TIME_ONE_MINUTE * BASIC_REFETCH,
50
+ })),
51
+ });
52
+
53
+ const currencyQueryMap = mapIdsToQueries(ids, currencyQueries);
54
+ const chartQueryMap = mapIdsToQueries(ids, chartQueries);
55
+
56
+ const currencies = ids.map(id => {
57
+ const currencyQuery = currencyQueryMap[id];
58
+ const chartQuery = chartQueryMap[id];
59
+
60
+ return {
61
+ id,
62
+ data: currencyQuery?.data,
63
+ chartData: chartQuery?.data,
64
+ isLoading: currencyQuery?.isLoading || chartQuery?.isLoading || false,
65
+ isError: currencyQuery?.isError || chartQuery?.isError || false,
66
+ };
67
+ });
68
+
69
+ return { currencies };
70
+ };
@@ -47,11 +47,13 @@ const testAppManifest = {
47
47
  const mockUiStartExchange = jest.fn();
48
48
  const mockUiCompleteExchange = jest.fn();
49
49
  const mockUiError = jest.fn();
50
+ const mockIsReady = jest.fn();
50
51
 
51
52
  const mockUiHooks = {
52
53
  "custom.exchange.start": mockUiStartExchange,
53
54
  "custom.exchange.complete": mockUiCompleteExchange,
54
55
  "custom.exchange.error": mockUiError,
56
+ "custom.isReady": mockIsReady,
55
57
  };
56
58
 
57
59
  // Mock converter id to send back the id received in params.
@@ -51,6 +51,7 @@ type Handlers = {
51
51
  >;
52
52
  "custom.exchange.complete": RPCHandler<ExchangeCompleteResult, ExchangeCompleteParams>;
53
53
  "custom.exchange.error": RPCHandler<void, SwapLiveError>;
54
+ "custom.isReady": RPCHandler<void, void>;
54
55
  };
55
56
 
56
57
  export type CompleteExchangeUiRequest = {
@@ -97,6 +98,7 @@ type ExchangeUiHooks = {
97
98
  onSuccess: () => void;
98
99
  onCancel: () => void;
99
100
  }) => void;
101
+ "custom.isReady": (params: { onSuccess: () => void; onCancel: () => void }) => void;
100
102
  };
101
103
 
102
104
  export const handlers = ({
@@ -107,6 +109,7 @@ export const handlers = ({
107
109
  "custom.exchange.start": uiExchangeStart,
108
110
  "custom.exchange.complete": uiExchangeComplete,
109
111
  "custom.exchange.error": uiError,
112
+ "custom.isReady": uiIsReady,
110
113
  },
111
114
  }: {
112
115
  accounts: AccountLike[];
@@ -332,6 +335,18 @@ export const handlers = ({
332
335
  }),
333
336
  );
334
337
  }),
338
+ "custom.isReady": customWrapper<void, void>(async () => {
339
+ return new Promise((resolve, reject) =>
340
+ uiIsReady({
341
+ onSuccess: () => {
342
+ resolve();
343
+ },
344
+ onCancel: () => {
345
+ reject();
346
+ },
347
+ }),
348
+ );
349
+ }),
335
350
  }) as const satisfies Handlers;
336
351
 
337
352
  function extractSwapStartParam(