@ledgerhq/live-common 34.53.0-nightly.20251119110540 → 34.53.0-nightly.20251120023735

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 (237) hide show
  1. package/lib/e2e/deviceInteraction/DeviceController.d.ts +41 -0
  2. package/lib/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
  3. package/lib/e2e/deviceInteraction/DeviceController.js +68 -0
  4. package/lib/e2e/deviceInteraction/DeviceController.js.map +1 -0
  5. package/lib/e2e/families/algorand.d.ts +1 -1
  6. package/lib/e2e/families/algorand.d.ts.map +1 -1
  7. package/lib/e2e/families/algorand.js +5 -5
  8. package/lib/e2e/families/algorand.js.map +1 -1
  9. package/lib/e2e/families/aptos.d.ts +2 -2
  10. package/lib/e2e/families/aptos.d.ts.map +1 -1
  11. package/lib/e2e/families/aptos.js +9 -9
  12. package/lib/e2e/families/aptos.js.map +1 -1
  13. package/lib/e2e/families/bitcoin.d.ts +2 -2
  14. package/lib/e2e/families/bitcoin.d.ts.map +1 -1
  15. package/lib/e2e/families/bitcoin.js +11 -11
  16. package/lib/e2e/families/bitcoin.js.map +1 -1
  17. package/lib/e2e/families/cardano.d.ts +6 -0
  18. package/lib/e2e/families/cardano.d.ts.map +1 -1
  19. package/lib/e2e/families/cardano.js +28 -26
  20. package/lib/e2e/families/cardano.js.map +1 -1
  21. package/lib/e2e/families/celo.d.ts +1 -1
  22. package/lib/e2e/families/celo.d.ts.map +1 -1
  23. package/lib/e2e/families/celo.js +5 -5
  24. package/lib/e2e/families/celo.js.map +1 -1
  25. package/lib/e2e/families/cosmos.d.ts +2 -2
  26. package/lib/e2e/families/cosmos.d.ts.map +1 -1
  27. package/lib/e2e/families/cosmos.js +9 -9
  28. package/lib/e2e/families/cosmos.js.map +1 -1
  29. package/lib/e2e/families/evm.d.ts +2 -0
  30. package/lib/e2e/families/evm.d.ts.map +1 -1
  31. package/lib/e2e/families/evm.js +13 -12
  32. package/lib/e2e/families/evm.js.map +1 -1
  33. package/lib/e2e/families/hedera.d.ts +1 -1
  34. package/lib/e2e/families/hedera.d.ts.map +1 -1
  35. package/lib/e2e/families/hedera.js +5 -5
  36. package/lib/e2e/families/hedera.js.map +1 -1
  37. package/lib/e2e/families/kaspa.d.ts +2 -2
  38. package/lib/e2e/families/kaspa.d.ts.map +1 -1
  39. package/lib/e2e/families/kaspa.js +9 -9
  40. package/lib/e2e/families/kaspa.js.map +1 -1
  41. package/lib/e2e/families/multiversX.d.ts +1 -1
  42. package/lib/e2e/families/multiversX.d.ts.map +1 -1
  43. package/lib/e2e/families/multiversX.js +5 -5
  44. package/lib/e2e/families/multiversX.js.map +1 -1
  45. package/lib/e2e/families/near.d.ts +1 -1
  46. package/lib/e2e/families/near.d.ts.map +1 -1
  47. package/lib/e2e/families/near.js +6 -6
  48. package/lib/e2e/families/near.js.map +1 -1
  49. package/lib/e2e/families/osmosis.d.ts +1 -1
  50. package/lib/e2e/families/osmosis.d.ts.map +1 -1
  51. package/lib/e2e/families/osmosis.js +5 -5
  52. package/lib/e2e/families/osmosis.js.map +1 -1
  53. package/lib/e2e/families/polkadot.d.ts +1 -1
  54. package/lib/e2e/families/polkadot.d.ts.map +1 -1
  55. package/lib/e2e/families/polkadot.js +5 -5
  56. package/lib/e2e/families/polkadot.js.map +1 -1
  57. package/lib/e2e/families/solana.d.ts +2 -2
  58. package/lib/e2e/families/solana.d.ts.map +1 -1
  59. package/lib/e2e/families/solana.js +9 -9
  60. package/lib/e2e/families/solana.js.map +1 -1
  61. package/lib/e2e/families/stellar.d.ts +1 -1
  62. package/lib/e2e/families/stellar.d.ts.map +1 -1
  63. package/lib/e2e/families/stellar.js +5 -5
  64. package/lib/e2e/families/stellar.js.map +1 -1
  65. package/lib/e2e/families/sui.d.ts +1 -1
  66. package/lib/e2e/families/sui.d.ts.map +1 -1
  67. package/lib/e2e/families/sui.js +5 -5
  68. package/lib/e2e/families/sui.js.map +1 -1
  69. package/lib/e2e/families/tezos.d.ts +1 -1
  70. package/lib/e2e/families/tezos.d.ts.map +1 -1
  71. package/lib/e2e/families/tezos.js +7 -8
  72. package/lib/e2e/families/tezos.js.map +1 -1
  73. package/lib/e2e/families/tron.d.ts +1 -1
  74. package/lib/e2e/families/tron.d.ts.map +1 -1
  75. package/lib/e2e/families/tron.js +5 -5
  76. package/lib/e2e/families/tron.js.map +1 -1
  77. package/lib/e2e/families/xrp.d.ts +1 -1
  78. package/lib/e2e/families/xrp.d.ts.map +1 -1
  79. package/lib/e2e/families/xrp.js +5 -5
  80. package/lib/e2e/families/xrp.js.map +1 -1
  81. package/lib/e2e/index.d.ts +6 -0
  82. package/lib/e2e/index.d.ts.map +1 -1
  83. package/lib/e2e/speculos.d.ts +11 -11
  84. package/lib/e2e/speculos.d.ts.map +1 -1
  85. package/lib/e2e/speculos.js +78 -78
  86. package/lib/e2e/speculos.js.map +1 -1
  87. package/lib/families/canton/bridge/mock.d.ts.map +1 -1
  88. package/lib/families/canton/bridge/mock.js +1 -0
  89. package/lib/families/canton/bridge/mock.js.map +1 -1
  90. package/lib/families/canton/react.d.ts +15 -0
  91. package/lib/families/canton/react.d.ts.map +1 -0
  92. package/lib/families/canton/react.js +14 -0
  93. package/lib/families/canton/react.js.map +1 -0
  94. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  95. package/lib/featureFlags/defaultFeatures.js +2 -0
  96. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  97. package/lib/featureFlags/useFeature.d.ts +1 -1
  98. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  99. package/lib/wallet-api/react.d.ts.map +1 -1
  100. package/lib/wallet-api/react.js +2 -0
  101. package/lib/wallet-api/react.js.map +1 -1
  102. package/lib-es/e2e/deviceInteraction/DeviceController.d.ts +41 -0
  103. package/lib-es/e2e/deviceInteraction/DeviceController.d.ts.map +1 -0
  104. package/lib-es/e2e/deviceInteraction/DeviceController.js +63 -0
  105. package/lib-es/e2e/deviceInteraction/DeviceController.js.map +1 -0
  106. package/lib-es/e2e/families/algorand.d.ts +1 -1
  107. package/lib-es/e2e/families/algorand.d.ts.map +1 -1
  108. package/lib-es/e2e/families/algorand.js +5 -4
  109. package/lib-es/e2e/families/algorand.js.map +1 -1
  110. package/lib-es/e2e/families/aptos.d.ts +2 -2
  111. package/lib-es/e2e/families/aptos.d.ts.map +1 -1
  112. package/lib-es/e2e/families/aptos.js +9 -7
  113. package/lib-es/e2e/families/aptos.js.map +1 -1
  114. package/lib-es/e2e/families/bitcoin.d.ts +2 -2
  115. package/lib-es/e2e/families/bitcoin.d.ts.map +1 -1
  116. package/lib-es/e2e/families/bitcoin.js +11 -9
  117. package/lib-es/e2e/families/bitcoin.js.map +1 -1
  118. package/lib-es/e2e/families/cardano.d.ts +6 -0
  119. package/lib-es/e2e/families/cardano.d.ts.map +1 -1
  120. package/lib-es/e2e/families/cardano.js +23 -21
  121. package/lib-es/e2e/families/cardano.js.map +1 -1
  122. package/lib-es/e2e/families/celo.d.ts +1 -1
  123. package/lib-es/e2e/families/celo.d.ts.map +1 -1
  124. package/lib-es/e2e/families/celo.js +5 -4
  125. package/lib-es/e2e/families/celo.js.map +1 -1
  126. package/lib-es/e2e/families/cosmos.d.ts +2 -2
  127. package/lib-es/e2e/families/cosmos.d.ts.map +1 -1
  128. package/lib-es/e2e/families/cosmos.js +9 -7
  129. package/lib-es/e2e/families/cosmos.js.map +1 -1
  130. package/lib-es/e2e/families/evm.d.ts +2 -0
  131. package/lib-es/e2e/families/evm.d.ts.map +1 -1
  132. package/lib-es/e2e/families/evm.js +10 -9
  133. package/lib-es/e2e/families/evm.js.map +1 -1
  134. package/lib-es/e2e/families/hedera.d.ts +1 -1
  135. package/lib-es/e2e/families/hedera.d.ts.map +1 -1
  136. package/lib-es/e2e/families/hedera.js +5 -4
  137. package/lib-es/e2e/families/hedera.js.map +1 -1
  138. package/lib-es/e2e/families/kaspa.d.ts +2 -2
  139. package/lib-es/e2e/families/kaspa.d.ts.map +1 -1
  140. package/lib-es/e2e/families/kaspa.js +9 -7
  141. package/lib-es/e2e/families/kaspa.js.map +1 -1
  142. package/lib-es/e2e/families/multiversX.d.ts +1 -1
  143. package/lib-es/e2e/families/multiversX.d.ts.map +1 -1
  144. package/lib-es/e2e/families/multiversX.js +5 -4
  145. package/lib-es/e2e/families/multiversX.js.map +1 -1
  146. package/lib-es/e2e/families/near.d.ts +1 -1
  147. package/lib-es/e2e/families/near.d.ts.map +1 -1
  148. package/lib-es/e2e/families/near.js +6 -5
  149. package/lib-es/e2e/families/near.js.map +1 -1
  150. package/lib-es/e2e/families/osmosis.d.ts +1 -1
  151. package/lib-es/e2e/families/osmosis.d.ts.map +1 -1
  152. package/lib-es/e2e/families/osmosis.js +5 -4
  153. package/lib-es/e2e/families/osmosis.js.map +1 -1
  154. package/lib-es/e2e/families/polkadot.d.ts +1 -1
  155. package/lib-es/e2e/families/polkadot.d.ts.map +1 -1
  156. package/lib-es/e2e/families/polkadot.js +5 -4
  157. package/lib-es/e2e/families/polkadot.js.map +1 -1
  158. package/lib-es/e2e/families/solana.d.ts +2 -2
  159. package/lib-es/e2e/families/solana.d.ts.map +1 -1
  160. package/lib-es/e2e/families/solana.js +9 -7
  161. package/lib-es/e2e/families/solana.js.map +1 -1
  162. package/lib-es/e2e/families/stellar.d.ts +1 -1
  163. package/lib-es/e2e/families/stellar.d.ts.map +1 -1
  164. package/lib-es/e2e/families/stellar.js +5 -4
  165. package/lib-es/e2e/families/stellar.js.map +1 -1
  166. package/lib-es/e2e/families/sui.d.ts +1 -1
  167. package/lib-es/e2e/families/sui.d.ts.map +1 -1
  168. package/lib-es/e2e/families/sui.js +5 -4
  169. package/lib-es/e2e/families/sui.js.map +1 -1
  170. package/lib-es/e2e/families/tezos.d.ts +1 -1
  171. package/lib-es/e2e/families/tezos.d.ts.map +1 -1
  172. package/lib-es/e2e/families/tezos.js +8 -8
  173. package/lib-es/e2e/families/tezos.js.map +1 -1
  174. package/lib-es/e2e/families/tron.d.ts +1 -1
  175. package/lib-es/e2e/families/tron.d.ts.map +1 -1
  176. package/lib-es/e2e/families/tron.js +5 -4
  177. package/lib-es/e2e/families/tron.js.map +1 -1
  178. package/lib-es/e2e/families/xrp.d.ts +1 -1
  179. package/lib-es/e2e/families/xrp.d.ts.map +1 -1
  180. package/lib-es/e2e/families/xrp.js +5 -4
  181. package/lib-es/e2e/families/xrp.js.map +1 -1
  182. package/lib-es/e2e/index.d.ts +6 -0
  183. package/lib-es/e2e/index.d.ts.map +1 -1
  184. package/lib-es/e2e/speculos.d.ts +11 -11
  185. package/lib-es/e2e/speculos.d.ts.map +1 -1
  186. package/lib-es/e2e/speculos.js +54 -43
  187. package/lib-es/e2e/speculos.js.map +1 -1
  188. package/lib-es/families/canton/bridge/mock.d.ts.map +1 -1
  189. package/lib-es/families/canton/bridge/mock.js +1 -0
  190. package/lib-es/families/canton/bridge/mock.js.map +1 -1
  191. package/lib-es/families/canton/react.d.ts +15 -0
  192. package/lib-es/families/canton/react.d.ts.map +1 -0
  193. package/lib-es/families/canton/react.js +10 -0
  194. package/lib-es/families/canton/react.js.map +1 -0
  195. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  196. package/lib-es/featureFlags/defaultFeatures.js +2 -0
  197. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  198. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  199. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  200. package/lib-es/wallet-api/react.d.ts.map +1 -1
  201. package/lib-es/wallet-api/react.js +2 -0
  202. package/lib-es/wallet-api/react.js.map +1 -1
  203. package/package.json +52 -51
  204. package/src/e2e/deviceInteraction/DeviceController.ts +85 -0
  205. package/src/e2e/families/algorand.ts +20 -13
  206. package/src/e2e/families/aptos.ts +28 -16
  207. package/src/e2e/families/bitcoin.ts +53 -39
  208. package/src/e2e/families/cardano.ts +47 -36
  209. package/src/e2e/families/celo.ts +18 -12
  210. package/src/e2e/families/cosmos.ts +35 -23
  211. package/src/e2e/families/evm.ts +24 -13
  212. package/src/e2e/families/hedera.ts +6 -4
  213. package/src/e2e/families/kaspa.ts +28 -16
  214. package/src/e2e/families/multiversX.ts +16 -10
  215. package/src/e2e/families/near.ts +23 -17
  216. package/src/e2e/families/osmosis.ts +19 -13
  217. package/src/e2e/families/polkadot.ts +19 -13
  218. package/src/e2e/families/solana.ts +35 -23
  219. package/src/e2e/families/stellar.ts +18 -13
  220. package/src/e2e/families/sui.ts +15 -9
  221. package/src/e2e/families/tezos.ts +25 -18
  222. package/src/e2e/families/tron.ts +19 -13
  223. package/src/e2e/families/xrp.ts +19 -13
  224. package/src/e2e/speculos.ts +168 -140
  225. package/src/families/canton/bridge/mock.ts +1 -0
  226. package/src/families/canton/react.ts +50 -0
  227. package/src/featureFlags/defaultFeatures.ts +2 -0
  228. package/src/wallet-api/react.ts +2 -0
  229. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
  230. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
  231. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -26
  232. package/lib/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
  233. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts +0 -3
  234. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.d.ts.map +0 -1
  235. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js +0 -18
  236. package/lib-es/e2e/deviceInteraction/ButtonDeviceSimulator.js.map +0 -1
  237. package/src/e2e/deviceInteraction/ButtonDeviceSimulator.ts +0 -23
@@ -1,12 +1,13 @@
1
1
  import expect from "expect";
2
2
  import { waitFor, containsSubstringInEvent, pressUntilTextFound, getSendEvents } from "../speculos";
3
3
  import { getSpeculosModel, isTouchDevice } from "../speculosAppVersion";
4
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
5
4
  import { DeviceLabels } from "../enum/DeviceLabels";
6
5
  import invariant from "invariant";
7
6
  import { DeviceModelId } from "@ledgerhq/types-devices";
8
7
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
9
- export async function sendBTCBasedCoin(tx) {
8
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
9
+ export const sendBTCBasedCoin = withDeviceController(({ getButtonsController }) => async (tx) => {
10
+ const buttons = getButtonsController();
10
11
  const events = await getSendEvents(tx);
11
12
  const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
12
13
  expect(isAmountCorrect).toBeTruthy();
@@ -16,13 +17,14 @@ export async function sendBTCBasedCoin(tx) {
16
17
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
17
18
  }
18
19
  else {
19
- await pressBoth();
20
+ await buttons.both();
20
21
  await waitFor(DeviceLabels.CONFIRM);
21
22
  await pressUntilTextFound(DeviceLabels.ACCEPT);
22
- await pressBoth();
23
+ await buttons.both();
23
24
  }
24
- }
25
- export async function sendBTC(tx) {
25
+ });
26
+ export const sendBTC = withDeviceController(({ getButtonsController }) => async (tx) => {
27
+ const buttons = getButtonsController();
26
28
  const speculosDevice = getSpeculosModel();
27
29
  try {
28
30
  const events = await getSendEvents(tx);
@@ -34,10 +36,10 @@ export async function sendBTC(tx) {
34
36
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
35
37
  }
36
38
  else {
37
- await pressBoth();
39
+ await buttons.both();
38
40
  if (speculosDevice === DeviceModelId.nanoS) {
39
41
  await pressUntilTextFound(DeviceLabels.SIGN);
40
- await pressBoth();
42
+ await buttons.both();
41
43
  await waitFor(DeviceLabels.BITCOIN_IS_READY);
42
44
  }
43
45
  else {
@@ -48,5 +50,5 @@ export async function sendBTC(tx) {
48
50
  catch (e) {
49
51
  invariant(false, `Error while sending BTC transaction: ${e}`);
50
52
  }
51
- }
53
+ });
52
54
  //# sourceMappingURL=bitcoin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../src/e2e/families/bitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAe;IACpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;IACtC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAAe;IAC3C,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,aAAa,EAAE,EAAE;YACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SACzD;aAAM;YACL,MAAM,SAAS,EAAE,CAAC;YAClB,IAAI,cAAc,KAAK,aAAa,CAAC,KAAK,EAAE;gBAC1C,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,SAAS,EAAE,CAAC;gBAClB,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;aAC9C;iBAAM;gBACL,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;aAChD;SACF;KACF;IAAC,OAAO,CAAC,EAAE;QACV,SAAS,CAAC,KAAK,EAAE,wCAAwC,CAAC,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC"}
1
+ {"version":3,"file":"bitcoin.js","sourceRoot":"","sources":["../../../src/e2e/families/bitcoin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import { Transaction } from "../models/Transaction";
2
+ import { DeviceLabels } from "../enum/DeviceLabels";
3
+ type ActionType = "both" | "right" | "tap" | "swipe" | "confirm" | "hold";
4
+ export declare const sendCardanoNanoS: (_tx: Transaction) => void | Promise<void>;
5
+ export declare const sendCardanoButtonDevice: (tx: Transaction) => void | Promise<void>;
2
6
  export declare function sendCardano(tx: Transaction): Promise<void>;
7
+ export declare const delegateNanoAction: (label: DeviceLabels, action: ActionType) => void | Promise<void>;
3
8
  export declare function delegateCardano(): Promise<void>;
9
+ export {};
4
10
  //# sourceMappingURL=cardano.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4DpD,wBAAsB,WAAW,CAAC,EAAE,EAAE,WAAW,iBAShD;AAkFD,wBAAsB,eAAe,kBAYpC"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAoB1E,eAAO,MAAM,gBAAgB,4CAe5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,2CAgBnC,CAAC;AAEF,wBAAsB,WAAW,CAAC,EAAE,EAAE,WAAW,iBAShD;AA2DD,eAAO,MAAM,kBAAkB,mEAW9B,CAAC;AAgBF,wBAAsB,eAAe,kBAYpC"}
@@ -1,11 +1,10 @@
1
1
  import expect from "expect";
2
2
  import { pressUntilTextFound, containsSubstringInEvent, waitFor } from "../speculos";
3
- import { getSpeculosModel } from "../speculosAppVersion";
4
- import { pressBoth, pressRightButton } from "../deviceInteraction/ButtonDeviceSimulator";
3
+ import { getSpeculosModel, isTouchDevice } from "../speculosAppVersion";
5
4
  import { pressAndRelease, longPressAndRelease, swipeRight, } from "../deviceInteraction/TouchDeviceSimulator";
6
5
  import { DeviceLabels } from "../enum/DeviceLabels";
7
6
  import { DeviceModelId } from "@ledgerhq/types-devices";
8
- import { isTouchDevice } from "../speculosAppVersion";
7
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
9
8
  function validateTransactionData(tx, events) {
10
9
  const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
11
10
  expect(isAddressCorrect).toBeTruthy();
@@ -22,31 +21,33 @@ async function sendCardanoTouchDevices(tx) {
22
21
  await waitFor(DeviceLabels.SIGN_TRANSACTION);
23
22
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
24
23
  }
25
- async function sendCardanoNanoS(_tx) {
24
+ export const sendCardanoNanoS = withDeviceController(({ getButtonsController }) => async (_tx) => {
25
+ const buttons = getButtonsController();
26
26
  await waitFor(DeviceLabels.NEW_ORDINARY);
27
- await pressRightButton();
27
+ await buttons.right();
28
28
  await waitFor(DeviceLabels.SEND_TO_ADDRESS);
29
- await pressBoth();
29
+ await buttons.both();
30
30
  await pressUntilTextFound(DeviceLabels.SEND);
31
- await pressBoth();
31
+ await buttons.both();
32
32
  await waitFor(DeviceLabels.TRANSACTION_FEE);
33
- await pressBoth();
33
+ await buttons.both();
34
34
  await waitFor(DeviceLabels.CONFIRM);
35
- await pressRightButton();
36
- }
37
- async function sendCardanoButtonDevice(tx) {
35
+ await buttons.right();
36
+ });
37
+ export const sendCardanoButtonDevice = withDeviceController(({ getButtonsController }) => async (tx) => {
38
+ const buttons = getButtonsController();
38
39
  await waitFor(DeviceLabels.NEW_ORDINARY);
39
- await pressBoth();
40
+ await buttons.both();
40
41
  await pressUntilTextFound(DeviceLabels.SEND_TO_ADDRESS_2);
41
- await pressBoth();
42
+ await buttons.both();
42
43
  const events = await pressUntilTextFound(DeviceLabels.SEND);
43
44
  validateTransactionData(tx, events);
44
- await pressBoth();
45
+ await buttons.both();
45
46
  await waitFor(DeviceLabels.TRANSACTION_FEE);
46
- await pressBoth();
47
+ await buttons.both();
47
48
  await waitFor(DeviceLabels.CONFIRM);
48
- await pressBoth();
49
- }
49
+ await buttons.both();
50
+ });
50
51
  export async function sendCardano(tx) {
51
52
  const speculosModel = getSpeculosModel();
52
53
  if (isTouchDevice()) {
@@ -112,15 +113,16 @@ async function delegateTouchDevicesAction(label) {
112
113
  break;
113
114
  }
114
115
  }
115
- async function delegateNanoAction(label, action) {
116
+ export const delegateNanoAction = withDeviceController(({ getButtonsController }) => async (label, action) => {
117
+ const buttons = getButtonsController();
116
118
  await waitFor(label);
117
119
  if (action === "both") {
118
- await pressBoth();
120
+ await buttons.both();
119
121
  }
120
122
  else {
121
- await pressRightButton();
123
+ await buttons.right();
122
124
  }
123
- }
125
+ });
124
126
  async function executeDelegateStep(label, action) {
125
127
  try {
126
128
  if (isTouchDevice()) {
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../src/e2e/families/cardano.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../src/e2e/families/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,UAAU,GACX,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAI7E,SAAS,uBAAuB,CAAC,EAAe,EAAE,MAAgB;IAChE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,EAAe;IACpD,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1D,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAClD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,GAAgB,EAAE,EAAE;IACzB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,MAAM,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CACzD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,EAAe,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,mBAAmB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5D,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAe;IAC/C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,IAAI,aAAa,EAAE,EAAE;QACnB,OAAO,uBAAuB,CAAC,EAAE,CAAC,CAAC;KACpC;IACD,IAAI,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE;QACzC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;KAC7B;IACD,OAAO,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QAC5C,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC;QAC1C,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;QACrC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;QAChC,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;QACrC,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;QACjC,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC;QACtC,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;QACrC,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;QACjC,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;KAC3B;IACV,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACrB,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC;QACpC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;QACtC,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC/B,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;QAChC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9B,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/B,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;QACrC,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;QAChC,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/B,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;KACvB;IACV,OAAO,EAAE;QACP,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;QACnC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;QACtC,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC/B,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;QAChC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9B,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9B,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;QACrC,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;QAChC,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;QAC9B,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;KACtB;CACX,CAAC;AAEF,KAAK,UAAU,0BAA0B,CAAC,KAAmB;IAC3D,MAAM,qBAAqB,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,QAAQ,KAAK,EAAE;QACb,KAAK,YAAY,CAAC,eAAe;YAC/B,MAAM,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM;QACR,KAAK,YAAY,CAAC,OAAO;YACvB,MAAM,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM;QACR,KAAK,YAAY,CAAC,YAAY;YAC5B,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM;QACR;YACE,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM;KACT;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CACpD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,KAAmB,EAAE,MAAkB,EAAE,EAAE;IAChD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,MAAM,KAAK,MAAM,EAAE;QACrB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;SAAM;QACL,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;KACvB;AACH,CAAC,CACJ,CAAC;AAEF,KAAK,UAAU,mBAAmB,CAAC,KAAmB,EAAE,MAAkB;IACxE,IAAI;QACF,IAAI,aAAa,EAAE,EAAE;YACnB,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACzC;aAAM;YACL,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACzC;KACF;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,KAAK,GACT,aAAa,KAAK,aAAa,CAAC,IAAI,IAAI,aAAa,KAAK,aAAa,CAAC,MAAM;QAC5E,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK;YACrC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;IAEtC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE;QACnC,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC1C;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { Delegate } from "../models/Delegate";
2
- export declare function delegateCelo(delegatingAccount: Delegate): Promise<void>;
2
+ export declare const delegateCelo: (delegatingAccount: Delegate) => void | Promise<void>;
3
3
  //# sourceMappingURL=celo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"celo.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/celo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,wBAAsB,YAAY,CAAC,iBAAiB,EAAE,QAAQ,iBAU7D"}
1
+ {"version":3,"file":"celo.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/celo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,eAAO,MAAM,YAAY,uDAgBxB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { containsSubstringInEvent, getDelegateEvents, pressUntilTextFound } from "../speculos";
2
2
  import { isTouchDevice } from "../speculosAppVersion";
3
3
  import expect from "expect";
4
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
5
4
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
6
5
  import { DeviceLabels } from "../enum/DeviceLabels";
7
- export async function delegateCelo(delegatingAccount) {
6
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
7
+ export const delegateCelo = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
8
+ const buttons = getButtonsController();
8
9
  const events = await getDelegateEvents(delegatingAccount);
9
10
  const isAmountCorrect = containsSubstringInEvent(delegatingAccount.amount, events);
10
11
  expect(isAmountCorrect).toBeTruthy();
@@ -13,7 +14,7 @@ export async function delegateCelo(delegatingAccount) {
13
14
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
14
15
  }
15
16
  else {
16
- await pressBoth();
17
+ await buttons.both();
17
18
  }
18
- }
19
+ });
19
20
  //# sourceMappingURL=celo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../src/e2e/families/celo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,iBAA2B;IAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC"}
1
+ {"version":3,"file":"celo.js","sourceRoot":"","sources":["../../../src/e2e/families/celo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAC9C,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,iBAA2B,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IAErC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Delegate } from "../models/Delegate";
2
2
  import { Transaction } from "../models/Transaction";
3
- export declare function delegateCosmos(delegatingAccount: Delegate): Promise<void>;
4
- export declare function sendCosmos(tx: Transaction): Promise<void>;
3
+ export declare const delegateCosmos: (delegatingAccount: Delegate) => void | Promise<void>;
4
+ export declare const sendCosmos: (tx: Transaction) => void | Promise<void>;
5
5
  //# sourceMappingURL=cosmos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpD,wBAAsB,cAAc,CAAC,iBAAiB,EAAE,QAAQ,iBAS/D;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,WAAW,iBAY/C"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpD,eAAO,MAAM,cAAc,uDAe1B,CAAC;AAEF,eAAO,MAAM,UAAU,2CAkBtB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import expect from "expect";
2
2
  import { containsSubstringInEvent, getDelegateEvents, getSendEvents } from "../speculos";
3
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
4
3
  import { DeviceLabels } from "../enum/DeviceLabels";
5
4
  import { isTouchDevice } from "../speculosAppVersion";
6
5
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
7
- export async function delegateCosmos(delegatingAccount) {
6
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
7
+ export const delegateCosmos = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
8
+ const buttons = getButtonsController();
8
9
  const events = await getDelegateEvents(delegatingAccount);
9
10
  const isAmountCorrect = containsSubstringInEvent(delegatingAccount.amount, events);
10
11
  expect(isAmountCorrect).toBeTruthy();
@@ -12,10 +13,11 @@ export async function delegateCosmos(delegatingAccount) {
12
13
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
13
14
  }
14
15
  else {
15
- await pressBoth();
16
+ await buttons.both();
16
17
  }
17
- }
18
- export async function sendCosmos(tx) {
18
+ });
19
+ export const sendCosmos = withDeviceController(({ getButtonsController }) => async (tx) => {
20
+ const buttons = getButtonsController();
19
21
  const events = await getSendEvents(tx);
20
22
  const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
21
23
  expect(isAmountCorrect).toBeTruthy();
@@ -25,7 +27,7 @@ export async function sendCosmos(tx) {
25
27
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
26
28
  }
27
29
  else {
28
- await pressBoth();
30
+ await buttons.both();
29
31
  }
30
- }
32
+ });
31
33
  //# sourceMappingURL=cosmos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../src/e2e/families/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,iBAA2B;IAC9D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAe;IAC9C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;IAEtC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../src/e2e/families/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAChD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,iBAA2B,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IAErC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAC5C,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,EAAe,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IAErC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;IAEtC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import { Transaction } from "../models/Transaction";
2
+ export declare const sendEvmButtonDevice: (tx: Transaction) => void | Promise<void>;
3
+ export declare const sendEvmNanoS: (tx: Transaction) => void | Promise<void>;
2
4
  export declare function sendEVM(tx: Transaction): Promise<void>;
3
5
  //# sourceMappingURL=evm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/evm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAwCpD,wBAAsB,OAAO,CAAC,EAAE,EAAE,WAAW,iBAS5C"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/evm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4BpD,eAAO,MAAM,mBAAmB,2CAS/B,CAAC;AAEF,eAAO,MAAM,YAAY,2CASxB,CAAC;AAEF,wBAAsB,OAAO,CAAC,EAAE,EAAE,WAAW,iBAU5C"}
@@ -1,12 +1,11 @@
1
1
  import expect from "expect";
2
2
  import { containsSubstringInEvent, pressUntilTextFound } from "../speculos";
3
- import { getSpeculosModel } from "../speculosAppVersion";
4
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
3
+ import { getSpeculosModel, isTouchDevice } from "../speculosAppVersion";
5
4
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
6
5
  import { DeviceLabels } from "../enum/DeviceLabels";
7
6
  import { Device } from "../enum/Device";
8
7
  import { DeviceModelId } from "@ledgerhq/types-devices";
9
- import { isTouchDevice } from "../speculosAppVersion";
8
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
10
9
  function validateTransactionData(tx, events) {
11
10
  const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
12
11
  expect(isAmountCorrect).toBeTruthy();
@@ -24,16 +23,18 @@ async function sendEvmTouchDevices(tx) {
24
23
  validateTransactionData(tx, events);
25
24
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
26
25
  }
27
- async function sendEvmButtonDevice(tx) {
26
+ export const sendEvmButtonDevice = withDeviceController(({ getButtonsController }) => async (tx) => {
27
+ const buttons = getButtonsController();
28
28
  const events = await pressUntilTextFound(DeviceLabels.SIGN_TRANSACTION);
29
29
  validateTransactionData(tx, events);
30
- await pressBoth();
31
- }
32
- async function sendEvmNanoS(tx) {
30
+ await buttons.both();
31
+ });
32
+ export const sendEvmNanoS = withDeviceController(({ getButtonsController }) => async (tx) => {
33
+ const buttons = getButtonsController();
33
34
  const events = await pressUntilTextFound(DeviceLabels.ACCEPT);
34
35
  validateTransactionData(tx, events);
35
- await pressBoth();
36
- }
36
+ await buttons.both();
37
+ });
37
38
  export async function sendEVM(tx) {
38
39
  const speculosModel = getSpeculosModel();
39
40
  if (isTouchDevice()) {
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../src/e2e/families/evm.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,SAAS,uBAAuB,CAAC,EAAe,EAAE,MAAgB;IAChE,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QACjF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;KACvC;SAAM;QACL,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;KACvC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,EAAe;IAChD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACpE,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,EAAe;IAChD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxE,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAe;IACzC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9D,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAAe;IAC3C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,IAAI,aAAa,EAAE,EAAE;QACnB,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;KAChC;IACD,IAAI,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE;QACzC,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;KACzB;IACD,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../src/e2e/families/evm.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,SAAS,uBAAuB,CAAC,EAAe,EAAE,MAAgB;IAChE,MAAM,eAAe,GAAG,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IAErC,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QACjF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;KACvC;SAAM;QACL,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC;KACvC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,EAAe;IAChD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACpE,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CACrD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,EAAe,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxE,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAC9C,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,EAAe,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9D,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAAe;IAC3C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,aAAa,EAAE,EAAE;QACnB,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;KAChC;IACD,IAAI,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE;QACzC,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;KACzB;IACD,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function sendHedera(): Promise<void>;
1
+ export declare const sendHedera: () => void | Promise<void>;
2
2
  //# sourceMappingURL=hedera.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hedera.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/hedera.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,kBAG/B"}
1
+ {"version":3,"file":"hedera.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/hedera.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,4BAKrB,CAAC"}
@@ -1,8 +1,9 @@
1
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
2
1
  import { DeviceLabels } from "../enum/DeviceLabels";
3
2
  import { pressUntilTextFound } from "../speculos";
4
- export async function sendHedera() {
3
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
4
+ export const sendHedera = withDeviceController(({ getButtonsController }) => async () => {
5
+ const buttons = getButtonsController();
5
6
  await pressUntilTextFound(DeviceLabels.APPROVE);
6
- await pressBoth();
7
- }
7
+ await buttons.both();
8
+ });
8
9
  //# sourceMappingURL=hedera.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hedera.js","sourceRoot":"","sources":["../../../src/e2e/families/hedera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"hedera.js","sourceRoot":"","sources":["../../../src/e2e/families/hedera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE;IACtF,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Delegate } from "../models/Delegate";
2
2
  import { Transaction } from "../models/Transaction";
3
- export declare function sendKaspa(tx: Transaction): Promise<void>;
4
- export declare function delegateKaspa(delegatingAccount: Delegate): Promise<void>;
3
+ export declare const sendKaspa: (tx: Transaction) => void | Promise<void>;
4
+ export declare const delegateKaspa: (delegatingAccount: Delegate) => void | Promise<void>;
5
5
  //# sourceMappingURL=kaspa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kaspa.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/kaspa.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAsB,SAAS,CAAC,EAAE,EAAE,WAAW,iBAO9C;AAED,wBAAsB,aAAa,CAAC,iBAAiB,EAAE,QAAQ,iBAM9D"}
1
+ {"version":3,"file":"kaspa.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/kaspa.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,eAAO,MAAM,SAAS,2CAarB,CAAC;AAEF,eAAO,MAAM,aAAa,uDAYzB,CAAC"}
@@ -1,23 +1,25 @@
1
1
  import expect from "expect";
2
2
  import { waitFor, containsSubstringInEvent, pressUntilTextFound, getSendEvents } from "../speculos";
3
3
  import { isTouchDevice } from "../speculosAppVersion";
4
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
5
4
  import { DeviceLabels } from "../enum/DeviceLabels";
6
5
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
7
- export async function sendKaspa(tx) {
6
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
7
+ export const sendKaspa = withDeviceController(({ getButtonsController }) => async (tx) => {
8
+ const buttons = getButtonsController();
8
9
  await getSendEvents(tx);
9
10
  if (isTouchDevice()) {
10
11
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
11
12
  }
12
13
  else {
13
- await pressBoth();
14
+ await buttons.both();
14
15
  }
15
- }
16
- export async function delegateKaspa(delegatingAccount) {
16
+ });
17
+ export const delegateKaspa = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
18
+ const buttons = getButtonsController();
17
19
  await waitFor(DeviceLabels.REVIEW_OPERATION);
18
20
  const events = await pressUntilTextFound(DeviceLabels.APPROVE);
19
21
  const isAmountCorrect = containsSubstringInEvent(delegatingAccount.amount, events);
20
22
  expect(isAmountCorrect).toBeTruthy();
21
- await pressBoth();
22
- }
23
+ await buttons.both();
24
+ });
23
25
  //# sourceMappingURL=kaspa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kaspa.js","sourceRoot":"","sources":["../../../src/e2e/families/kaspa.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAe;IAC7C,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,iBAA2B;IAC7D,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"kaspa.js","sourceRoot":"","sources":["../../../src/e2e/families/kaspa.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAC3C,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,EAAe,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;IAExB,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,iBAA2B,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IAErC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CACJ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { Delegate } from "../models/Delegate";
2
- export declare function delegateMultiversX(delegatingAccount: Delegate): Promise<void>;
2
+ export declare const delegateMultiversX: (delegatingAccount: Delegate) => void | Promise<void>;
3
3
  //# sourceMappingURL=multiversX.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiversX.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/multiversX.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,wBAAsB,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,iBAQnE"}
1
+ {"version":3,"file":"multiversX.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/multiversX.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,eAAO,MAAM,kBAAkB,uDAc9B,CAAC"}
@@ -1,16 +1,17 @@
1
1
  import { getDelegateEvents, pressUntilTextFound } from "../speculos";
2
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
3
2
  import { DeviceLabels } from "../enum/DeviceLabels";
4
3
  import { isTouchDevice } from "../speculosAppVersion";
5
4
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
6
- export async function delegateMultiversX(delegatingAccount) {
5
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
6
+ export const delegateMultiversX = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
7
+ const buttons = getButtonsController();
7
8
  await getDelegateEvents(delegatingAccount);
8
9
  if (isTouchDevice()) {
9
10
  await pressUntilTextFound(DeviceLabels.HOLD_TO_SIGN);
10
11
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
11
12
  }
12
13
  else {
13
- await pressBoth();
14
+ await buttons.both();
14
15
  }
15
- }
16
+ });
16
17
  //# sourceMappingURL=multiversX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiversX.js","sourceRoot":"","sources":["../../../src/e2e/families/multiversX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,iBAA2B;IAClE,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC"}
1
+ {"version":3,"file":"multiversX.js","sourceRoot":"","sources":["../../../src/e2e/families/multiversX.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CACpD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,iBAA2B,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAE3C,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { Delegate } from "../models/Delegate";
2
- export declare function delegateNear(delegatingAccount: Delegate): Promise<void>;
2
+ export declare const delegateNear: (delegatingAccount: Delegate) => void | Promise<void>;
3
3
  //# sourceMappingURL=near.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/near.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAY9C,wBAAsB,YAAY,CAAC,iBAAiB,EAAE,QAAQ,iBAe7D"}
1
+ {"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/near.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAY9C,eAAO,MAAM,YAAY,uDAqBxB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import expect from "expect";
2
2
  import { waitFor, containsSubstringInEvent, getDelegateEvents, pressUntilTextFound, } from "../speculos";
3
3
  import { isTouchDevice } from "../speculosAppVersion";
4
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
5
4
  import { DeviceLabels } from "../enum/DeviceLabels";
6
5
  import { longPressAndRelease, pressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
7
- export async function delegateNear(delegatingAccount) {
6
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
7
+ export const delegateNear = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
8
+ const buttons = getButtonsController();
8
9
  const events = await getDelegateEvents(delegatingAccount);
9
10
  const isProviderCorrect = containsSubstringInEvent(delegatingAccount.provider, events);
10
11
  expect(isProviderCorrect).toBeTruthy();
@@ -15,10 +16,10 @@ export async function delegateNear(delegatingAccount) {
15
16
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
16
17
  }
17
18
  else {
18
- await pressBoth();
19
+ await buttons.both();
19
20
  await waitFor(DeviceLabels.VIEW_ACTION);
20
21
  await pressUntilTextFound(DeviceLabels.SIGN);
21
- await pressBoth();
22
+ await buttons.both();
22
23
  }
23
- }
24
+ });
24
25
  //# sourceMappingURL=near.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"near.js","sourceRoot":"","sources":["../../../src/e2e/families/near.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,iBAA2B;IAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC"}
1
+ {"version":3,"file":"near.js","sourceRoot":"","sources":["../../../src/e2e/families/near.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAC9C,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,iBAA2B,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC;IAEvC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { Delegate } from "../models/Delegate";
2
- export declare function delegateOsmosis(delegatingAccount: Delegate): Promise<void>;
2
+ export declare const delegateOsmosis: (delegatingAccount: Delegate) => void | Promise<void>;
3
3
  //# sourceMappingURL=osmosis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"osmosis.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/osmosis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQ9C,wBAAsB,eAAe,CAAC,iBAAiB,EAAE,QAAQ,iBAWhE"}
1
+ {"version":3,"file":"osmosis.d.ts","sourceRoot":"","sources":["../../../src/e2e/families/osmosis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQ9C,eAAO,MAAM,eAAe,uDAiB3B,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { pressUntilTextFound, containsSubstringInEvent, getDelegateEvents } from "../speculos";
2
2
  import { isTouchDevice } from "../speculosAppVersion";
3
3
  import expect from "expect";
4
- import { pressBoth } from "../deviceInteraction/ButtonDeviceSimulator";
5
4
  import { DeviceLabels } from "../enum/DeviceLabels";
6
5
  import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
7
- export async function delegateOsmosis(delegatingAccount) {
6
+ import { withDeviceController } from "../deviceInteraction/DeviceController";
7
+ export const delegateOsmosis = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
8
+ const buttons = getButtonsController();
8
9
  const events = await getDelegateEvents(delegatingAccount);
9
10
  const amountInUosmo = (Number(delegatingAccount.amount) * 1_000_000).toString();
10
11
  const isAmountCorrect = containsSubstringInEvent(amountInUosmo, events);
@@ -14,7 +15,7 @@ export async function delegateOsmosis(delegatingAccount) {
14
15
  await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
15
16
  }
16
17
  else {
17
- await pressBoth();
18
+ await buttons.both();
18
19
  }
19
- }
20
+ });
20
21
  //# sourceMappingURL=osmosis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"osmosis.js","sourceRoot":"","sources":["../../../src/e2e/families/osmosis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,iBAA2B;IAC/D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IACrC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,SAAS,EAAE,CAAC;KACnB;AACH,CAAC"}
1
+ {"version":3,"file":"osmosis.js","sourceRoot":"","sources":["../../../src/e2e/families/osmosis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CACjD,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3B,KAAK,EAAE,iBAA2B,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;IAErC,IAAI,aAAa,EAAE,EAAE;QACnB,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;KACtB;AACH,CAAC,CACJ,CAAC"}