@ledgerhq/live-common 27.0.0 → 27.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +2 -2
  2. package/lib/__tests__/test-helpers/environment.d.ts +2 -0
  3. package/lib/__tests__/test-helpers/environment.d.ts.map +1 -0
  4. package/lib/__tests__/test-helpers/environment.js +107 -0
  5. package/lib/__tests__/test-helpers/environment.js.map +1 -0
  6. package/lib/__tests__/test-helpers/setup.d.ts +1 -1
  7. package/lib/__tests__/test-helpers/setup.d.ts.map +1 -1
  8. package/lib/__tests__/test-helpers/setup.js +1 -101
  9. package/lib/__tests__/test-helpers/setup.js.map +1 -1
  10. package/lib/account/serialization.d.ts +2 -0
  11. package/lib/account/serialization.d.ts.map +1 -1
  12. package/lib/account/serialization.js +105 -47
  13. package/lib/account/serialization.js.map +1 -1
  14. package/lib/apps/support.d.ts.map +1 -1
  15. package/lib/apps/support.js +1 -0
  16. package/lib/apps/support.js.map +1 -1
  17. package/lib/bot/bot-test-context.d.ts +3 -0
  18. package/lib/bot/bot-test-context.d.ts.map +1 -0
  19. package/lib/bot/bot-test-context.js +26 -0
  20. package/lib/bot/bot-test-context.js.map +1 -0
  21. package/lib/bot/bot-test-context.test.d.ts +2 -0
  22. package/lib/bot/bot-test-context.test.d.ts.map +1 -0
  23. package/lib/bot/bot-test-context.test.js +41 -0
  24. package/lib/bot/bot-test-context.test.js.map +1 -0
  25. package/lib/bot/cli.d.ts +2 -0
  26. package/lib/bot/cli.d.ts.map +1 -0
  27. package/lib/bot/cli.js +14 -0
  28. package/lib/bot/cli.js.map +1 -0
  29. package/lib/bot/engine.d.ts +5 -5
  30. package/lib/bot/engine.d.ts.map +1 -1
  31. package/lib/bot/engine.js +161 -112
  32. package/lib/bot/engine.js.map +1 -1
  33. package/lib/bot/formatters.d.ts +2 -2
  34. package/lib/bot/formatters.d.ts.map +1 -1
  35. package/lib/bot/formatters.js +41 -15
  36. package/lib/bot/formatters.js.map +1 -1
  37. package/lib/bot/index.d.ts +1 -1
  38. package/lib/bot/index.d.ts.map +1 -1
  39. package/lib/bot/index.js +90 -15
  40. package/lib/bot/index.js.map +1 -1
  41. package/lib/bot/specs.d.ts +2 -1
  42. package/lib/bot/specs.d.ts.map +1 -1
  43. package/lib/bot/specs.js +13 -9
  44. package/lib/bot/specs.js.map +1 -1
  45. package/lib/bot/types.d.ts +5 -2
  46. package/lib/bot/types.d.ts.map +1 -1
  47. package/lib/countervalues/logic.integration.test.js +65 -0
  48. package/lib/countervalues/logic.integration.test.js.map +1 -1
  49. package/lib/countervalues/modules/weth.d.ts.map +1 -1
  50. package/lib/countervalues/modules/weth.js +5 -10
  51. package/lib/countervalues/modules/weth.js.map +1 -1
  52. package/lib/currencies/sortByMarketcap.d.ts +0 -2
  53. package/lib/currencies/sortByMarketcap.d.ts.map +1 -1
  54. package/lib/currencies/sortByMarketcap.js +3 -17
  55. package/lib/currencies/sortByMarketcap.js.map +1 -1
  56. package/lib/currencies/sortByMarketcap.test.js +0 -5
  57. package/lib/currencies/sortByMarketcap.test.js.map +1 -1
  58. package/lib/env.js +1 -1
  59. package/lib/families/algorand/specs.d.ts.map +1 -1
  60. package/lib/families/algorand/specs.js +18 -10
  61. package/lib/families/algorand/specs.js.map +1 -1
  62. package/lib/families/algorand/speculos-deviceActions.d.ts +1 -4
  63. package/lib/families/algorand/speculos-deviceActions.d.ts.map +1 -1
  64. package/lib/families/algorand/speculos-deviceActions.js +25 -8
  65. package/lib/families/algorand/speculos-deviceActions.js.map +1 -1
  66. package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
  67. package/lib/families/bitcoin/bridge/mock.js +6 -1
  68. package/lib/families/bitcoin/bridge/mock.js.map +1 -1
  69. package/lib/families/bitcoin/datasets/bitcoin_cash.d.ts.map +1 -1
  70. package/lib/families/bitcoin/datasets/bitcoin_cash.js +1 -1
  71. package/lib/families/bitcoin/datasets/bitcoin_cash.js.map +1 -1
  72. package/lib/families/bitcoin/datasets/dash.d.ts.map +1 -1
  73. package/lib/families/bitcoin/datasets/dash.js +1 -1
  74. package/lib/families/bitcoin/datasets/dash.js.map +1 -1
  75. package/lib/families/bitcoin/datasets/decred.d.ts.map +1 -1
  76. package/lib/families/bitcoin/datasets/decred.js +1 -1
  77. package/lib/families/bitcoin/datasets/decred.js.map +1 -1
  78. package/lib/families/bitcoin/datasets/digibyte.d.ts.map +1 -1
  79. package/lib/families/bitcoin/datasets/digibyte.js +8 -2
  80. package/lib/families/bitcoin/datasets/digibyte.js.map +1 -1
  81. package/lib/families/bitcoin/datasets/dogecoin.d.ts.map +1 -1
  82. package/lib/families/bitcoin/datasets/dogecoin.js +1 -1
  83. package/lib/families/bitcoin/datasets/dogecoin.js.map +1 -1
  84. package/lib/families/bitcoin/datasets/komodo.js +1 -1
  85. package/lib/families/bitcoin/datasets/komodo.js.map +1 -1
  86. package/lib/families/bitcoin/datasets/litecoin.d.ts.map +1 -1
  87. package/lib/families/bitcoin/datasets/litecoin.js +8 -2
  88. package/lib/families/bitcoin/datasets/litecoin.js.map +1 -1
  89. package/lib/families/bitcoin/datasets/peercoin.js +1 -1
  90. package/lib/families/bitcoin/datasets/peercoin.js.map +1 -1
  91. package/lib/families/bitcoin/datasets/pivx.js +1 -1
  92. package/lib/families/bitcoin/datasets/pivx.js.map +1 -1
  93. package/lib/families/bitcoin/datasets/qtum.js +1 -1
  94. package/lib/families/bitcoin/datasets/qtum.js.map +1 -1
  95. package/lib/families/bitcoin/datasets/stakenet.d.ts.map +1 -1
  96. package/lib/families/bitcoin/datasets/stakenet.js +1 -1
  97. package/lib/families/bitcoin/datasets/stakenet.js.map +1 -1
  98. package/lib/families/bitcoin/datasets/vertcoin.d.ts.map +1 -1
  99. package/lib/families/bitcoin/datasets/vertcoin.js +1 -1
  100. package/lib/families/bitcoin/datasets/vertcoin.js.map +1 -1
  101. package/lib/families/bitcoin/datasets/viacoin.d.ts.map +1 -1
  102. package/lib/families/bitcoin/datasets/viacoin.js +1 -1
  103. package/lib/families/bitcoin/datasets/viacoin.js.map +1 -1
  104. package/lib/families/bitcoin/datasets/zcash.d.ts.map +1 -1
  105. package/lib/families/bitcoin/datasets/zcash.js +1 -1
  106. package/lib/families/bitcoin/datasets/zcash.js.map +1 -1
  107. package/lib/families/bitcoin/datasets/zencash.d.ts.map +1 -1
  108. package/lib/families/bitcoin/datasets/zencash.js +1 -1
  109. package/lib/families/bitcoin/datasets/zencash.js.map +1 -1
  110. package/lib/families/bitcoin/platformAdapter.test.d.ts +2 -0
  111. package/lib/families/bitcoin/platformAdapter.test.d.ts.map +1 -0
  112. package/lib/families/bitcoin/platformAdapter.test.js +48 -0
  113. package/lib/families/bitcoin/platformAdapter.test.js.map +1 -0
  114. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  115. package/lib/families/bitcoin/specs.js +62 -24
  116. package/lib/families/bitcoin/specs.js.map +1 -1
  117. package/lib/families/bitcoin/speculos-deviceActions.d.ts +1 -4
  118. package/lib/families/bitcoin/speculos-deviceActions.d.ts.map +1 -1
  119. package/lib/families/bitcoin/speculos-deviceActions.js +2 -4
  120. package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
  121. package/lib/families/cardano/js-estimateMaxSpendable.js +1 -1
  122. package/lib/families/cardano/js-estimateMaxSpendable.js.map +1 -1
  123. package/lib/families/cardano/specs.d.ts.map +1 -1
  124. package/lib/families/cardano/specs.js +19 -8
  125. package/lib/families/cardano/specs.js.map +1 -1
  126. package/lib/families/cardano/speculos-deviceActions.d.ts +1 -4
  127. package/lib/families/cardano/speculos-deviceActions.d.ts.map +1 -1
  128. package/lib/families/cardano/speculos-deviceActions.js +2 -2
  129. package/lib/families/cardano/speculos-deviceActions.js.map +1 -1
  130. package/lib/families/celo/api/hubble.d.ts +6 -1
  131. package/lib/families/celo/api/hubble.d.ts.map +1 -1
  132. package/lib/families/celo/api/hubble.js +135 -13
  133. package/lib/families/celo/api/hubble.js.map +1 -1
  134. package/lib/families/celo/api/index.d.ts +1 -1
  135. package/lib/families/celo/api/index.d.ts.map +1 -1
  136. package/lib/families/celo/api/index.js +2 -1
  137. package/lib/families/celo/api/index.js.map +1 -1
  138. package/lib/families/celo/api/sdk.d.ts +22 -0
  139. package/lib/families/celo/api/sdk.d.ts.map +1 -1
  140. package/lib/families/celo/api/sdk.js +168 -1
  141. package/lib/families/celo/api/sdk.js.map +1 -1
  142. package/lib/families/celo/bridge/js.d.ts.map +1 -1
  143. package/lib/families/celo/bridge/js.js +4 -42
  144. package/lib/families/celo/bridge/js.js.map +1 -1
  145. package/lib/families/celo/cli-transaction.d.ts +12 -2
  146. package/lib/families/celo/cli-transaction.d.ts.map +1 -1
  147. package/lib/families/celo/cli-transaction.js +38 -4
  148. package/lib/families/celo/cli-transaction.js.map +1 -1
  149. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts +1 -0
  150. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts.map +1 -1
  151. package/lib/families/celo/datasets/celo.scanAccounts.1.js +298 -2
  152. package/lib/families/celo/datasets/celo.scanAccounts.1.js.map +1 -1
  153. package/lib/families/celo/errors.d.ts +2 -0
  154. package/lib/families/celo/errors.d.ts.map +1 -0
  155. package/lib/families/celo/errors.js +6 -0
  156. package/lib/families/celo/errors.js.map +1 -0
  157. package/lib/families/celo/js-buildTransaction.d.ts +2 -3
  158. package/lib/families/celo/js-buildTransaction.d.ts.map +1 -1
  159. package/lib/families/celo/js-buildTransaction.js +194 -19
  160. package/lib/families/celo/js-buildTransaction.js.map +1 -1
  161. package/lib/families/celo/js-createTransaction.d.ts.map +1 -1
  162. package/lib/families/celo/js-createTransaction.js +3 -1
  163. package/lib/families/celo/js-createTransaction.js.map +1 -1
  164. package/lib/families/celo/js-estimateMaxSpendable.d.ts.map +1 -1
  165. package/lib/families/celo/js-estimateMaxSpendable.js.map +1 -1
  166. package/lib/families/celo/js-getFeesForTransaction.d.ts +2 -3
  167. package/lib/families/celo/js-getFeesForTransaction.d.ts.map +1 -1
  168. package/lib/families/celo/js-getFeesForTransaction.js +137 -10
  169. package/lib/families/celo/js-getFeesForTransaction.js.map +1 -1
  170. package/lib/families/celo/js-getTransactionStatus.d.ts +2 -3
  171. package/lib/families/celo/js-getTransactionStatus.d.ts.map +1 -1
  172. package/lib/families/celo/js-getTransactionStatus.js +97 -41
  173. package/lib/families/celo/js-getTransactionStatus.js.map +1 -1
  174. package/lib/families/celo/js-prepareTransaction.d.ts +2 -3
  175. package/lib/families/celo/js-prepareTransaction.d.ts.map +1 -1
  176. package/lib/families/celo/js-prepareTransaction.js +8 -3
  177. package/lib/families/celo/js-prepareTransaction.js.map +1 -1
  178. package/lib/families/celo/js-signOperation.d.ts.map +1 -1
  179. package/lib/families/celo/js-signOperation.js +17 -3
  180. package/lib/families/celo/js-signOperation.js.map +1 -1
  181. package/lib/families/celo/js-synchronisation.d.ts.map +1 -1
  182. package/lib/families/celo/js-synchronisation.js +51 -6
  183. package/lib/families/celo/js-synchronisation.js.map +1 -1
  184. package/lib/families/celo/logic.d.ts +21 -0
  185. package/lib/families/celo/logic.d.ts.map +1 -0
  186. package/lib/families/celo/logic.js +132 -0
  187. package/lib/families/celo/logic.js.map +1 -0
  188. package/lib/families/celo/preload.d.ts +10 -0
  189. package/lib/families/celo/preload.d.ts.map +1 -0
  190. package/lib/families/celo/preload.js +118 -0
  191. package/lib/families/celo/preload.js.map +1 -0
  192. package/lib/families/celo/react.d.ts +4 -0
  193. package/lib/families/celo/react.d.ts.map +1 -0
  194. package/lib/families/celo/react.js +47 -0
  195. package/lib/families/celo/react.js.map +1 -0
  196. package/lib/families/celo/serialization.d.ts +4 -0
  197. package/lib/families/celo/serialization.d.ts.map +1 -0
  198. package/lib/families/celo/serialization.js +55 -0
  199. package/lib/families/celo/serialization.js.map +1 -0
  200. package/lib/families/celo/specs/createActivateVoteMutation.d.ts +4 -0
  201. package/lib/families/celo/specs/createActivateVoteMutation.d.ts.map +1 -0
  202. package/lib/families/celo/specs/createActivateVoteMutation.js +38 -0
  203. package/lib/families/celo/specs/createActivateVoteMutation.js.map +1 -0
  204. package/lib/families/celo/specs/createLockMutation.d.ts +4 -0
  205. package/lib/families/celo/specs/createLockMutation.d.ts.map +1 -0
  206. package/lib/families/celo/specs/createLockMutation.js +40 -0
  207. package/lib/families/celo/specs/createLockMutation.js.map +1 -0
  208. package/lib/families/celo/specs/createRegisterAccountMutation.d.ts +4 -0
  209. package/lib/families/celo/specs/createRegisterAccountMutation.d.ts.map +1 -0
  210. package/lib/families/celo/specs/createRegisterAccountMutation.js +31 -0
  211. package/lib/families/celo/specs/createRegisterAccountMutation.js.map +1 -0
  212. package/lib/families/celo/specs/createRevokeVoteMutation.d.ts +4 -0
  213. package/lib/families/celo/specs/createRevokeVoteMutation.d.ts.map +1 -0
  214. package/lib/families/celo/specs/createRevokeVoteMutation.js +39 -0
  215. package/lib/families/celo/specs/createRevokeVoteMutation.js.map +1 -0
  216. package/lib/families/celo/specs/createSendMutation.d.ts +5 -0
  217. package/lib/families/celo/specs/createSendMutation.d.ts.map +1 -0
  218. package/lib/families/celo/specs/createSendMutation.js +44 -0
  219. package/lib/families/celo/specs/createSendMutation.js.map +1 -0
  220. package/lib/families/celo/specs/createUnlockMutation.d.ts +4 -0
  221. package/lib/families/celo/specs/createUnlockMutation.d.ts.map +1 -0
  222. package/lib/families/celo/specs/createUnlockMutation.js +37 -0
  223. package/lib/families/celo/specs/createUnlockMutation.js.map +1 -0
  224. package/lib/families/celo/specs/createVoteMutation.d.ts +4 -0
  225. package/lib/families/celo/specs/createVoteMutation.d.ts.map +1 -0
  226. package/lib/families/celo/specs/createVoteMutation.js +51 -0
  227. package/lib/families/celo/specs/createVoteMutation.js.map +1 -0
  228. package/lib/families/celo/specs/createWithdrawMutation.d.ts +4 -0
  229. package/lib/families/celo/specs/createWithdrawMutation.d.ts.map +1 -0
  230. package/lib/families/celo/specs/createWithdrawMutation.js +36 -0
  231. package/lib/families/celo/specs/createWithdrawMutation.js.map +1 -0
  232. package/lib/families/celo/specs/index.d.ts +9 -0
  233. package/lib/families/celo/specs/index.d.ts.map +1 -0
  234. package/lib/families/celo/specs/index.js +25 -0
  235. package/lib/families/celo/specs/index.js.map +1 -0
  236. package/lib/families/celo/specs.d.ts +1 -1
  237. package/lib/families/celo/specs.d.ts.map +1 -1
  238. package/lib/families/celo/specs.js +22 -37
  239. package/lib/families/celo/specs.js.map +1 -1
  240. package/lib/families/celo/speculos-deviceActions.d.ts +1 -4
  241. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -1
  242. package/lib/families/celo/speculos-deviceActions.js +24 -4
  243. package/lib/families/celo/speculos-deviceActions.js.map +1 -1
  244. package/lib/families/celo/transaction.d.ts.map +1 -1
  245. package/lib/families/celo/transaction.js +8 -6
  246. package/lib/families/celo/transaction.js.map +1 -1
  247. package/lib/families/celo/types.d.ts +102 -1
  248. package/lib/families/celo/types.d.ts.map +1 -1
  249. package/lib/families/celo/validators.d.ts +3 -0
  250. package/lib/families/celo/validators.d.ts.map +1 -0
  251. package/lib/families/celo/validators.js +6 -0
  252. package/lib/families/celo/validators.js.map +1 -0
  253. package/lib/families/cosmos/specs.d.ts.map +1 -1
  254. package/lib/families/cosmos/specs.js +41 -25
  255. package/lib/families/cosmos/specs.js.map +1 -1
  256. package/lib/families/cosmos/speculos-deviceActions.d.ts +1 -4
  257. package/lib/families/cosmos/speculos-deviceActions.d.ts.map +1 -1
  258. package/lib/families/cosmos/speculos-deviceActions.js +2 -4
  259. package/lib/families/cosmos/speculos-deviceActions.js.map +1 -1
  260. package/lib/families/crypto_org/specs.d.ts.map +1 -1
  261. package/lib/families/crypto_org/specs.js +3 -0
  262. package/lib/families/crypto_org/specs.js.map +1 -1
  263. package/lib/families/crypto_org/speculos-deviceActions.d.ts +1 -4
  264. package/lib/families/crypto_org/speculos-deviceActions.d.ts.map +1 -1
  265. package/lib/families/crypto_org/speculos-deviceActions.js +2 -2
  266. package/lib/families/crypto_org/speculos-deviceActions.js.map +1 -1
  267. package/lib/families/elrond/specs.d.ts.map +1 -1
  268. package/lib/families/elrond/specs.js +15 -2
  269. package/lib/families/elrond/specs.js.map +1 -1
  270. package/lib/families/elrond/speculos-deviceActions.d.ts +1 -4
  271. package/lib/families/elrond/speculos-deviceActions.d.ts.map +1 -1
  272. package/lib/families/elrond/speculos-deviceActions.js +2 -4
  273. package/lib/families/elrond/speculos-deviceActions.js.map +1 -1
  274. package/lib/families/ethereum/platformAdapter.test.d.ts +2 -0
  275. package/lib/families/ethereum/platformAdapter.test.d.ts.map +1 -0
  276. package/lib/families/ethereum/platformAdapter.test.js +88 -0
  277. package/lib/families/ethereum/platformAdapter.test.js.map +1 -0
  278. package/lib/families/ethereum/specs.d.ts.map +1 -1
  279. package/lib/families/ethereum/specs.js +36 -12
  280. package/lib/families/ethereum/specs.js.map +1 -1
  281. package/lib/families/ethereum/speculos-deviceActions.d.ts +1 -4
  282. package/lib/families/ethereum/speculos-deviceActions.d.ts.map +1 -1
  283. package/lib/families/ethereum/speculos-deviceActions.js +2 -4
  284. package/lib/families/ethereum/speculos-deviceActions.js.map +1 -1
  285. package/lib/families/filecoin/specs.d.ts.map +1 -1
  286. package/lib/families/filecoin/specs.js +2 -0
  287. package/lib/families/filecoin/specs.js.map +1 -1
  288. package/lib/families/filecoin/speculos-deviceActions.d.ts +1 -4
  289. package/lib/families/filecoin/speculos-deviceActions.d.ts.map +1 -1
  290. package/lib/families/filecoin/speculos-deviceActions.js +2 -2
  291. package/lib/families/filecoin/speculos-deviceActions.js.map +1 -1
  292. package/lib/families/hedera/specs.d.ts.map +1 -1
  293. package/lib/families/hedera/specs.js +11 -3
  294. package/lib/families/hedera/specs.js.map +1 -1
  295. package/lib/families/hedera/speculos-deviceActions.d.ts +1 -4
  296. package/lib/families/hedera/speculos-deviceActions.d.ts.map +1 -1
  297. package/lib/families/hedera/speculos-deviceActions.js +4 -4
  298. package/lib/families/hedera/speculos-deviceActions.js.map +1 -1
  299. package/lib/families/osmosis/specs.d.ts.map +1 -1
  300. package/lib/families/osmosis/specs.js +13 -5
  301. package/lib/families/osmosis/specs.js.map +1 -1
  302. package/lib/families/osmosis/speculos-deviceActions.d.ts +1 -4
  303. package/lib/families/osmosis/speculos-deviceActions.d.ts.map +1 -1
  304. package/lib/families/osmosis/speculos-deviceActions.js +2 -4
  305. package/lib/families/osmosis/speculos-deviceActions.js.map +1 -1
  306. package/lib/families/polkadot/platformAdapter.test.d.ts +2 -0
  307. package/lib/families/polkadot/platformAdapter.test.d.ts.map +1 -0
  308. package/lib/families/polkadot/platformAdapter.test.js +51 -0
  309. package/lib/families/polkadot/platformAdapter.test.js.map +1 -0
  310. package/lib/families/polkadot/specs.d.ts.map +1 -1
  311. package/lib/families/polkadot/specs.js +12 -1
  312. package/lib/families/polkadot/specs.js.map +1 -1
  313. package/lib/families/polkadot/speculos-deviceActions.d.ts +1 -4
  314. package/lib/families/polkadot/speculos-deviceActions.d.ts.map +1 -1
  315. package/lib/families/polkadot/speculos-deviceActions.js +2 -4
  316. package/lib/families/polkadot/speculos-deviceActions.js.map +1 -1
  317. package/lib/families/ripple/platformAdapter.test.d.ts +2 -0
  318. package/lib/families/ripple/platformAdapter.test.d.ts.map +1 -0
  319. package/lib/families/ripple/platformAdapter.test.js +51 -0
  320. package/lib/families/ripple/platformAdapter.test.js.map +1 -0
  321. package/lib/families/ripple/specs.d.ts.map +1 -1
  322. package/lib/families/ripple/specs.js +9 -4
  323. package/lib/families/ripple/specs.js.map +1 -1
  324. package/lib/families/ripple/speculos-deviceActions.d.ts +1 -4
  325. package/lib/families/ripple/speculos-deviceActions.d.ts.map +1 -1
  326. package/lib/families/ripple/speculos-deviceActions.js +2 -4
  327. package/lib/families/ripple/speculos-deviceActions.js.map +1 -1
  328. package/lib/families/solana/api/chain/instruction/token/types.d.ts +2 -2
  329. package/lib/families/solana/specs.d.ts.map +1 -1
  330. package/lib/families/solana/specs.js +29 -11
  331. package/lib/families/solana/specs.js.map +1 -1
  332. package/lib/families/solana/speculos-deviceActions.d.ts +0 -5
  333. package/lib/families/solana/speculos-deviceActions.d.ts.map +1 -1
  334. package/lib/families/solana/speculos-deviceActions.js +0 -4
  335. package/lib/families/solana/speculos-deviceActions.js.map +1 -1
  336. package/lib/families/stellar/api/horizon.d.ts.map +1 -1
  337. package/lib/families/stellar/api/horizon.js +15 -10
  338. package/lib/families/stellar/api/horizon.js.map +1 -1
  339. package/lib/families/stellar/specs.d.ts.map +1 -1
  340. package/lib/families/stellar/specs.js +30 -12
  341. package/lib/families/stellar/specs.js.map +1 -1
  342. package/lib/families/stellar/speculos-deviceActions.d.ts +1 -4
  343. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  344. package/lib/families/stellar/speculos-deviceActions.js +2 -4
  345. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  346. package/lib/families/tezos/bakers.whitelist-default.d.ts.map +1 -1
  347. package/lib/families/tezos/bakers.whitelist-default.js +1 -1
  348. package/lib/families/tezos/bakers.whitelist-default.js.map +1 -1
  349. package/lib/families/tezos/specs.d.ts.map +1 -1
  350. package/lib/families/tezos/specs.js +2 -0
  351. package/lib/families/tezos/specs.js.map +1 -1
  352. package/lib/families/tezos/speculos-deviceActions.d.ts +1 -4
  353. package/lib/families/tezos/speculos-deviceActions.d.ts.map +1 -1
  354. package/lib/families/tezos/speculos-deviceActions.js +2 -2
  355. package/lib/families/tezos/speculos-deviceActions.js.map +1 -1
  356. package/lib/families/tron/specs.d.ts.map +1 -1
  357. package/lib/families/tron/specs.js +49 -17
  358. package/lib/families/tron/specs.js.map +1 -1
  359. package/lib/families/tron/speculos-deviceActions.d.ts +1 -4
  360. package/lib/families/tron/speculos-deviceActions.d.ts.map +1 -1
  361. package/lib/families/tron/speculos-deviceActions.js +2 -4
  362. package/lib/families/tron/speculos-deviceActions.js.map +1 -1
  363. package/lib/generated/cli-transaction.d.ts +12 -2
  364. package/lib/generated/cli-transaction.d.ts.map +1 -1
  365. package/lib/hw/getGenuineCheckFromDeviceId.d.ts +22 -0
  366. package/lib/hw/getGenuineCheckFromDeviceId.d.ts.map +1 -0
  367. package/lib/hw/getGenuineCheckFromDeviceId.js +49 -0
  368. package/lib/hw/getGenuineCheckFromDeviceId.js.map +1 -0
  369. package/lib/hw/getGenuineCheckFromDeviceId.test.d.ts +2 -0
  370. package/lib/hw/getGenuineCheckFromDeviceId.test.d.ts.map +1 -0
  371. package/lib/hw/getGenuineCheckFromDeviceId.test.js +84 -0
  372. package/lib/hw/getGenuineCheckFromDeviceId.test.js.map +1 -0
  373. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.d.ts +17 -0
  374. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.d.ts.map +1 -0
  375. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.js +27 -0
  376. package/lib/hw/getLatestAvailableFirmwareFromDeviceId.js.map +1 -0
  377. package/lib/hw/hooks/useGenuineCheck.d.ts +34 -0
  378. package/lib/hw/hooks/useGenuineCheck.d.ts.map +1 -0
  379. package/lib/hw/hooks/useGenuineCheck.js +115 -0
  380. package/lib/hw/hooks/useGenuineCheck.js.map +1 -0
  381. package/lib/hw/hooks/useGenuineCheck.test.d.ts +2 -0
  382. package/lib/hw/hooks/useGenuineCheck.test.d.ts.map +1 -0
  383. package/lib/hw/hooks/useGenuineCheck.test.js +316 -0
  384. package/lib/hw/hooks/useGenuineCheck.test.js.map +1 -0
  385. package/lib/hw/hooks/useGetLatestAvailableFirmware.d.ts +29 -0
  386. package/lib/hw/hooks/useGetLatestAvailableFirmware.d.ts.map +1 -0
  387. package/lib/hw/hooks/useGetLatestAvailableFirmware.js +72 -0
  388. package/lib/hw/hooks/useGetLatestAvailableFirmware.js.map +1 -0
  389. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.d.ts +2 -0
  390. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.d.ts.map +1 -0
  391. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.js +155 -0
  392. package/lib/hw/hooks/useGetLatestAvailableFirmware.test.js.map +1 -0
  393. package/lib/load/speculos.d.ts +1 -0
  394. package/lib/load/speculos.d.ts.map +1 -1
  395. package/lib/load/speculos.js +2 -1
  396. package/lib/load/speculos.js.map +1 -1
  397. package/lib/mock/fixtures/cryptoCurrencies.d.ts +5 -0
  398. package/lib/mock/fixtures/cryptoCurrencies.d.ts.map +1 -0
  399. package/lib/mock/fixtures/cryptoCurrencies.js +91 -0
  400. package/lib/mock/fixtures/cryptoCurrencies.js.map +1 -0
  401. package/lib/operation.d.ts.map +1 -1
  402. package/lib/operation.js +6 -0
  403. package/lib/operation.js.map +1 -1
  404. package/lib/platform/converters.test.js +44 -218
  405. package/lib/platform/converters.test.js.map +1 -1
  406. package/lib/platform/logic.d.ts +44 -0
  407. package/lib/platform/logic.d.ts.map +1 -1
  408. package/lib/platform/logic.js +147 -1
  409. package/lib/platform/logic.js.map +1 -1
  410. package/lib/platform/logic.test.d.ts +2 -0
  411. package/lib/platform/logic.test.d.ts.map +1 -0
  412. package/lib/platform/logic.test.js +903 -0
  413. package/lib/platform/logic.test.js.map +1 -0
  414. package/lib/platform/react.d.ts +6 -0
  415. package/lib/platform/react.d.ts.map +1 -1
  416. package/lib/platform/react.js +6 -0
  417. package/lib/platform/react.js.map +1 -1
  418. package/lib/platform/tracking.d.ts +1 -1
  419. package/lib/platform/tracking.d.ts.map +1 -1
  420. package/lib/platform/tracking.test.js +14 -41
  421. package/lib/platform/tracking.test.js.map +1 -1
  422. package/lib/reconciliation.d.ts.map +1 -1
  423. package/lib/reconciliation.js +39 -10
  424. package/lib/reconciliation.js.map +1 -1
  425. package/package.json +5 -7
  426. package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +2 -2
  427. package/src/__tests__/test-helpers/environment.ts +91 -0
  428. package/src/__tests__/test-helpers/setup.ts +2 -91
  429. package/src/account/serialization.ts +125 -66
  430. package/src/apps/support.ts +1 -0
  431. package/src/bot/bot-test-context.test.ts +37 -0
  432. package/src/bot/bot-test-context.ts +24 -0
  433. package/src/bot/cli.ts +18 -0
  434. package/src/bot/engine.ts +109 -73
  435. package/src/bot/formatters.ts +40 -14
  436. package/src/bot/index.ts +124 -18
  437. package/src/bot/specs.ts +10 -5
  438. package/src/bot/types.ts +7 -3
  439. package/src/countervalues/logic.integration.test.ts +50 -0
  440. package/src/countervalues/modules/weth.ts +9 -12
  441. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +59 -1
  442. package/src/currencies/sortByMarketcap.test.ts +1 -12
  443. package/src/currencies/sortByMarketcap.ts +2 -22
  444. package/src/env.ts +1 -1
  445. package/src/families/algorand/__snapshots__/bridge.integration.test.ts.snap +733 -8
  446. package/src/families/algorand/specs.ts +26 -16
  447. package/src/families/algorand/speculos-deviceActions.ts +31 -10
  448. package/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap +43309 -7957
  449. package/src/families/bitcoin/bridge/mock.ts +7 -1
  450. package/src/families/bitcoin/datasets/bitcoin_cash.ts +73 -13
  451. package/src/families/bitcoin/datasets/dash.ts +29 -17
  452. package/src/families/bitcoin/datasets/decred.ts +42 -12
  453. package/src/families/bitcoin/datasets/digibyte.ts +9 -3
  454. package/src/families/bitcoin/datasets/dogecoin.ts +29 -17
  455. package/src/families/bitcoin/datasets/komodo.ts +22 -22
  456. package/src/families/bitcoin/datasets/litecoin.ts +9 -3
  457. package/src/families/bitcoin/datasets/peercoin.ts +17 -17
  458. package/src/families/bitcoin/datasets/pivx.ts +17 -17
  459. package/src/families/bitcoin/datasets/qtum.ts +40 -40
  460. package/src/families/bitcoin/datasets/stakenet.ts +56 -26
  461. package/src/families/bitcoin/datasets/vertcoin.ts +43 -55
  462. package/src/families/bitcoin/datasets/viacoin.ts +35 -23
  463. package/src/families/bitcoin/datasets/zcash.ts +78 -12
  464. package/src/families/bitcoin/datasets/zencash.ts +56 -10
  465. package/src/families/bitcoin/platformAdapter.test.ts +58 -0
  466. package/src/families/bitcoin/specs.ts +81 -41
  467. package/src/families/bitcoin/speculos-deviceActions.ts +68 -69
  468. package/src/families/cardano/js-estimateMaxSpendable.ts +1 -1
  469. package/src/families/cardano/specs.ts +28 -11
  470. package/src/families/cardano/speculos-deviceActions.ts +65 -66
  471. package/src/families/celo/__snapshots__/bridge.integration.test.ts.snap +134 -857
  472. package/src/families/celo/api/hubble.ts +113 -16
  473. package/src/families/celo/api/index.ts +1 -1
  474. package/src/families/celo/api/sdk.ts +88 -0
  475. package/src/families/celo/bridge/js.ts +2 -3
  476. package/src/families/celo/cli-transaction.ts +46 -2
  477. package/src/families/celo/datasets/celo.scanAccounts.1.ts +365 -5
  478. package/src/families/celo/errors.ts +5 -0
  479. package/src/families/celo/js-buildTransaction.ts +173 -20
  480. package/src/families/celo/js-createTransaction.ts +2 -0
  481. package/src/families/celo/js-estimateMaxSpendable.ts +2 -2
  482. package/src/families/celo/js-getFeesForTransaction.ts +118 -19
  483. package/src/families/celo/js-getTransactionStatus.ts +72 -17
  484. package/src/families/celo/js-prepareTransaction.ts +13 -7
  485. package/src/families/celo/js-signOperation.ts +22 -5
  486. package/src/families/celo/js-synchronisation.ts +32 -0
  487. package/src/families/celo/logic.ts +184 -0
  488. package/src/families/celo/preload.ts +78 -0
  489. package/src/families/celo/react.ts +35 -0
  490. package/src/families/celo/serialization.ts +61 -0
  491. package/src/families/celo/specs/createActivateVoteMutation.ts +44 -0
  492. package/src/families/celo/specs/createLockMutation.ts +46 -0
  493. package/src/families/celo/specs/createRegisterAccountMutation.ts +34 -0
  494. package/src/families/celo/specs/createRevokeVoteMutation.ts +43 -0
  495. package/src/families/celo/specs/createSendMutation.ts +44 -0
  496. package/src/families/celo/specs/createUnlockMutation.ts +44 -0
  497. package/src/families/celo/specs/createVoteMutation.ts +67 -0
  498. package/src/families/celo/specs/createWithdrawMutation.ts +44 -0
  499. package/src/families/celo/specs/index.ts +8 -0
  500. package/src/families/celo/specs.ts +34 -34
  501. package/src/families/celo/speculos-deviceActions.ts +63 -45
  502. package/src/families/celo/transaction.ts +12 -4
  503. package/src/families/celo/types.ts +113 -0
  504. package/src/families/celo/validators.ts +2 -0
  505. package/src/families/cosmos/__snapshots__/bridge.integration.test.ts.snap +246 -5
  506. package/src/families/cosmos/specs.ts +44 -28
  507. package/src/families/cosmos/speculos-deviceActions.ts +82 -83
  508. package/src/families/crypto_org/specs.ts +3 -0
  509. package/src/families/crypto_org/speculos-deviceActions.ts +58 -59
  510. package/src/families/elrond/specs.ts +21 -4
  511. package/src/families/elrond/speculos-deviceActions.ts +41 -42
  512. package/src/families/ethereum/__snapshots__/bridge.integration.test.ts.snap +90 -90
  513. package/src/families/ethereum/platformAdapter.test.ts +112 -0
  514. package/src/families/ethereum/specs.ts +47 -23
  515. package/src/families/ethereum/speculos-deviceActions.ts +93 -95
  516. package/src/families/filecoin/specs.ts +2 -1
  517. package/src/families/filecoin/speculos-deviceActions.ts +61 -62
  518. package/src/families/hedera/__snapshots__/bridge.integration.test.ts.snap +57 -2
  519. package/src/families/hedera/specs.ts +13 -5
  520. package/src/families/hedera/speculos-deviceActions.ts +59 -60
  521. package/src/families/osmosis/specs.ts +15 -7
  522. package/src/families/osmosis/speculos-deviceActions.ts +82 -83
  523. package/src/families/polkadot/platformAdapter.test.ts +61 -0
  524. package/src/families/polkadot/specs.ts +20 -2
  525. package/src/families/polkadot/speculos-deviceActions.ts +83 -82
  526. package/src/families/ripple/platformAdapter.test.ts +54 -0
  527. package/src/families/ripple/specs.ts +14 -7
  528. package/src/families/ripple/speculos-deviceActions.ts +72 -73
  529. package/src/families/solana/specs.ts +33 -14
  530. package/src/families/solana/speculos-deviceActions.ts +0 -5
  531. package/src/families/stellar/api/horizon.ts +10 -6
  532. package/src/families/stellar/specs.ts +37 -19
  533. package/src/families/stellar/speculos-deviceActions.ts +85 -87
  534. package/src/families/tezos/bakers.whitelist-default.ts +0 -1
  535. package/src/families/tezos/specs.ts +2 -0
  536. package/src/families/tezos/speculos-deviceActions.ts +76 -77
  537. package/src/families/tron/specs.ts +67 -30
  538. package/src/families/tron/speculos-deviceActions.ts +81 -84
  539. package/src/hw/getGenuineCheckFromDeviceId.test.ts +98 -0
  540. package/src/hw/getGenuineCheckFromDeviceId.ts +61 -0
  541. package/src/hw/getLatestAvailableFirmwareFromDeviceId.ts +37 -0
  542. package/src/hw/hooks/useGenuineCheck.test.ts +232 -0
  543. package/src/hw/hooks/useGenuineCheck.ts +138 -0
  544. package/src/hw/hooks/useGetLatestAvailableFirmware.test.ts +111 -0
  545. package/src/hw/hooks/useGetLatestAvailableFirmware.ts +90 -0
  546. package/src/load/speculos.ts +2 -0
  547. package/src/mock/fixtures/cryptoCurrencies.ts +88 -0
  548. package/src/operation.ts +6 -0
  549. package/src/platform/converters.test.ts +49 -282
  550. package/src/platform/logic.test.ts +756 -0
  551. package/src/platform/logic.ts +285 -0
  552. package/src/platform/react.ts +6 -0
  553. package/src/platform/tracking.test.ts +6 -7
  554. package/src/platform/tracking.ts +1 -1
  555. package/src/reconciliation.ts +88 -43
  556. package/lib/bot/test.bot.d.ts +0 -2
  557. package/lib/bot/test.bot.d.ts.map +0 -1
  558. package/lib/bot/test.bot.js +0 -62
  559. package/lib/bot/test.bot.js.map +0 -1
  560. package/lib/generated/speculos-deviceActions.d.ts +0 -56
  561. package/lib/generated/speculos-deviceActions.d.ts.map +0 -1
  562. package/lib/generated/speculos-deviceActions.js +0 -42
  563. package/lib/generated/speculos-deviceActions.js.map +0 -1
  564. package/src/bot/test.bot.ts +0 -21
  565. package/src/generated/speculos-deviceActions.ts +0 -37
@@ -9,30 +9,96 @@ const dataset: CurrenciesData<Transaction> = {
9
9
  {
10
10
  name: "zcash seed 1",
11
11
  apdus: `
12
+ => b001000000
13
+ <= 01055a6361736805322e302e3601029000
12
14
  => e04000000d038000002c8000008580000000
13
- <= 4104c29da5bfbd318cb28878340d4961a999d323d865bfa72d203356544972d63d9c208d0d55e9f1538d34e89be3d08433d2632dcb8b4351e2fcd29ea0158619301f237431515a5736745946577746367853774d53556f6e44684e6a595362687a4d6e386e539a7c029da7a8682df1f473d3b981a7d0fed4a36c9468dba06c72c608a13f0f4b9000
15
+ <= 4104d0505f957a9223ee5041e25c26ae39299faeb71f3bfa03f917234b57a2da9eaf9a945f511e28414da0cd3509e2cdb22849b1b541c51bdacd4aa1f487e9e481fd237431646836314d4173447265663754384e4c4b32515031394a4a3172746d61545a53379141f4613f3c25756fd2158d1cf15b2b81929e9d47350a1f5b7fa0f911429acd9000
14
16
  => e016000000
15
17
  <= 1cb81cbd01055a63617368035a45439000
16
18
  => b001000000
17
- <= 01055a6361736805312e362e339000
18
- => e040000009028000002c80000085
19
- <= 4104ccf669020e2e315fb2ffdb98e6f60fed7b4abed8a013f5fd1bd604f7742207feef8cffcf1aca7f08628dea1abbcf1170b80ccf3809aa560996e5a5baaef4da3323743168444336697270576e50364443396758693577714e61777172596f31514c776274116cdc78b0662d7b875ed9aa73cc1a73c3dbcafb41fe48e5d009ec3d9d9048519000
19
+ <= 01055a6361736805322e302e3601029000
20
+ => e040000015058000002c80000085800000000000000000000000
21
+ <= 4104c92b08aa318b10cb18d061e4261dc1fe77577551f0f20f5cebb2a48b3d7f81261c92c98322ddd01c8568b8f07cabf1feb14bccb35075320ece988b996ac68d5e2374314d70766e56373443505463344473696b6463354d6e6a626341714154704139344ae4ba9536a72b3d815efd9dc5dec8e42545ae20d967dbf21e23cdf145cb2a882a9000
22
+ => e016000000
23
+ <= 1cb81cbd01055a63617368035a45439000
20
24
  => b001000000
21
- <= 01055a6361736805312e362e339000
25
+ <= 01055a6361736805322e302e3601029000
26
+ => e040000009028000002c80000085
27
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
22
28
  => e04000000d038000002c8000008580000000
23
- <= 4104c29da5bfbd318cb28878340d4961a999d323d865bfa72d203356544972d63d9c208d0d55e9f1538d34e89be3d08433d2632dcb8b4351e2fcd29ea0158619301f237431515a5736745946577746367853774d53556f6e44684e6a595362687a4d6e386e539a7c029da7a8682df1f473d3b981a7d0fed4a36c9468dba06c72c608a13f0f4b9000
29
+ <= 4104d0505f957a9223ee5041e25c26ae39299faeb71f3bfa03f917234b57a2da9eaf9a945f511e28414da0cd3509e2cdb22849b1b541c51bdacd4aa1f487e9e481fd237431646836314d4173447265663754384e4c4b32515031394a4a3172746d61545a53379141f4613f3c25756fd2158d1cf15b2b81929e9d47350a1f5b7fa0f911429acd9000
30
+ => b001000000
31
+ <= 01055a6361736805322e302e3601029000
32
+ => e040000015058000002c80000085800000010000000000000000
33
+ <= 41040d0cfd856c3d893f64901389a8f38fbe10aeac80b9817fcdb226ea783fc5ffeaf7b0f89f8f02f4ec6f51eb55d49ef9cd55df1b181542b7eb817ad87057e6316f23743161527a7a636a766e4d6e536a674c4c50667a6778385666356353587157676a44419aac7bcbae487cdbaddf5dc1d73f7d1c55b1a6cae1cb7985da7fbde85cd74de99000
34
+ => e016000000
35
+ <= 1cb81cbd01055a63617368035a45439000
24
36
  => b001000000
25
- <= 01055a6361736805312e362e339000
37
+ <= 01055a6361736805322e302e3601029000
38
+ => e040000009028000002c80000085
39
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
26
40
  => e04000000d038000002c8000008580000001
27
- <= 4104a7e170b44a5d4fc9c4a864d1e7104faeb345d1a2b7c6803c80840459757077fcc5de00b7762e929c5e8d81769946dedf4c3afc277d40e46cf9b69f62d24359cd23743154437146764b704771444332677374706931326459455969564b6b4163466e5772ead8e18cd068d1a41e09151bc67205d71127a18477cf3f71aa67169f449ca8ea9000
41
+ <= 4104a9cc336d7e13fb0b99becdabc01c66d0565ea76f0c4b97162e732e27f212658988bac3ef5826a8a60d62c39e2cb6b1380254ec33bdb8967ac5d72d4dd7ebfe24237431676255584a4e71535652345754584b6f6a4a68655053616d344a646d4357745646a3c086db4fc4460a0247a6f93d9048855cf7e9b3e518ed2e1609cf85840040749000
42
+ => b001000000
43
+ <= 01055a6361736805322e302e3601029000
44
+ => e040000015058000002c80000085800000020000000000000000
45
+ <= 4104ff1dad3e490634df0dc87137d018e2df6b66313f91afdf73570e8131a0f90447eee5e79f422e910fa2b62edce3115d437f2d76473f2c9db413aa481e9843538623743158394238577851366131426a3547573156477a46435444777157776a536733566d9f0184bd8c979e1705e4789a8bcaf8d836a9075c11ead736eb01a0ed2277f41a9000
46
+ => e016000000
47
+ <= 1cb81cbd01055a63617368035a45439000
28
48
  => b001000000
29
- <= 01055a6361736805312e362e339000
49
+ <= 01055a6361736805322e302e3601029000
50
+ => e040000009028000002c80000085
51
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
30
52
  => e04000000d038000002c8000008580000002
31
- <= 410405cf3cc10f2de66cf24cf7a8bb4b71a7e73f4dde1931d110fb7d86871904bdd29990c9d406d2877bbfe02e28b83852432629092aae73741d7fbeb9d49b0679712374314c48474532313975616a64325445423841506a7178364848627133364d6a6744620734254f452d2c62fdaab70cd8374b94f62a9fe6b99579924f2bfb9db0450a0d9000
53
+ <= 41048955b761d4db8de20f7778c8e6343aebb27af1161d3237f68de4dcce5be25d39b4a898c710cb6c576871bab763b0bde28be55a8d0eb471e97f0dc35f7e878681237431656d387870656368673475674e324544765937397542415936545a3164553346587bb240d97df6d862e28c00bc948a089a0b46df79cb9fcbb5b81047a8cd253fb29000
54
+ => b001000000
55
+ <= 01055a6361736805322e302e3601029000
56
+ => e040000015058000002c80000085800000030000000000000000
57
+ <= 41047beed704c2a8c71e59b1f7154bfa7d7f50dfe2fc6fe423e1f0f02fdcd72f16e2edd9c279d2af1cd24a07f384b3b4d2f1061957b1b0a2faf7c31e1547e113a537237431534d6776387737464272427761524d5033366b4135366d7a5a694e777271584e541b9b22184d0eb0c73480c2f56babd2d9fd4165ced816bc67268cbeef1da0e84b9000
58
+ => e016000000
59
+ <= 1cb81cbd01055a63617368035a45439000
32
60
  => b001000000
33
- <= 01055a6361736805312e362e339000
61
+ <= 01055a6361736805322e302e3601029000
62
+ => e040000009028000002c80000085
63
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
34
64
  => e04000000d038000002c8000008580000003
35
- <= 4104bb9a221151ae88ab0d623e9bfbbbdf682db410cf8c4af73e25f640e25973fdbe4d798c9a75e2b755eb6c70e9d52da6cf190f82dd4e1ee755fa82198796598d99237431623951384854646b65623772334b43454a38674862696e6f6248796479316d6e43599b3de4be3cfabb9dbdd7bcb791416f27da1f36ba0032108f6b1739b270b1709000
65
+ <= 4104f4d94db66509e86e1a4b5d892b1bd45a6023f0078498ba74fb2ae7646ed0e84656e0a2fc8206ff28557df988cac4d2044e5ceda3e69bc8cae4e38beeaa5e89cb237431565354703167357758576e59525035704d4e5556437970356a4b64776e5653644d885716b25eb7f98217abcbbb40aa298ac94fd032b28f5e2ebb38b9738aaf17a09000
66
+ => b001000000
67
+ <= 01055a6361736805322e302e3601029000
68
+ => e040000015058000002c80000085800000040000000000000000
69
+ <= 4104292a8f4610e948a4a33c0a19be519ed4196340e8abaecd0096a5b4ad91564ef080308fcfde88fd43b6d7abd8e536ff1f65308772ab80583afeda57f3129ed9b823743153564872547554433258474638613243574b67436e476431724c6f4c3861646e59779d28a599b0bc2ef9b104982cdd54692dff3a9ed36b288bc3ece0f05e29f2909000
70
+ => e016000000
71
+ <= 1cb81cbd01055a63617368035a45439000
72
+ => b001000000
73
+ <= 01055a6361736805322e302e3601029000
74
+ => e040000009028000002c80000085
75
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
76
+ => e04000000d038000002c8000008580000004
77
+ <= 4104d5261d51b5b6539b2e48552d5dcaac87f9e759d5dbd48ce4b2f71244ee03e4424254a9c534c80793543d61fdddb4ef97303da22fe7a515ac896036dc244588752374314c384434664a4332357a79454a3976474565595545745368646e41576753323250c76bb44c366b465c66542422c80ad0d04858d32275599234824f7251e5e8fb849000
78
+ => b001000000
79
+ <= 01055a6361736805322e302e3601029000
80
+ => e040000015058000002c80000085800000050000000000000000
81
+ <= 4104b4dcf8ce4877fa8e77000b1be5999cdd0eb2531e39bca6d1979917f58cc61d9abbad326be8df1864ffd66919b156c25bfcbde2b4f2359b362b768937f23d754b237431566f6278464a41437a75695342454b67625154763931714d4a567171485835596e6b17484a228ead51fd8bf22427d7f75927d29a8359ead395092a8a0bc30f5a2f9000
82
+ => e016000000
83
+ <= 1cb81cbd01055a63617368035a45439000
84
+ => b001000000
85
+ <= 01055a6361736805322e302e3601029000
86
+ => e040000009028000002c80000085
87
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
88
+ => e04000000d038000002c8000008580000005
89
+ <= 4104089a649582dc8d816a2d08030c965261f93d741e970a3d65b743c3549680415478a8e82a346938bdcc634feaa18b2e60db8225f18245d5343a1ae3043b1bd1e7237431547a4d36357438474b71744a483473754146456365576f50416156575a434e5837437f210de237fbc0bfb4b91eca254326ec3aebb47e0fd4fefa2400141010d6be9000
90
+ => b001000000
91
+ <= 01055a6361736805322e302e3601029000
92
+ => e040000015058000002c80000085800000060000000000000000
93
+ <= 41041f7b2a99cf01ac3a4c0bbadc27e51932b02af8303a9d779e5c9d568c0415580926cc812b416d4da8c22e68baf534f036ba7d82a64b433082442311615c69d5b023743154344e486b684c6d63534d38734a34397163673142384631415655676d4278646208130b9a793f12d30486cc2761f0c1cbc4509f7ec3767764aededb1af03671659000
94
+ => e016000000
95
+ <= 1cb81cbd01055a63617368035a45439000
96
+ => b001000000
97
+ <= 01055a6361736805322e302e3601029000
98
+ => e040000009028000002c80000085
99
+ <= 4104ddd8dc9459f1991eb8f4ae03f2095eb66511917de8076e5aa6974fe2cb527a03f2467654f038ecdd123d447de7bd4019870f6f24a6666dee47f456f82aa9b90423743152333457505744657345564654633179686738484a33753738574159337a757136cf91d8c9af339a1f9dd5e9b929a9fa99bc74ab63650b65dce868bf1a3923f96a9000
100
+ => e04000000d038000002c8000008580000006
101
+ <= 4104d738add6a5d2f8a5aa02438330e214a64f43c389432f7fc1ad18513491e53a1d82bcf503e359a959db39e248a68d0ee2e96dc1be53926a4251abce47d43a151d237431556346324c7974664e787658476b5869445744675575624b63655a4a784570446a3668d670b8706233ea69df7860086b01321a8ce0b63fb299b5d9d44ecb7ee3769000
36
102
  `,
37
103
  },
38
104
  ],
@@ -9,26 +9,72 @@ const dataset: CurrenciesData<Transaction> = {
9
9
  {
10
10
  name: "zencash seed 1",
11
11
  apdus: `
12
+ => b001000000
13
+ <= 0107486f72697a656e05322e302e3601029000
12
14
  => e04000000d038000002c8000007980000000
13
- <= 4104ecf3eb0c3454436fd414da75eafad95896209052eef81b06860cc6c14731963e63ae744577e35b51d4e40ebb4366e59e2a20f571384384bfcb804444db6a83d7237a6e687a6f6835647175706b4c71386837697635794c5339627776434e784432554279f29f778d62ee797a06daa97cdda87bc1e18e6cd586ba1207e68574b5efa543539000
15
+ <= 4104e0ece9b023d05def28f923108d4e380e925f3b77622d09b5ec8a48f55c2165dde884c73ba3dd837fb37f1481626d3500e773a809b09d5c0a44743d14e9afafc3237a6e69514a634e736e4e4e6276785a6179797261436376616b6d594652726134704a59d53fa7b0d7126a57f2ecc3b4febadfcb869d966a66306614fe94ff44a1e54e7d9000
14
16
  => e016000000
15
17
  <= 208920960407486f72697a656e035a454e9000
16
18
  => b001000000
17
- <= 0107486f72697a656e05312e362e339000
18
- => e040000009028000002c80000079
19
- <= 4104eee69b0e927018a4a46f30fe967c1a5ba40da2828f5ae8c57b2343b8596af2198363d99a0d77135d93f2d441278297551d6f8e0a96565e810efc03e1c6ec6c4b237a6e69726b5452664c4b674a5a525a4251734d6932554b3239547a39313969586159429facf5df0c974458073fd05717e75137a2002bc7a7b42b86532395b68d88b2469000
19
+ <= 0107486f72697a656e05322e302e3601029000
20
+ => e040000015058000002c80000079800000000000000000000000
21
+ <= 4104e4fe781c463d469ce887e810131cf5a5321f393e1339c21064d3b94c3bdbf4d8bd313d8894e05e0c03cc36b96f07bc271ca102cc8439bcf1729499106f7e74af237a6e643663594c696973726650787472314d75633677656a39355245754c707a347931a32a842de88932ef8bab92c1691b821ec084bc5e378fb442118e12093b581f969000
22
+ => e016000000
23
+ <= 208920960407486f72697a656e035a454e9000
20
24
  => b001000000
21
- <= 0107486f72697a656e05312e362e339000
25
+ <= 0107486f72697a656e05322e302e3601029000
26
+ => e040000009028000002c80000079
27
+ <= 41042e498105f6019af505b255e11dcaf7b02e9ce3150eb7be8c962c50e2f99ee6cf1ae9b7abd5ebc526ab8eb523925ce6637460a36277915ad849f838436d89ef74237a6e57426b776836736a52774274744c6142503663616a543258667933737959446e4a4bf44eb7c7e37ffab644c94124661a77c07466a81bcfb7d989ae09f41c4f81f59000
22
28
  => e04000000d038000002c8000007980000000
23
- <= 4104ecf3eb0c3454436fd414da75eafad95896209052eef81b06860cc6c14731963e63ae744577e35b51d4e40ebb4366e59e2a20f571384384bfcb804444db6a83d7237a6e687a6f6835647175706b4c71386837697635794c5339627776434e784432554279f29f778d62ee797a06daa97cdda87bc1e18e6cd586ba1207e68574b5efa543539000
29
+ <= 4104e0ece9b023d05def28f923108d4e380e925f3b77622d09b5ec8a48f55c2165dde884c73ba3dd837fb37f1481626d3500e773a809b09d5c0a44743d14e9afafc3237a6e69514a634e736e4e4e6276785a6179797261436376616b6d594652726134704a59d53fa7b0d7126a57f2ecc3b4febadfcb869d966a66306614fe94ff44a1e54e7d9000
30
+ => b001000000
31
+ <= 0107486f72697a656e05322e302e3601029000
32
+ => e040000015058000002c80000079800000010000000000000000
33
+ <= 4104b41c16e76ae9d5100ecc3193a6d40e1b1a2a0489a799a665bcfd06a62eeb5bea24a1255e2e1dd2b5a7254d36533d94558f698e2731ba478035f13097e8caf8f8237a6e6f57454d464a6d344c6a636d794168486e6958436675367177707368326a66644860cf4c0d5e084e1f0218a699fe5faf80a3a3879b85feaefa9a16a59584e86bb79000
34
+ => e016000000
35
+ <= 208920960407486f72697a656e035a454e9000
24
36
  => b001000000
25
- <= 0107486f72697a656e05312e362e339000
37
+ <= 0107486f72697a656e05322e302e3601029000
38
+ => e040000009028000002c80000079
39
+ <= 41042e498105f6019af505b255e11dcaf7b02e9ce3150eb7be8c962c50e2f99ee6cf1ae9b7abd5ebc526ab8eb523925ce6637460a36277915ad849f838436d89ef74237a6e57426b776836736a52774274744c6142503663616a543258667933737959446e4a4bf44eb7c7e37ffab644c94124661a77c07466a81bcfb7d989ae09f41c4f81f59000
26
40
  => e04000000d038000002c8000007980000001
27
- <= 4104e35cb5c7e66e75e75ccce990d9b755063b8ccef58aabc106a7b1215c5e54a7bad53d131ce6608a72b966f4e9abcfef56a6c2036c3cbd4d5d63830e67244914c8237a6e5261314a6b7578455755764661695433314566624e4e6a5a6f31797169347777534206552ceb3ebb5cf76aa1e7638ff8dde695def238b8ba9ffda07aa405a1c7de9000
41
+ <= 410440fcf41dee2df61bb7b87a8f584bc06d2ed3edb19c025f7d1f05756e84cd72c7771042b43f9ddbaeee128b3536d64b3633cf103fac36137cecc944ec63715b81237a6e61464a50647a4b4b34743932735462386b6a4e56324e5a5334486d673543354e729a164c5d7d5b90f0775b3500564abeada1e40c3af2b12f40250f813153d123139000
42
+ => b001000000
43
+ <= 0107486f72697a656e05322e302e3601029000
44
+ => e040000015058000002c80000079800000020000000000000000
45
+ <= 410424c4e838284cafbefd3a346ce9b44d275b7935354a44c3fe60ae848ac7855c57181e3c7a1bb67189aebc4c734671375d09f5c4aa5d49895e393989e9a32b811a237a6e635a347446644877434771556e564e6f5143746855517a3642756976476a4736362d51904abad282465eefa15477db8b4c21a3f16cfe6d4dd3c8c65d9c3d066e8b9000
46
+ => e016000000
47
+ <= 208920960407486f72697a656e035a454e9000
28
48
  => b001000000
29
- <= 0107486f72697a656e05312e362e339000
49
+ <= 0107486f72697a656e05322e302e3601029000
50
+ => e040000009028000002c80000079
51
+ <= 41042e498105f6019af505b255e11dcaf7b02e9ce3150eb7be8c962c50e2f99ee6cf1ae9b7abd5ebc526ab8eb523925ce6637460a36277915ad849f838436d89ef74237a6e57426b776836736a52774274744c6142503663616a543258667933737959446e4a4bf44eb7c7e37ffab644c94124661a77c07466a81bcfb7d989ae09f41c4f81f59000
30
52
  => e04000000d038000002c8000007980000002
31
- <= 4104b1d9c8cf69904054c9146d47373d2289a7571ecb373c1fbfddbc75fe90b5f0bdece39d9ef356e1f230aeb8b707cc9c516314386ae88ea3e4b7b17ba30805a195237a6e566a61634c6e6e6765683278593938474c424b4a5373703947353139395a426e345116ea07321a2e2322c8b98ac0911b356dd861d89432142fe51bbeeadf6fca389000
53
+ <= 4104418ceb9381d95d278abefa8f27b7e4a838666700a972d0b8c02adf80cd5ba25a1d20f25cf568f5e4ee2f9ba65756387079e52965964cea1231178bba589e4f02237a6e573279423669716532566d54563136693837567547475377546877733564636933018ea2f30c57bbced4e719bd1c9dbb6bbb212fe74871afc45a8828603baff5149000
54
+ => b001000000
55
+ <= 0107486f72697a656e05322e302e3601029000
56
+ => e040000015058000002c80000079800000030000000000000000
57
+ <= 410498ff2e3e58ca97b982a5bdff894dad7409b6554c6ba5e6d1c2c1f1982f32c9666e03d39d68977f773479a6b20da8e9b1990da01e017419df867f191558a8861e237a6e546b355a6e4e625a75753568334d614c6a3443455363346e446b4a45313844366a82edb5bef5d789281de3fb972568101bc20eb51e41f8935dd4566497ff1925ce9000
58
+ => e016000000
59
+ <= 208920960407486f72697a656e035a454e9000
60
+ => b001000000
61
+ <= 0107486f72697a656e05322e302e3601029000
62
+ => e040000009028000002c80000079
63
+ <= 41042e498105f6019af505b255e11dcaf7b02e9ce3150eb7be8c962c50e2f99ee6cf1ae9b7abd5ebc526ab8eb523925ce6637460a36277915ad849f838436d89ef74237a6e57426b776836736a52774274744c6142503663616a543258667933737959446e4a4bf44eb7c7e37ffab644c94124661a77c07466a81bcfb7d989ae09f41c4f81f59000
64
+ => e04000000d038000002c8000007980000003
65
+ <= 41046519afa0b0538895afa599a5a800bf4f408cbdbdc51a4b5cb6199f27917912a744ad090ec995f706ebc06907e4872fd3c732bf05f9934b3ea102fb6fcd007a6a237a6e627444446336757973484a744559336f46596d70546266664e746d4c7765616d4e7ae33429e9696a63e430fb00ef24acd9c5596096498d3ce438f71961c8e08bfa9000
66
+ => b001000000
67
+ <= 0107486f72697a656e05322e302e3601029000
68
+ => e040000015058000002c80000079800000040000000000000000
69
+ <= 410427b7f6cd81cec70bdb5aa0e72ff317d6ff6f9d56c6325f9e4f1bfdb40778da9875161fc8b2d0bcab818e2140d2d878a7edfb2de9faf8990fcdf7e304f356a470237a6e6b6f5279536a786b365847426442596577556678686f7055547031483959715356ea24c2f1b4ebf902d469ac344de17600d5abe347fb2da0c8b61e986e8b651cf09000
70
+ => e016000000
71
+ <= 208920960407486f72697a656e035a454e9000
72
+ => b001000000
73
+ <= 0107486f72697a656e05322e302e3601029000
74
+ => e040000009028000002c80000079
75
+ <= 41042e498105f6019af505b255e11dcaf7b02e9ce3150eb7be8c962c50e2f99ee6cf1ae9b7abd5ebc526ab8eb523925ce6637460a36277915ad849f838436d89ef74237a6e57426b776836736a52774274744c6142503663616a543258667933737959446e4a4bf44eb7c7e37ffab644c94124661a77c07466a81bcfb7d989ae09f41c4f81f59000
76
+ => e04000000d038000002c8000007980000004
77
+ <= 41044e85fa14679880d142e6038022c9d72c352437125579535cb84a01f393c4ed43b9bedd5fb066c53d5c133028de97ad75a99e0cba155aa6e7ff10ea57a91e7bcf237a6e69716a76374d54467277567366324d536d6443674b753158484b7a7372774a4151d3c0a804feb55211b2d139d5ce8f84cd4b0aa668fb73ab9eb8f8045ac30a79989000
32
78
  `,
33
79
  },
34
80
  ],
@@ -0,0 +1,58 @@
1
+ import btc from "./platformAdapter";
2
+ import { BitcoinTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
3
+ import { FAMILIES } from "@ledgerhq/live-app-sdk";
4
+ import BigNumber from "bignumber.js";
5
+ import { Transaction } from "./types";
6
+
7
+ describe("getPlatformTransactionSignFlowInfos", () => {
8
+ describe("should properly get infos for BTC platform tx", () => {
9
+ test("without fees provided", () => {
10
+ const btcPlatformTx: PlatformTransaction = {
11
+ family: FAMILIES.BITCOIN,
12
+ amount: new BigNumber(100000),
13
+ recipient: "0xABCDEF",
14
+ };
15
+
16
+ const expectedLiveTx: Partial<Transaction> = {
17
+ family: btcPlatformTx.family,
18
+ amount: btcPlatformTx.amount,
19
+ recipient: btcPlatformTx.recipient,
20
+ };
21
+
22
+ const { canEditFees, hasFeesProvided, liveTx } =
23
+ btc.getPlatformTransactionSignFlowInfos(btcPlatformTx);
24
+
25
+ expect(canEditFees).toBe(true);
26
+
27
+ expect(hasFeesProvided).toBe(false);
28
+
29
+ expect(liveTx).toEqual(expectedLiveTx);
30
+ });
31
+
32
+ test("with fees provided", () => {
33
+ const btcPlatformTx: PlatformTransaction = {
34
+ family: FAMILIES.BITCOIN,
35
+ amount: new BigNumber(100000),
36
+ recipient: "0xABCDEF",
37
+ feePerByte: new BigNumber(300),
38
+ };
39
+
40
+ const expectedLiveTx: Partial<Transaction> = {
41
+ family: btcPlatformTx.family,
42
+ amount: btcPlatformTx.amount,
43
+ recipient: btcPlatformTx.recipient,
44
+ feePerByte: btcPlatformTx.feePerByte,
45
+ feesStrategy: null,
46
+ };
47
+
48
+ const { canEditFees, hasFeesProvided, liveTx } =
49
+ btc.getPlatformTransactionSignFlowInfos(btcPlatformTx);
50
+
51
+ expect(canEditFees).toBe(true);
52
+
53
+ expect(hasFeesProvided).toBe(true);
54
+
55
+ expect(liveTx).toEqual(expectedLiveTx);
56
+ });
57
+ });
58
+ });
@@ -11,12 +11,14 @@ import type {
11
11
  Transaction,
12
12
  } from "./types";
13
13
  import { getCryptoCurrencyById, parseCurrencyUnit } from "../../currencies";
14
- import { pickSiblings } from "../../bot/specs";
14
+ import { botTest, pickSiblings } from "../../bot/specs";
15
15
  import { bitcoinPickingStrategy } from "./types";
16
16
  import type { MutationSpec, AppSpec } from "../../bot/types";
17
17
  import { LowerThanMinimumRelayFee } from "../../errors";
18
18
  import { getMinRelayFee, getUTXOStatus } from "./logic";
19
19
  import { DeviceModelId } from "@ledgerhq/devices";
20
+ import { acceptTransaction } from "./speculos-deviceActions";
21
+
20
22
  type Arg = Partial<{
21
23
  minimalAmount: BigNumber;
22
24
  targetAccountSize: number;
@@ -61,8 +63,10 @@ const genericTest = ({
61
63
  );
62
64
 
63
65
  // balance move
64
- expect(account.balance.toString()).toBe(
65
- accountBeforeTransaction.balance.minus(operation.value).toString()
66
+ botTest("account balance decreased with operation value", () =>
67
+ expect(account.balance.toString()).toBe(
68
+ accountBeforeTransaction.balance.minus(operation.value).toString()
69
+ )
66
70
  );
67
71
  // inputs outputs
68
72
  const { txInputs, txOutputs } = status;
@@ -79,21 +83,27 @@ const genericTest = ({
79
83
  recipients: opShape.recipients.slice(0).sort(),
80
84
  });
81
85
 
82
- expect(asSorted(operation)).toMatchObject(
83
- asSorted({
84
- senders: nonDeterministicPicking
85
- ? operation.senders
86
- : txInputs.map((t) => t.address).filter(Boolean),
87
- recipients: txOutputs
88
- .filter((o) => o.address && !o.isChange)
89
- .map((o) =>
90
- account.currency.id === "bitcoin_cash"
91
- ? bchToCashaddrAddressWithoutPrefix(o.address)
92
- : o.address
93
- )
94
- .filter(Boolean),
95
- })
96
- );
86
+ botTest("operation matches tx senders and recipients", () => {
87
+ let expectedSenders = nonDeterministicPicking
88
+ ? operation.senders
89
+ : txInputs.map((t) => t.address).filter(Boolean);
90
+ let expectedRecipients = txOutputs
91
+ .filter((o) => o.address && !o.isChange)
92
+ .map((o) => o.address)
93
+ .filter(Boolean);
94
+ if (account.currency.id === "bitcoin_cash") {
95
+ expectedSenders = expectedSenders.map(bchToCashaddrAddressWithoutPrefix);
96
+ expectedRecipients = expectedRecipients.map(
97
+ bchToCashaddrAddressWithoutPrefix
98
+ );
99
+ }
100
+ expect(asSorted(operation)).toMatchObject(
101
+ asSorted({
102
+ senders: expectedSenders,
103
+ recipients: expectedRecipients,
104
+ })
105
+ );
106
+ });
97
107
  const utxosPicked = (status.txInputs || [])
98
108
  .map(({ previousTxHash, previousOutputIndex }) =>
99
109
  bitcoinResources.utxos.find(
@@ -103,12 +113,14 @@ const genericTest = ({
103
113
  )
104
114
  .filter(Boolean);
105
115
  // verify that no utxo that was supposed to be exploded were used
106
- expect(
107
- utxosPicked.filter(
108
- (u: BitcoinOutput) =>
109
- u.blockHeight && getUTXOStatus(u, transaction.utxoStrategy).excluded
110
- )
111
- ).toEqual([]);
116
+ botTest("picked utxo has been consumed", () =>
117
+ expect(
118
+ utxosPicked.filter(
119
+ (u: BitcoinOutput) =>
120
+ u.blockHeight && getUTXOStatus(u, transaction.utxoStrategy).excluded
121
+ )
122
+ ).toEqual([])
123
+ );
112
124
  };
113
125
 
114
126
  const bitcoinLikeMutations = ({
@@ -225,16 +237,24 @@ const bitcoinLikeMutations = ({
225
237
  )
226
238
  );
227
239
  invariant(utxo, "utxo available");
228
- expect(operation).toMatchObject({
229
- senders: [(utxo as BitcoinOutput).address],
240
+ botTest("sender is only the utxo address", () => {
241
+ let expectedSender = (utxo as BitcoinOutput).address;
242
+ if (account.currency.id === "bitcoin_cash") {
243
+ expectedSender = bchToCashaddrAddressWithoutPrefix(expectedSender);
244
+ }
245
+ expect(operation).toMatchObject({
246
+ senders: [expectedSender],
247
+ });
230
248
  });
231
- expect(
232
- (account as BitcoinAccount).bitcoinResources?.utxos.find(
233
- (u) =>
234
- u.hash === (utxo as BitcoinOutput).hash &&
235
- u.outputIndex === (utxo as BitcoinOutput).outputIndex
236
- )
237
- ).toBe(undefined);
249
+ botTest("utxo has been consumed", () =>
250
+ expect(
251
+ (account as BitcoinAccount).bitcoinResources?.utxos.find(
252
+ (u) =>
253
+ u.hash === (utxo as BitcoinOutput).hash &&
254
+ u.outputIndex === (utxo as BitcoinOutput).outputIndex
255
+ )
256
+ ).toBe(undefined)
257
+ );
238
258
  },
239
259
  },
240
260
  {
@@ -264,14 +284,16 @@ const bitcoinLikeMutations = ({
264
284
  },
265
285
  recoverBadTransactionStatus,
266
286
  test: ({ account }) => {
267
- expect(
268
- (account as BitcoinAccount).bitcoinResources?.utxos
269
- .filter(
270
- (u) => u.blockHeight && u.blockHeight < account.blockHeight - 10
271
- ) // Exclude pending UTXOs and the Utxos just written into new block (10 blocks time)
272
- .reduce((p, c) => p.plus(c.value), new BigNumber(0))
273
- .toString()
274
- ).toBe("0");
287
+ botTest("total of utxos is zero", () =>
288
+ expect(
289
+ (account as BitcoinAccount).bitcoinResources?.utxos
290
+ .filter(
291
+ (u) => u.blockHeight && u.blockHeight < account.blockHeight - 10
292
+ ) // Exclude pending UTXOs and the Utxos just written into new block (10 blocks time)
293
+ .reduce((p, c) => p.plus(c.value), new BigNumber(0))
294
+ .toString()
295
+ ).toBe("0")
296
+ );
275
297
  },
276
298
  },
277
299
  ];
@@ -283,6 +305,7 @@ const bitcoin: AppSpec<Transaction> = {
283
305
  model: DeviceModelId.nanoS,
284
306
  appName: "Bitcoin",
285
307
  },
308
+ genericDeviceAction: acceptTransaction,
286
309
  test: genericTest,
287
310
  mutations: bitcoinLikeMutations(),
288
311
  };
@@ -295,6 +318,7 @@ const bitcoinTestnet: AppSpec<Transaction> = {
295
318
  model: DeviceModelId.nanoS,
296
319
  appName: "Bitcoin Test",
297
320
  },
321
+ genericDeviceAction: acceptTransaction,
298
322
  test: genericTest,
299
323
  mutations: bitcoinLikeMutations({
300
324
  targetAccountSize: 8,
@@ -312,6 +336,7 @@ const bitcoinGold: AppSpec<Transaction> = {
312
336
  model: DeviceModelId.nanoS,
313
337
  appName: "BitcoinGold",
314
338
  },
339
+ genericDeviceAction: acceptTransaction,
315
340
  test: genericTest,
316
341
  mutations: bitcoinLikeMutations(),
317
342
  };
@@ -327,6 +352,7 @@ const bitcoinCash: AppSpec<Transaction> = {
327
352
  model: DeviceModelId.nanoS,
328
353
  appName: "BitcoinCash",
329
354
  },
355
+ genericDeviceAction: acceptTransaction,
330
356
  test: genericTest,
331
357
  mutations: bitcoinLikeMutations({
332
358
  targetAccountSize: 5,
@@ -350,6 +376,7 @@ const peercoin: AppSpec<Transaction> = {
350
376
  model: DeviceModelId.nanoS,
351
377
  appName: "Peercoin",
352
378
  },
379
+ genericDeviceAction: acceptTransaction,
353
380
  test: genericTest,
354
381
  mutations: bitcoinLikeMutations(),
355
382
  };
@@ -361,6 +388,7 @@ const pivx: AppSpec<Transaction> = {
361
388
  model: DeviceModelId.nanoS,
362
389
  appName: "PivX",
363
390
  },
391
+ genericDeviceAction: acceptTransaction,
364
392
  test: genericTest,
365
393
  mutations: bitcoinLikeMutations(),
366
394
  };
@@ -372,6 +400,7 @@ const qtum: AppSpec<Transaction> = {
372
400
  model: DeviceModelId.nanoS,
373
401
  appName: "Qtum",
374
402
  },
403
+ genericDeviceAction: acceptTransaction,
375
404
  test: genericTest,
376
405
  mutations: bitcoinLikeMutations(),
377
406
  };
@@ -383,6 +412,7 @@ const stakenet: AppSpec<Transaction> = {
383
412
  model: DeviceModelId.nanoS,
384
413
  appName: "XSN",
385
414
  },
415
+ genericDeviceAction: acceptTransaction,
386
416
  test: genericTest,
387
417
  mutations: bitcoinLikeMutations(),
388
418
  };
@@ -394,6 +424,7 @@ const vertcoin: AppSpec<Transaction> = {
394
424
  model: DeviceModelId.nanoS,
395
425
  appName: "Vertcoin",
396
426
  },
427
+ genericDeviceAction: acceptTransaction,
397
428
  test: genericTest,
398
429
  mutations: bitcoinLikeMutations(),
399
430
  };
@@ -405,6 +436,7 @@ const viacoin: AppSpec<Transaction> = {
405
436
  model: DeviceModelId.nanoS,
406
437
  appName: "Viacoin",
407
438
  },
439
+ genericDeviceAction: acceptTransaction,
408
440
  test: genericTest,
409
441
  mutations: bitcoinLikeMutations(),
410
442
  };
@@ -416,6 +448,7 @@ const dash: AppSpec<Transaction> = {
416
448
  model: DeviceModelId.nanoS,
417
449
  appName: "Dash",
418
450
  },
451
+ genericDeviceAction: acceptTransaction,
419
452
  test: genericTest,
420
453
  mutations: bitcoinLikeMutations({
421
454
  targetAccountSize: 5,
@@ -433,6 +466,7 @@ const dogecoin: AppSpec<Transaction> = {
433
466
  model: DeviceModelId.nanoS,
434
467
  appName: "Dogecoin",
435
468
  },
469
+ genericDeviceAction: acceptTransaction,
436
470
  test: genericTest,
437
471
  mutations: bitcoinLikeMutations({
438
472
  targetAccountSize: 5,
@@ -450,6 +484,7 @@ const zcash: AppSpec<Transaction> = {
450
484
  model: DeviceModelId.nanoS,
451
485
  appName: "Zcash",
452
486
  },
487
+ genericDeviceAction: acceptTransaction,
453
488
  test: genericTest,
454
489
  mutations: bitcoinLikeMutations({
455
490
  minimalAmount: parseCurrencyUnit(
@@ -466,6 +501,7 @@ const zencash: AppSpec<Transaction> = {
466
501
  model: DeviceModelId.nanoS,
467
502
  appName: "Horizen",
468
503
  },
504
+ genericDeviceAction: acceptTransaction,
469
505
  test: genericTest,
470
506
  mutations: bitcoinLikeMutations({
471
507
  minimalAmount: parseCurrencyUnit(
@@ -482,6 +518,7 @@ const digibyte: AppSpec<Transaction> = {
482
518
  model: DeviceModelId.nanoS,
483
519
  appName: "Digibyte",
484
520
  },
521
+ genericDeviceAction: acceptTransaction,
485
522
  test: genericTest,
486
523
  mutations: bitcoinLikeMutations({
487
524
  targetAccountSize: 5,
@@ -499,6 +536,7 @@ const komodo: AppSpec<Transaction> = {
499
536
  model: DeviceModelId.nanoS,
500
537
  appName: "Komodo",
501
538
  },
539
+ genericDeviceAction: acceptTransaction,
502
540
  test: genericTest,
503
541
  mutations: bitcoinLikeMutations({
504
542
  minimalAmount: parseCurrencyUnit(
@@ -514,6 +552,7 @@ const decred: AppSpec<Transaction> = {
514
552
  model: DeviceModelId.nanoS,
515
553
  appName: "Decred",
516
554
  },
555
+ genericDeviceAction: acceptTransaction,
517
556
  test: genericTest,
518
557
  mutations: bitcoinLikeMutations({
519
558
  minimalAmount: parseCurrencyUnit(
@@ -530,6 +569,7 @@ const litecoin: AppSpec<Transaction> = {
530
569
  model: DeviceModelId.nanoS,
531
570
  appName: "Litecoin",
532
571
  },
572
+ genericDeviceAction: acceptTransaction,
533
573
  test: genericTest,
534
574
  mutations: bitcoinLikeMutations({
535
575
  targetAccountSize: 5,