@ledgerhq/live-common 21.20.0 → 21.21.0-rc.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 (428) hide show
  1. package/lib/__tests__/families/bitcoin/wallet-btc/utils.test.js +4 -0
  2. package/lib/__tests__/families/bitcoin/wallet-btc/utils.test.js.map +1 -1
  3. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +12 -0
  4. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
  5. package/lib/__tests__/test-helpers/setup.js +1 -0
  6. package/lib/__tests__/test-helpers/setup.js.map +1 -1
  7. package/lib/account/pending.d.ts +1 -1
  8. package/lib/api/Ledger.d.ts.map +1 -1
  9. package/lib/api/Ledger.js +12 -2
  10. package/lib/api/Ledger.js.map +1 -1
  11. package/lib/api/explorerConfig/index.d.ts.map +1 -1
  12. package/lib/api/explorerConfig/index.js +5 -1
  13. package/lib/api/explorerConfig/index.js.map +1 -1
  14. package/lib/data/icons/react/cro.d.ts +8 -0
  15. package/lib/data/icons/react/cro.d.ts.map +1 -0
  16. package/lib/data/icons/react/cro.js +33 -0
  17. package/lib/data/icons/react/cro.js.map +1 -0
  18. package/lib/data/icons/react/index.d.ts +2 -0
  19. package/lib/data/icons/react/index.d.ts.map +1 -1
  20. package/lib/data/icons/react/index.js +12 -8
  21. package/lib/data/icons/react/index.js.map +1 -1
  22. package/lib/data/icons/react/sol.d.ts +8 -0
  23. package/lib/data/icons/react/sol.d.ts.map +1 -0
  24. package/lib/data/icons/react/sol.js +30 -0
  25. package/lib/data/icons/react/sol.js.map +1 -0
  26. package/lib/data/icons/reactNative/cro.d.ts +8 -0
  27. package/lib/data/icons/reactNative/cro.d.ts.map +1 -0
  28. package/lib/data/icons/reactNative/cro.js +34 -0
  29. package/lib/data/icons/reactNative/cro.js.map +1 -0
  30. package/lib/data/icons/reactNative/index.d.ts +2 -0
  31. package/lib/data/icons/reactNative/index.d.ts.map +1 -1
  32. package/lib/data/icons/reactNative/index.js +12 -8
  33. package/lib/data/icons/reactNative/index.js.map +1 -1
  34. package/lib/data/icons/reactNative/sol.d.ts +8 -0
  35. package/lib/data/icons/reactNative/sol.d.ts.map +1 -0
  36. package/lib/data/icons/reactNative/sol.js +31 -0
  37. package/lib/data/icons/reactNative/sol.js.map +1 -0
  38. package/lib/derivation.d.ts +7 -0
  39. package/lib/derivation.d.ts.map +1 -1
  40. package/lib/derivation.js +16 -1
  41. package/lib/derivation.js.map +1 -1
  42. package/lib/errors.d.ts +1 -0
  43. package/lib/errors.d.ts.map +1 -1
  44. package/lib/errors.js +1 -0
  45. package/lib/errors.js.map +1 -1
  46. package/lib/families/bitcoin/exchange.d.ts +1 -1
  47. package/lib/families/bitcoin/getAccountNetworkInfo.d.ts.map +1 -1
  48. package/lib/families/bitcoin/getAccountNetworkInfo.js +3 -2
  49. package/lib/families/bitcoin/getAccountNetworkInfo.js.map +1 -1
  50. package/lib/families/bitcoin/js-signOperation.d.ts.map +1 -1
  51. package/lib/families/bitcoin/js-signOperation.js +7 -2
  52. package/lib/families/bitcoin/js-signOperation.js.map +1 -1
  53. package/lib/families/bitcoin/js-synchronisation.d.ts +2 -2
  54. package/lib/families/bitcoin/specs.d.ts +1 -0
  55. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  56. package/lib/families/bitcoin/specs.js +14 -1
  57. package/lib/families/bitcoin/specs.js.map +1 -1
  58. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +1 -1
  59. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
  60. package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
  61. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
  62. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +8 -1
  63. package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
  64. package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts +16 -0
  65. package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts.map +1 -0
  66. package/lib/families/bitcoin/wallet-btc/crypto/decred.js +248 -0
  67. package/lib/families/bitcoin/wallet-btc/crypto/decred.js.map +1 -0
  68. package/lib/families/bitcoin/wallet-btc/crypto/factory.d.ts.map +1 -1
  69. package/lib/families/bitcoin/wallet-btc/crypto/factory.js +5 -0
  70. package/lib/families/bitcoin/wallet-btc/crypto/factory.js.map +1 -1
  71. package/lib/families/bitcoin/wallet-btc/crypto/index.d.ts +1 -0
  72. package/lib/families/bitcoin/wallet-btc/crypto/index.d.ts.map +1 -1
  73. package/lib/families/bitcoin/wallet-btc/crypto/index.js +3 -1
  74. package/lib/families/bitcoin/wallet-btc/crypto/index.js.map +1 -1
  75. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
  76. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +13 -3
  77. package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
  78. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +1 -1
  79. package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
  80. package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
  81. package/lib/families/bitcoin/wallet-btc/crypto/zec.js +8 -1
  82. package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
  83. package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
  84. package/lib/families/bitcoin/wallet-btc/crypto/zen.js +8 -1
  85. package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
  86. package/lib/families/bitcoin/wallet-btc/utils.d.ts.map +1 -1
  87. package/lib/families/bitcoin/wallet-btc/utils.js +6 -1
  88. package/lib/families/bitcoin/wallet-btc/utils.js.map +1 -1
  89. package/lib/families/bitcoin/wallet-btc/wallet.d.ts +2 -0
  90. package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
  91. package/lib/families/bitcoin/wallet-btc/wallet.js +15 -7
  92. package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
  93. package/lib/families/crypto_org/js-synchronisation.d.ts +2 -2
  94. package/lib/families/elrond/js-synchronisation.d.ts +2 -2
  95. package/lib/families/ethereum/synchronisation.d.ts.map +1 -1
  96. package/lib/families/ethereum/synchronisation.js +2 -2
  97. package/lib/families/ethereum/synchronisation.js.map +1 -1
  98. package/lib/families/polkadot/api/sidecar.js +4 -2
  99. package/lib/families/polkadot/api/sidecar.js.map +1 -1
  100. package/lib/families/polkadot/js-synchronisation.d.ts +2 -2
  101. package/lib/families/solana/api/cached.d.ts +5 -0
  102. package/lib/families/solana/api/cached.d.ts.map +1 -0
  103. package/lib/families/solana/api/cached.js +80 -0
  104. package/lib/families/solana/api/cached.js.map +1 -0
  105. package/lib/families/solana/api/chain/account/index.d.ts +2 -0
  106. package/lib/families/solana/api/chain/account/index.d.ts.map +1 -0
  107. package/lib/families/solana/api/chain/account/index.js +14 -0
  108. package/lib/families/solana/api/chain/account/index.js.map +1 -0
  109. package/lib/families/solana/api/chain/account/parser.d.ts +5 -0
  110. package/lib/families/solana/api/chain/account/parser.d.ts.map +1 -0
  111. package/lib/families/solana/api/chain/account/parser.js +33 -0
  112. package/lib/families/solana/api/chain/account/parser.js.map +1 -0
  113. package/lib/families/solana/api/chain/account/stake.d.ts +237 -0
  114. package/lib/families/solana/api/chain/account/stake.d.ts.map +1 -0
  115. package/lib/families/solana/api/chain/account/stake.js +43 -0
  116. package/lib/families/solana/api/chain/account/stake.js.map +1 -0
  117. package/lib/families/solana/api/chain/account/token.d.ts +116 -0
  118. package/lib/families/solana/api/chain/account/token.d.ts.map +1 -0
  119. package/lib/families/solana/api/chain/account/token.js +42 -0
  120. package/lib/families/solana/api/chain/account/token.js.map +1 -0
  121. package/lib/families/solana/api/chain/index.d.ts +22 -0
  122. package/lib/families/solana/api/chain/index.d.ts.map +1 -0
  123. package/lib/families/solana/api/chain/index.js +54 -0
  124. package/lib/families/solana/api/chain/index.js.map +1 -0
  125. package/lib/families/solana/api/chain/instruction/associated-token-account/index.d.ts +15 -0
  126. package/lib/families/solana/api/chain/instruction/associated-token-account/index.d.ts.map +1 -0
  127. package/lib/families/solana/api/chain/instruction/associated-token-account/index.js +21 -0
  128. package/lib/families/solana/api/chain/instruction/associated-token-account/index.js.map +1 -0
  129. package/lib/families/solana/api/chain/instruction/associated-token-account/types.d.ts +30 -0
  130. package/lib/families/solana/api/chain/instruction/associated-token-account/types.d.ts.map +1 -0
  131. package/lib/families/solana/api/chain/instruction/associated-token-account/types.js +19 -0
  132. package/lib/families/solana/api/chain/instruction/associated-token-account/types.js.map +1 -0
  133. package/lib/families/solana/api/chain/instruction/memo/index.d.ts +15 -0
  134. package/lib/families/solana/api/chain/instruction/memo/index.d.ts.map +1 -0
  135. package/lib/families/solana/api/chain/instruction/memo/index.js +14 -0
  136. package/lib/families/solana/api/chain/instruction/memo/index.js.map +1 -0
  137. package/lib/families/solana/api/chain/instruction/memo/types.d.ts +21 -0
  138. package/lib/families/solana/api/chain/instruction/memo/types.d.ts.map +1 -0
  139. package/lib/families/solana/api/chain/instruction/memo/types.js +16 -0
  140. package/lib/families/solana/api/chain/instruction/memo/types.js.map +1 -0
  141. package/lib/families/solana/api/chain/instruction/stake/index.d.ts +15 -0
  142. package/lib/families/solana/api/chain/instruction/stake/index.d.ts.map +1 -0
  143. package/lib/families/solana/api/chain/instruction/stake/index.js +20 -0
  144. package/lib/families/solana/api/chain/instruction/stake/index.js.map +1 -0
  145. package/lib/families/solana/api/chain/instruction/stake/types.d.ts +215 -0
  146. package/lib/families/solana/api/chain/instruction/stake/types.d.ts.map +1 -0
  147. package/lib/families/solana/api/chain/instruction/stake/types.js +80 -0
  148. package/lib/families/solana/api/chain/instruction/stake/types.js.map +1 -0
  149. package/lib/families/solana/api/chain/instruction/token/index.d.ts +15 -0
  150. package/lib/families/solana/api/chain/instruction/token/index.d.ts.map +1 -0
  151. package/lib/families/solana/api/chain/instruction/token/index.js +20 -0
  152. package/lib/families/solana/api/chain/instruction/token/index.js.map +1 -0
  153. package/lib/families/solana/api/chain/instruction/token/types.d.ts +497 -0
  154. package/lib/families/solana/api/chain/instruction/token/types.d.ts.map +1 -0
  155. package/lib/families/solana/api/chain/instruction/token/types.js +205 -0
  156. package/lib/families/solana/api/chain/instruction/token/types.js.map +1 -0
  157. package/lib/families/solana/api/chain/program/constants.d.ts +11 -0
  158. package/lib/families/solana/api/chain/program/constants.d.ts.map +1 -0
  159. package/lib/families/solana/api/chain/program/constants.js +14 -0
  160. package/lib/families/solana/api/chain/program/constants.js.map +1 -0
  161. package/lib/families/solana/api/chain/program/index.d.ts +2 -0
  162. package/lib/families/solana/api/chain/program/index.d.ts.map +1 -0
  163. package/lib/families/solana/api/chain/program/index.js +14 -0
  164. package/lib/families/solana/api/chain/program/index.js.map +1 -0
  165. package/lib/families/solana/api/chain/program/parser.d.ts +30 -0
  166. package/lib/families/solana/api/chain/program/parser.d.ts.map +1 -0
  167. package/lib/families/solana/api/chain/program/parser.js +70 -0
  168. package/lib/families/solana/api/chain/program/parser.js.map +1 -0
  169. package/lib/families/solana/api/chain/validators/bignum.d.ts +3 -0
  170. package/lib/families/solana/api/chain/validators/bignum.d.ts.map +1 -0
  171. package/lib/families/solana/api/chain/validators/bignum.js +11 -0
  172. package/lib/families/solana/api/chain/validators/bignum.js.map +1 -0
  173. package/lib/families/solana/api/chain/validators/index.d.ts +10 -0
  174. package/lib/families/solana/api/chain/validators/index.d.ts.map +1 -0
  175. package/lib/families/solana/api/chain/validators/index.js +10 -0
  176. package/lib/families/solana/api/chain/validators/index.js.map +1 -0
  177. package/lib/families/solana/api/chain/validators/pubkey.d.ts +3 -0
  178. package/lib/families/solana/api/chain/validators/pubkey.d.ts.map +1 -0
  179. package/lib/families/solana/api/chain/validators/pubkey.js +7 -0
  180. package/lib/families/solana/api/chain/validators/pubkey.js.map +1 -0
  181. package/lib/families/solana/api/chain/web3.d.ts +29 -0
  182. package/lib/families/solana/api/chain/web3.d.ts.map +1 -0
  183. package/lib/families/solana/api/chain/web3.js +287 -0
  184. package/lib/families/solana/api/chain/web3.js.map +1 -0
  185. package/lib/families/solana/api/index.d.ts +5 -0
  186. package/lib/families/solana/api/index.d.ts.map +1 -0
  187. package/lib/families/solana/api/index.js +21 -0
  188. package/lib/families/solana/api/index.js.map +1 -0
  189. package/lib/families/solana/api/logged.d.ts +3 -0
  190. package/lib/families/solana/api/logged.d.ts.map +1 -0
  191. package/lib/families/solana/api/logged.js +53 -0
  192. package/lib/families/solana/api/logged.js.map +1 -0
  193. package/lib/families/solana/api/queued.d.ts +3 -0
  194. package/lib/families/solana/api/queued.d.ts.map +1 -0
  195. package/lib/families/solana/api/queued.js +31 -0
  196. package/lib/families/solana/api/queued.js.map +1 -0
  197. package/lib/families/solana/bridge/bridge.d.ts +12 -0
  198. package/lib/families/solana/bridge/bridge.d.ts.map +1 -0
  199. package/lib/families/solana/bridge/bridge.js +218 -0
  200. package/lib/families/solana/bridge/bridge.js.map +1 -0
  201. package/lib/families/solana/bridge/js.d.ts +6 -0
  202. package/lib/families/solana/bridge/js.d.ts.map +1 -0
  203. package/lib/families/solana/bridge/js.js +15 -0
  204. package/lib/families/solana/bridge/js.js.map +1 -0
  205. package/lib/families/solana/bridge/mock-data.d.ts +186 -0
  206. package/lib/families/solana/bridge/mock-data.d.ts.map +1 -0
  207. package/lib/families/solana/bridge/mock-data.js +23 -0
  208. package/lib/families/solana/bridge/mock-data.js.map +1 -0
  209. package/lib/families/solana/bridge/mock.d.ts +6 -0
  210. package/lib/families/solana/bridge/mock.d.ts.map +1 -0
  211. package/lib/families/solana/bridge/mock.js +75 -0
  212. package/lib/families/solana/bridge/mock.js.map +1 -0
  213. package/lib/families/solana/cli-transaction.d.ts +14 -0
  214. package/lib/families/solana/cli-transaction.d.ts.map +1 -0
  215. package/lib/families/solana/cli-transaction.js +137 -0
  216. package/lib/families/solana/cli-transaction.js.map +1 -0
  217. package/lib/families/solana/datasets/solana.scanAccounts.1.d.ts +6 -0
  218. package/lib/families/solana/datasets/solana.scanAccounts.1.d.ts.map +1 -0
  219. package/lib/families/solana/datasets/solana.scanAccounts.1.js +7 -0
  220. package/lib/families/solana/datasets/solana.scanAccounts.1.js.map +1 -0
  221. package/lib/families/solana/deviceTransactionConfig.d.ts +10 -0
  222. package/lib/families/solana/deviceTransactionConfig.d.ts.map +1 -0
  223. package/lib/families/solana/deviceTransactionConfig.js +121 -0
  224. package/lib/families/solana/deviceTransactionConfig.js.map +1 -0
  225. package/lib/families/solana/errors.d.ts +25 -0
  226. package/lib/families/solana/errors.d.ts.map +1 -0
  227. package/lib/families/solana/errors.js +13 -0
  228. package/lib/families/solana/errors.js.map +1 -0
  229. package/lib/families/solana/hw-getAddress.d.ts +4 -0
  230. package/lib/families/solana/hw-getAddress.d.ts.map +1 -0
  231. package/lib/families/solana/hw-getAddress.js +66 -0
  232. package/lib/families/solana/hw-getAddress.js.map +1 -0
  233. package/lib/families/solana/js-broadcast.d.ts +7 -0
  234. package/lib/families/solana/js-broadcast.d.ts.map +1 -0
  235. package/lib/families/solana/js-broadcast.js +59 -0
  236. package/lib/families/solana/js-broadcast.js.map +1 -0
  237. package/lib/families/solana/js-buildTransaction.d.ts +6 -0
  238. package/lib/families/solana/js-buildTransaction.d.ts.map +1 -0
  239. package/lib/families/solana/js-buildTransaction.js +123 -0
  240. package/lib/families/solana/js-buildTransaction.js.map +1 -0
  241. package/lib/families/solana/js-createTransaction.d.ts +6 -0
  242. package/lib/families/solana/js-createTransaction.d.ts.map +1 -0
  243. package/lib/families/solana/js-createTransaction.js +35 -0
  244. package/lib/families/solana/js-createTransaction.js.map +1 -0
  245. package/lib/families/solana/js-estimateMaxSpendable.d.ts +7 -0
  246. package/lib/families/solana/js-estimateMaxSpendable.d.ts.map +1 -0
  247. package/lib/families/solana/js-estimateMaxSpendable.js +72 -0
  248. package/lib/families/solana/js-estimateMaxSpendable.js.map +1 -0
  249. package/lib/families/solana/js-getTransactionStatus.d.ts +5 -0
  250. package/lib/families/solana/js-getTransactionStatus.d.ts.map +1 -0
  251. package/lib/families/solana/js-getTransactionStatus.js +106 -0
  252. package/lib/families/solana/js-getTransactionStatus.js.map +1 -0
  253. package/lib/families/solana/js-prepareTransaction.d.ts +6 -0
  254. package/lib/families/solana/js-prepareTransaction.d.ts.map +1 -0
  255. package/lib/families/solana/js-prepareTransaction.js +380 -0
  256. package/lib/families/solana/js-prepareTransaction.js.map +1 -0
  257. package/lib/families/solana/js-signOperation.d.ts +10 -0
  258. package/lib/families/solana/js-signOperation.d.ts.map +1 -0
  259. package/lib/families/solana/js-signOperation.js +193 -0
  260. package/lib/families/solana/js-signOperation.js.map +1 -0
  261. package/lib/families/solana/js-synchronization.d.ts +5 -0
  262. package/lib/families/solana/js-synchronization.d.ts.map +1 -0
  263. package/lib/families/solana/js-synchronization.js +464 -0
  264. package/lib/families/solana/js-synchronization.js.map +1 -0
  265. package/lib/families/solana/logic.d.ts +15 -0
  266. package/lib/families/solana/logic.d.ts.map +1 -0
  267. package/lib/families/solana/logic.js +49 -0
  268. package/lib/families/solana/logic.js.map +1 -0
  269. package/lib/families/solana/specs.d.ts +7 -0
  270. package/lib/families/solana/specs.d.ts.map +1 -0
  271. package/lib/families/solana/specs.js +100 -0
  272. package/lib/families/solana/specs.js.map +1 -0
  273. package/lib/families/solana/speculos-deviceActions.d.ts +8 -0
  274. package/lib/families/solana/speculos-deviceActions.d.ts.map +1 -0
  275. package/lib/families/solana/speculos-deviceActions.js +60 -0
  276. package/lib/families/solana/speculos-deviceActions.js.map +1 -0
  277. package/lib/families/solana/test-dataset.d.ts +5 -0
  278. package/lib/families/solana/test-dataset.d.ts.map +1 -0
  279. package/lib/families/solana/test-dataset.js +396 -0
  280. package/lib/families/solana/test-dataset.js.map +1 -0
  281. package/lib/families/solana/transaction.d.ts +12 -0
  282. package/lib/families/solana/transaction.d.ts.map +1 -0
  283. package/lib/families/solana/transaction.js +109 -0
  284. package/lib/families/solana/transaction.js.map +1 -0
  285. package/lib/families/solana/types.d.ts +84 -0
  286. package/lib/families/solana/types.d.ts.map +1 -0
  287. package/lib/families/solana/types.js +6 -0
  288. package/lib/families/solana/types.js.map +1 -0
  289. package/lib/families/solana/utils.d.ts +10 -0
  290. package/lib/families/solana/utils.d.ts.map +1 -0
  291. package/lib/families/solana/utils.js +194 -0
  292. package/lib/families/solana/utils.js.map +1 -0
  293. package/lib/families/stellar/js-synchronization.d.ts +2 -2
  294. package/lib/generated/bridge/js.d.ts +4 -0
  295. package/lib/generated/bridge/js.d.ts.map +1 -1
  296. package/lib/generated/bridge/js.js +8 -6
  297. package/lib/generated/bridge/js.js.map +1 -1
  298. package/lib/generated/bridge/mock.d.ts +4 -0
  299. package/lib/generated/bridge/mock.d.ts.map +1 -1
  300. package/lib/generated/bridge/mock.js +6 -4
  301. package/lib/generated/bridge/mock.js.map +1 -1
  302. package/lib/generated/cli-transaction.d.ts +9 -0
  303. package/lib/generated/cli-transaction.d.ts.map +1 -1
  304. package/lib/generated/cli-transaction.js +8 -6
  305. package/lib/generated/cli-transaction.js.map +1 -1
  306. package/lib/generated/deviceTransactionConfig.d.ts +2 -0
  307. package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
  308. package/lib/generated/deviceTransactionConfig.js +8 -6
  309. package/lib/generated/deviceTransactionConfig.js.map +1 -1
  310. package/lib/generated/exchange.d.ts +1 -1
  311. package/lib/generated/hw-getAddress.d.ts +1 -0
  312. package/lib/generated/hw-getAddress.d.ts.map +1 -1
  313. package/lib/generated/hw-getAddress.js +8 -6
  314. package/lib/generated/hw-getAddress.js.map +1 -1
  315. package/lib/generated/specs.d.ts +4 -0
  316. package/lib/generated/specs.d.ts.map +1 -1
  317. package/lib/generated/specs.js +8 -6
  318. package/lib/generated/specs.js.map +1 -1
  319. package/lib/generated/speculos-deviceActions.d.ts +3 -0
  320. package/lib/generated/speculos-deviceActions.d.ts.map +1 -1
  321. package/lib/generated/speculos-deviceActions.js +8 -6
  322. package/lib/generated/speculos-deviceActions.js.map +1 -1
  323. package/lib/generated/test-dataset.d.ts +1 -0
  324. package/lib/generated/test-dataset.d.ts.map +1 -1
  325. package/lib/generated/test-dataset.js +8 -6
  326. package/lib/generated/test-dataset.js.map +1 -1
  327. package/lib/generated/transaction.d.ts +5 -0
  328. package/lib/generated/transaction.d.ts.map +1 -1
  329. package/lib/generated/transaction.js +8 -6
  330. package/lib/generated/transaction.js.map +1 -1
  331. package/lib/generated/types.d.ts +12 -6
  332. package/lib/generated/types.d.ts.map +1 -1
  333. package/lib/generated/types.js +5 -3
  334. package/lib/generated/types.js.map +1 -1
  335. package/lib/nft/helpers.js +1 -1
  336. package/lib/nft/helpers.js.map +1 -1
  337. package/package.json +8 -4
  338. package/src/__tests__/__snapshots__/all.libcore.ts.snap +113 -0
  339. package/src/__tests__/families/bitcoin/wallet-btc/utils.test.ts +4 -0
  340. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +12 -0
  341. package/src/__tests__/test-helpers/setup.ts +1 -0
  342. package/src/api/Ledger.ts +11 -1
  343. package/src/api/explorerConfig/index.ts +1 -3
  344. package/src/data/icons/react/cro.tsx +12 -0
  345. package/src/data/icons/react/index.tsx +2 -0
  346. package/src/data/icons/react/sol.tsx +12 -0
  347. package/src/data/icons/reactNative/cro.tsx +13 -0
  348. package/src/data/icons/reactNative/index.tsx +2 -0
  349. package/src/data/icons/reactNative/sol.tsx +13 -0
  350. package/src/data/icons/svg/CRO.svg +6 -0
  351. package/src/data/icons/svg/SOL.svg +3 -0
  352. package/src/derivation.ts +13 -0
  353. package/src/errors.ts +1 -0
  354. package/src/families/bitcoin/getAccountNetworkInfo.ts +5 -2
  355. package/src/families/bitcoin/js-signOperation.ts +4 -7
  356. package/src/families/bitcoin/specs.ts +16 -0
  357. package/src/families/bitcoin/wallet-btc/crypto/base.ts +1 -1
  358. package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +8 -1
  359. package/src/families/bitcoin/wallet-btc/crypto/decred.ts +251 -0
  360. package/src/families/bitcoin/wallet-btc/crypto/factory.ts +5 -0
  361. package/src/families/bitcoin/wallet-btc/crypto/index.ts +1 -0
  362. package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +13 -3
  363. package/src/families/bitcoin/wallet-btc/crypto/types.ts +1 -0
  364. package/src/families/bitcoin/wallet-btc/crypto/zec.ts +8 -1
  365. package/src/families/bitcoin/wallet-btc/crypto/zen.ts +8 -1
  366. package/src/families/bitcoin/wallet-btc/utils.ts +6 -1
  367. package/src/families/bitcoin/wallet-btc/wallet.ts +18 -5
  368. package/src/families/ethereum/synchronisation.ts +5 -2
  369. package/src/families/polkadot/api/sidecar.ts +2 -2
  370. package/src/families/solana/api/cached.ts +89 -0
  371. package/src/families/solana/api/chain/account/index.ts +1 -0
  372. package/src/families/solana/api/chain/account/parser.ts +35 -0
  373. package/src/families/solana/api/chain/account/stake.ts +50 -0
  374. package/src/families/solana/api/chain/account/token.ts +63 -0
  375. package/src/families/solana/api/chain/index.ts +115 -0
  376. package/src/families/solana/api/chain/instruction/associated-token-account/index.ts +37 -0
  377. package/src/families/solana/api/chain/instruction/associated-token-account/types.ts +23 -0
  378. package/src/families/solana/api/chain/instruction/memo/index.ts +24 -0
  379. package/src/families/solana/api/chain/instruction/memo/types.ts +18 -0
  380. package/src/families/solana/api/chain/instruction/stake/index.ts +29 -0
  381. package/src/families/solana/api/chain/instruction/stake/types.ts +95 -0
  382. package/src/families/solana/api/chain/instruction/token/index.ts +30 -0
  383. package/src/families/solana/api/chain/instruction/token/types.ts +237 -0
  384. package/src/families/solana/api/chain/program/constants.ts +10 -0
  385. package/src/families/solana/api/chain/program/index.ts +1 -0
  386. package/src/families/solana/api/chain/program/parser.ts +122 -0
  387. package/src/families/solana/api/chain/validators/bignum.ts +11 -0
  388. package/src/families/solana/api/chain/validators/index.ts +9 -0
  389. package/src/families/solana/api/chain/validators/pubkey.ts +8 -0
  390. package/src/families/solana/api/chain/web3.ts +258 -0
  391. package/src/families/solana/api/index.ts +4 -0
  392. package/src/families/solana/api/logged.ts +50 -0
  393. package/src/families/solana/api/queued.ts +23 -0
  394. package/src/families/solana/bridge/bridge.ts +169 -0
  395. package/src/families/solana/bridge/js.ts +28 -0
  396. package/src/families/solana/bridge/mock-data.ts +22 -0
  397. package/src/families/solana/bridge/mock.ts +80 -0
  398. package/src/families/solana/cli-transaction.ts +175 -0
  399. package/src/families/solana/datasets/solana.scanAccounts.1.ts +9 -0
  400. package/src/families/solana/deviceTransactionConfig.ts +160 -0
  401. package/src/families/solana/errors.ts +32 -0
  402. package/src/families/solana/hw-getAddress.ts +20 -0
  403. package/src/families/solana/js-broadcast.ts +20 -0
  404. package/src/families/solana/js-buildTransaction.ts +75 -0
  405. package/src/families/solana/js-createTransaction.ts +27 -0
  406. package/src/families/solana/js-estimateMaxSpendable.ts +29 -0
  407. package/src/families/solana/js-getTransactionStatus.ts +78 -0
  408. package/src/families/solana/js-prepareTransaction.ts +423 -0
  409. package/src/families/solana/js-signOperation.ts +230 -0
  410. package/src/families/solana/js-synchronization.ts +544 -0
  411. package/src/families/solana/logic.ts +52 -0
  412. package/src/families/solana/specs.ts +100 -0
  413. package/src/families/solana/speculos-deviceActions.ts +59 -0
  414. package/src/families/solana/test-dataset.ts +572 -0
  415. package/src/families/solana/transaction.ts +146 -0
  416. package/src/families/solana/types.ts +110 -0
  417. package/src/families/solana/utils.ts +80 -0
  418. package/src/generated/bridge/js.ts +3 -0
  419. package/src/generated/bridge/mock.ts +3 -0
  420. package/src/generated/cli-transaction.ts +3 -0
  421. package/src/generated/deviceTransactionConfig.ts +3 -0
  422. package/src/generated/hw-getAddress.ts +3 -0
  423. package/src/generated/specs.ts +3 -0
  424. package/src/generated/speculos-deviceActions.ts +3 -0
  425. package/src/generated/test-dataset.ts +3 -0
  426. package/src/generated/transaction.ts +3 -0
  427. package/src/generated/types.ts +14 -0
  428. package/src/nft/helpers.ts +1 -1
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var invariant_1 = __importDefault(require("invariant"));
7
+ var expect_1 = __importDefault(require("expect"));
8
+ var cryptoassets_1 = require("@ledgerhq/cryptoassets");
9
+ var devices_1 = require("@ledgerhq/devices");
10
+ var specs_1 = require("../../bot/specs");
11
+ var speculos_deviceActions_1 = require("./speculos-deviceActions");
12
+ var utils_1 = require("./utils");
13
+ var solana = {
14
+ name: "Solana",
15
+ appQuery: {
16
+ model: devices_1.DeviceModelId.nanoS,
17
+ firmware: "<2",
18
+ appName: "solana"
19
+ },
20
+ currency: (0, cryptoassets_1.getCryptoCurrencyById)("solana"),
21
+ mutations: [
22
+ {
23
+ name: "Transfer ~50%",
24
+ maxRun: 2,
25
+ deviceAction: speculos_deviceActions_1.acceptTransferTransaction,
26
+ transaction: function (_a) {
27
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
28
+ (0, invariant_1["default"])(maxSpendable.gt(0), "balance is 0");
29
+ var transaction = bridge.createTransaction(account);
30
+ var sibling = (0, specs_1.pickSiblings)(siblings);
31
+ var recipient = sibling.freshAddress;
32
+ var amount = account.balance.div(1.9 + 0.2 * Math.random());
33
+ return {
34
+ transaction: transaction,
35
+ updates: [{ recipient: recipient }, { amount: amount }, maybeTransferMemo()]
36
+ };
37
+ },
38
+ test: function (input) {
39
+ expectCorrectBalanceChange(input);
40
+ expectCorrectMemo(input);
41
+ }
42
+ },
43
+ {
44
+ name: "Transfer Max",
45
+ maxRun: 1,
46
+ deviceAction: speculos_deviceActions_1.acceptTransferTransaction,
47
+ transaction: function (_a) {
48
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
49
+ (0, invariant_1["default"])(maxSpendable.gt(0), "balance is 0");
50
+ var transaction = bridge.createTransaction(account);
51
+ var sibling = (0, specs_1.pickSiblings)(siblings);
52
+ var recipient = sibling.freshAddress;
53
+ return {
54
+ transaction: transaction,
55
+ updates: [{ recipient: recipient }, { useAllAmount: true }, maybeTransferMemo()]
56
+ };
57
+ },
58
+ test: function (input) {
59
+ var account = input.account;
60
+ (0, expect_1["default"])(account.balance.toNumber()).toBe(0);
61
+ expectCorrectBalanceChange(input);
62
+ expectCorrectMemo(input);
63
+ }
64
+ },
65
+ ]
66
+ };
67
+ function maybeTransferMemo(threshold) {
68
+ if (threshold === void 0) { threshold = 0.5; }
69
+ return Math.random() > threshold
70
+ ? {
71
+ model: {
72
+ kind: "transfer",
73
+ uiState: {
74
+ memo: "a memo"
75
+ }
76
+ }
77
+ }
78
+ : undefined;
79
+ }
80
+ function expectCorrectMemo(input) {
81
+ var transaction = input.transaction, operation = input.operation;
82
+ switch (transaction.model.kind) {
83
+ case "transfer":
84
+ case "token.transfer":
85
+ (0, expect_1["default"])(operation.extra.memo).toBe(transaction.model.uiState.memo);
86
+ break;
87
+ case "token.createATA":
88
+ break;
89
+ default:
90
+ return (0, utils_1.assertUnreachable)(transaction.model);
91
+ }
92
+ }
93
+ function expectCorrectBalanceChange(input) {
94
+ var account = input.account, operation = input.operation, accountBeforeTransaction = input.accountBeforeTransaction;
95
+ (0, expect_1["default"])(account.balance.toNumber()).toBe(accountBeforeTransaction.balance.minus(operation.value).toNumber());
96
+ }
97
+ exports["default"] = {
98
+ solana: solana
99
+ };
100
+ //# sourceMappingURL=specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/families/solana/specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DeviceAction } from "../../bot/types";
2
+ import type { Transaction } from "./types";
3
+ export declare const acceptTransferTransaction: DeviceAction<Transaction, any>;
4
+ declare const _default: {
5
+ acceptTransferTransaction: DeviceAction<Transaction, any>;
6
+ };
7
+ export default _default;
8
+ //# sourceMappingURL=speculos-deviceActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/solana/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgB3C,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAAC,WAAW,EAAE,GAAG,CAqCjE,CAAC;;;;AAEL,wBAEE"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.acceptTransferTransaction = void 0;
4
+ var currencies_1 = require("../../currencies");
5
+ var specs_1 = require("../../bot/specs");
6
+ var cryptoassets_1 = require("@ledgerhq/cryptoassets");
7
+ function getMainCurrency(currency) {
8
+ if (currency.isTestnetFor !== undefined) {
9
+ return (0, cryptoassets_1.getCryptoCurrencyById)(currency.isTestnetFor);
10
+ }
11
+ return currency;
12
+ }
13
+ function ellipsis(str) {
14
+ return str.slice(0, 7) + ".." + str.slice(-7);
15
+ }
16
+ exports.acceptTransferTransaction = (0, specs_1.deviceActionFlow)({
17
+ steps: [
18
+ {
19
+ title: "Transfer",
20
+ button: "Rr",
21
+ expectedValue: function (_a) {
22
+ var account = _a.account, status = _a.status;
23
+ return (0, currencies_1.formatCurrencyUnit)(getMainCurrency(account.currency).units[0], status.amount, {
24
+ disableRounding: true,
25
+ showCode: true
26
+ }).replace(/\s/g, " ");
27
+ }
28
+ },
29
+ {
30
+ title: "Sender",
31
+ button: "Rr",
32
+ expectedValue: function (_a) {
33
+ var account = _a.account;
34
+ return ellipsis(account.freshAddress);
35
+ }
36
+ },
37
+ {
38
+ title: "Recipient",
39
+ button: "Rr",
40
+ expectedValue: function (_a) {
41
+ var transaction = _a.transaction;
42
+ return ellipsis(transaction.recipient);
43
+ }
44
+ },
45
+ {
46
+ title: "Fee payer",
47
+ button: "Rr",
48
+ expectedValue: function () { return "sender"; }
49
+ },
50
+ {
51
+ title: "Approve",
52
+ button: "LRlr",
53
+ final: true
54
+ },
55
+ ]
56
+ });
57
+ exports["default"] = {
58
+ acceptTransferTransaction: exports.acceptTransferTransaction
59
+ };
60
+ //# sourceMappingURL=speculos-deviceActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/solana/speculos-deviceActions.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AACtD,yCAAmD;AACnD,uDAA+E;AAE/E,SAAS,eAAe,CAAC,QAAwB;IAC/C,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;QACvC,OAAO,IAAA,oCAAqB,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;KACrD;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAU,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAG,CAAC;AAChD,CAAC;AAEY,QAAA,yBAAyB,GACpC,IAAA,wBAAgB,EAAC;IACf,KAAK,EAAE;QACL;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,OAAA,IAAA,+BAAkB,EAChB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1C,MAAM,CAAC,MAAM,EACb;oBACE,eAAe,EAAE,IAAI;oBACrB,QAAQ,EAAE,IAAI;iBACf,CACF,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAPrB,CAOqB;SACxB;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAW;oBAAT,OAAO,aAAA;gBAAO,OAAA,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;YAA9B,CAA8B;SAC/D;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC;YAA/B,CAA+B;SACpE;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,cAAM,OAAA,QAAQ,EAAR,CAAQ;SAC9B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;SACZ;KACF;CACF,CAAC,CAAC;AAEL,qBAAe;IACb,yBAAyB,mCAAA;CAC1B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { DatasetTest } from "../../types";
2
+ import { Transaction } from "./types";
3
+ declare const dataset: DatasetTest<Transaction>;
4
+ export default dataset;
5
+ //# sourceMappingURL=test-dataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dataset.d.ts","sourceRoot":"","sources":["../../../src/families/solana/test-dataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;AA0ExD,QAAA,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CA0WrC,CAAC;AAoIF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
43
+ var types_1 = require("../../types");
44
+ var solana_scanAccounts_1_1 = __importDefault(require("./datasets/solana.scanAccounts.1"));
45
+ var errors_1 = require("@ledgerhq/errors");
46
+ var errors_2 = require("./errors");
47
+ var logic_1 = require("./logic");
48
+ var js_createTransaction_1 = __importDefault(require("./js-createTransaction"));
49
+ var fp_1 = require("lodash/fp");
50
+ var utils_1 = require("./utils");
51
+ var env_1 = require("../../env");
52
+ // do not change real properties or the test will break
53
+ var testOnChainData = {
54
+ // --- real props ---
55
+ unfundedAddress: "7b6Q3ap8qRzfyvDw1Qce3fUV8C7WgFNzJQwYNTJm3KQo",
56
+ // 0/0
57
+ fundedSenderAddress: "AQbkEagmPgmsdAfS4X8V8UyJnXXjVPMvjeD15etqQ3Jh",
58
+ fundedSenderBalance: new bignumber_js_1["default"](83389840),
59
+ // 1000/0
60
+ fundedAddress: "ARRKL4FT4LMwpkhUw4xNbfiHqR7UdePtzGLvkszgydqZ",
61
+ wSolSenderAssocTokenAccAddress: "8RtwWeqdFz4EFuZU3MAadfYMWSdRMamjFrfq6BXkHuNN",
62
+ wSolSenderAssocTokenAccBalance: new bignumber_js_1["default"](7960720),
63
+ // 1000/0, mint - wrapped sol
64
+ wSolFundedAccountAssocTokenAccAddress: "Ax69sAxqBSdT3gMAUqXb8pUvgxSLCiXfTitMALEnFZTS",
65
+ // 0/0
66
+ notWSolTokenAccAddress: "Hsm3S2rhX4HwxYBaCyqgJ1cCtFyFSBu6HLy1bdvh7fKs",
67
+ // --- maybe outdated or not real, fine for tests ---
68
+ offEd25519Address: "6D8GtWkKJgToM5UoiByHqjQCCC9Dq1Hh7iNmU4jKSs14",
69
+ offEd25519Address2: "12rqwuEgBYiGhBrDJStCiqEtzQpTTiZbh7teNVLuYcFA",
70
+ feeCalculator: {
71
+ lamportsPerSignature: 5000
72
+ }
73
+ };
74
+ var mainAccId = (0, types_1.encodeAccountId)({
75
+ type: "js",
76
+ version: "2",
77
+ currencyId: "solana",
78
+ xpubOrAddress: testOnChainData.fundedSenderAddress,
79
+ derivationMode: "solanaMain"
80
+ });
81
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars */
82
+ var wSolSubAccId = (0, logic_1.encodeAccountIdWithTokenAccountAddress)(mainAccId, testOnChainData.wSolSenderAssocTokenAccAddress);
83
+ var fees = function (signatureCount) {
84
+ return new bignumber_js_1["default"](signatureCount * testOnChainData.feeCalculator.lamportsPerSignature);
85
+ };
86
+ var zero = new bignumber_js_1["default"](0);
87
+ var dataset = {
88
+ implementations: [(0, env_1.getEnv)("MOCK") ? "mock" : "js"],
89
+ currencies: {
90
+ solana: {
91
+ scanAccounts: [solana_scanAccounts_1_1["default"]],
92
+ accounts: [
93
+ {
94
+ raw: makeAccount(testOnChainData.fundedSenderAddress),
95
+ /*
96
+ Solana integration is written in such a way that requires
97
+ prepareTransaction to be called before any meaningfull status
98
+ can be calculated. The general bridge tests do not run prepareTransaction
99
+ on all tests, so skip them in the general runner, but make alternatives for them.
100
+ */
101
+ FIXME_tests: [
102
+ "balance is sum of ops",
103
+ "Default empty recipient have a recipientError",
104
+ "invalid recipient have a recipientError",
105
+ "can be called on an empty transaction",
106
+ ],
107
+ transactions: __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(recipientRequired()), false), __read(recipientNotValid()), false), __read(recipientIsSameAsSender()), false), __read(memoIsTooLong()), false), [
108
+ {
109
+ name: "status is error: called on an empty transaction",
110
+ transaction: (0, js_createTransaction_1["default"])({}),
111
+ expectedStatus: {
112
+ errors: {
113
+ recipient: new errors_1.RecipientRequired()
114
+ },
115
+ warnings: {},
116
+ estimatedFees: fees(1),
117
+ amount: zero,
118
+ totalSpent: zero
119
+ }
120
+ },
121
+ {
122
+ name: "transfer :: status is success: not all amount",
123
+ transaction: {
124
+ model: {
125
+ kind: "transfer",
126
+ uiState: {}
127
+ },
128
+ amount: testOnChainData.fundedSenderBalance.dividedBy(2),
129
+ recipient: testOnChainData.fundedAddress,
130
+ feeCalculator: testOnChainData.feeCalculator,
131
+ family: "solana"
132
+ },
133
+ expectedStatus: {
134
+ errors: {},
135
+ warnings: {},
136
+ estimatedFees: fees(1),
137
+ amount: testOnChainData.fundedSenderBalance.dividedBy(2),
138
+ totalSpent: testOnChainData.fundedSenderBalance
139
+ .dividedBy(2)
140
+ .plus(fees(1))
141
+ }
142
+ },
143
+ {
144
+ name: "transfer :: status is success: all amount",
145
+ transaction: {
146
+ model: {
147
+ kind: "transfer",
148
+ uiState: {}
149
+ },
150
+ useAllAmount: true,
151
+ amount: zero,
152
+ recipient: testOnChainData.fundedAddress,
153
+ feeCalculator: testOnChainData.feeCalculator,
154
+ family: "solana"
155
+ },
156
+ expectedStatus: {
157
+ errors: {},
158
+ warnings: {},
159
+ estimatedFees: fees(1),
160
+ amount: testOnChainData.fundedSenderBalance.minus(fees(1)),
161
+ totalSpent: testOnChainData.fundedSenderBalance
162
+ }
163
+ },
164
+ {
165
+ name: "transfer :: status is error: not enough balance, not all amount",
166
+ transaction: {
167
+ model: {
168
+ kind: "transfer",
169
+ uiState: {}
170
+ },
171
+ amount: testOnChainData.fundedSenderBalance,
172
+ recipient: testOnChainData.fundedAddress,
173
+ feeCalculator: testOnChainData.feeCalculator,
174
+ family: "solana"
175
+ },
176
+ expectedStatus: {
177
+ errors: {
178
+ amount: new errors_1.NotEnoughBalance()
179
+ },
180
+ warnings: {},
181
+ estimatedFees: fees(1),
182
+ amount: testOnChainData.fundedSenderBalance,
183
+ totalSpent: zero
184
+ }
185
+ },
186
+ {
187
+ name: "transfer :: status is error: not enough balance, all amount",
188
+ transaction: {
189
+ model: {
190
+ kind: "transfer",
191
+ uiState: {
192
+ memo: "a memo"
193
+ }
194
+ },
195
+ useAllAmount: true,
196
+ amount: zero,
197
+ recipient: testOnChainData.fundedAddress,
198
+ feeCalculator: {
199
+ lamportsPerSignature: testOnChainData.fundedSenderBalance
200
+ .plus(1)
201
+ .toNumber()
202
+ },
203
+ family: "solana"
204
+ },
205
+ expectedStatus: {
206
+ errors: {
207
+ amount: new errors_1.NotEnoughBalance()
208
+ },
209
+ warnings: {},
210
+ estimatedFees: testOnChainData.fundedSenderBalance.plus(1),
211
+ amount: zero,
212
+ totalSpent: zero
213
+ }
214
+ },
215
+ {
216
+ name: "transfer :: status is error: amount is 0",
217
+ transaction: {
218
+ model: {
219
+ kind: "transfer",
220
+ uiState: {}
221
+ },
222
+ amount: zero,
223
+ recipient: testOnChainData.fundedAddress,
224
+ feeCalculator: testOnChainData.feeCalculator,
225
+ family: "solana"
226
+ },
227
+ expectedStatus: {
228
+ errors: {
229
+ amount: new errors_1.AmountRequired()
230
+ },
231
+ warnings: {},
232
+ estimatedFees: fees(1),
233
+ amount: zero,
234
+ totalSpent: zero
235
+ }
236
+ },
237
+ {
238
+ name: "transfer :: status is error: amount is negative",
239
+ transaction: {
240
+ model: {
241
+ kind: "transfer",
242
+ uiState: {}
243
+ },
244
+ amount: new bignumber_js_1["default"](-1),
245
+ recipient: testOnChainData.fundedAddress,
246
+ feeCalculator: testOnChainData.feeCalculator,
247
+ family: "solana"
248
+ },
249
+ expectedStatus: {
250
+ errors: {
251
+ amount: new errors_1.AmountRequired()
252
+ },
253
+ warnings: {},
254
+ estimatedFees: fees(1),
255
+ amount: new bignumber_js_1["default"](-1),
256
+ totalSpent: zero
257
+ }
258
+ },
259
+ {
260
+ name: "transfer :: status is warning: recipient wallet not funded",
261
+ transaction: {
262
+ model: {
263
+ kind: "transfer",
264
+ uiState: {}
265
+ },
266
+ amount: new bignumber_js_1["default"](1),
267
+ recipient: testOnChainData.unfundedAddress,
268
+ feeCalculator: testOnChainData.feeCalculator,
269
+ family: "solana"
270
+ },
271
+ expectedStatus: {
272
+ errors: {},
273
+ warnings: {
274
+ recipient: new errors_2.SolanaAccountNotFunded()
275
+ },
276
+ estimatedFees: fees(1),
277
+ amount: new bignumber_js_1["default"](1),
278
+ totalSpent: fees(1).plus(1)
279
+ }
280
+ },
281
+ {
282
+ name: "transfer :: status is warning: recipient address is off ed25519",
283
+ transaction: {
284
+ model: {
285
+ kind: "transfer",
286
+ uiState: {}
287
+ },
288
+ amount: new bignumber_js_1["default"](1),
289
+ recipient: testOnChainData.offEd25519Address,
290
+ feeCalculator: testOnChainData.feeCalculator,
291
+ family: "solana"
292
+ },
293
+ expectedStatus: {
294
+ errors: {},
295
+ warnings: {
296
+ recipient: new errors_2.SolanaAccountNotFunded(),
297
+ recipientOffCurve: new errors_2.SolanaAddressOffEd25519()
298
+ },
299
+ estimatedFees: fees(1),
300
+ amount: new bignumber_js_1["default"](1),
301
+ totalSpent: fees(1).plus(1)
302
+ }
303
+ },
304
+ ], false)
305
+ },
306
+ ]
307
+ }
308
+ }
309
+ };
310
+ function makeAccount(freshAddress) {
311
+ return {
312
+ id: mainAccId,
313
+ seedIdentifier: "",
314
+ name: "Solana 1",
315
+ derivationMode: "solanaMain",
316
+ index: 0,
317
+ freshAddress: freshAddress,
318
+ freshAddressPath: "",
319
+ freshAddresses: [],
320
+ blockHeight: 0,
321
+ operations: [],
322
+ pendingOperations: [],
323
+ currencyId: "solana",
324
+ unitMagnitude: 9,
325
+ lastSyncDate: "",
326
+ balance: "0"
327
+ };
328
+ }
329
+ function recipientRequired() {
330
+ var models = [
331
+ {
332
+ kind: "token.transfer",
333
+ uiState: {
334
+ subAccountId: ""
335
+ }
336
+ },
337
+ {
338
+ kind: "transfer",
339
+ uiState: {}
340
+ },
341
+ ];
342
+ return models.map(function (model) {
343
+ return {
344
+ name: model.kind + " :: status is error: recipient required",
345
+ transaction: {
346
+ model: model,
347
+ amount: zero,
348
+ recipient: "",
349
+ feeCalculator: testOnChainData.feeCalculator,
350
+ family: "solana"
351
+ },
352
+ expectedStatus: {
353
+ errors: {
354
+ recipient: new errors_1.RecipientRequired()
355
+ },
356
+ warnings: {},
357
+ estimatedFees: fees(1),
358
+ amount: zero,
359
+ totalSpent: zero
360
+ }
361
+ };
362
+ });
363
+ }
364
+ function recipientNotValid() {
365
+ return recipientRequired().map(function (spec) {
366
+ return __assign(__assign({}, spec), { transaction: __assign(__assign({}, spec.transaction), { recipient: "invalid address" }), expectedStatus: __assign(__assign({}, spec.expectedStatus), { errors: {
367
+ recipient: new errors_1.InvalidAddress()
368
+ } }) });
369
+ });
370
+ }
371
+ function recipientIsSameAsSender() {
372
+ return recipientRequired().map(function (spec) {
373
+ return __assign(__assign({}, spec), { transaction: __assign(__assign({}, spec.transaction), { recipient: testOnChainData.fundedSenderAddress }), expectedStatus: __assign(__assign({}, spec.expectedStatus), { errors: {
374
+ recipient: new errors_1.InvalidAddressBecauseDestinationIsAlsoSource()
375
+ } }) });
376
+ });
377
+ }
378
+ function memoIsTooLong() {
379
+ return (0, fp_1.compact)(recipientRequired().map(function (spec) {
380
+ var tx = spec.transaction;
381
+ switch (tx.model.kind) {
382
+ case "transfer":
383
+ case "token.transfer":
384
+ tx.model.uiState.memo = "c".repeat(logic_1.MAX_MEMO_LENGTH + 1);
385
+ return __assign(__assign({}, spec), { transaction: __assign(__assign({}, spec.transaction), { recipient: testOnChainData.fundedAddress }), expectedStatus: __assign(__assign({}, spec.expectedStatus), { errors: {
386
+ memo: new errors_2.SolanaMemoIsTooLong()
387
+ } }) });
388
+ case "token.createATA":
389
+ return undefined;
390
+ default:
391
+ return (0, utils_1.assertUnreachable)(tx.model);
392
+ }
393
+ }));
394
+ }
395
+ exports["default"] = dataset;
396
+ //# sourceMappingURL=test-dataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dataset.js","sourceRoot":"","sources":["../../../src/families/solana/test-dataset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Transaction, TransactionRaw } from "./types";
2
+ import type { Account } from "../../types";
3
+ export declare const fromTransactionRaw: (tr: TransactionRaw) => Transaction;
4
+ export declare const toTransactionRaw: (t: Transaction) => TransactionRaw;
5
+ export declare const formatTransaction: (tx: Transaction, mainAccount: Account) => string;
6
+ declare const _default: {
7
+ formatTransaction: (tx: Transaction, mainAccount: Account) => string;
8
+ fromTransactionRaw: (tr: TransactionRaw) => Transaction;
9
+ toTransactionRaw: (t: Transaction) => TransactionRaw;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/solana/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,WAAW,EACX,cAAc,EAEf,MAAM,SAAS,CAAC;AAKjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,kBAAkB,OAAQ,cAAc,KAAG,WASvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cASjD,CAAC;AASF,eAAO,MAAM,iBAAiB,OACxB,WAAW,eACF,OAAO,KACnB,MAaF,CAAC;;;;;;AA6EF,wBAIE"}