@ledgerhq/live-common 34.39.0 → 34.40.0-nightly.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 (289) hide show
  1. package/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
  2. package/lib/__tests__/test-helpers/bridge.js +5 -1
  3. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  4. package/lib/apps/support.d.ts +2 -1
  5. package/lib/apps/support.d.ts.map +1 -1
  6. package/lib/apps/support.js +3 -2
  7. package/lib/apps/support.js.map +1 -1
  8. package/lib/apps/support.test.js +35 -0
  9. package/lib/apps/support.test.js.map +1 -1
  10. package/lib/bridge/generic-alpaca/accountBridge.d.ts +3 -0
  11. package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -0
  12. package/lib/bridge/generic-alpaca/accountBridge.js +34 -0
  13. package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -0
  14. package/lib/bridge/generic-alpaca/alpaca/index.d.ts +3 -0
  15. package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -0
  16. package/lib/bridge/generic-alpaca/alpaca/index.js +20 -0
  17. package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -0
  18. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +17 -0
  19. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +1 -0
  20. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js +131 -0
  21. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +1 -0
  22. package/lib/bridge/generic-alpaca/broadcast.d.ts +3 -0
  23. package/lib/bridge/generic-alpaca/broadcast.d.ts.map +1 -0
  24. package/lib/bridge/generic-alpaca/broadcast.js +11 -0
  25. package/lib/bridge/generic-alpaca/broadcast.js.map +1 -0
  26. package/lib/bridge/generic-alpaca/createTransaction.d.ts +16 -0
  27. package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -0
  28. package/lib/bridge/generic-alpaca/createTransaction.js +20 -0
  29. package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -0
  30. package/lib/bridge/generic-alpaca/currencyBridge.d.ts +3 -0
  31. package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -0
  32. package/lib/bridge/generic-alpaca/currencyBridge.js +20 -0
  33. package/lib/bridge/generic-alpaca/currencyBridge.js.map +1 -0
  34. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts +3 -0
  35. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -0
  36. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +26 -0
  37. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -0
  38. package/lib/bridge/generic-alpaca/getAccountShape.d.ts +3 -0
  39. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -0
  40. package/lib/bridge/generic-alpaca/getAccountShape.js +58 -0
  41. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -0
  42. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts +3 -0
  43. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -0
  44. package/lib/bridge/generic-alpaca/getTransactionStatus.js +36 -0
  45. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -0
  46. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts +3 -0
  47. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -0
  48. package/lib/bridge/generic-alpaca/prepareTransaction.js +24 -0
  49. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -0
  50. package/lib/bridge/generic-alpaca/signOperation.d.ts +7 -0
  51. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -0
  52. package/lib/bridge/generic-alpaca/signOperation.js +61 -0
  53. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -0
  54. package/lib/bridge/generic-alpaca/signer/index.d.ts +11 -0
  55. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -0
  56. package/lib/bridge/generic-alpaca/signer/index.js +28 -0
  57. package/lib/bridge/generic-alpaca/signer/index.js.map +1 -0
  58. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +5 -0
  59. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -0
  60. package/lib/bridge/generic-alpaca/signer/signTransaction.js +11 -0
  61. package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +1 -0
  62. package/lib/bridge/generic-alpaca/signer/types.d.ts +5 -0
  63. package/lib/bridge/generic-alpaca/signer/types.d.ts.map +1 -0
  64. package/lib/bridge/generic-alpaca/signer/types.js +3 -0
  65. package/lib/bridge/generic-alpaca/signer/types.js.map +1 -0
  66. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts +2 -0
  67. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts.map +1 -0
  68. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +90 -0
  69. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -0
  70. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts +2 -0
  71. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts.map +1 -0
  72. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +73 -0
  73. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -0
  74. package/lib/bridge/generic-alpaca/tests/signOperation.test.d.ts +2 -0
  75. package/lib/bridge/generic-alpaca/tests/signOperation.test.d.ts.map +1 -0
  76. package/lib/bridge/generic-alpaca/tests/signOperation.test.js +80 -0
  77. package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -0
  78. package/lib/bridge/generic-alpaca/utils.d.ts +6 -0
  79. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -0
  80. package/lib/bridge/generic-alpaca/utils.js +56 -0
  81. package/lib/bridge/generic-alpaca/utils.js.map +1 -0
  82. package/lib/bridge/impl.d.ts.map +1 -1
  83. package/lib/bridge/impl.js +21 -1
  84. package/lib/bridge/impl.js.map +1 -1
  85. package/lib/e2e/enum/Provider.d.ts +3 -0
  86. package/lib/e2e/enum/Provider.d.ts.map +1 -1
  87. package/lib/e2e/enum/Provider.js +3 -0
  88. package/lib/e2e/enum/Provider.js.map +1 -1
  89. package/lib/e2e/index.d.ts +1 -0
  90. package/lib/e2e/index.d.ts.map +1 -1
  91. package/lib/env.react.d.ts +1 -1
  92. package/lib/env.react.d.ts.map +1 -1
  93. package/lib/exchange/providers/swap.d.ts.map +1 -1
  94. package/lib/exchange/providers/swap.integration.test.js +9 -0
  95. package/lib/exchange/providers/swap.integration.test.js.map +1 -1
  96. package/lib/exchange/providers/swap.js +8 -0
  97. package/lib/exchange/providers/swap.js.map +1 -1
  98. package/lib/families/evm/config.js +2 -2
  99. package/lib/families/evm/config.js.map +1 -1
  100. package/lib/families/solana/bridge/mock-data.d.ts.map +1 -1
  101. package/lib/families/solana/bridge/mock-data.js +399 -1
  102. package/lib/families/solana/bridge/mock-data.js.map +1 -1
  103. package/lib/families/solana/bridge/mock.d.ts +58 -0
  104. package/lib/families/solana/bridge/mock.d.ts.map +1 -1
  105. package/lib/families/solana/bridge/mock.js +58 -14
  106. package/lib/families/solana/bridge/mock.js.map +1 -1
  107. package/lib/families/xrp/setup.d.ts +3 -6
  108. package/lib/families/xrp/setup.d.ts.map +1 -1
  109. package/lib/families/xrp/setup.js +1 -7
  110. package/lib/families/xrp/setup.js.map +1 -1
  111. package/lib/generated/bridge/js.d.ts +0 -1
  112. package/lib/generated/bridge/js.d.ts.map +1 -1
  113. package/lib/generated/bridge/js.js +4 -6
  114. package/lib/generated/bridge/js.js.map +1 -1
  115. package/lib/generated/bridge/mock.d.ts +58 -0
  116. package/lib/generated/bridge/mock.d.ts.map +1 -1
  117. package/lib/hooks/useAppVersionBlockCheck.d.ts.map +1 -1
  118. package/lib/hooks/useAppVersionBlockCheck.js +10 -12
  119. package/lib/hooks/useAppVersionBlockCheck.js.map +1 -1
  120. package/lib/hooks/useAppVersionBlockCheck.test.js +50 -0
  121. package/lib/hooks/useAppVersionBlockCheck.test.js.map +1 -1
  122. package/lib/hw/connectApp.d.ts.map +1 -1
  123. package/lib/hw/connectApp.js +11 -5
  124. package/lib/hw/connectApp.js.map +1 -1
  125. package/lib/wallet-api/react.d.ts.map +1 -1
  126. package/lib/wallet-api/react.js +3 -1
  127. package/lib/wallet-api/react.js.map +1 -1
  128. package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
  129. package/lib-es/__tests__/test-helpers/bridge.js +5 -1
  130. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  131. package/lib-es/apps/support.d.ts +2 -1
  132. package/lib-es/apps/support.d.ts.map +1 -1
  133. package/lib-es/apps/support.js +3 -2
  134. package/lib-es/apps/support.js.map +1 -1
  135. package/lib-es/apps/support.test.js +36 -1
  136. package/lib-es/apps/support.test.js.map +1 -1
  137. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +3 -0
  138. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -0
  139. package/lib-es/bridge/generic-alpaca/accountBridge.js +27 -0
  140. package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -0
  141. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts +3 -0
  142. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -0
  143. package/lib-es/bridge/generic-alpaca/alpaca/index.js +16 -0
  144. package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -0
  145. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +17 -0
  146. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +1 -0
  147. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js +124 -0
  148. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +1 -0
  149. package/lib-es/bridge/generic-alpaca/broadcast.d.ts +3 -0
  150. package/lib-es/bridge/generic-alpaca/broadcast.d.ts.map +1 -0
  151. package/lib-es/bridge/generic-alpaca/broadcast.js +7 -0
  152. package/lib-es/bridge/generic-alpaca/broadcast.js.map +1 -0
  153. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts +16 -0
  154. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -0
  155. package/lib-es/bridge/generic-alpaca/createTransaction.js +13 -0
  156. package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -0
  157. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts +3 -0
  158. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -0
  159. package/lib-es/bridge/generic-alpaca/currencyBridge.js +16 -0
  160. package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +1 -0
  161. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts +3 -0
  162. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -0
  163. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +19 -0
  164. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -0
  165. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts +3 -0
  166. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -0
  167. package/lib-es/bridge/generic-alpaca/getAccountShape.js +51 -0
  168. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -0
  169. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts +3 -0
  170. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -0
  171. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +29 -0
  172. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -0
  173. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts +3 -0
  174. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -0
  175. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +17 -0
  176. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -0
  177. package/lib-es/bridge/generic-alpaca/signOperation.d.ts +7 -0
  178. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -0
  179. package/lib-es/bridge/generic-alpaca/signOperation.js +57 -0
  180. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -0
  181. package/lib-es/bridge/generic-alpaca/signer/index.d.ts +11 -0
  182. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -0
  183. package/lib-es/bridge/generic-alpaca/signer/index.js +21 -0
  184. package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -0
  185. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +5 -0
  186. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -0
  187. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js +7 -0
  188. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +1 -0
  189. package/lib-es/bridge/generic-alpaca/signer/types.d.ts +5 -0
  190. package/lib-es/bridge/generic-alpaca/signer/types.d.ts.map +1 -0
  191. package/lib-es/bridge/generic-alpaca/signer/types.js +2 -0
  192. package/lib-es/bridge/generic-alpaca/signer/types.js.map +1 -0
  193. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts +2 -0
  194. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts.map +1 -0
  195. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +62 -0
  196. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -0
  197. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts +2 -0
  198. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts.map +1 -0
  199. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +68 -0
  200. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -0
  201. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.d.ts +2 -0
  202. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.d.ts.map +1 -0
  203. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +78 -0
  204. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -0
  205. package/lib-es/bridge/generic-alpaca/utils.d.ts +6 -0
  206. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -0
  207. package/lib-es/bridge/generic-alpaca/utils.js +47 -0
  208. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -0
  209. package/lib-es/bridge/impl.d.ts.map +1 -1
  210. package/lib-es/bridge/impl.js +21 -1
  211. package/lib-es/bridge/impl.js.map +1 -1
  212. package/lib-es/e2e/enum/Provider.d.ts +3 -0
  213. package/lib-es/e2e/enum/Provider.d.ts.map +1 -1
  214. package/lib-es/e2e/enum/Provider.js +3 -0
  215. package/lib-es/e2e/enum/Provider.js.map +1 -1
  216. package/lib-es/e2e/index.d.ts +1 -0
  217. package/lib-es/e2e/index.d.ts.map +1 -1
  218. package/lib-es/env.react.d.ts +1 -1
  219. package/lib-es/env.react.d.ts.map +1 -1
  220. package/lib-es/exchange/providers/swap.d.ts.map +1 -1
  221. package/lib-es/exchange/providers/swap.integration.test.js +9 -0
  222. package/lib-es/exchange/providers/swap.integration.test.js.map +1 -1
  223. package/lib-es/exchange/providers/swap.js +8 -0
  224. package/lib-es/exchange/providers/swap.js.map +1 -1
  225. package/lib-es/families/evm/config.js +2 -2
  226. package/lib-es/families/evm/config.js.map +1 -1
  227. package/lib-es/families/solana/bridge/mock-data.d.ts.map +1 -1
  228. package/lib-es/families/solana/bridge/mock-data.js +400 -2
  229. package/lib-es/families/solana/bridge/mock-data.js.map +1 -1
  230. package/lib-es/families/solana/bridge/mock.d.ts +58 -0
  231. package/lib-es/families/solana/bridge/mock.d.ts.map +1 -1
  232. package/lib-es/families/solana/bridge/mock.js +58 -14
  233. package/lib-es/families/solana/bridge/mock.js.map +1 -1
  234. package/lib-es/families/xrp/setup.d.ts +3 -6
  235. package/lib-es/families/xrp/setup.d.ts.map +1 -1
  236. package/lib-es/families/xrp/setup.js +2 -7
  237. package/lib-es/families/xrp/setup.js.map +1 -1
  238. package/lib-es/generated/bridge/js.d.ts +0 -1
  239. package/lib-es/generated/bridge/js.d.ts.map +1 -1
  240. package/lib-es/generated/bridge/js.js +0 -2
  241. package/lib-es/generated/bridge/js.js.map +1 -1
  242. package/lib-es/generated/bridge/mock.d.ts +58 -0
  243. package/lib-es/generated/bridge/mock.d.ts.map +1 -1
  244. package/lib-es/hooks/useAppVersionBlockCheck.d.ts.map +1 -1
  245. package/lib-es/hooks/useAppVersionBlockCheck.js +10 -12
  246. package/lib-es/hooks/useAppVersionBlockCheck.js.map +1 -1
  247. package/lib-es/hooks/useAppVersionBlockCheck.test.js +50 -0
  248. package/lib-es/hooks/useAppVersionBlockCheck.test.js.map +1 -1
  249. package/lib-es/hw/connectApp.d.ts.map +1 -1
  250. package/lib-es/hw/connectApp.js +11 -5
  251. package/lib-es/hw/connectApp.js.map +1 -1
  252. package/lib-es/wallet-api/react.d.ts.map +1 -1
  253. package/lib-es/wallet-api/react.js +3 -1
  254. package/lib-es/wallet-api/react.js.map +1 -1
  255. package/package.json +40 -40
  256. package/src/__tests__/test-helpers/bridge.ts +3 -2
  257. package/src/apps/support.test.ts +42 -1
  258. package/src/apps/support.ts +5 -3
  259. package/src/bridge/generic-alpaca/accountBridge.ts +35 -0
  260. package/src/bridge/generic-alpaca/alpaca/index.ts +20 -0
  261. package/src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts +193 -0
  262. package/src/bridge/generic-alpaca/broadcast.ts +14 -0
  263. package/src/bridge/generic-alpaca/createTransaction.ts +27 -0
  264. package/src/bridge/generic-alpaca/currencyBridge.ts +17 -0
  265. package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +27 -0
  266. package/src/bridge/generic-alpaca/getAccountShape.ts +62 -0
  267. package/src/bridge/generic-alpaca/getTransactionStatus.ts +38 -0
  268. package/src/bridge/generic-alpaca/prepareTransaction.ts +26 -0
  269. package/src/bridge/generic-alpaca/signOperation.ts +98 -0
  270. package/src/bridge/generic-alpaca/signer/index.ts +33 -0
  271. package/src/bridge/generic-alpaca/signer/signTransaction.ts +13 -0
  272. package/src/bridge/generic-alpaca/signer/types.ts +4 -0
  273. package/src/bridge/generic-alpaca/tests/estimateMaxSpendable.test.ts +76 -0
  274. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +92 -0
  275. package/src/bridge/generic-alpaca/tests/signOperation.test.ts +97 -0
  276. package/src/bridge/generic-alpaca/utils.ts +65 -0
  277. package/src/bridge/impl.ts +25 -1
  278. package/src/e2e/enum/Provider.ts +3 -0
  279. package/src/exchange/providers/swap.integration.test.ts +9 -0
  280. package/src/exchange/providers/swap.ts +8 -0
  281. package/src/families/evm/config.ts +2 -2
  282. package/src/families/solana/bridge/mock-data.ts +404 -2
  283. package/src/families/solana/bridge/mock.ts +73 -21
  284. package/src/families/xrp/setup.ts +2 -15
  285. package/src/generated/bridge/js.ts +0 -2
  286. package/src/hooks/useAppVersionBlockCheck.test.ts +51 -0
  287. package/src/hooks/useAppVersionBlockCheck.ts +17 -23
  288. package/src/hw/connectApp.ts +14 -5
  289. package/src/wallet-api/react.ts +3 -1
@@ -6,6 +6,16 @@ import jsBridges from "../generated/bridge/js";
6
6
  import mockBridges from "../generated/bridge/mock";
7
7
  import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
8
8
  import { Account, AccountBridge, AccountLike, CurrencyBridge } from "@ledgerhq/types-live";
9
+ import { getAlpacaAccountBridge } from "./generic-alpaca/accountBridge";
10
+ import { getAlpacaCurrencyBridge } from "./generic-alpaca/currencyBridge";
11
+
12
+ const alpacaized = {
13
+ xrp: true,
14
+ };
15
+
16
+ // let accountBridgeInstance: AccountBridge<any> | null = null;
17
+ const bridgeCache: Record<string, AccountBridge<any>> = {};
18
+ let currencyBridgeInstance: CurrencyBridge | null = null;
9
19
 
10
20
  export const getCurrencyBridge = (currency: CryptoCurrency): CurrencyBridge => {
11
21
  if (getEnv("MOCK")) {
@@ -16,6 +26,13 @@ export const getCurrencyBridge = (currency: CryptoCurrency): CurrencyBridge => {
16
26
  });
17
27
  }
18
28
 
29
+ if (alpacaized[currency.family]) {
30
+ if (!currencyBridgeInstance) {
31
+ currencyBridgeInstance = getAlpacaCurrencyBridge(currency.family, "local");
32
+ }
33
+ return currencyBridgeInstance;
34
+ }
35
+
19
36
  const jsBridge = jsBridges[currency.family];
20
37
  if (jsBridge) {
21
38
  return jsBridge.currencyBridge;
@@ -57,9 +74,16 @@ export function getAccountBridgeByFamily(family: string, accountId?: string): Ac
57
74
  }
58
75
  }
59
76
 
77
+ if (alpacaized[family]) {
78
+ if (!bridgeCache[family]) {
79
+ bridgeCache[family] = getAlpacaAccountBridge(family, "local");
80
+ }
81
+ return bridgeCache[family];
82
+ }
83
+
60
84
  const jsBridge = jsBridges[family];
61
85
  if (!jsBridge) {
62
- throw new CurrencyNotSupported("currency bridge not found " + family);
86
+ throw new CurrencyNotSupported("account bridge not found " + family);
63
87
  }
64
88
  return jsBridge.accountBridge;
65
89
  }
@@ -16,6 +16,9 @@ export class Provider {
16
16
  static readonly LIFI = new Provider("lifi", "LI.FI", false, true, false);
17
17
  static readonly CIC = new Provider("cic", "CIC", false, true, true);
18
18
  static readonly COINBASE = new Provider("coinbase", "Coinbase", false, true, true);
19
+ static readonly KILN = new Provider("kiln", "Kiln staking Pool", false, true, true);
20
+ static readonly STADER_LABS = new Provider("stader", "Stader Labs", false, true, true);
21
+ static readonly LIDO = new Provider("lido", "Lido", false, true, true);
19
22
 
20
23
  static getNameByUiName(uiName: string): string {
21
24
  const provider = Object.values(Provider).find(p => p.uiName === uiName);
@@ -247,6 +247,15 @@ describe("fetchAndMergeProviderData", () => {
247
247
  ),
248
248
  version: 1,
249
249
  },
250
+ velora: {
251
+ type: "DEX",
252
+ useInExchangeApp: false,
253
+ displayName: "Velora",
254
+ termsOfUseUrl: "https://files.paraswap.io/tos_v4.pdf",
255
+ supportUrl: "https://help.paraswap.io/en/",
256
+ mainUrl: "https://www.velora.xyz/",
257
+ needsKYC: false,
258
+ },
250
259
  });
251
260
  });
252
261
  });
@@ -194,6 +194,14 @@ const DEFAULT_SWAP_PROVIDERS: Record<string, ProviderConfig & Partial<Additional
194
194
  "hex",
195
195
  ),
196
196
  },
197
+ velora: {
198
+ type: "DEX",
199
+ needsKYC: false,
200
+ needsBearerToken: false,
201
+ termsOfUseUrl: "https://files.paraswap.io/tos_v4.pdf",
202
+ supportUrl: "https://help.paraswap.io/en/",
203
+ mainUrl: "https://www.velora.xyz/",
204
+ },
197
205
  };
198
206
 
199
207
  export const dexProvidersContractAddress: { [key: string]: string } = {
@@ -359,8 +359,8 @@ const evmConfig: CurrencyLiveConfigDefinition = {
359
359
  uri: "https://rpcapi.fantom.network",
360
360
  },
361
361
  explorer: {
362
- type: "etherscan",
363
- uri: "https://proxyetherscan.api.live.ledger.com/v2/api/250",
362
+ type: "blockscout",
363
+ uri: "https://ftmscout.com/api",
364
364
  },
365
365
  showNfts: false,
366
366
  },
@@ -1,6 +1,10 @@
1
1
  /* eslint-disable */
2
2
  import { PublicKey } from "@solana/web3.js";
3
- import { LATEST_BLOCKHASH_MOCK, ChainAPI } from "@ledgerhq/coin-solana/network/index";
3
+ import {
4
+ LATEST_BLOCKHASH_MOCK,
5
+ ChainAPI,
6
+ LAST_VALID_BLOCK_HEIGHT_MOCK,
7
+ } from "@ledgerhq/coin-solana/network/index";
4
8
  import { Functions } from "@ledgerhq/coin-solana/utils";
5
9
 
6
10
  export const getMockedMethods = (): {
@@ -874,7 +878,14 @@ export const getMockedMethods = (): {
874
878
  answer: 5000,
875
879
  },
876
880
  // manual
877
- { method: "getLatestBlockhash", params: [], answer: LATEST_BLOCKHASH_MOCK },
881
+ {
882
+ method: "getLatestBlockhash",
883
+ params: [],
884
+ answer: {
885
+ blockhash: LATEST_BLOCKHASH_MOCK,
886
+ lastValidBlockHeight: LAST_VALID_BLOCK_HEIGHT_MOCK,
887
+ },
888
+ },
878
889
  {
879
890
  method: "getRecentPrioritizationFees",
880
891
  params: [["AQbkEagmPgmsdAfS4X8V8UyJnXXjVPMvjeD15etqQ3Jh"]],
@@ -915,4 +926,395 @@ export const getMockedMethods = (): {
915
926
  rentEpoch: 304,
916
927
  },
917
928
  },
929
+ {
930
+ method: "getBalance",
931
+ params: ["63M7kPJvLsG46jbR2ZriEU8xwPqkMNKNoBBQ46pobbvo"],
932
+ answer: 19449267,
933
+ },
934
+ {
935
+ method: "getAccountInfo",
936
+ params: ["63M7kPJvLsG46jbR2ZriEU8xwPqkMNKNoBBQ46pobbvo"],
937
+ answer: {
938
+ data: { type: "Buffer", data: [] },
939
+ executable: false,
940
+ lamports: 19449267,
941
+ owner: new PublicKey(Buffer.from("00", "hex")),
942
+ rentEpoch: 18446744073709552000,
943
+ space: 0,
944
+ },
945
+ },
946
+ {
947
+ method: "getRecentPrioritizationFees",
948
+ params: [["4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx"]],
949
+ answer: [
950
+ { prioritizationFee: 0, slot: 349496453 },
951
+ { prioritizationFee: 0, slot: 349496454 },
952
+ { prioritizationFee: 0, slot: 349496455 },
953
+ { prioritizationFee: 0, slot: 349496456 },
954
+ { prioritizationFee: 0, slot: 349496457 },
955
+ { prioritizationFee: 0, slot: 349496458 },
956
+ { prioritizationFee: 0, slot: 349496459 },
957
+ { prioritizationFee: 0, slot: 349496460 },
958
+ { prioritizationFee: 0, slot: 349496461 },
959
+ { prioritizationFee: 0, slot: 349496462 },
960
+ { prioritizationFee: 0, slot: 349496463 },
961
+ { prioritizationFee: 0, slot: 349496464 },
962
+ { prioritizationFee: 0, slot: 349496465 },
963
+ { prioritizationFee: 0, slot: 349496466 },
964
+ { prioritizationFee: 0, slot: 349496467 },
965
+ { prioritizationFee: 0, slot: 349496468 },
966
+ { prioritizationFee: 0, slot: 349496469 },
967
+ { prioritizationFee: 0, slot: 349496470 },
968
+ { prioritizationFee: 0, slot: 349496471 },
969
+ { prioritizationFee: 0, slot: 349496472 },
970
+ { prioritizationFee: 0, slot: 349496473 },
971
+ { prioritizationFee: 0, slot: 349496474 },
972
+ { prioritizationFee: 0, slot: 349496475 },
973
+ { prioritizationFee: 0, slot: 349496476 },
974
+ { prioritizationFee: 0, slot: 349496477 },
975
+ { prioritizationFee: 0, slot: 349496478 },
976
+ { prioritizationFee: 0, slot: 349496479 },
977
+ { prioritizationFee: 0, slot: 349496480 },
978
+ { prioritizationFee: 0, slot: 349496481 },
979
+ { prioritizationFee: 0, slot: 349496482 },
980
+ { prioritizationFee: 0, slot: 349496483 },
981
+ { prioritizationFee: 0, slot: 349496484 },
982
+ { prioritizationFee: 0, slot: 349496485 },
983
+ { prioritizationFee: 0, slot: 349496486 },
984
+ { prioritizationFee: 0, slot: 349496487 },
985
+ { prioritizationFee: 0, slot: 349496488 },
986
+ { prioritizationFee: 0, slot: 349496489 },
987
+ { prioritizationFee: 0, slot: 349496490 },
988
+ { prioritizationFee: 0, slot: 349496491 },
989
+ { prioritizationFee: 0, slot: 349496492 },
990
+ { prioritizationFee: 0, slot: 349496493 },
991
+ { prioritizationFee: 0, slot: 349496494 },
992
+ { prioritizationFee: 0, slot: 349496495 },
993
+ { prioritizationFee: 0, slot: 349496496 },
994
+ { prioritizationFee: 0, slot: 349496497 },
995
+ { prioritizationFee: 0, slot: 349496498 },
996
+ { prioritizationFee: 0, slot: 349496499 },
997
+ { prioritizationFee: 0, slot: 349496500 },
998
+ { prioritizationFee: 0, slot: 349496501 },
999
+ { prioritizationFee: 0, slot: 349496502 },
1000
+ { prioritizationFee: 0, slot: 349496503 },
1001
+ { prioritizationFee: 0, slot: 349496504 },
1002
+ { prioritizationFee: 0, slot: 349496505 },
1003
+ { prioritizationFee: 0, slot: 349496506 },
1004
+ { prioritizationFee: 0, slot: 349496507 },
1005
+ { prioritizationFee: 0, slot: 349496508 },
1006
+ { prioritizationFee: 0, slot: 349496509 },
1007
+ { prioritizationFee: 0, slot: 349496510 },
1008
+ { prioritizationFee: 0, slot: 349496511 },
1009
+ { prioritizationFee: 0, slot: 349496512 },
1010
+ { prioritizationFee: 0, slot: 349496513 },
1011
+ { prioritizationFee: 0, slot: 349496514 },
1012
+ { prioritizationFee: 0, slot: 349496515 },
1013
+ { prioritizationFee: 0, slot: 349496516 },
1014
+ { prioritizationFee: 0, slot: 349496517 },
1015
+ { prioritizationFee: 0, slot: 349496518 },
1016
+ { prioritizationFee: 0, slot: 349496519 },
1017
+ { prioritizationFee: 0, slot: 349496520 },
1018
+ { prioritizationFee: 0, slot: 349496521 },
1019
+ { prioritizationFee: 0, slot: 349496522 },
1020
+ { prioritizationFee: 0, slot: 349496523 },
1021
+ { prioritizationFee: 0, slot: 349496524 },
1022
+ { prioritizationFee: 0, slot: 349496525 },
1023
+ { prioritizationFee: 0, slot: 349496526 },
1024
+ { prioritizationFee: 0, slot: 349496527 },
1025
+ { prioritizationFee: 0, slot: 349496528 },
1026
+ { prioritizationFee: 0, slot: 349496529 },
1027
+ { prioritizationFee: 0, slot: 349496530 },
1028
+ { prioritizationFee: 0, slot: 349496531 },
1029
+ { prioritizationFee: 0, slot: 349496532 },
1030
+ { prioritizationFee: 0, slot: 349496533 },
1031
+ { prioritizationFee: 0, slot: 349496534 },
1032
+ { prioritizationFee: 0, slot: 349496535 },
1033
+ { prioritizationFee: 0, slot: 349496536 },
1034
+ { prioritizationFee: 0, slot: 349496537 },
1035
+ { prioritizationFee: 0, slot: 349496538 },
1036
+ { prioritizationFee: 0, slot: 349496539 },
1037
+ { prioritizationFee: 0, slot: 349496540 },
1038
+ { prioritizationFee: 0, slot: 349496541 },
1039
+ { prioritizationFee: 0, slot: 349496542 },
1040
+ { prioritizationFee: 0, slot: 349496543 },
1041
+ { prioritizationFee: 0, slot: 349496544 },
1042
+ { prioritizationFee: 0, slot: 349496545 },
1043
+ { prioritizationFee: 0, slot: 349496546 },
1044
+ { prioritizationFee: 0, slot: 349496547 },
1045
+ { prioritizationFee: 0, slot: 349496548 },
1046
+ { prioritizationFee: 0, slot: 349496549 },
1047
+ { prioritizationFee: 0, slot: 349496550 },
1048
+ { prioritizationFee: 0, slot: 349496551 },
1049
+ { prioritizationFee: 0, slot: 349496552 },
1050
+ { prioritizationFee: 0, slot: 349496553 },
1051
+ { prioritizationFee: 0, slot: 349496554 },
1052
+ { prioritizationFee: 0, slot: 349496555 },
1053
+ { prioritizationFee: 0, slot: 349496556 },
1054
+ { prioritizationFee: 0, slot: 349496557 },
1055
+ { prioritizationFee: 0, slot: 349496558 },
1056
+ { prioritizationFee: 0, slot: 349496559 },
1057
+ { prioritizationFee: 0, slot: 349496560 },
1058
+ { prioritizationFee: 0, slot: 349496561 },
1059
+ { prioritizationFee: 0, slot: 349496562 },
1060
+ { prioritizationFee: 0, slot: 349496563 },
1061
+ { prioritizationFee: 0, slot: 349496564 },
1062
+ { prioritizationFee: 0, slot: 349496565 },
1063
+ { prioritizationFee: 0, slot: 349496566 },
1064
+ { prioritizationFee: 0, slot: 349496567 },
1065
+ { prioritizationFee: 0, slot: 349496568 },
1066
+ { prioritizationFee: 0, slot: 349496569 },
1067
+ { prioritizationFee: 0, slot: 349496570 },
1068
+ { prioritizationFee: 0, slot: 349496571 },
1069
+ { prioritizationFee: 0, slot: 349496572 },
1070
+ { prioritizationFee: 0, slot: 349496573 },
1071
+ { prioritizationFee: 0, slot: 349496574 },
1072
+ { prioritizationFee: 0, slot: 349496575 },
1073
+ { prioritizationFee: 0, slot: 349496576 },
1074
+ { prioritizationFee: 0, slot: 349496577 },
1075
+ { prioritizationFee: 0, slot: 349496578 },
1076
+ { prioritizationFee: 0, slot: 349496579 },
1077
+ { prioritizationFee: 0, slot: 349496580 },
1078
+ { prioritizationFee: 0, slot: 349496581 },
1079
+ { prioritizationFee: 0, slot: 349496582 },
1080
+ { prioritizationFee: 0, slot: 349496583 },
1081
+ { prioritizationFee: 0, slot: 349496584 },
1082
+ { prioritizationFee: 0, slot: 349496585 },
1083
+ { prioritizationFee: 0, slot: 349496586 },
1084
+ { prioritizationFee: 0, slot: 349496587 },
1085
+ { prioritizationFee: 0, slot: 349496588 },
1086
+ { prioritizationFee: 0, slot: 349496589 },
1087
+ { prioritizationFee: 0, slot: 349496590 },
1088
+ { prioritizationFee: 0, slot: 349496591 },
1089
+ { prioritizationFee: 0, slot: 349496592 },
1090
+ { prioritizationFee: 0, slot: 349496593 },
1091
+ { prioritizationFee: 0, slot: 349496594 },
1092
+ { prioritizationFee: 0, slot: 349496595 },
1093
+ { prioritizationFee: 0, slot: 349496596 },
1094
+ { prioritizationFee: 0, slot: 349496597 },
1095
+ { prioritizationFee: 0, slot: 349496598 },
1096
+ { prioritizationFee: 0, slot: 349496599 },
1097
+ { prioritizationFee: 0, slot: 349496600 },
1098
+ { prioritizationFee: 0, slot: 349496601 },
1099
+ { prioritizationFee: 0, slot: 349496602 },
1100
+ ],
1101
+ },
1102
+ {
1103
+ method: "getSimulationComputeUnits",
1104
+ params: [
1105
+ [
1106
+ {
1107
+ keys: [
1108
+ {
1109
+ pubkey: "4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx",
1110
+ isSigner: true,
1111
+ isWritable: true,
1112
+ },
1113
+ {
1114
+ pubkey: "4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx",
1115
+ isSigner: false,
1116
+ isWritable: true,
1117
+ },
1118
+ ],
1119
+ programId: "11111111111111111111111111111111",
1120
+ data: Buffer.from([2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
1121
+ },
1122
+ ],
1123
+ "4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx",
1124
+ ],
1125
+ answer: 300,
1126
+ },
1127
+ {
1128
+ method: "getFeeForMessage",
1129
+ params: [
1130
+ "AQACAzc1rOIrIJkfixB2PGXIAQSzJwuHJA9YroUmtv2PuvSPAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSjkK4MloYlzRPcf1wdkx+b53CpRgBUwgdyk+nPz78QAgEABQJKAQAAAgIAAAwCAAAAAAAAAAAAAAA=",
1131
+ ],
1132
+ answer: 5000,
1133
+ },
1134
+ {
1135
+ method: "getRecentPrioritizationFees",
1136
+ params: [
1137
+ [
1138
+ "4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx",
1139
+ "63M7kPJvLsG46jbR2ZriEU8xwPqkMNKNoBBQ46pobbvo",
1140
+ ],
1141
+ ],
1142
+ answer: [
1143
+ { prioritizationFee: 0, slot: 349496454 },
1144
+ { prioritizationFee: 0, slot: 349496455 },
1145
+ { prioritizationFee: 0, slot: 349496456 },
1146
+ { prioritizationFee: 0, slot: 349496457 },
1147
+ { prioritizationFee: 0, slot: 349496458 },
1148
+ { prioritizationFee: 0, slot: 349496459 },
1149
+ { prioritizationFee: 0, slot: 349496460 },
1150
+ { prioritizationFee: 0, slot: 349496461 },
1151
+ { prioritizationFee: 0, slot: 349496462 },
1152
+ { prioritizationFee: 0, slot: 349496463 },
1153
+ { prioritizationFee: 0, slot: 349496464 },
1154
+ { prioritizationFee: 0, slot: 349496465 },
1155
+ { prioritizationFee: 0, slot: 349496466 },
1156
+ { prioritizationFee: 0, slot: 349496467 },
1157
+ { prioritizationFee: 0, slot: 349496468 },
1158
+ { prioritizationFee: 0, slot: 349496469 },
1159
+ { prioritizationFee: 0, slot: 349496470 },
1160
+ { prioritizationFee: 0, slot: 349496471 },
1161
+ { prioritizationFee: 0, slot: 349496472 },
1162
+ { prioritizationFee: 0, slot: 349496473 },
1163
+ { prioritizationFee: 0, slot: 349496474 },
1164
+ { prioritizationFee: 0, slot: 349496475 },
1165
+ { prioritizationFee: 0, slot: 349496476 },
1166
+ { prioritizationFee: 0, slot: 349496477 },
1167
+ { prioritizationFee: 0, slot: 349496478 },
1168
+ { prioritizationFee: 0, slot: 349496479 },
1169
+ { prioritizationFee: 0, slot: 349496480 },
1170
+ { prioritizationFee: 0, slot: 349496481 },
1171
+ { prioritizationFee: 0, slot: 349496482 },
1172
+ { prioritizationFee: 0, slot: 349496483 },
1173
+ { prioritizationFee: 0, slot: 349496484 },
1174
+ { prioritizationFee: 0, slot: 349496485 },
1175
+ { prioritizationFee: 0, slot: 349496486 },
1176
+ { prioritizationFee: 0, slot: 349496487 },
1177
+ { prioritizationFee: 0, slot: 349496488 },
1178
+ { prioritizationFee: 0, slot: 349496489 },
1179
+ { prioritizationFee: 0, slot: 349496490 },
1180
+ { prioritizationFee: 0, slot: 349496491 },
1181
+ { prioritizationFee: 0, slot: 349496492 },
1182
+ { prioritizationFee: 0, slot: 349496493 },
1183
+ { prioritizationFee: 0, slot: 349496494 },
1184
+ { prioritizationFee: 0, slot: 349496495 },
1185
+ { prioritizationFee: 0, slot: 349496496 },
1186
+ { prioritizationFee: 0, slot: 349496497 },
1187
+ { prioritizationFee: 0, slot: 349496498 },
1188
+ { prioritizationFee: 0, slot: 349496499 },
1189
+ { prioritizationFee: 0, slot: 349496500 },
1190
+ { prioritizationFee: 0, slot: 349496501 },
1191
+ { prioritizationFee: 0, slot: 349496502 },
1192
+ { prioritizationFee: 0, slot: 349496503 },
1193
+ { prioritizationFee: 0, slot: 349496504 },
1194
+ { prioritizationFee: 0, slot: 349496505 },
1195
+ { prioritizationFee: 0, slot: 349496506 },
1196
+ { prioritizationFee: 0, slot: 349496507 },
1197
+ { prioritizationFee: 0, slot: 349496508 },
1198
+ { prioritizationFee: 0, slot: 349496509 },
1199
+ { prioritizationFee: 0, slot: 349496510 },
1200
+ { prioritizationFee: 0, slot: 349496511 },
1201
+ { prioritizationFee: 0, slot: 349496512 },
1202
+ { prioritizationFee: 0, slot: 349496513 },
1203
+ { prioritizationFee: 0, slot: 349496514 },
1204
+ { prioritizationFee: 0, slot: 349496515 },
1205
+ { prioritizationFee: 0, slot: 349496516 },
1206
+ { prioritizationFee: 0, slot: 349496517 },
1207
+ { prioritizationFee: 0, slot: 349496518 },
1208
+ { prioritizationFee: 0, slot: 349496519 },
1209
+ { prioritizationFee: 0, slot: 349496520 },
1210
+ { prioritizationFee: 0, slot: 349496521 },
1211
+ { prioritizationFee: 0, slot: 349496522 },
1212
+ { prioritizationFee: 0, slot: 349496523 },
1213
+ { prioritizationFee: 0, slot: 349496524 },
1214
+ { prioritizationFee: 0, slot: 349496525 },
1215
+ { prioritizationFee: 0, slot: 349496526 },
1216
+ { prioritizationFee: 0, slot: 349496527 },
1217
+ { prioritizationFee: 0, slot: 349496528 },
1218
+ { prioritizationFee: 0, slot: 349496529 },
1219
+ { prioritizationFee: 0, slot: 349496530 },
1220
+ { prioritizationFee: 0, slot: 349496531 },
1221
+ { prioritizationFee: 0, slot: 349496532 },
1222
+ { prioritizationFee: 0, slot: 349496533 },
1223
+ { prioritizationFee: 0, slot: 349496534 },
1224
+ { prioritizationFee: 0, slot: 349496535 },
1225
+ { prioritizationFee: 0, slot: 349496536 },
1226
+ { prioritizationFee: 0, slot: 349496537 },
1227
+ { prioritizationFee: 0, slot: 349496538 },
1228
+ { prioritizationFee: 0, slot: 349496539 },
1229
+ { prioritizationFee: 0, slot: 349496540 },
1230
+ { prioritizationFee: 0, slot: 349496541 },
1231
+ { prioritizationFee: 0, slot: 349496542 },
1232
+ { prioritizationFee: 0, slot: 349496543 },
1233
+ { prioritizationFee: 0, slot: 349496544 },
1234
+ { prioritizationFee: 0, slot: 349496545 },
1235
+ { prioritizationFee: 0, slot: 349496546 },
1236
+ { prioritizationFee: 0, slot: 349496547 },
1237
+ { prioritizationFee: 0, slot: 349496548 },
1238
+ { prioritizationFee: 0, slot: 349496549 },
1239
+ { prioritizationFee: 0, slot: 349496550 },
1240
+ { prioritizationFee: 0, slot: 349496551 },
1241
+ { prioritizationFee: 0, slot: 349496552 },
1242
+ { prioritizationFee: 0, slot: 349496553 },
1243
+ { prioritizationFee: 0, slot: 349496554 },
1244
+ { prioritizationFee: 0, slot: 349496555 },
1245
+ { prioritizationFee: 0, slot: 349496556 },
1246
+ { prioritizationFee: 0, slot: 349496557 },
1247
+ { prioritizationFee: 0, slot: 349496558 },
1248
+ { prioritizationFee: 0, slot: 349496559 },
1249
+ { prioritizationFee: 0, slot: 349496560 },
1250
+ { prioritizationFee: 0, slot: 349496561 },
1251
+ { prioritizationFee: 0, slot: 349496562 },
1252
+ { prioritizationFee: 0, slot: 349496563 },
1253
+ { prioritizationFee: 0, slot: 349496564 },
1254
+ { prioritizationFee: 0, slot: 349496565 },
1255
+ { prioritizationFee: 0, slot: 349496566 },
1256
+ { prioritizationFee: 0, slot: 349496567 },
1257
+ { prioritizationFee: 0, slot: 349496568 },
1258
+ { prioritizationFee: 0, slot: 349496569 },
1259
+ { prioritizationFee: 0, slot: 349496570 },
1260
+ { prioritizationFee: 0, slot: 349496571 },
1261
+ { prioritizationFee: 0, slot: 349496572 },
1262
+ { prioritizationFee: 0, slot: 349496573 },
1263
+ { prioritizationFee: 0, slot: 349496574 },
1264
+ { prioritizationFee: 0, slot: 349496575 },
1265
+ { prioritizationFee: 0, slot: 349496576 },
1266
+ { prioritizationFee: 0, slot: 349496577 },
1267
+ { prioritizationFee: 0, slot: 349496578 },
1268
+ { prioritizationFee: 0, slot: 349496579 },
1269
+ { prioritizationFee: 0, slot: 349496580 },
1270
+ { prioritizationFee: 0, slot: 349496581 },
1271
+ { prioritizationFee: 0, slot: 349496582 },
1272
+ { prioritizationFee: 0, slot: 349496583 },
1273
+ { prioritizationFee: 0, slot: 349496584 },
1274
+ { prioritizationFee: 0, slot: 349496585 },
1275
+ { prioritizationFee: 0, slot: 349496586 },
1276
+ { prioritizationFee: 0, slot: 349496587 },
1277
+ { prioritizationFee: 0, slot: 349496588 },
1278
+ { prioritizationFee: 0, slot: 349496589 },
1279
+ { prioritizationFee: 0, slot: 349496590 },
1280
+ { prioritizationFee: 0, slot: 349496591 },
1281
+ { prioritizationFee: 0, slot: 349496592 },
1282
+ { prioritizationFee: 0, slot: 349496593 },
1283
+ { prioritizationFee: 0, slot: 349496594 },
1284
+ { prioritizationFee: 0, slot: 349496595 },
1285
+ { prioritizationFee: 0, slot: 349496596 },
1286
+ { prioritizationFee: 0, slot: 349496597 },
1287
+ { prioritizationFee: 0, slot: 349496598 },
1288
+ { prioritizationFee: 0, slot: 349496599 },
1289
+ { prioritizationFee: 0, slot: 349496600 },
1290
+ { prioritizationFee: 0, slot: 349496601 },
1291
+ { prioritizationFee: 0, slot: 349496602 },
1292
+ { prioritizationFee: 0, slot: 349496603 },
1293
+ ],
1294
+ },
1295
+ {
1296
+ method: "getSimulationComputeUnits",
1297
+ params: [
1298
+ [
1299
+ {
1300
+ keys: [
1301
+ {
1302
+ pubkey: "4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx",
1303
+ isSigner: true,
1304
+ isWritable: true,
1305
+ },
1306
+ {
1307
+ pubkey: "63M7kPJvLsG46jbR2ZriEU8xwPqkMNKNoBBQ46pobbvo",
1308
+ isSigner: false,
1309
+ isWritable: true,
1310
+ },
1311
+ ],
1312
+ programId: "11111111111111111111111111111111",
1313
+ data: Buffer.from([2, 0, 0, 0, 64, 66, 15, 0, 0, 0, 0, 0]),
1314
+ },
1315
+ ],
1316
+ "4iWtrn54zi89sHQv6xHyYwDsrPJvqcSKRJGBLrbErCsx",
1317
+ ],
1318
+ answer: 300,
1319
+ },
918
1320
  ];
@@ -6,6 +6,7 @@ import {
6
6
  logged,
7
7
  queued,
8
8
  } from "@ledgerhq/coin-solana/network/index";
9
+ import { getEnv } from "@ledgerhq/live-env";
9
10
  import { Functions } from "@ledgerhq/coin-solana/utils";
10
11
  import { makeBridges } from "@ledgerhq/coin-solana/bridge/bridge";
11
12
  import { PubKeyDisplayMode, SolanaSigner } from "@ledgerhq/coin-solana/signer";
@@ -13,6 +14,7 @@ import { makeLRUCache, minutes } from "@ledgerhq/live-network/cache";
13
14
  import { Message } from "@solana/web3.js";
14
15
  import { flow, isArray, isEqual, isObject, isUndefined, mapValues, omitBy } from "lodash/fp";
15
16
  import { getMockedMethods } from "./mock-data";
17
+ import { scanAccounts, sync } from "../../../bridge/mockHelpers";
16
18
 
17
19
  function mockChainAPI(config: Config): ChainAPI {
18
20
  const mockedMethods = getMockedMethods();
@@ -63,9 +65,62 @@ function preprocessArgs(method: keyof ChainAPI, args: any) {
63
65
  throw new Error("unexpected getFeeForMessage function signature");
64
66
  }
65
67
  }
68
+ if (method === "getSimulationComputeUnits") {
69
+ // getSimulationComputeUnits needs args preprocessing
70
+ // args[0] is instructions array, args[1] is payer PublicKey
71
+ if (args.length === 2) {
72
+ const instructions = args[0] as unknown[];
73
+ const payer = args[1];
74
+
75
+ // Serialize the payer PublicKey to string
76
+ const serializedPayer = (payer as { toString?: () => string })?.toString?.() ?? payer;
77
+
78
+ // Serialize PublicKey objects in instruction keys to strings
79
+ const serializedInstructions =
80
+ instructions?.map?.(instruction => {
81
+ const inst = instruction as Record<string, unknown>;
82
+ return {
83
+ ...inst,
84
+ keys:
85
+ (inst.keys as unknown[])?.map?.(key => {
86
+ const k = key as Record<string, unknown>;
87
+ return {
88
+ ...k,
89
+ pubkey: (k.pubkey as { toString?: () => string })?.toString?.() ?? k.pubkey,
90
+ };
91
+ }) || inst.keys,
92
+ programId:
93
+ (inst.programId as { toString?: () => string })?.toString?.() ?? inst.programId,
94
+ };
95
+ }) || instructions;
96
+
97
+ return [serializedInstructions, serializedPayer];
98
+ }
99
+ }
66
100
  return removeUndefineds(args);
67
101
  }
68
102
 
103
+ const APP_VERSION = "1.7.1";
104
+ const signature = "fakeSignatureTlaowosfpqwkpofqkpqwpoesHQv6xHyYwDsrPJvqcSKRJGBLrbE";
105
+ const signer = {
106
+ getAppConfiguration: () =>
107
+ Promise.resolve({
108
+ version: APP_VERSION,
109
+ blindSigningEnabled: false,
110
+ pubKeyDisplayMode: PubKeyDisplayMode.LONG,
111
+ }),
112
+ getAddress: (_path: string, _display?: boolean) =>
113
+ Promise.resolve({ address: Buffer.from("fakeAddress") }),
114
+ signTransaction: (_path: string, _txBuffer: Buffer) =>
115
+ Promise.resolve({ signature: Buffer.from(signature) }),
116
+ signMessage: (_path: string, _messageHex: string) =>
117
+ Promise.resolve({ signature: Buffer.from(signature) }),
118
+ };
119
+ const signerContext = <T>(
120
+ _deviceId: string,
121
+ fn: (signer: SolanaSigner) => Promise<T>,
122
+ ): Promise<T> => fn(signer);
123
+
69
124
  // Bridge with this api will log all api calls to a file.
70
125
  // The calls data can be copied to mock-data.ts from the file.
71
126
  // Uncomment fs module in logged.ts
@@ -81,29 +136,11 @@ function createMockDataForAPI() {
81
136
  getAPI: apiGetter,
82
137
  getQueuedAPI: apiGetter,
83
138
  getQueuedAndCachedAPI: apiGetter,
139
+ signerContext,
84
140
  };
85
141
  }
86
142
 
87
- const APP_VERSION = "1.7.1";
88
143
  function getMockedAPIs() {
89
- const signer = {
90
- getAppConfiguration: () =>
91
- Promise.resolve({
92
- version: APP_VERSION,
93
- blindSigningEnabled: false,
94
- pubKeyDisplayMode: PubKeyDisplayMode.LONG,
95
- }),
96
- getAddress: (_path: string, _display?: boolean) =>
97
- Promise.resolve({ address: Buffer.from("") }),
98
- signTransaction: (_path: string, _txBuffer: Buffer) =>
99
- Promise.resolve({ signature: Buffer.from("") }),
100
- signMessage: (_path: string, _messageHex: string) =>
101
- Promise.resolve({ signature: Buffer.from("") }),
102
- };
103
- const signerContext = <T>(
104
- deviceId: string,
105
- fn: (signer: SolanaSigner) => Promise<T>,
106
- ): Promise<T> => fn(signer);
107
144
  const mockedAPI = mockChainAPI({ cluster: "mock" } as any);
108
145
  return {
109
146
  getAPI: (_: Config) => Promise.resolve(mockedAPI),
@@ -113,5 +150,20 @@ function getMockedAPIs() {
113
150
  };
114
151
  }
115
152
 
116
- //export default makeBridges(createMockDataForAPI());
117
- export default makeBridges(getMockedAPIs());
153
+ // const bridges = makeBridges(createMockDataForAPI());
154
+ const bridges = makeBridges(getMockedAPIs());
155
+
156
+ export default getEnv("PLAYWRIGHT_RUN") || getEnv("DETOX")
157
+ ? {
158
+ accountBridge: {
159
+ ...bridges.accountBridge,
160
+ sync,
161
+ },
162
+ currencyBridge: {
163
+ ...bridges.currencyBridge,
164
+ preload: () => Promise.resolve({}),
165
+ hydrate: () => {},
166
+ scanAccounts,
167
+ },
168
+ }
169
+ : bridges;