@ledgerhq/live-common 34.45.0-nightly.0 → 34.45.0-nightly.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
  2. package/lib/__tests__/test-helpers/bridge.js +3 -1
  3. package/lib/__tests__/test-helpers/bridge.js.map +1 -1
  4. package/lib/braze/anonymousUsers.d.ts +1 -0
  5. package/lib/braze/anonymousUsers.d.ts.map +1 -1
  6. package/lib/braze/anonymousUsers.js +7 -5
  7. package/lib/braze/anonymousUsers.js.map +1 -1
  8. package/lib/bridge/generic-alpaca/accountBridge.d.ts +1 -1
  9. package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  10. package/lib/bridge/generic-alpaca/accountBridge.js.map +1 -1
  11. package/lib/bridge/generic-alpaca/alpaca/index.d.ts +1 -1
  12. package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
  13. package/lib/bridge/generic-alpaca/alpaca/index.js +4 -2
  14. package/lib/bridge/generic-alpaca/alpaca/index.js.map +1 -1
  15. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +4 -4
  16. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +1 -1
  17. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js +10 -10
  18. package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +1 -1
  19. package/lib/bridge/generic-alpaca/broadcast.d.ts +1 -1
  20. package/lib/bridge/generic-alpaca/broadcast.d.ts.map +1 -1
  21. package/lib/bridge/generic-alpaca/broadcast.js.map +1 -1
  22. package/lib/bridge/generic-alpaca/buildSubAccounts.d.ts +17 -0
  23. package/lib/bridge/generic-alpaca/buildSubAccounts.d.ts.map +1 -0
  24. package/lib/bridge/generic-alpaca/buildSubAccounts.js +75 -0
  25. package/lib/bridge/generic-alpaca/buildSubAccounts.js.map +1 -0
  26. package/lib/bridge/generic-alpaca/createTransaction.d.ts +17 -9
  27. package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  28. package/lib/bridge/generic-alpaca/createTransaction.js +36 -10
  29. package/lib/bridge/generic-alpaca/createTransaction.js.map +1 -1
  30. package/lib/bridge/generic-alpaca/currencyBridge.d.ts +1 -1
  31. package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
  32. package/lib/bridge/generic-alpaca/currencyBridge.js.map +1 -1
  33. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts +1 -1
  34. package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  35. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +9 -0
  36. package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  37. package/lib/bridge/generic-alpaca/getAccountShape.d.ts +1 -1
  38. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  39. package/lib/bridge/generic-alpaca/getAccountShape.js +66 -37
  40. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  41. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts +1 -1
  42. package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  43. package/lib/bridge/generic-alpaca/getTransactionStatus.js +27 -15
  44. package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  45. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts +5 -1
  46. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  47. package/lib/bridge/generic-alpaca/prepareTransaction.js +28 -5
  48. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  49. package/lib/bridge/generic-alpaca/signOperation.d.ts +1 -1
  50. package/lib/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  51. package/lib/bridge/generic-alpaca/signOperation.js +64 -13
  52. package/lib/bridge/generic-alpaca/signOperation.js.map +1 -1
  53. package/lib/bridge/generic-alpaca/signer/index.d.ts +1 -1
  54. package/lib/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  55. package/lib/bridge/generic-alpaca/signer/index.js +38 -5
  56. package/lib/bridge/generic-alpaca/signer/index.js.map +1 -1
  57. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -0
  58. package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
  59. package/lib/bridge/generic-alpaca/signer/signTransaction.js +8 -1
  60. package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
  61. package/lib/bridge/generic-alpaca/signer/types.d.ts +3 -0
  62. package/lib/bridge/generic-alpaca/signer/types.d.ts.map +1 -1
  63. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +70 -46
  64. package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -1
  65. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +1 -1
  66. package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
  67. package/lib/bridge/generic-alpaca/tests/signOperation.test.js +25 -22
  68. package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
  69. package/lib/bridge/generic-alpaca/tests/utils.test.d.ts.map +1 -0
  70. package/lib/bridge/generic-alpaca/{utils.test.js → tests/utils.test.js} +1 -1
  71. package/lib/bridge/generic-alpaca/tests/utils.test.js.map +1 -0
  72. package/lib/bridge/generic-alpaca/utils.d.ts +36 -1
  73. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
  74. package/lib/bridge/generic-alpaca/utils.js +130 -14
  75. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  76. package/lib/bridge/impl.d.ts.map +1 -1
  77. package/lib/bridge/impl.js +5 -4
  78. package/lib/bridge/impl.js.map +1 -1
  79. package/lib/e2e/enum/Account.js +4 -4
  80. package/lib/e2e/enum/Account.js.map +1 -1
  81. package/lib/e2e/enum/AppInfos.d.ts +1 -1
  82. package/lib/e2e/enum/AppInfos.d.ts.map +1 -1
  83. package/lib/e2e/enum/AppInfos.js +1 -1
  84. package/lib/e2e/enum/AppInfos.js.map +1 -1
  85. package/lib/e2e/enum/Currency.d.ts.map +1 -1
  86. package/lib/e2e/enum/Currency.js +3 -3
  87. package/lib/e2e/enum/Currency.js.map +1 -1
  88. package/lib/e2e/speculos.js +2 -2
  89. package/lib/e2e/speculos.js.map +1 -1
  90. package/lib/exchange/index.d.ts.map +1 -1
  91. package/lib/exchange/index.js +1 -0
  92. package/lib/exchange/index.js.map +1 -1
  93. package/lib/families/stellar/bridge/logic.d.ts +1 -1
  94. package/lib/families/stellar/bridge/logic.d.ts.map +1 -1
  95. package/lib/families/stellar/bridge/logic.js +1 -1
  96. package/lib/families/stellar/bridge/logic.js.map +1 -1
  97. package/lib/families/stellar/bridge/mock.js +2 -2
  98. package/lib/families/stellar/bridge/mock.js.map +1 -1
  99. package/lib/families/stellar/setup.d.ts +3 -6
  100. package/lib/families/stellar/setup.d.ts.map +1 -1
  101. package/lib/families/stellar/setup.js +3 -12
  102. package/lib/families/stellar/setup.js.map +1 -1
  103. package/lib/families/xrp/bridge/mock.js +2 -2
  104. package/lib/families/xrp/bridge/mock.js.map +1 -1
  105. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  106. package/lib/featureFlags/defaultFeatures.js +4 -2
  107. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  108. package/lib/generated/bridge/js.d.ts +0 -1
  109. package/lib/generated/bridge/js.d.ts.map +1 -1
  110. package/lib/generated/bridge/js.js +12 -14
  111. package/lib/generated/bridge/js.js.map +1 -1
  112. package/lib/generated/transaction.d.ts +1 -1
  113. package/lib/modularDrawer/__test__/useModularDrawerVisibility.test.js +229 -14
  114. package/lib/modularDrawer/__test__/useModularDrawerVisibility.test.js.map +1 -1
  115. package/lib/modularDrawer/enums.d.ts +0 -1
  116. package/lib/modularDrawer/enums.d.ts.map +1 -1
  117. package/lib/modularDrawer/enums.js +0 -1
  118. package/lib/modularDrawer/enums.js.map +1 -1
  119. package/lib/modularDrawer/useModularDrawerVisibility.d.ts +7 -1
  120. package/lib/modularDrawer/useModularDrawerVisibility.d.ts.map +1 -1
  121. package/lib/modularDrawer/useModularDrawerVisibility.js +18 -2
  122. package/lib/modularDrawer/useModularDrawerVisibility.js.map +1 -1
  123. package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
  124. package/lib-es/__tests__/test-helpers/bridge.js +3 -1
  125. package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
  126. package/lib-es/braze/anonymousUsers.d.ts +1 -0
  127. package/lib-es/braze/anonymousUsers.d.ts.map +1 -1
  128. package/lib-es/braze/anonymousUsers.js +5 -4
  129. package/lib-es/braze/anonymousUsers.js.map +1 -1
  130. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +1 -1
  131. package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +1 -1
  132. package/lib-es/bridge/generic-alpaca/accountBridge.js.map +1 -1
  133. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts +1 -1
  134. package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +1 -1
  135. package/lib-es/bridge/generic-alpaca/alpaca/index.js +4 -2
  136. package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +1 -1
  137. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +4 -4
  138. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +1 -1
  139. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js +10 -10
  140. package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +1 -1
  141. package/lib-es/bridge/generic-alpaca/broadcast.d.ts +1 -1
  142. package/lib-es/bridge/generic-alpaca/broadcast.d.ts.map +1 -1
  143. package/lib-es/bridge/generic-alpaca/broadcast.js.map +1 -1
  144. package/lib-es/bridge/generic-alpaca/buildSubAccounts.d.ts +17 -0
  145. package/lib-es/bridge/generic-alpaca/buildSubAccounts.d.ts.map +1 -0
  146. package/lib-es/bridge/generic-alpaca/buildSubAccounts.js +65 -0
  147. package/lib-es/bridge/generic-alpaca/buildSubAccounts.js.map +1 -0
  148. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts +17 -9
  149. package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +1 -1
  150. package/lib-es/bridge/generic-alpaca/createTransaction.js +35 -9
  151. package/lib-es/bridge/generic-alpaca/createTransaction.js.map +1 -1
  152. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts +1 -1
  153. package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +1 -1
  154. package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +1 -1
  155. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts +1 -1
  156. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +1 -1
  157. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +9 -0
  158. package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +1 -1
  159. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts +1 -1
  160. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  161. package/lib-es/bridge/generic-alpaca/getAccountShape.js +66 -37
  162. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  163. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts +1 -1
  164. package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +1 -1
  165. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +27 -15
  166. package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +1 -1
  167. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts +5 -1
  168. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  169. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +26 -4
  170. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  171. package/lib-es/bridge/generic-alpaca/signOperation.d.ts +1 -1
  172. package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +1 -1
  173. package/lib-es/bridge/generic-alpaca/signOperation.js +61 -13
  174. package/lib-es/bridge/generic-alpaca/signOperation.js.map +1 -1
  175. package/lib-es/bridge/generic-alpaca/signer/index.d.ts +1 -1
  176. package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +1 -1
  177. package/lib-es/bridge/generic-alpaca/signer/index.js +39 -6
  178. package/lib-es/bridge/generic-alpaca/signer/index.js.map +1 -1
  179. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +2 -0
  180. package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +1 -1
  181. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js +6 -0
  182. package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +1 -1
  183. package/lib-es/bridge/generic-alpaca/signer/types.d.ts +3 -0
  184. package/lib-es/bridge/generic-alpaca/signer/types.d.ts.map +1 -1
  185. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +70 -46
  186. package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +1 -1
  187. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +1 -1
  188. package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +1 -1
  189. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +25 -22
  190. package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +1 -1
  191. package/lib-es/bridge/generic-alpaca/tests/utils.test.d.ts.map +1 -0
  192. package/lib-es/bridge/generic-alpaca/{utils.test.js → tests/utils.test.js} +1 -1
  193. package/lib-es/bridge/generic-alpaca/tests/utils.test.js.map +1 -0
  194. package/lib-es/bridge/generic-alpaca/utils.d.ts +36 -1
  195. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
  196. package/lib-es/bridge/generic-alpaca/utils.js +130 -14
  197. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  198. package/lib-es/bridge/impl.d.ts.map +1 -1
  199. package/lib-es/bridge/impl.js +5 -4
  200. package/lib-es/bridge/impl.js.map +1 -1
  201. package/lib-es/e2e/enum/Account.js +4 -4
  202. package/lib-es/e2e/enum/Account.js.map +1 -1
  203. package/lib-es/e2e/enum/AppInfos.d.ts +1 -1
  204. package/lib-es/e2e/enum/AppInfos.d.ts.map +1 -1
  205. package/lib-es/e2e/enum/AppInfos.js +1 -1
  206. package/lib-es/e2e/enum/AppInfos.js.map +1 -1
  207. package/lib-es/e2e/enum/Currency.d.ts.map +1 -1
  208. package/lib-es/e2e/enum/Currency.js +3 -3
  209. package/lib-es/e2e/enum/Currency.js.map +1 -1
  210. package/lib-es/e2e/speculos.js +2 -2
  211. package/lib-es/e2e/speculos.js.map +1 -1
  212. package/lib-es/exchange/index.d.ts.map +1 -1
  213. package/lib-es/exchange/index.js +1 -0
  214. package/lib-es/exchange/index.js.map +1 -1
  215. package/lib-es/families/stellar/bridge/logic.d.ts +1 -1
  216. package/lib-es/families/stellar/bridge/logic.d.ts.map +1 -1
  217. package/lib-es/families/stellar/bridge/logic.js +1 -1
  218. package/lib-es/families/stellar/bridge/logic.js.map +1 -1
  219. package/lib-es/families/stellar/bridge/mock.js +2 -2
  220. package/lib-es/families/stellar/bridge/mock.js.map +1 -1
  221. package/lib-es/families/stellar/setup.d.ts +3 -6
  222. package/lib-es/families/stellar/setup.d.ts.map +1 -1
  223. package/lib-es/families/stellar/setup.js +2 -10
  224. package/lib-es/families/stellar/setup.js.map +1 -1
  225. package/lib-es/families/xrp/bridge/mock.js +2 -2
  226. package/lib-es/families/xrp/bridge/mock.js.map +1 -1
  227. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  228. package/lib-es/featureFlags/defaultFeatures.js +4 -2
  229. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  230. package/lib-es/generated/bridge/js.d.ts +0 -1
  231. package/lib-es/generated/bridge/js.d.ts.map +1 -1
  232. package/lib-es/generated/bridge/js.js +0 -2
  233. package/lib-es/generated/bridge/js.js.map +1 -1
  234. package/lib-es/generated/transaction.d.ts +1 -1
  235. package/lib-es/modularDrawer/__test__/useModularDrawerVisibility.test.js +229 -14
  236. package/lib-es/modularDrawer/__test__/useModularDrawerVisibility.test.js.map +1 -1
  237. package/lib-es/modularDrawer/enums.d.ts +0 -1
  238. package/lib-es/modularDrawer/enums.d.ts.map +1 -1
  239. package/lib-es/modularDrawer/enums.js +0 -1
  240. package/lib-es/modularDrawer/enums.js.map +1 -1
  241. package/lib-es/modularDrawer/useModularDrawerVisibility.d.ts +7 -1
  242. package/lib-es/modularDrawer/useModularDrawerVisibility.d.ts.map +1 -1
  243. package/lib-es/modularDrawer/useModularDrawerVisibility.js +18 -2
  244. package/lib-es/modularDrawer/useModularDrawerVisibility.js.map +1 -1
  245. package/package.json +49 -48
  246. package/src/__tests__/test-helpers/bridge.ts +3 -1
  247. package/src/braze/anonymousUsers.ts +7 -4
  248. package/src/bridge/generic-alpaca/accountBridge.ts +1 -4
  249. package/src/bridge/generic-alpaca/alpaca/index.ts +7 -2
  250. package/src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts +17 -22
  251. package/src/bridge/generic-alpaca/broadcast.ts +1 -4
  252. package/src/bridge/generic-alpaca/buildSubAccounts.ts +110 -0
  253. package/src/bridge/generic-alpaca/createTransaction.ts +48 -18
  254. package/src/bridge/generic-alpaca/currencyBridge.ts +1 -1
  255. package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +13 -4
  256. package/src/bridge/generic-alpaca/getAccountShape.ts +84 -46
  257. package/src/bridge/generic-alpaca/getTransactionStatus.ts +46 -22
  258. package/src/bridge/generic-alpaca/prepareTransaction.ts +41 -7
  259. package/src/bridge/generic-alpaca/signOperation.ts +85 -18
  260. package/src/bridge/generic-alpaca/signer/index.ts +43 -7
  261. package/src/bridge/generic-alpaca/signer/signTransaction.ts +11 -0
  262. package/src/bridge/generic-alpaca/signer/types.ts +1 -0
  263. package/src/bridge/generic-alpaca/tests/estimateMaxSpendable.test.ts +72 -47
  264. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +1 -1
  265. package/src/bridge/generic-alpaca/tests/signOperation.test.ts +28 -26
  266. package/src/bridge/generic-alpaca/{utils.test.ts → tests/utils.test.ts} +1 -1
  267. package/src/bridge/generic-alpaca/utils.ts +158 -18
  268. package/src/bridge/impl.ts +5 -4
  269. package/src/e2e/enum/Account.ts +4 -4
  270. package/src/e2e/enum/AppInfos.ts +1 -1
  271. package/src/e2e/enum/Currency.ts +3 -13
  272. package/src/e2e/speculos.ts +2 -2
  273. package/src/exchange/index.ts +1 -0
  274. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +569 -2068
  275. package/src/families/stellar/bridge/logic.ts +1 -1
  276. package/src/families/stellar/bridge/mock.ts +2 -2
  277. package/src/families/stellar/setup.ts +2 -22
  278. package/src/families/xrp/bridge/mock.ts +2 -2
  279. package/src/featureFlags/defaultFeatures.ts +4 -2
  280. package/src/generated/bridge/js.ts +0 -2
  281. package/src/modularDrawer/__test__/useModularDrawerVisibility.test.ts +345 -14
  282. package/src/modularDrawer/enums.ts +0 -1
  283. package/src/modularDrawer/useModularDrawerVisibility.ts +26 -2
  284. package/lib/bridge/generic-alpaca/utils.test.d.ts.map +0 -1
  285. package/lib/bridge/generic-alpaca/utils.test.js.map +0 -1
  286. package/lib/families/canton/bridge.integration.test.d.ts +0 -2
  287. package/lib/families/canton/bridge.integration.test.d.ts.map +0 -1
  288. package/lib/families/canton/bridge.integration.test.js +0 -7
  289. package/lib/families/canton/bridge.integration.test.js.map +0 -1
  290. package/lib-es/bridge/generic-alpaca/utils.test.d.ts.map +0 -1
  291. package/lib-es/bridge/generic-alpaca/utils.test.js.map +0 -1
  292. package/lib-es/families/canton/bridge.integration.test.d.ts +0 -2
  293. package/lib-es/families/canton/bridge.integration.test.d.ts.map +0 -1
  294. package/lib-es/families/canton/bridge.integration.test.js +0 -5
  295. package/lib-es/families/canton/bridge.integration.test.js.map +0 -1
  296. package/src/families/canton/bridge.integration.test.ts +0 -6
  297. /package/lib/bridge/generic-alpaca/{utils.test.d.ts → tests/utils.test.d.ts} +0 -0
  298. /package/lib-es/bridge/generic-alpaca/{utils.test.d.ts → tests/utils.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/createTransaction.ts"],"names":[],"mappings":";;;;;;AACA,gEAAqC;AASrC,SAAgB,iBAAiB,CAAC,OAAgB;IAOhD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,MAAM,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;QACpB,SAAS,EAAE,EAAE;QACb,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,SAAS;QACd,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAhBD,8CAgBC"}
1
+ {"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/createTransaction.ts"],"names":[],"mappings":";;;;;;AACA,gEAAqC;AAGrC,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qCAAW,CAAA;IACX,2CAAiB,CAAA;IACjB,uCAAa,CAAA;AACf,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC;AAMD,SAAgB,iBAAiB,CAAC,OAA+B;IAY/D,MAAM,QAAQ,GACZ,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpF,QAAQ,QAAQ,CAAC,MAAM,EAAE;QACvB,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACX,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;gBACpB,SAAS,EAAE,EAAE;gBACb,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,SAAS;gBACd,aAAa,EAAE,IAAI,EAAE,uDAAuD;aAC7E,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,KAAK;gBACnB,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;KACtE;AACH,CAAC;AA1CD,8CA0CC"}
@@ -1,3 +1,3 @@
1
1
  import { CurrencyBridge } from "@ledgerhq/types-live";
2
- export declare function getAlpacaCurrencyBridge(network: string, kind: "local" | "remote"): CurrencyBridge;
2
+ export declare function getAlpacaCurrencyBridge(network: string, kind: string): CurrencyBridge;
3
3
  //# sourceMappingURL=currencyBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currencyBridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/currencyBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,cAAc,CAWjG"}
1
+ {"version":3,"file":"currencyBridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/currencyBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAWrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"currencyBridge.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/currencyBridge.ts"],"names":[],"mappings":";;;AAAA,yEAA6E;AAE7E,uDAA2D;AAC3D,qCAAqC;AAErC,SAAgB,uBAAuB,CAAC,OAAe,EAAE,IAAwB;IAC/E,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO;QACT,CAAC;QACD,YAAY,EAAE,IAAA,4BAAgB,EAAC;YAC7B,eAAe,EAAE,IAAA,wCAAsB,EAAC,OAAO,EAAE,IAAI,CAAC;YACtD,YAAY,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC,UAAU;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC;AAXD,0DAWC"}
1
+ {"version":3,"file":"currencyBridge.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/currencyBridge.ts"],"names":[],"mappings":";;;AAAA,yEAA6E;AAE7E,uDAA2D;AAC3D,qCAAqC;AAErC,SAAgB,uBAAuB,CAAC,OAAe,EAAE,IAAY;IACnE,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO;QACT,CAAC;QACD,YAAY,EAAE,IAAA,4BAAgB,EAAC;YAC7B,eAAe,EAAE,IAAA,wCAAsB,EAAC,OAAO,EAAE,IAAI,CAAC;YACtD,YAAY,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC,UAAU;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC;AAXD,0DAWC"}
@@ -1,3 +1,3 @@
1
1
  import { AccountBridge } from "@ledgerhq/types-live";
2
- export declare function genericEstimateMaxSpendable(network: string, kind: "local" | "remote"): AccountBridge<any>["estimateMaxSpendable"];
2
+ export declare function genericEstimateMaxSpendable(network: any, kind: any): AccountBridge<any>["estimateMaxSpendable"];
3
3
  //# sourceMappingURL=estimateMaxSpendable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/estimateMaxSpendable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GAAG,QAAQ,GACvB,aAAa,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAgB5C"}
1
+ {"version":3,"file":"estimateMaxSpendable.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/estimateMaxSpendable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD,wBAAgB,2BAA2B,CACzC,OAAO,KAAA,EACP,IAAI,KAAA,GACH,aAAa,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAyB5C"}
@@ -11,13 +11,22 @@ const utils_1 = require("./utils");
11
11
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
12
12
  function genericEstimateMaxSpendable(network, kind) {
13
13
  return async ({ account, parentAccount, transaction }) => {
14
+ if (account.type === "TokenAccount") {
15
+ return account.spendableBalance;
16
+ }
14
17
  const mainAccount = (0, account_1.getMainAccount)(account, parentAccount);
15
18
  const draftTransaction = {
16
19
  ...(0, createTransaction_1.createTransaction)(account),
17
20
  ...transaction,
18
21
  amount: mainAccount.spendableBalance,
22
+ useAllAmount: true,
23
+ fees: transaction?.fees ? BigInt(transaction.fees.toString()) : 0n,
19
24
  };
20
25
  const fees = await (0, alpaca_1.getAlpacaApi)(network, kind).estimateFees((0, utils_1.transactionToIntent)(mainAccount, draftTransaction));
26
+ const { amount } = await (0, alpaca_1.getAlpacaApi)(network, kind).validateIntent((0, utils_1.transactionToIntent)(account, { ...draftTransaction }));
27
+ if (network === "stellar") {
28
+ return amount > 0 ? new bignumber_js_1.default(amount.toString()) : new bignumber_js_1.default(0);
29
+ }
21
30
  const bnFee = (0, bignumber_js_1.default)(fees.value.toString());
22
31
  return bignumber_js_1.default.max(0, account.spendableBalance.minus(bnFee));
23
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;AACA,2CAA+C;AAC/C,qCAAwC;AACxC,2DAAwD;AACxD,mCAA8C;AAC9C,gEAAqC;AAErC,SAAgB,2BAA2B,CACzC,OAAe,EACf,IAAwB;IAExB,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;QACvD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE3D,MAAM,gBAAgB,GAAG;YACvB,GAAG,IAAA,qCAAiB,EAAC,OAAc,CAAC;YACpC,GAAG,WAAW;YACd,MAAM,EAAE,WAAW,CAAC,gBAAgB;SACrC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,YAAY,CACzD,IAAA,2BAAmB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CACnD,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,sBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,sBAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AAnBD,kEAmBC"}
1
+ {"version":3,"file":"estimateMaxSpendable.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/estimateMaxSpendable.ts"],"names":[],"mappings":";;;;;;AACA,2CAA+C;AAC/C,qCAAwC;AACxC,2DAAwD;AACxD,mCAA8C;AAC9C,gEAAqC;AAErC,SAAgB,2BAA2B,CACzC,OAAO,EACP,IAAI;IAEJ,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;QACvD,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;YACnC,OAAO,OAAO,CAAC,gBAAgB,CAAC;SACjC;QACD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG;YACvB,GAAG,IAAA,qCAAiB,EAAC,OAAc,CAAC;YACpC,GAAG,WAAW;YACd,MAAM,EAAE,WAAW,CAAC,gBAAgB;YACpC,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,YAAY,CACzD,IAAA,2BAAmB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CACnD,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,cAAc,CACjE,IAAA,2BAAmB,EAAC,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE,CAAC,CACtD,CAAC;QACF,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;SACzE;QACD,MAAM,KAAK,GAAG,IAAA,sBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,sBAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC;AA5BD,kEA4BC"}
@@ -1,3 +1,3 @@
1
1
  import { GetAccountShape } from "@ledgerhq/coin-framework/bridge/jsHelpers";
2
- export declare function genericGetAccountShape(network: string, kind: "local" | "remote"): GetAccountShape;
2
+ export declare function genericGetAccountShape(network: string, kind: string): GetAccountShape;
3
3
  //# sourceMappingURL=getAccountShape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAccountShape.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAKtF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,eAAe,CAsDjG"}
1
+ {"version":3,"file":"getAccountShape.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAQtF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAyFrF"}
@@ -9,48 +9,77 @@ const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
9
9
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
10
  const alpaca_1 = require("./alpaca");
11
11
  const utils_1 = require("./utils");
12
+ const serialization_1 = require("@ledgerhq/coin-framework/serialization");
13
+ const buildSubAccounts_1 = require("./buildSubAccounts");
14
+ const buildSubAccounts_2 = require("./buildSubAccounts");
12
15
  function genericGetAccountShape(network, kind) {
13
- return async (info) => {
14
- try {
15
- const { address, initialAccount, currency, derivationMode } = info;
16
- const accountId = (0, index_1.encodeAccountId)({
17
- type: "js",
18
- version: "2",
19
- currencyId: currency.id,
20
- xpubOrAddress: address,
21
- derivationMode,
22
- });
23
- const blockInfo = await (0, alpaca_1.getAlpacaApi)(network, kind).lastBlock();
24
- const balances = await (0, alpaca_1.getAlpacaApi)(network, kind).getBalance(address);
25
- const nativeBalance = (0, utils_1.extractBalance)(balances, "native");
26
- const balance = (0, bignumber_js_1.default)(nativeBalance.value.toString());
27
- let spendableBalance;
28
- if (nativeBalance.locked) {
29
- spendableBalance = bignumber_js_1.default.max(balance.minus((0, bignumber_js_1.default)(nativeBalance.locked.toString())), (0, bignumber_js_1.default)(0));
16
+ return async (info, syncConfig) => {
17
+ const { address, initialAccount, currency, derivationMode } = info;
18
+ const alpacaApi = (0, alpaca_1.getAlpacaApi)(network, kind);
19
+ if (alpacaApi.getChainSpecificRules) {
20
+ const chainSpecificValidation = alpacaApi.getChainSpecificRules();
21
+ if (chainSpecificValidation.getAccountShape) {
22
+ chainSpecificValidation.getAccountShape(address);
30
23
  }
31
- else {
32
- spendableBalance = initialAccount?.spendableBalance || balance;
24
+ }
25
+ const accountId = (0, index_1.encodeAccountId)({
26
+ type: "js",
27
+ version: "2",
28
+ currencyId: currency.id,
29
+ xpubOrAddress: address,
30
+ derivationMode,
31
+ });
32
+ const blockInfo = await alpacaApi.lastBlock();
33
+ const balanceRes = await alpacaApi.getBalance(address);
34
+ const nativeAsset = (0, utils_1.extractBalance)(balanceRes, "native");
35
+ const assetsBalance = balanceRes
36
+ .filter(b => b.asset.type !== "native")
37
+ .filter(b => (0, buildSubAccounts_1.findToken)(currency, b));
38
+ const nativeBalance = BigInt(nativeAsset?.value ?? "0");
39
+ const spendableBalance = BigInt(nativeBalance - BigInt(nativeAsset?.locked ?? "0"));
40
+ const oldOps = (initialAccount?.operations || []);
41
+ const lastPagingToken = oldOps[0]?.extra?.pagingToken || "";
42
+ const blockHeight = oldOps.length ? (oldOps[0].blockHeight ?? 0) + 1 : 0;
43
+ const paginationParams = { minHeight: blockHeight };
44
+ if (lastPagingToken) {
45
+ paginationParams.lastPagingToken = lastPagingToken;
46
+ }
47
+ const [newCoreOps] = await alpacaApi.listOperations(address, paginationParams);
48
+ const newOps = newCoreOps.map(op => (0, utils_1.adaptCoreOperationToLiveOperation)(accountId, op));
49
+ const mergedOps = (0, jsHelpers_1.mergeOps)(oldOps, newOps);
50
+ const assetOperations = [];
51
+ mergedOps.forEach(operation => {
52
+ if (operation?.extra?.assetReference &&
53
+ operation?.extra?.assetOwner &&
54
+ !["OPT_IN", "OPT_OUT"].includes(operation.type)) {
55
+ assetOperations.push(operation);
33
56
  }
34
- const oldOperations = initialAccount?.operations || [];
35
- const blockHeight = oldOperations.length ? (oldOperations[0].blockHeight ?? 0) + 1 : 0;
36
- const [newOperations] = await (0, alpaca_1.getAlpacaApi)(network, kind).listOperations(address, {
37
- minHeight: blockHeight,
38
- });
39
- const operations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations.map(op => (0, utils_1.adaptCoreOperationToLiveOperation)(accountId, op)));
57
+ });
58
+ const subAccounts = (0, buildSubAccounts_2.buildSubAccounts)({
59
+ currency,
60
+ accountId,
61
+ assetsBalance,
62
+ syncConfig,
63
+ operations: assetOperations,
64
+ }) || [];
65
+ const operationsWithSubs = mergedOps.map(op => {
66
+ const subOperations = (0, serialization_1.inferSubOperations)(op.hash, subAccounts);
40
67
  return {
41
- id: accountId,
42
- xpub: address,
43
- blockHeight: operations.length === 0 ? 0 : blockInfo.height || initialAccount?.blockHeight,
44
- balance,
45
- spendableBalance,
46
- operations,
47
- operationsCount: operations.length,
68
+ ...op,
69
+ subOperations,
48
70
  };
49
- }
50
- catch (e) {
51
- console.error("Error in getAccountShape", e);
52
- throw e;
53
- }
71
+ });
72
+ const res = {
73
+ id: accountId,
74
+ xpub: address,
75
+ blockHeight: operationsWithSubs.length === 0 ? 0 : blockInfo.height || initialAccount?.blockHeight,
76
+ balance: new bignumber_js_1.default(nativeBalance.toString()),
77
+ spendableBalance: new bignumber_js_1.default(spendableBalance.toString()),
78
+ operations: operationsWithSubs,
79
+ subAccounts,
80
+ operationsCount: operationsWithSubs.length,
81
+ };
82
+ return res;
54
83
  };
55
84
  }
56
85
  exports.genericGetAccountShape = genericGetAccountShape;
@@ -1 +1 @@
1
- {"version":3,"file":"getAccountShape.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyE;AACzE,yEAAsF;AACtF,gEAAqC;AACrC,qCAAwC;AACxC,mCAA4E;AAE5E,SAAgB,sBAAsB,CAAC,OAAe,EAAE,IAAwB;IAC9E,OAAO,KAAK,EAAC,IAAI,EAAC,EAAE;QAClB,IAAI;YACF,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;YACnE,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC;gBAChC,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,aAAa,EAAE,OAAO;gBACtB,cAAc;aACf,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAEhE,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,IAAA,sBAAc,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,IAAA,sBAAS,EAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE1D,IAAI,gBAA2B,CAAC;YAChC,IAAI,aAAa,CAAC,MAAM,EAAE;gBACxB,gBAAgB,GAAG,sBAAS,CAAC,GAAG,CAC9B,OAAO,CAAC,KAAK,CAAC,IAAA,sBAAS,EAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EACzD,IAAA,sBAAS,EAAC,CAAC,CAAC,CACb,CAAC;aACH;iBAAM;gBACL,gBAAgB,GAAG,cAAc,EAAE,gBAAgB,IAAI,OAAO,CAAC;aAChE;YACD,MAAM,aAAa,GAAG,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;YAEvD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvF,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;gBAChF,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAA,oBAAQ,EACzB,aAAa,EACb,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,yCAAiC,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAC1E,CAAC;YAEF,OAAO;gBACL,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,cAAc,EAAE,WAAW;gBAC1F,OAAO;gBACP,gBAAgB;gBAChB,UAAU;gBACV,eAAe,EAAE,UAAU,CAAC,MAAM;aACnC,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC;SACT;IACH,CAAC,CAAC;AACJ,CAAC;AAtDD,wDAsDC"}
1
+ {"version":3,"file":"getAccountShape.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { AccountBridge } from "@ledgerhq/types-live";
2
- export declare function genericGetTransactionStatus(network: string, kind: "local" | "remote"): AccountBridge<any>["getTransactionStatus"];
2
+ export declare function genericGetTransactionStatus(network: any, kind: any): AccountBridge<any>["getTransactionStatus"];
3
3
  //# sourceMappingURL=getTransactionStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getTransactionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AAKxE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GAAG,QAAQ,GACvB,aAAa,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CA6B5C"}
1
+ {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getTransactionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AAOxE,wBAAgB,2BAA2B,CACzC,OAAO,KAAA,EACP,IAAI,KAAA,GACH,aAAa,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAmD5C"}
@@ -4,31 +4,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.genericGetTransactionStatus = void 0;
7
+ const errors_1 = require("@ledgerhq/errors");
7
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
9
  const alpaca_1 = require("./alpaca");
10
+ const utils_1 = require("./utils");
9
11
  // => alpaca validateIntent
10
12
  function genericGetTransactionStatus(network, kind) {
11
13
  return async (account, transaction) => {
12
- const { freshAddress, balance, currency } = account;
13
14
  const alpacaApi = (0, alpaca_1.getAlpacaApi)(network, kind);
14
- const { errors, warnings } = await alpacaApi.validateIntent({
15
- currencyName: currency.name,
16
- address: freshAddress,
17
- balance: BigInt(balance.toString()),
18
- currencyUnit: currency.units[0],
19
- }, {
20
- type: "PAYMENT",
15
+ const draftTransaction = {
16
+ mode: transaction?.mode,
21
17
  recipient: transaction.recipient,
22
- amount: BigInt(transaction.amount?.toString() ?? "0"),
23
- fee: BigInt(transaction.fees?.toString() ?? "0"),
24
- });
25
- const estimatedFees = transaction.fees || new bignumber_js_1.default(0);
18
+ amount: transaction.amount ?? new bignumber_js_1.default(0),
19
+ fees: transaction.fees ? BigInt(transaction.fees.toString()) : 0n,
20
+ useAllAmount: !!transaction.useAllAmount,
21
+ assetReference: transaction.assetReference || "",
22
+ assetOwner: transaction.assetOwner || "",
23
+ subAccountId: transaction.subAccountId || "",
24
+ memoType: transaction.memoType || "",
25
+ memoValue: transaction.memoValue || "",
26
+ };
27
+ if (alpacaApi.getChainSpecificRules) {
28
+ const chainSpecificValidation = alpacaApi.getChainSpecificRules();
29
+ if (chainSpecificValidation.getTransactionStatus.throwIfPendingOperation) {
30
+ if (account.pendingOperations.length > 0) {
31
+ throw new errors_1.AccountAwaitingSendPendingOperations();
32
+ }
33
+ }
34
+ }
35
+ const { errors, warnings, estimatedFees, amount, totalSpent } = await alpacaApi.validateIntent((0, utils_1.transactionToIntent)(account, draftTransaction));
26
36
  return Promise.resolve({
27
37
  errors,
28
38
  warnings,
29
- estimatedFees,
30
- amount: transaction.amount,
31
- totalSpent: transaction.amount.plus(transaction.fees),
39
+ estimatedFees: !transaction.fees || transaction.fees.isZero()
40
+ ? new bignumber_js_1.default(estimatedFees.toString())
41
+ : transaction.fees,
42
+ amount: transaction.amount.eq(0) ? new bignumber_js_1.default(amount.toString()) : transaction.amount,
43
+ totalSpent: new bignumber_js_1.default(totalSpent.toString()),
32
44
  });
33
45
  };
34
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getTransactionStatus.ts"],"names":[],"mappings":";;;;;;AACA,gEAAqC;AACrC,qCAAwC;AAExC,2BAA2B;AAC3B,SAAgB,2BAA2B,CACzC,OAAe,EACf,IAAwB;IAExB,OAAO,KAAK,EAAE,OAAO,EAAE,WAAoD,EAAE,EAAE;QAC7E,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACpD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,cAAc,CACzD;YACE,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAChC,EACD;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC;YACrD,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC;SACjD,CACF,CAAC;QAEF,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,IAAI,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QAE3D,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,MAAM;YACN,QAAQ;YACR,aAAa;YACb,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SACtD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAhCD,kEAgCC"}
1
+ {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getTransactionStatus.ts"],"names":[],"mappings":";;;;;;AACA,6CAAwE;AACxE,gEAAqC;AACrC,qCAAwC;AACxC,mCAA8C;AAE9C,2BAA2B;AAC3B,SAAgB,2BAA2B,CACzC,OAAO,EACP,IAAI;IAEJ,OAAO,KAAK,EACV,OAAO,EACP,WAQC,EACD,EAAE;QACF,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,WAAW,EAAE,IAAI;YACvB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,IAAI,sBAAS,CAAC,CAAC,CAAC;YAC9C,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACjE,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY;YACxC,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,EAAE;YAChD,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;YACxC,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,EAAE;YAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,EAAE;YACpC,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;SACvC,CAAC;QAEF,IAAI,SAAS,CAAC,qBAAqB,EAAE;YACnC,MAAM,uBAAuB,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;YAClE,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,uBAAuB,EAAE;gBACxE,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,MAAM,IAAI,6CAAoC,EAAE,CAAC;iBAClD;aACF;SACF;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,cAAc,CAC5F,IAAA,2BAAmB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAC/C,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,MAAM;YACN,QAAQ;YACR,aAAa,EACX,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC5C,CAAC,CAAC,IAAI,sBAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACzC,CAAC,CAAC,WAAW,CAAC,IAAI;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;YACxF,UAAU,EAAE,IAAI,sBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SACjD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAtDD,kEAsDC"}
@@ -1,3 +1,7 @@
1
1
  import { Account, AccountBridge, TransactionCommon } from "@ledgerhq/types-live";
2
- export declare function genericPrepareTransaction(network: string, kind: "local" | "remote"): AccountBridge<TransactionCommon, Account, any, any>["prepareTransaction"];
2
+ export declare function genericPrepareTransaction(network: string, kind: any): AccountBridge<TransactionCommon, Account, any, any>["prepareTransaction"];
3
+ export declare function getAssetInfos(tr: TransactionCommon & {
4
+ assetReference?: string;
5
+ assetOwner?: string;
6
+ }): string[];
3
7
  //# sourceMappingURL=prepareTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AASjF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GAAG,QAAQ,GACvB,aAAa,CAAC,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAa3E"}
1
+ {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAUjF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,KAAA,GACH,aAAa,CAAC,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAoC3E;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,iBAAiB,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,MAAM,EAAE,CAMV"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.genericPrepareTransaction = void 0;
6
+ exports.getAssetInfos = exports.genericPrepareTransaction = void 0;
7
7
  const alpaca_1 = require("./alpaca");
8
8
  const utils_1 = require("./utils");
9
9
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
@@ -12,13 +12,36 @@ function bnEq(a, b) {
12
12
  }
13
13
  function genericPrepareTransaction(network, kind) {
14
14
  return async (account, transaction) => {
15
- const fees = await (0, alpaca_1.getAlpacaApi)(network, kind).estimateFees((0, utils_1.transactionToIntent)(account, transaction));
16
- const bnFee = (0, bignumber_js_1.default)(fees.value.toString());
17
- if (!bnEq(transaction.fees, bnFee)) {
18
- return { ...transaction, fees: bnFee };
15
+ const [assetReference, assetOwner] = getAssetInfos(transaction);
16
+ const fees = await (0, alpaca_1.getAlpacaApi)(network, kind).estimateFees((0, utils_1.transactionToIntent)(account, {
17
+ ...transaction,
18
+ fees: transaction.fees ? BigInt(transaction.fees.toString()) : 0n,
19
+ }));
20
+ // NOTE: this is problematic, we should maybe have a method / object that lists what field warrant an update per chain
21
+ // for reference, stellar checked this:
22
+ // transaction.networkInfo !== networkInfo ||
23
+ // transaction.baseReserve !== baseReserve
24
+ if (!bnEq(transaction.fees, new bignumber_js_1.default(fees.value.toString()))) {
25
+ return {
26
+ ...transaction,
27
+ fees: new bignumber_js_1.default(fees.value.toString()),
28
+ assetReference,
29
+ assetOwner,
30
+ networkInfo: {
31
+ fees: new bignumber_js_1.default(fees.value.toString()),
32
+ },
33
+ };
19
34
  }
20
35
  return transaction;
21
36
  };
22
37
  }
23
38
  exports.genericPrepareTransaction = genericPrepareTransaction;
39
+ function getAssetInfos(tr) {
40
+ if (tr.subAccountId) {
41
+ const assetString = tr.subAccountId.split("+")[1];
42
+ return assetString.split(":");
43
+ }
44
+ return [tr.assetReference || "", tr.assetOwner || ""];
45
+ }
46
+ exports.getAssetInfos = getAssetInfos;
24
47
  //# sourceMappingURL=prepareTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/prepareTransaction.ts"],"names":[],"mappings":";;;;;;AACA,qCAAwC;AACxC,mCAA8C;AAC9C,gEAAqC;AAErC,SAAS,IAAI,CAAC,CAA+B,EAAE,CAA+B;IAC5E,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAAe,EACf,IAAwB;IAExB,OAAO,KAAK,EAAE,OAAO,EAAE,WAAoD,EAAE,EAAE;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,YAAY,CACzD,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,CAC1C,CAAC;QACF,MAAM,KAAK,GAAG,IAAA,sBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAClC,OAAO,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SACxC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAhBD,8DAgBC"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/prepareTransaction.ts"],"names":[],"mappings":";;;;;;AACA,qCAAwC;AACxC,mCAA8C;AAC9C,gEAAqC;AAGrC,SAAS,IAAI,CAAC,CAA+B,EAAE,CAA+B;IAC5E,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAAe,EACf,IAAI;IAEJ,OAAO,KAAK,EACV,OAAO,EACP,WAMC,EACD,EAAE;QACF,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,YAAY,CACzD,IAAA,2BAAmB,EAAC,OAAO,EAAE;YAC3B,GAAG,WAAW;YACd,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SAClE,CAAC,CACH,CAAC;QACF,sHAAsH;QACtH,uCAAuC;QACvC,6CAA6C;QAC7C,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;YACjE,OAAO;gBACL,GAAG,WAAW;gBACd,IAAI,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1C,cAAc;gBACd,UAAU;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;iBAC3C;aACF,CAAC;SACH;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAvCD,8DAuCC;AAED,SAAgB,aAAa,CAC3B,EAAwE;IAExE,IAAI,EAAE,CAAC,YAAY,EAAE;QACnB,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC/B;IACD,OAAO,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AARD,sCAQC"}
@@ -3,5 +3,5 @@ import type { AccountBridge, TransactionCommon } from "@ledgerhq/types-live";
3
3
  /**
4
4
  * Sign Transaction with Ledger hardware
5
5
  */
6
- export declare const genericSignOperation: (network: string, kind: "local" | "remote") => (signerContext: SignerContext<any>) => AccountBridge<TransactionCommon>["signOperation"];
6
+ export declare const genericSignOperation: (network: any, kind: any) => (signerContext: SignerContext<any>) => AccountBridge<TransactionCommon>["signOperation"];
7
7
  //# sourceMappingURL=signOperation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/signOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAIV,aAAa,EACb,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAO9B;;GAEG;AACH,eAAO,MAAM,oBAAoB,YACrB,MAAM,QAAQ,OAAO,GAAG,QAAQ,qBAC1B,cAAc,GAAG,CAAC,KAAG,cAAc,iBAAiB,CAAC,CAAC,eAAe,CA2EjF,CAAC"}
1
+ {"version":3,"file":"signOperation.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/signOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAIV,aAAa,EACb,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAgE9B;;GAEG;AACH,eAAO,MAAM,oBAAoB,+CAEf,cAAc,GAAG,CAAC,KAAG,cAAc,iBAAiB,CAAC,CAAC,eAAe,CAqFjF,CAAC"}
@@ -1,34 +1,85 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.genericSignOperation = void 0;
4
7
  const rxjs_1 = require("rxjs");
5
8
  const alpaca_1 = require("./alpaca");
6
9
  const utils_1 = require("./utils");
7
10
  const errors_1 = require("@ledgerhq/errors");
11
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
12
+ /**
13
+ * Applies memo information to transaction intent
14
+ * Handles both destination tags (XRP-like) and Stellar-style memos
15
+ */
16
+ function applyMemoToIntent(transactionIntent, transaction) {
17
+ // Handle destination tag memo (for XRP-like chains)
18
+ if (transaction["tag"]) {
19
+ const txWithMemoTag = transactionIntent;
20
+ const txMemo = String(transaction["tag"]);
21
+ txWithMemoTag.memo = {
22
+ type: "map",
23
+ memos: new Map(),
24
+ };
25
+ txWithMemoTag.memo.memos.set("destinationTag", txMemo);
26
+ return txWithMemoTag;
27
+ }
28
+ // Handle Stellar-style memo
29
+ if (transaction["memoType"] && transaction["memoValue"]) {
30
+ const txWithMemo = transactionIntent;
31
+ const txMemoType = String(transaction["memoType"]);
32
+ const txMemoValue = String(transaction["memoValue"]);
33
+ txWithMemo.memo = {
34
+ type: txMemoType,
35
+ value: txMemoValue,
36
+ };
37
+ return txWithMemo;
38
+ }
39
+ return transactionIntent;
40
+ }
41
+ /**
42
+ * Enriches transaction intent with memo and asset information
43
+ */
44
+ function enrichTransactionIntent(transactionIntent, transaction, publicKey) {
45
+ // Set sender public key
46
+ transactionIntent.senderPublicKey = publicKey;
47
+ // Apply memo information
48
+ transactionIntent = applyMemoToIntent(transactionIntent, transaction);
49
+ return transactionIntent;
50
+ }
8
51
  /**
9
52
  * Sign Transaction with Ledger hardware
10
53
  */
11
54
  const genericSignOperation = (network, kind) => (signerContext) => ({ account, transaction, deviceId, }) => new rxjs_1.Observable(o => {
12
55
  async function main() {
56
+ // NOTE: checking field that's not inside TransactionCommon, improve
13
57
  if (!transaction["fees"])
14
58
  throw new errors_1.FeeNotLoaded();
59
+ const fees = BigInt(transaction["fees"]?.toString() || "0");
60
+ if (transaction["useAllAmount"]) {
61
+ const draftTransaction = {
62
+ recipient: transaction.recipient,
63
+ amount: transaction.amount ?? 0,
64
+ fees: fees,
65
+ useAllAmount: !!transaction.useAllAmount,
66
+ assetReference: transaction?.["assetReference"] || "",
67
+ assetOwner: transaction?.["assetOwner"] || "",
68
+ subAccountId: transaction.subAccountId || "",
69
+ };
70
+ const { amount } = await (0, alpaca_1.getAlpacaApi)(network, kind).validateIntent((0, utils_1.transactionToIntent)(account, draftTransaction));
71
+ transaction.amount = new bignumber_js_1.default(amount.toString());
72
+ }
15
73
  const signedInfo = await signerContext(deviceId, async (signer) => {
16
74
  const derivationPath = account.freshAddressPath;
17
75
  const { publicKey } = (await signer.getAddress(derivationPath));
18
- const transactionIntent = (0, utils_1.transactionToIntent)(account, transaction);
76
+ let transactionIntent = (0, utils_1.transactionToIntent)(account, { ...transaction, fees });
19
77
  transactionIntent.senderPublicKey = publicKey;
20
- // NOTE: is setting the memo here instead of transactionToIntent sensible?
21
- const txWithMemo = transactionIntent;
22
- if (transaction["tag"]) {
23
- const txMemo = String(transaction["tag"]);
24
- txWithMemo.memo = {
25
- type: "map",
26
- memos: new Map(),
27
- };
28
- txWithMemo.memo.memos.set("destinationTag", txMemo);
29
- }
30
- const accountInfo = await (0, alpaca_1.getAlpacaApi)(network, kind).getAccountInfo(transactionIntent.sender);
31
- transactionIntent.sequence = accountInfo.sequence;
78
+ // Enrich with memo and asset information
79
+ transactionIntent = enrichTransactionIntent(transactionIntent, transaction, publicKey);
80
+ // TODO: should compute it and pass it down to craftTransaction (duplicate call right now)
81
+ const sequenceNumber = await (0, alpaca_1.getAlpacaApi)(network, kind).getSequence(transactionIntent.sender);
82
+ transactionIntent.sequence = sequenceNumber;
32
83
  /* Craft unsigned blob via Alpaca */
33
84
  const unsigned = await (0, alpaca_1.getAlpacaApi)(network, kind).craftTransaction(transactionIntent);
34
85
  /* Notify UI that the device is now showing the tx */
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/signOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/signOperation.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAkC;AASlC,qCAAwC;AACxC,mCAAwE;AACxE,6CAAgD;AAIhD,gEAAqC;AAErC;;;GAGG;AACH,SAAS,iBAAiB,CACxB,iBAAyC,EACzC,WAA8B;IAE9B,oDAAoD;IACpD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;QACtB,MAAM,aAAa,GAAG,iBAA+D,CAAC;QACtF,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1C,aAAa,CAAC,IAAI,GAAG;YACnB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,IAAI,GAAG,EAAE;SACjB,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEvD,OAAO,aAAa,CAAC;KACtB;IAED,4BAA4B;IAC5B,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;QACvD,MAAM,UAAU,GAAG,iBAAmD,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAErD,UAAU,CAAC,IAAI,GAAG;YAChB,IAAI,EAAE,UAA+E;YACrF,KAAK,EAAE,WAAW;SACnB,CAAC;QAEF,OAAO,UAAU,CAAC;KACnB;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,iBAAyC,EACzC,WAA8B,EAC9B,SAAiB;IAEjB,wBAAwB;IACxB,iBAAiB,CAAC,eAAe,GAAG,SAAS,CAAC;IAE9C,yBAAyB;IACzB,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAEtE,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AACD;;GAEG;AACI,MAAM,oBAAoB,GAC/B,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAClB,CAAC,aAAiC,EAAqD,EAAE,CACzF,CAAC,EACC,OAAO,EACP,WAAW,EACX,QAAQ,GAKT,EAAkC,EAAE,CACnC,IAAI,iBAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,oEAAoE;QACpE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,qBAAY,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC;QAC5D,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE;YAC/B,MAAM,gBAAgB,GAAG;gBACvB,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,CAAC;gBAC/B,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY;gBACxC,cAAc,EAAE,WAAW,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;gBACrD,UAAU,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE;gBAC7C,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,EAAE;aAC7C,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,cAAc,CACjE,IAAA,2BAAmB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAC/C,CAAC;YACF,WAAW,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD;QACD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAChD,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAW,CAAC;YAE1E,IAAI,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,iBAAiB,CAAC,eAAe,GAAG,SAAS,CAAC;YAE9C,yCAAyC;YACzC,iBAAiB,GAAG,uBAAuB,CAAC,iBAAiB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAEvF,0FAA0F;YAC1F,MAAM,cAAc,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,CAClE,iBAAiB,CAAC,MAAM,CACzB,CAAC;YACF,iBAAiB,CAAC,QAAQ,GAAG,cAAc,CAAC;YAE5C,oCAAoC;YACpC,MAAM,QAAQ,GAAW,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,gBAAgB,CACzE,iBAAiB,CAClB,CAAC;YAEF,qDAAqD;YACrD,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAC/C,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAE7C,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CACxD,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,SAAS,CACrB,CAAC;QACF,MAAM,SAAS,GAAG,IAAA,gCAAwB,EAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtF,qEAAqE;QACrE,wGAAwG;QACxG,CAAC,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE;gBACf,SAAS;gBACT,SAAS,EAAE,QAAQ;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC;AAvFM,QAAA,oBAAoB,wBAuF1B"}
@@ -7,5 +7,5 @@ export type AlpacaSigner = {
7
7
  signMessage?: (message: string) => Promise<string>;
8
8
  context: SignerContext<any>;
9
9
  };
10
- export declare function getSigner(network: string): AlpacaSigner;
10
+ export declare function getSigner(network: any): AlpacaSigner;
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/signer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAOjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAevD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/signer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AASjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGjD,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,YAAY,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AA+BF,wBAAgB,SAAS,CAAC,OAAO,KAAA,GAAG,YAAY,CAmB/C"}
@@ -5,20 +5,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getSigner = void 0;
7
7
  const getAddress_1 = __importDefault(require("@ledgerhq/coin-xrp/signer/getAddress"));
8
+ const getAddress_2 = __importDefault(require("@ledgerhq/coin-stellar/signer/getAddress"));
8
9
  const setup_1 = require("../../setup");
9
10
  const hw_app_xrp_1 = __importDefault(require("@ledgerhq/hw-app-xrp"));
11
+ const hw_app_str_1 = __importDefault(require("@ledgerhq/hw-app-str"));
10
12
  const signTransaction_1 = require("./signTransaction");
13
+ const stellar_sdk_1 = require("@stellar/stellar-sdk");
14
+ const createSignerXrp = (transport) => {
15
+ return new hw_app_xrp_1.default(transport);
16
+ };
17
+ const signerContextXrp = (0, setup_1.executeWithSigner)(createSignerXrp);
18
+ const createSignerStellar = (transport) => {
19
+ const stellar = new hw_app_str_1.default(transport);
20
+ const originalSignTransaction = stellar.signTransaction;
21
+ // Return the original Stellar instance with overridden methods
22
+ return Object.assign(stellar, {
23
+ signTransaction: async (path, transaction) => {
24
+ const unsignedPayload = Buffer.from(transaction, "base64");
25
+ const { signature } = await originalSignTransaction(path, unsignedPayload);
26
+ return signature.toString("base64");
27
+ },
28
+ getAddress: async (path, verify) => {
29
+ const { rawPublicKey } = await stellar.getPublicKey(path, verify);
30
+ const publicKey = stellar_sdk_1.StrKey.encodeEd25519PublicKey(rawPublicKey);
31
+ return {
32
+ path,
33
+ address: publicKey,
34
+ publicKey: publicKey,
35
+ };
36
+ },
37
+ });
38
+ };
39
+ const signerContextStellar = (0, setup_1.executeWithSigner)(createSignerStellar);
11
40
  function getSigner(network) {
12
41
  switch (network) {
13
42
  case "ripple":
14
43
  case "xrp": {
15
- const createSigner = (transport) => {
16
- return new hw_app_xrp_1.default(transport);
44
+ return {
45
+ getAddress: (0, getAddress_1.default)(signerContextXrp),
46
+ signTransaction: (0, signTransaction_1.signTransaction)(signerContextXrp),
47
+ context: signerContextXrp,
17
48
  };
49
+ }
50
+ case "stellar": {
18
51
  return {
19
- getAddress: (0, getAddress_1.default)((0, setup_1.executeWithSigner)(createSigner)),
20
- signTransaction: (0, signTransaction_1.signTransaction)((0, setup_1.executeWithSigner)(createSigner)),
21
- context: (0, setup_1.executeWithSigner)(createSigner),
52
+ getAddress: (0, getAddress_2.default)(signerContextStellar),
53
+ signTransaction: (0, signTransaction_1.stellarSignTransaction)(signerContextStellar),
54
+ context: signerContextStellar,
22
55
  };
23
56
  }
24
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/signer/index.ts"],"names":[],"mappings":";;;;;;AACA,sFAAiE;AACjE,uCAA8D;AAC9D,sEAAuC;AAGvC,uDAAoD;AAWpD,SAAgB,SAAS,CAAC,OAAe;IACvC,QAAQ,OAAO,EAAE;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC,CAAC;YACV,MAAM,YAAY,GAAsB,CAAC,SAAoB,EAAE,EAAE;gBAC/D,OAAO,IAAI,oBAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC,CAAC;YACF,OAAO;gBACL,UAAU,EAAE,IAAA,oBAAa,EAAC,IAAA,yBAAiB,EAAC,YAAY,CAAC,CAAC;gBAC1D,eAAe,EAAE,IAAA,iCAAe,EAAC,IAAA,yBAAiB,EAAC,YAAY,CAAC,CAAC;gBACjE,OAAO,EAAE,IAAA,yBAAiB,EAAC,YAAY,CAAC;aACzC,CAAC;SACH;KACF;IACD,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,kBAAkB,CAAC,CAAC;AAC3D,CAAC;AAfD,8BAeC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bridge/generic-alpaca/signer/index.ts"],"names":[],"mappings":";;;;;;AACA,sFAAiE;AACjE,0FAAyE;AACzE,uCAA8D;AAC9D,sEAAuC;AACvC,sEAA2C;AAG3C,uDAA4E;AAG5E,sDAA8C;AAS9C,MAAM,eAAe,GAAsB,CAAC,SAAoB,EAAE,EAAE;IAClE,OAAO,IAAI,oBAAG,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAA,yBAAiB,EAAC,eAAe,CAAC,CAAC;AAE5D,MAAM,mBAAmB,GAA0B,CAAC,SAAoB,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,IAAI,oBAAO,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IACxD,+DAA+D;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,eAAe,EAAE,KAAK,EAAE,IAAY,EAAE,WAAmB,EAAE,EAAE;YAC3D,MAAM,eAAe,GAAW,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACnE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC3E,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAY,EAAE,MAAgB,EAAE,EAAE;YACnD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,oBAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO;gBACL,IAAI;gBACJ,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAA,yBAAiB,EAAC,mBAAmB,CAAC,CAAC;AAEpE,SAAgB,SAAS,CAAC,OAAO;IAC/B,QAAQ,OAAO,EAAE;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC,CAAC;YACV,OAAO;gBACL,UAAU,EAAE,IAAA,oBAAa,EAAC,gBAAgB,CAAC;gBAC3C,eAAe,EAAE,IAAA,iCAAe,EAAC,gBAAgB,CAAC;gBAClD,OAAO,EAAE,gBAAgB;aAC1B,CAAC;SACH;QACD,KAAK,SAAS,CAAC,CAAC;YACd,OAAO;gBACL,UAAU,EAAE,IAAA,oBAAiB,EAAC,oBAAoB,CAAC;gBACnD,eAAe,EAAE,IAAA,wCAAsB,EAAC,oBAAoB,CAAC;gBAC7D,OAAO,EAAE,oBAAoB;aAC9B,CAAC;SACH;KACF;IACD,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,kBAAkB,CAAC,CAAC;AAC3D,CAAC;AAnBD,8BAmBC"}