@trezor/connect 9.6.5-beta.2 → 9.7.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/CHANGELOG.md +43 -15
  2. package/README.md +1 -1
  3. package/lib/api/applyFlags.js +31 -26
  4. package/lib/api/applySettings.js +43 -40
  5. package/lib/api/authenticateDevice.js +82 -54
  6. package/lib/api/authorizeCoinjoin.js +35 -28
  7. package/lib/api/backupDevice.js +32 -27
  8. package/lib/api/bitcoin/TransactionComposer.js +131 -123
  9. package/lib/api/bitcoin/createPendingTx.js +55 -52
  10. package/lib/api/bitcoin/enhanceSignTx.js +57 -55
  11. package/lib/api/bitcoin/index.js +4 -1
  12. package/lib/api/bitcoin/inputs.js +71 -46
  13. package/lib/api/bitcoin/outputs.js +108 -85
  14. package/lib/api/bitcoin/refTx.d.ts +1 -1
  15. package/lib/api/bitcoin/refTx.js +233 -201
  16. package/lib/api/bitcoin/signtx.js +208 -152
  17. package/lib/api/bitcoin/signtxLegacy.js +169 -119
  18. package/lib/api/bitcoin/signtxVerify.js +80 -67
  19. package/lib/api/bitcoin/transactionBytes.js +61 -59
  20. package/lib/api/bleUnpair.js +28 -25
  21. package/lib/api/blockchainDisconnect.js +31 -24
  22. package/lib/api/blockchainEstimateFee.js +94 -61
  23. package/lib/api/blockchainEvmRpcCall.js +51 -34
  24. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +1 -1
  25. package/lib/api/blockchainGetAccountBalanceHistory.js +50 -32
  26. package/lib/api/blockchainGetCurrentFiatRates.d.ts +1 -1
  27. package/lib/api/blockchainGetCurrentFiatRates.js +43 -29
  28. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +1 -1
  29. package/lib/api/blockchainGetFiatRatesForTimestamps.js +49 -32
  30. package/lib/api/blockchainGetInfo.js +31 -22
  31. package/lib/api/blockchainGetTransactions.d.ts +1 -1
  32. package/lib/api/blockchainGetTransactions.js +36 -24
  33. package/lib/api/blockchainSetCustomBackend.js +34 -25
  34. package/lib/api/blockchainSubscribe.js +57 -36
  35. package/lib/api/blockchainSubscribeFiatRates.js +36 -24
  36. package/lib/api/blockchainUnsubscribe.js +57 -37
  37. package/lib/api/blockchainUnsubscribeFiatRates.js +31 -22
  38. package/lib/api/cancelCoinjoinAuthorization.js +26 -20
  39. package/lib/api/cardano/api/cardanoComposeTransaction.js +75 -50
  40. package/lib/api/cardano/api/cardanoGetAddress.js +105 -102
  41. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +59 -56
  42. package/lib/api/cardano/api/cardanoGetPublicKey.js +58 -58
  43. package/lib/api/cardano/api/cardanoSignMessage.js +81 -78
  44. package/lib/api/cardano/api/cardanoSignTransaction.js +269 -240
  45. package/lib/api/cardano/api/index.js +40 -7
  46. package/lib/api/cardano/cardanoAddressParameters.js +71 -65
  47. package/lib/api/cardano/cardanoAuxiliaryData.js +68 -63
  48. package/lib/api/cardano/cardanoCertificate.js +124 -119
  49. package/lib/api/cardano/cardanoInputs.js +33 -33
  50. package/lib/api/cardano/cardanoOutputs.d.ts +1 -1
  51. package/lib/api/cardano/cardanoOutputs.js +63 -61
  52. package/lib/api/cardano/cardanoTokenBundle.d.ts +2 -2
  53. package/lib/api/cardano/cardanoTokenBundle.js +18 -13
  54. package/lib/api/cardano/cardanoUtils.js +94 -89
  55. package/lib/api/cardano/cardanoWitnesses.js +46 -42
  56. package/lib/api/changeLanguage.js +40 -29
  57. package/lib/api/changePin.js +21 -16
  58. package/lib/api/changeWipeCode.js +24 -16
  59. package/lib/api/cipherKeyValue.js +42 -41
  60. package/lib/api/common/Discovery.js +114 -112
  61. package/lib/api/common/paramsValidator.js +110 -116
  62. package/lib/api/composeTransaction.d.ts +1 -1
  63. package/lib/api/composeTransaction.js +307 -256
  64. package/lib/api/discoverAccounts.js +291 -191
  65. package/lib/api/eos/api/eosGetPublicKey.js +56 -52
  66. package/lib/api/eos/api/eosSignTransaction.js +35 -26
  67. package/lib/api/eos/api/index.js +16 -3
  68. package/lib/api/eos/eosSignTx.js +308 -312
  69. package/lib/api/ethereum/api/ethereumGetAddress.js +106 -107
  70. package/lib/api/ethereum/api/ethereumGetPublicKey.js +72 -62
  71. package/lib/api/ethereum/api/ethereumSignMessage.js +55 -48
  72. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +33 -0
  73. package/lib/api/ethereum/api/ethereumSignTransaction.js +137 -132
  74. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +6 -4
  75. package/lib/api/ethereum/api/ethereumSignTypedData.js +183 -171
  76. package/lib/api/ethereum/api/ethereumVerifyMessage.js +27 -24
  77. package/lib/api/ethereum/api/index.js +40 -7
  78. package/lib/api/ethereum/ethereumDefinitions.js +94 -87
  79. package/lib/api/ethereum/ethereumSignTx.js +116 -111
  80. package/lib/api/ethereum/ethereumSignTypedData.js +98 -95
  81. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +11 -0
  82. package/lib/api/evoluGetDelegatedIdentityKey.js +41 -0
  83. package/lib/api/evoluGetNode.js +24 -17
  84. package/lib/api/evoluSignRegistrationRequest.d.ts +12 -0
  85. package/lib/api/evoluSignRegistrationRequest.js +35 -0
  86. package/lib/api/firmware/calculateFirmwareHash.js +44 -32
  87. package/lib/api/firmware/getBinary.js +30 -22
  88. package/lib/api/firmware/index.js +46 -8
  89. package/lib/api/firmware/modifyFirmware.js +13 -12
  90. package/lib/api/firmware/parseFirmwareHeaders.js +29 -30
  91. package/lib/api/firmware/uploadFirmware.js +84 -67
  92. package/lib/api/firmware/verifyEntropy.js +88 -83
  93. package/lib/api/getAccountDescriptor.js +118 -120
  94. package/lib/api/getAccountInfo.d.ts +14 -14
  95. package/lib/api/getAccountInfo.js +316 -287
  96. package/lib/api/getAddress.js +128 -118
  97. package/lib/api/getCoinInfo.js +22 -17
  98. package/lib/api/getDeviceState.js +16 -10
  99. package/lib/api/getFeatures.d.ts +5 -1
  100. package/lib/api/getFeatures.js +15 -12
  101. package/lib/api/getFirmwareHash.js +23 -18
  102. package/lib/api/getNonce.js +12 -9
  103. package/lib/api/getOwnershipId.js +57 -51
  104. package/lib/api/getOwnershipProof.js +66 -60
  105. package/lib/api/getPublicKey.js +72 -66
  106. package/lib/api/getSettings.js +12 -9
  107. package/lib/api/index.d.ts +2 -0
  108. package/lib/api/index.js +350 -58
  109. package/lib/api/loadDevice.js +40 -35
  110. package/lib/api/monero/api/index.js +28 -5
  111. package/lib/api/monero/api/moneroGetAddress.js +108 -82
  112. package/lib/api/monero/api/moneroGetWatchKey.js +37 -32
  113. package/lib/api/monero/api/moneroKeyImageSync.js +111 -107
  114. package/lib/api/monero/api/moneroSignTransaction.js +173 -185
  115. package/lib/api/nem/api/index.js +16 -3
  116. package/lib/api/nem/api/nemGetAddress.js +107 -102
  117. package/lib/api/nem/api/nemSignTransaction.js +25 -20
  118. package/lib/api/nem/nemSignTx.js +128 -125
  119. package/lib/api/pushTransaction.js +31 -27
  120. package/lib/api/recoveryDevice.js +44 -39
  121. package/lib/api/requestLogin.d.ts +0 -1
  122. package/lib/api/requestLogin.js +47 -52
  123. package/lib/api/resetDevice.js +100 -90
  124. package/lib/api/ripple/api/index.js +16 -3
  125. package/lib/api/ripple/api/rippleGetAddress.js +92 -88
  126. package/lib/api/ripple/api/rippleSignTransaction.js +44 -34
  127. package/lib/api/setBrightness.js +21 -16
  128. package/lib/api/setBusy.js +27 -20
  129. package/lib/api/setProxy.js +22 -15
  130. package/lib/api/showDeviceTutorial.js +18 -15
  131. package/lib/api/signMessage.js +50 -46
  132. package/lib/api/signTransaction.js +325 -238
  133. package/lib/api/solana/additionalInfo.js +17 -14
  134. package/lib/api/solana/api/index.js +28 -5
  135. package/lib/api/solana/api/solanaComposeTransaction.js +46 -50
  136. package/lib/api/solana/api/solanaGetAddress.js +92 -90
  137. package/lib/api/solana/api/solanaGetPublicKey.js +56 -52
  138. package/lib/api/solana/api/solanaSignTransaction.js +175 -168
  139. package/lib/api/solana/solanaDefinitions.js +32 -25
  140. package/lib/api/solana/solanaUtils.d.ts +2 -2
  141. package/lib/api/solana/solanaUtils.js +231 -177
  142. package/lib/api/stellar/api/index.js +16 -3
  143. package/lib/api/stellar/api/stellarGetAddress.js +92 -88
  144. package/lib/api/stellar/api/stellarSignTransaction.js +51 -44
  145. package/lib/api/stellar/stellarSignTx.js +184 -179
  146. package/lib/api/tezos/api/index.js +22 -4
  147. package/lib/api/tezos/api/tezosGetAddress.js +92 -88
  148. package/lib/api/tezos/api/tezosGetPublicKey.js +55 -51
  149. package/lib/api/tezos/api/tezosSignTransaction.js +23 -18
  150. package/lib/api/tezos/tezosSignTx.js +183 -169
  151. package/lib/api/thpGetCredentials.js +23 -20
  152. package/lib/api/thpRemoveCredentials.js +28 -21
  153. package/lib/api/unlockPath.js +28 -21
  154. package/lib/api/verifyMessage.js +35 -33
  155. package/lib/api/wipeDevice.js +39 -34
  156. package/lib/backend/BackendManager.js +127 -107
  157. package/lib/backend/Blockchain.d.ts +1 -1
  158. package/lib/backend/Blockchain.js +220 -205
  159. package/lib/backend/BlockchainLink.js +17 -5
  160. package/lib/backend/fees/BitcoinFeeLevels.js +41 -34
  161. package/lib/backend/fees/EthereumFeeLevels.js +51 -51
  162. package/lib/backend/fees/MiscFeeLevels.js +25 -24
  163. package/lib/backend/fees/index.js +28 -21
  164. package/lib/constants/cardano.js +11 -8
  165. package/lib/constants/errors.js +72 -65
  166. package/lib/constants/firmware.js +5 -5
  167. package/lib/constants/index.js +16 -3
  168. package/lib/constants/nem.js +19 -16
  169. package/lib/constants/network.js +15 -22
  170. package/lib/constants/utxo.js +4 -1
  171. package/lib/core/AbstractMethod.d.ts +1 -1
  172. package/lib/core/AbstractMethod.js +248 -224
  173. package/lib/core/index.js +936 -775
  174. package/lib/core/method.js +19 -16
  175. package/lib/core/method.native.js +28 -23
  176. package/lib/core/onCallFirmwareUpdate.js +368 -299
  177. package/lib/data/DataManager.js +85 -77
  178. package/lib/data/analyticsInfo.js +35 -29
  179. package/lib/data/coinInfo.js +154 -156
  180. package/lib/data/config.d.ts +1 -1
  181. package/lib/data/config.js +362 -326
  182. package/lib/data/connectSettings.js +131 -144
  183. package/lib/data/defaultFeeLevels.js +154 -108
  184. package/lib/data/firmwareInfo.d.ts +1 -0
  185. package/lib/data/firmwareInfo.js +407 -377
  186. package/lib/data/thpSettings.js +36 -35
  187. package/lib/data/udevInfo.js +24 -24
  188. package/lib/data/version.d.ts +1 -1
  189. package/lib/data/version.js +6 -5
  190. package/lib/device/Device.d.ts +10 -7
  191. package/lib/device/Device.js +731 -749
  192. package/lib/device/DeviceCommands.js +226 -194
  193. package/lib/device/DeviceCurrentSession.d.ts +427 -337
  194. package/lib/device/DeviceCurrentSession.js +235 -236
  195. package/lib/device/DeviceList.d.ts +2 -0
  196. package/lib/device/DeviceList.js +219 -181
  197. package/lib/device/StateStorage.js +32 -29
  198. package/lib/device/TransportList.d.ts +1 -1
  199. package/lib/device/TransportList.js +37 -36
  200. package/lib/device/TransportManager.js +136 -140
  201. package/lib/device/calculateRevisionForDevice.js +20 -14
  202. package/lib/device/checkFirmwareRevision.js +66 -53
  203. package/lib/device/resolveDescriptorForTaproot.js +26 -16
  204. package/lib/device/thp/handshake.js +95 -82
  205. package/lib/device/thp/index.js +53 -38
  206. package/lib/device/thp/pairing.js +209 -199
  207. package/lib/device/thp/session.js +27 -19
  208. package/lib/device/thp/thpCall.js +53 -43
  209. package/lib/device/workflow/checkFirmwareHash.js +77 -67
  210. package/lib/device/workflow/checkFirmwareHashWithRetries.js +32 -29
  211. package/lib/device/workflow/handshake.js +50 -41
  212. package/lib/device/workflow/index.js +10 -2
  213. package/lib/device/workflow/trezorPushNotification.js +68 -63
  214. package/lib/device/workflow/validateState.js +156 -123
  215. package/lib/events/blockchain.js +13 -10
  216. package/lib/events/call.d.ts +6 -4
  217. package/lib/events/call.js +14 -13
  218. package/lib/events/core.js +24 -21
  219. package/lib/events/device.d.ts +2 -2
  220. package/lib/events/device.js +32 -19
  221. package/lib/events/iframe.js +13 -10
  222. package/lib/events/index.d.ts +0 -1
  223. package/lib/events/index.js +6 -3
  224. package/lib/events/popup.js +20 -17
  225. package/lib/events/transport.d.ts +2 -2
  226. package/lib/events/transport.js +16 -11
  227. package/lib/events/ui-promise.js +4 -1
  228. package/lib/events/ui-request.d.ts +0 -4
  229. package/lib/events/ui-request.js +48 -46
  230. package/lib/events/ui-response.d.ts +2 -2
  231. package/lib/events/ui-response.js +20 -17
  232. package/lib/events/webextension.js +9 -6
  233. package/lib/exports.js +10 -2
  234. package/lib/factory.d.ts +3 -2
  235. package/lib/factory.js +34 -141
  236. package/lib/impl/core-in-module.d.ts +1 -8
  237. package/lib/impl/core-in-module.js +186 -211
  238. package/lib/impl/dynamic.d.ts +0 -1
  239. package/lib/impl/dynamic.js +108 -97
  240. package/lib/index-browser.d.ts +1 -0
  241. package/lib/index-browser.js +18 -16
  242. package/lib/index.d.ts +2 -0
  243. package/lib/index.js +144 -148
  244. package/lib/tsconfig.lib.tsbuildinfo +1 -1
  245. package/lib/types/account.js +4 -1
  246. package/lib/types/api/applyFlags.js +4 -1
  247. package/lib/types/api/applySettings.d.ts +3 -3
  248. package/lib/types/api/applySettings.js +7 -7
  249. package/lib/types/api/authenticateDevice.js +7 -4
  250. package/lib/types/api/authorizeCoinjoin.js +13 -10
  251. package/lib/types/api/backupDevice.js +4 -1
  252. package/lib/types/api/bitcoin/index.d.ts +5 -2
  253. package/lib/types/api/bitcoin/index.js +14 -11
  254. package/lib/types/api/bleUnpair.js +4 -1
  255. package/lib/types/api/blockchainDisconnect.js +4 -1
  256. package/lib/types/api/blockchainEstimateFee.js +4 -1
  257. package/lib/types/api/blockchainEvmRpcCall.js +4 -1
  258. package/lib/types/api/blockchainGetAccountBalanceHistory.js +4 -1
  259. package/lib/types/api/blockchainGetCurrentFiatRates.js +4 -1
  260. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +4 -1
  261. package/lib/types/api/blockchainGetInfo.js +4 -1
  262. package/lib/types/api/blockchainGetTransactions.js +4 -1
  263. package/lib/types/api/blockchainSetCustomBackend.js +4 -1
  264. package/lib/types/api/blockchainSubscribe.js +4 -1
  265. package/lib/types/api/blockchainSubscribeFiatRates.js +4 -1
  266. package/lib/types/api/blockchainUnsubscribe.js +4 -1
  267. package/lib/types/api/blockchainUnsubscribeFiatRates.js +4 -1
  268. package/lib/types/api/cancel.js +4 -1
  269. package/lib/types/api/cancelCoinjoinAuthorization.js +5 -2
  270. package/lib/types/api/cardano/index.d.ts +4 -4
  271. package/lib/types/api/cardano/index.js +173 -180
  272. package/lib/types/api/cardanoComposeTransaction.js +76 -65
  273. package/lib/types/api/cardanoGetAddress.js +4 -1
  274. package/lib/types/api/cardanoGetNativeScriptHash.js +4 -1
  275. package/lib/types/api/cardanoGetPublicKey.js +4 -1
  276. package/lib/types/api/cardanoSignMessage.js +4 -1
  277. package/lib/types/api/cardanoSignTransaction.js +4 -1
  278. package/lib/types/api/changeLanguage.d.ts +1 -1
  279. package/lib/types/api/changeLanguage.js +13 -13
  280. package/lib/types/api/changePin.js +4 -1
  281. package/lib/types/api/changeWipeCode.js +4 -1
  282. package/lib/types/api/cipherKeyValue.d.ts +2 -2
  283. package/lib/types/api/cipherKeyValue.js +11 -8
  284. package/lib/types/api/composeTransaction.js +4 -1
  285. package/lib/types/api/device.js +1 -2
  286. package/lib/types/api/disableWebUSB.js +4 -1
  287. package/lib/types/api/discoverAccounts.js +204 -55
  288. package/lib/types/api/dispose.js +4 -1
  289. package/lib/types/api/eos/index.d.ts +3 -3
  290. package/lib/types/api/eos/index.js +106 -162
  291. package/lib/types/api/eosGetPublicKey.js +4 -1
  292. package/lib/types/api/eosSignTransaction.js +4 -1
  293. package/lib/types/api/ethereum/index.d.ts +11 -7
  294. package/lib/types/api/ethereum/index.js +70 -65
  295. package/lib/types/api/ethereumGetAddress.js +4 -1
  296. package/lib/types/api/ethereumGetPublicKey.js +4 -1
  297. package/lib/types/api/ethereumSignMessage.js +4 -1
  298. package/lib/types/api/ethereumSignTransaction.js +4 -1
  299. package/lib/types/api/ethereumSignTypedData.js +4 -1
  300. package/lib/types/api/ethereumVerifyMessage.js +4 -1
  301. package/lib/types/api/evoluGetDelegatedIdentityKey.d.ts +9 -0
  302. package/lib/types/api/evoluGetDelegatedIdentityKey.js +6 -0
  303. package/lib/types/api/evoluGetNode.js +4 -1
  304. package/lib/types/api/evoluSignRegistrationRequest.d.ts +4 -0
  305. package/lib/types/api/evoluSignRegistrationRequest.js +6 -0
  306. package/lib/types/api/firmwareUpdate.d.ts +1 -1
  307. package/lib/types/api/firmwareUpdate.js +12 -12
  308. package/lib/types/api/getAccountDescriptor.js +8 -5
  309. package/lib/types/api/getAccountInfo.js +4 -1
  310. package/lib/types/api/getAddress.js +11 -11
  311. package/lib/types/api/getCoinInfo.js +4 -1
  312. package/lib/types/api/getDeviceState.js +4 -1
  313. package/lib/types/api/getFeatures.js +4 -1
  314. package/lib/types/api/getFirmwareHash.js +4 -1
  315. package/lib/types/api/getNonce.d.ts +1 -1
  316. package/lib/types/api/getNonce.js +4 -1
  317. package/lib/types/api/getOwnershipId.js +8 -5
  318. package/lib/types/api/getOwnershipProof.js +14 -9
  319. package/lib/types/api/getPublicKey.js +25 -28
  320. package/lib/types/api/getSettings.js +4 -1
  321. package/lib/types/api/index.d.ts +4 -0
  322. package/lib/types/api/index.js +4 -1
  323. package/lib/types/api/init.js +4 -1
  324. package/lib/types/api/loadDevice.js +4 -1
  325. package/lib/types/api/manifest.js +4 -1
  326. package/lib/types/api/monero/index.js +117 -114
  327. package/lib/types/api/moneroGetAddress.js +4 -1
  328. package/lib/types/api/moneroGetWatchKey.js +4 -1
  329. package/lib/types/api/moneroKeyImageSync.js +4 -1
  330. package/lib/types/api/moneroSignTransaction.js +4 -1
  331. package/lib/types/api/nem/index.d.ts +7 -7
  332. package/lib/types/api/nem/index.js +78 -112
  333. package/lib/types/api/nemGetAddress.js +7 -7
  334. package/lib/types/api/nemSignTransaction.js +4 -1
  335. package/lib/types/api/off.js +4 -1
  336. package/lib/types/api/on.js +4 -1
  337. package/lib/types/api/pushTransaction.js +10 -10
  338. package/lib/types/api/recoveryDevice.d.ts +1 -1
  339. package/lib/types/api/recoveryDevice.js +7 -7
  340. package/lib/types/api/removeAllListeners.js +4 -1
  341. package/lib/types/api/renderWebUSBButton.js +4 -1
  342. package/lib/types/api/requestLogin.d.ts +4 -24
  343. package/lib/types/api/requestLogin.js +11 -13
  344. package/lib/types/api/requestWebUSBDevice.js +4 -1
  345. package/lib/types/api/resetDevice.js +4 -1
  346. package/lib/types/api/ripple/index.js +17 -14
  347. package/lib/types/api/rippleGetAddress.js +4 -1
  348. package/lib/types/api/rippleSignTransaction.js +4 -1
  349. package/lib/types/api/setBrightness.js +4 -1
  350. package/lib/types/api/setBusy.js +4 -1
  351. package/lib/types/api/setProxy.js +4 -1
  352. package/lib/types/api/setTransports.js +4 -1
  353. package/lib/types/api/showDeviceTutorial.js +4 -1
  354. package/lib/types/api/signMessage.js +4 -1
  355. package/lib/types/api/signTransaction.js +4 -1
  356. package/lib/types/api/solana/index.js +55 -56
  357. package/lib/types/api/solanaComposeTransaction.js +4 -1
  358. package/lib/types/api/solanaGetAddress.js +4 -1
  359. package/lib/types/api/solanaGetPublicKey.js +4 -1
  360. package/lib/types/api/solanaSignTransaction.js +4 -1
  361. package/lib/types/api/stellar/index.d.ts +146 -146
  362. package/lib/types/api/stellar/index.js +151 -221
  363. package/lib/types/api/stellarGetAddress.js +4 -1
  364. package/lib/types/api/stellarSignTransaction.js +4 -1
  365. package/lib/types/api/tezos/index.js +46 -43
  366. package/lib/types/api/tezosGetAddress.js +4 -1
  367. package/lib/types/api/tezosGetPublicKey.js +4 -1
  368. package/lib/types/api/tezosSignTransaction.js +4 -1
  369. package/lib/types/api/thpGetCredentials.js +4 -1
  370. package/lib/types/api/thpRemoveCredentials.js +4 -1
  371. package/lib/types/api/uiResponse.js +4 -1
  372. package/lib/types/api/unlockPath.js +6 -3
  373. package/lib/types/api/verifyMessage.js +4 -1
  374. package/lib/types/api/wipeDevice.js +4 -1
  375. package/lib/types/coinInfo.js +62 -77
  376. package/lib/types/device.d.ts +11 -2
  377. package/lib/types/device.js +9 -4
  378. package/lib/types/fees.js +31 -37
  379. package/lib/types/firmware.js +4 -1
  380. package/lib/types/index.d.ts +1 -0
  381. package/lib/types/index.js +18 -3
  382. package/lib/types/params.js +25 -16
  383. package/lib/types/settings.js +4 -1
  384. package/lib/types/utils.js +4 -1
  385. package/lib/types/workflow.js +4 -1
  386. package/lib/utils/accountUtils.js +76 -81
  387. package/lib/utils/addressUtils.js +21 -21
  388. package/lib/utils/assetUtils.js +29 -26
  389. package/lib/utils/assets-browser.js +19 -13
  390. package/lib/utils/assets.js +10 -9
  391. package/lib/utils/assets.native.js +24 -23
  392. package/lib/utils/assetsTypes.js +4 -1
  393. package/lib/utils/debug.js +18 -13
  394. package/lib/utils/deviceFeaturesUtils.js +105 -127
  395. package/lib/utils/ethereumUtils.js +9 -6
  396. package/lib/utils/firmwareReleaseConfigUtils.js +69 -57
  397. package/lib/utils/firmwareUtils.js +45 -57
  398. package/lib/utils/formatUtils.d.ts +0 -1
  399. package/lib/utils/formatUtils.js +63 -62
  400. package/lib/utils/hdnodeUtils.d.ts +0 -1
  401. package/lib/utils/hdnodeUtils.js +51 -57
  402. package/lib/utils/interactionTimeout.js +26 -23
  403. package/lib/utils/pathUtils.js +132 -148
  404. package/lib/utils/popupPromiseManager.js +23 -14
  405. package/lib/utils/proxy-event-emitter.js +63 -60
  406. package/lib/utils/uiPromiseManager.js +55 -43
  407. package/lib/utils/urlUtils.js +20 -26
  408. package/lib/utils/versionCheck.js +10 -10
  409. package/lib/workers/workers-browser.d.ts +5 -5
  410. package/lib/workers/workers-browser.js +5 -2
  411. package/lib/workers/workers.d.ts +1 -1
  412. package/lib/workers/workers.js +49 -38
  413. package/lib/workers/workers.native.d.ts +5 -5
  414. package/lib/workers/workers.native.js +4 -1
  415. package/package.json +26 -23
package/CHANGELOG.md CHANGED
@@ -1,26 +1,54 @@
1
1
  | Package | Stable | Canary |
2
2
  | :------------------------------: | :----: | :----------: |
3
- | npm @trezor/connect | 9.6.4 | 9.6.5-beta.2 |
4
- | npm @trezor/connect-web | 9.6.4 | 9.6.5-beta.2 |
5
- | npm @trezor/connect-webextension | 9.6.4 | 9.6.5-beta.2 |
6
- | npm @trezor/connect-mobile | 9.6.4 | 9.6.5-beta.2 |
3
+ | npm @trezor/connect | 9.6.4 | 9.7.0-beta.2 |
4
+ | npm @trezor/connect-web | 9.6.4 | 9.7.0-beta.2 |
5
+ | npm @trezor/connect-webextension | 9.6.4 | 9.7.0-beta.2 |
6
+ | npm @trezor/connect-mobile | 9.6.4 | 9.7.0-beta.2 |
7
7
 
8
8
  | Deployment | Stable | Canary |
9
9
  | :----------------: | :----: | :----------: |
10
- | connect.trezor.io/ | 9.6.4 | 9.6.5-beta.2 |
10
+ | connect.trezor.io/ | 9.6.4 | 9.7.0-beta.2 |
11
11
 
12
12
  Use the persistent link [connect.trezor.io/9](https://connect.trezor.io/9/) to access the latest stable version of Connect Explorer.
13
13
 
14
- # 9.6.5-beta.2
15
-
16
- This release introduces Monero support in Trezor Connect and enhances Trezor Suite Web for use as a Trezor Connect popup.
17
-
18
- feat(connect-web): in core-in-suite-desktop handle permission error (41da933)
19
- feat(connect): monero support (7e4e42c)
20
- feat(connect-webextension): suite web popup implementation for webextension (175e40c)
21
- feat(connect): use existing message channels for suite web (314464a)
22
- feat(connect-explorer): suite web popup setting (9252ce3)
23
- feat(connect): suite web popup implementation (6bafb1e)
14
+ # 9.7.0-beta.2
15
+
16
+ We are deprecating `coreMode: 'iframe'` for connect-web, which is now limited due to [Local Network Access](https://developer.chrome.com/blog/local-network-access) permission. If you are using it explicitly, we recommend moving to `coreMode: 'auto'` for a better user experience.
17
+
18
+ We've updated `requestLogin` method to be up to date with the newer Connect implementations.
19
+ However this change required removing the `callback` and `asyncChallenge` parameters, so please make sure to update your code accordingly by simply fetching the data first and passing it to the method.
20
+
21
+ Monero support has been added to Connect APIs - `moneroGetAddress`, `moneroGetWatchKey`, `moneroKeyImageSync`, `moneroSignTransaction`.
22
+
23
+ This release also fixes import issues with CommonJS in Node environments.
24
+
25
+ - feat(connect): handle requestLogin origin in suite (a8539c8)
26
+ - fix(connect): turn requestLogin to a normal method (bb85884)
27
+ - chore(connect): clean up connect call factory (f5f44b7)
28
+ - fix(connect): move TNP subscription to DeviceList (b665d56)
29
+ - fix(protocol): don't throw on malformed push notification (d382cbf)
30
+ - refactor(connect): simplify tpn subscription (414392e)
31
+ - refactor(connect): restartEmu util (02acc0a)
32
+ - chore(connect): remove now useless sessionId fix (ebd6685)
33
+ - feat(connect): ignore invalid passphrase when using THP session id (6b492dc)
34
+ - refactor(connect): unexpected state checking (b24d217)
35
+ - chore(blockchain-link-types): remove TokenInfo.type (11ae574)
36
+ - chore(connect): simplify ui-request_thp_pairing (c02dcaa)
37
+ - chore(protocol): export ThpPairingMethod as enum (e61610e)
38
+ - chore(protocol): distinguish DeviceThpState and ThpChannelState (780e532)
39
+ - fix(connect): reset sessionId when new is created (b4282bf)
40
+ - chore(connect): remove unused UI.IFRAME_FAILURE (ea11886)
41
+ - fix(connect): update current release when bootloader mode (c250f5f)
42
+ - fix(connect-popup): button requests in fixtures for eos and ripple (a244dd1)
43
+ - fix(connect): payment request buffer issue (3951709)
44
+ - fix(connect): test tropic authenticateDevice only for T3W1 (1ff76c3)
45
+ - fix(connect): new credential (84b179b)
46
+ - fix(connect): PaymentRequest amount (c19c043)
47
+ - feat(connect-web): in core-in-suite-desktop handle permission error (41da933)
48
+ - feat(connect): monero support (7e4e42c)
49
+ - feat(connect-webextension): suite web popup implementation for webextension (175e40c)
50
+ - feat(connect): use existing message channels for suite web (314464a)
51
+ - feat(connect): suite web popup implementation (6bafb1e)
24
52
 
25
53
  # 9.6.4
26
54
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @trezor/connect
2
2
 
3
- API version 9.6.5-beta.2
3
+ API version 9.7.0-beta.2
4
4
 
5
5
  [![Build Status](https://github.com/trezor/trezor-suite/actions/workflows/test-connect.yml/badge.svg)](https://github.com/trezor/trezor-suite/actions/workflows/test-connect.yml)
6
6
  [![NPM](https://img.shields.io/npm/v/@trezor/connect.svg)](https://www.npmjs.org/package/@trezor/connect)
@@ -1,34 +1,39 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  const protobuf_1 = require("@trezor/protobuf");
4
7
  const schema_utils_1 = require("@trezor/schema-utils");
5
8
  const AbstractMethod_1 = require("../core/AbstractMethod");
6
9
  class ApplyFlags extends AbstractMethod_1.AbstractMethod {
7
- init() {
8
- this.requiredPermissions = ['management'];
9
- this.useDeviceState = false;
10
- this.skipFinalReload = false;
11
- const { payload } = this;
12
- (0, schema_utils_1.Assert)(protobuf_1.MessagesSchema.ApplyFlags, payload);
13
- this.params = {
14
- flags: payload.flags,
15
- };
16
- }
17
- get confirmation() {
18
- return {
19
- view: 'device-management',
20
- customConfirmButton: {
21
- className: 'confirm',
22
- label: 'Proceed',
23
- },
24
- label: 'Do you really want to apply flags?',
25
- };
26
- }
27
- async run() {
28
- const cmd = this.device.getCommands();
29
- const response = await cmd.typedCall('ApplyFlags', 'Success', this.params);
30
- return response.message;
31
- }
10
+ init() {
11
+ this.requiredPermissions = ['management'];
12
+ this.useDeviceState = false;
13
+ this.skipFinalReload = false;
14
+ const {
15
+ payload
16
+ } = this;
17
+ (0, schema_utils_1.Assert)(protobuf_1.MessagesSchema.ApplyFlags, payload);
18
+ this.params = {
19
+ flags: payload.flags
20
+ };
21
+ }
22
+ get confirmation() {
23
+ return {
24
+ view: 'device-management',
25
+ customConfirmButton: {
26
+ className: 'confirm',
27
+ label: 'Proceed'
28
+ },
29
+ label: 'Do you really want to apply flags?'
30
+ };
31
+ }
32
+ async run() {
33
+ const cmd = this.device.getCommands();
34
+ const response = await cmd.typedCall('ApplyFlags', 'Success', this.params);
35
+ return response.message;
36
+ }
32
37
  }
33
38
  exports.default = ApplyFlags;
34
39
  //# sourceMappingURL=applyFlags.js.map
@@ -1,50 +1,53 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  const schema_utils_1 = require("@trezor/schema-utils");
4
7
  const AbstractMethod_1 = require("../core/AbstractMethod");
5
8
  const applySettings_1 = require("../types/api/applySettings");
6
9
  class ApplySettings extends AbstractMethod_1.AbstractMethod {
7
- init() {
8
- this.requiredPermissions = ['management'];
9
- this.useDeviceState = false;
10
- this.skipFinalReload = false;
11
- const { payload } = this;
12
- (0, schema_utils_1.Assert)(applySettings_1.ApplySettings, payload);
13
- this.params = {
14
- ...payload,
15
- _passphrase_source: payload.passphrase_source,
16
- };
10
+ init() {
11
+ this.requiredPermissions = ['management'];
12
+ this.useDeviceState = false;
13
+ this.skipFinalReload = false;
14
+ const {
15
+ payload
16
+ } = this;
17
+ (0, schema_utils_1.Assert)(applySettings_1.ApplySettings, payload);
18
+ this.params = {
19
+ ...payload,
20
+ _passphrase_source: payload.passphrase_source
21
+ };
22
+ }
23
+ get confirmation() {
24
+ return {
25
+ view: 'device-management',
26
+ customConfirmButton: {
27
+ className: 'confirm',
28
+ label: 'Proceed'
29
+ },
30
+ label: 'Do you really want to change device settings?'
31
+ };
32
+ }
33
+ async run() {
34
+ const cmd = this.device.getCommands();
35
+ const homescreenBytes = this.params.homescreen ? Buffer.from(this.params.homescreen, 'hex') : undefined;
36
+ if (this.device.atLeast('2.9.0') && homescreenBytes) {
37
+ this.params.homescreen = undefined;
38
+ this.params.homescreen_length = homescreenBytes.length;
17
39
  }
18
- get confirmation() {
19
- return {
20
- view: 'device-management',
21
- customConfirmButton: {
22
- className: 'confirm',
23
- label: 'Proceed',
24
- },
25
- label: 'Do you really want to change device settings?',
26
- };
27
- }
28
- async run() {
29
- const cmd = this.device.getCommands();
30
- const homescreenBytes = this.params.homescreen
31
- ? Buffer.from(this.params.homescreen, 'hex')
32
- : undefined;
33
- if (this.device.atLeast('2.9.0') && homescreenBytes) {
34
- this.params.homescreen = undefined;
35
- this.params.homescreen_length = homescreenBytes.length;
36
- }
37
- let response = await cmd.typedCall('ApplySettings', ['DataChunkRequest', 'Success'], this.params);
38
- while (response.type !== 'Success') {
39
- const start = response.message.data_offset;
40
- const end = start + response.message.data_length;
41
- const data_chunk = homescreenBytes?.subarray(start, end).toString('hex') || '';
42
- response = await cmd.typedCall('DataChunkAck', ['DataChunkRequest', 'Success'], {
43
- data_chunk,
44
- });
45
- }
46
- return response.message;
40
+ let response = await cmd.typedCall('ApplySettings', ['DataChunkRequest', 'Success'], this.params);
41
+ while (response.type !== 'Success') {
42
+ const start = response.message.data_offset;
43
+ const end = start + response.message.data_length;
44
+ const data_chunk = homescreenBytes?.subarray(start, end).toString('hex') || '';
45
+ response = await cmd.typedCall('DataChunkAck', ['DataChunkRequest', 'Success'], {
46
+ data_chunk
47
+ });
47
48
  }
49
+ return response.message;
50
+ }
48
51
  }
49
52
  exports.default = ApplySettings;
50
53
  //# sourceMappingURL=applySettings.js.map
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  const device_authenticity_1 = require("@trezor/device-authenticity");
4
7
  const schema_utils_1 = require("@trezor/schema-utils");
5
8
  const AbstractMethod_1 = require("../core/AbstractMethod");
@@ -7,61 +10,86 @@ const events_1 = require("../events");
7
10
  const paramsValidator_1 = require("./common/paramsValidator");
8
11
  const authenticateDevice_1 = require("../types/api/authenticateDevice");
9
12
  class AuthenticateDevice extends AbstractMethod_1.AbstractMethod {
10
- init() {
11
- this.useEmptyPassphrase = true;
12
- this.allowDeviceMode = [events_1.UI.INITIALIZE, events_1.UI.SEEDLESS];
13
- this.requiredPermissions = ['management'];
14
- this.skipFinalReload = false;
15
- this.useDeviceState = false;
16
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, null, this.firmwareRange);
17
- const { payload } = this;
18
- (0, schema_utils_1.Assert)(authenticateDevice_1.AuthenticateDeviceParams, payload);
19
- this.params = {
20
- config: payload.config,
21
- blacklistConfig: payload.blacklistConfig,
22
- allowDebugKeys: payload.allowDebugKeys,
23
- };
24
- }
25
- async run() {
26
- const challenge = (0, device_authenticity_1.getRandomChallenge)();
27
- const { message } = await this.device
28
- .getCommands()
29
- .typedCall('AuthenticateDevice', 'AuthenticityProof', {
30
- challenge: challenge.toString('hex'),
13
+ init() {
14
+ this.useEmptyPassphrase = true;
15
+ this.allowDeviceMode = [events_1.UI.INITIALIZE, events_1.UI.SEEDLESS];
16
+ this.requiredPermissions = ['management'];
17
+ this.skipFinalReload = false;
18
+ this.useDeviceState = false;
19
+ this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, null, this.firmwareRange);
20
+ const {
21
+ payload
22
+ } = this;
23
+ (0, schema_utils_1.Assert)(authenticateDevice_1.AuthenticateDeviceParams, payload);
24
+ this.params = {
25
+ config: payload.config,
26
+ blacklistConfig: payload.blacklistConfig,
27
+ allowDebugKeys: payload.allowDebugKeys
28
+ };
29
+ }
30
+ async run() {
31
+ const challenge = (0, device_authenticity_1.getRandomChallenge)();
32
+ const {
33
+ message
34
+ } = await this.device.getCommands().typedCall('AuthenticateDevice', 'AuthenticityProof', {
35
+ challenge: challenge.toString('hex')
36
+ });
37
+ const config = this.params.config || device_authenticity_1.deviceAuthenticityConfig;
38
+ const blacklistConfig = this.params.blacklistConfig || device_authenticity_1.deviceAuthenticityBlacklistConfig;
39
+ const commonParams = {
40
+ challenge,
41
+ deviceModel: this.device.features.internal_model,
42
+ allowDebugKeys: this.params.allowDebugKeys,
43
+ config,
44
+ blacklistConfig
45
+ };
46
+ const getOptigaResult = async () => {
47
+ const {
48
+ optiga_signature: signature,
49
+ optiga_certificates: certificates
50
+ } = message;
51
+ const isAvailable = signature !== undefined && certificates.length > 0;
52
+ if (isAvailable) {
53
+ return await (0, device_authenticity_1.verifyAuthenticityProof)({
54
+ ...commonParams,
55
+ certificates,
56
+ signature
31
57
  });
32
- const config = this.params.config || device_authenticity_1.deviceAuthenticityConfig;
33
- const blacklistConfig = this.params.blacklistConfig || device_authenticity_1.deviceAuthenticityBlacklistConfig;
34
- const commonParams = {
35
- challenge,
36
- deviceModel: this.device.features.internal_model,
37
- allowDebugKeys: this.params.allowDebugKeys,
38
- config,
39
- blacklistConfig,
40
- };
41
- const getOptigaResult = async () => {
42
- const { optiga_signature: signature, optiga_certificates: certificates } = message;
43
- const isAvailable = signature !== undefined && certificates.length > 0;
44
- if (isAvailable) {
45
- return await (0, device_authenticity_1.verifyAuthenticityProof)({ ...commonParams, certificates, signature });
46
- }
47
- return { valid: false, error: 'RESPONSE_PAYLOAD_MISSING' };
48
- };
49
- const getTropicResult = async () => {
50
- const { tropic_signature: signature, tropic_certificates: certificates } = message;
51
- const isAvailable = signature !== undefined && certificates.length > 0;
52
- const isRequired = !this.device.unavailableCapabilities['tropicDeviceAuthentication'];
53
- if (isAvailable) {
54
- return await (0, device_authenticity_1.verifyAuthenticityProof)({ ...commonParams, certificates, signature });
55
- }
56
- if (isRequired) {
57
- return { valid: false, error: 'RESPONSE_PAYLOAD_MISSING' };
58
- }
59
- return null;
58
+ }
59
+ return {
60
+ valid: false,
61
+ error: 'RESPONSE_PAYLOAD_MISSING'
62
+ };
63
+ };
64
+ const getTropicResult = async () => {
65
+ const {
66
+ tropic_signature: signature,
67
+ tropic_certificates: certificates
68
+ } = message;
69
+ const isAvailable = signature !== undefined && certificates.length > 0;
70
+ const isRequired = !this.device.unavailableCapabilities['tropicDeviceAuthentication'];
71
+ if (isAvailable) {
72
+ return await (0, device_authenticity_1.verifyAuthenticityProof)({
73
+ ...commonParams,
74
+ certificates,
75
+ signature
76
+ });
77
+ }
78
+ if (isRequired) {
79
+ return {
80
+ valid: false,
81
+ error: 'RESPONSE_PAYLOAD_MISSING'
60
82
  };
61
- const optigaResult = await getOptigaResult();
62
- const tropicResult = await getTropicResult();
63
- return { optigaResult, tropicResult };
64
- }
83
+ }
84
+ return null;
85
+ };
86
+ const optigaResult = await getOptigaResult();
87
+ const tropicResult = await getTropicResult();
88
+ return {
89
+ optigaResult,
90
+ tropicResult
91
+ };
92
+ }
65
93
  }
66
94
  exports.default = AuthenticateDevice;
67
95
  //# sourceMappingURL=authenticateDevice.js.map
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  const schema_utils_1 = require("@trezor/schema-utils");
4
7
  const AbstractMethod_1 = require("../core/AbstractMethod");
5
8
  const paramsValidator_1 = require("./common/paramsValidator");
@@ -7,35 +10,39 @@ const coinInfo_1 = require("../data/coinInfo");
7
10
  const authorizeCoinjoin_1 = require("../types/api/authorizeCoinjoin");
8
11
  const pathUtils_1 = require("../utils/pathUtils");
9
12
  class AuthorizeCoinjoin extends AbstractMethod_1.AbstractMethod {
10
- init() {
11
- const { payload } = this;
12
- (0, schema_utils_1.Assert)(authorizeCoinjoin_1.AuthorizeCoinjoin, payload);
13
- const address_n = (0, pathUtils_1.validatePath)(payload.path, 3);
14
- const script_type = payload.scriptType || (0, pathUtils_1.getScriptType)(address_n);
15
- const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(payload.coin || address_n);
16
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, this.firmwareRange);
17
- this.preauthorized = payload.preauthorized;
18
- this.params = {
19
- coordinator: payload.coordinator,
20
- max_rounds: payload.maxRounds,
21
- max_coordinator_fee_rate: payload.maxCoordinatorFeeRate,
22
- max_fee_per_kvbyte: payload.maxFeePerKvbyte,
23
- address_n,
24
- coin_name: coinInfo?.name,
25
- script_type,
26
- amount_unit: payload.amountUnit,
13
+ init() {
14
+ const {
15
+ payload
16
+ } = this;
17
+ (0, schema_utils_1.Assert)(authorizeCoinjoin_1.AuthorizeCoinjoin, payload);
18
+ const address_n = (0, pathUtils_1.validatePath)(payload.path, 3);
19
+ const script_type = payload.scriptType || (0, pathUtils_1.getScriptType)(address_n);
20
+ const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(payload.coin || address_n);
21
+ this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, this.firmwareRange);
22
+ this.preauthorized = payload.preauthorized;
23
+ this.params = {
24
+ coordinator: payload.coordinator,
25
+ max_rounds: payload.maxRounds,
26
+ max_coordinator_fee_rate: payload.maxCoordinatorFeeRate,
27
+ max_fee_per_kvbyte: payload.maxFeePerKvbyte,
28
+ address_n,
29
+ coin_name: coinInfo?.name,
30
+ script_type,
31
+ amount_unit: payload.amountUnit
32
+ };
33
+ }
34
+ async run() {
35
+ const cmd = this.device.getCommands();
36
+ if (this.preauthorized) {
37
+ if (await cmd.preauthorize(false)) {
38
+ return {
39
+ message: 'Success'
27
40
  };
41
+ }
28
42
  }
29
- async run() {
30
- const cmd = this.device.getCommands();
31
- if (this.preauthorized) {
32
- if (await cmd.preauthorize(false)) {
33
- return { message: 'Success' };
34
- }
35
- }
36
- const response = await cmd.typedCall('AuthorizeCoinJoin', 'Success', this.params);
37
- return response.message;
38
- }
43
+ const response = await cmd.typedCall('AuthorizeCoinJoin', 'Success', this.params);
44
+ return response.message;
45
+ }
39
46
  }
40
47
  exports.default = AuthorizeCoinjoin;
41
48
  //# sourceMappingURL=authorizeCoinjoin.js.map
@@ -1,35 +1,40 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  const protobuf_1 = require("@trezor/protobuf");
4
7
  const schema_utils_1 = require("@trezor/schema-utils");
5
8
  const AbstractMethod_1 = require("../core/AbstractMethod");
6
9
  class BackupDevice extends AbstractMethod_1.AbstractMethod {
7
- init() {
8
- this.requiredPermissions = ['management'];
9
- this.skipFinalReload = false;
10
- this.useDeviceState = false;
11
- const { payload } = this;
12
- (0, schema_utils_1.Assert)(protobuf_1.MessagesSchema.BackupDevice, payload);
13
- this.params = {
14
- group_threshold: payload.group_threshold,
15
- groups: payload.groups,
16
- };
17
- }
18
- get confirmation() {
19
- return {
20
- view: 'device-management',
21
- customConfirmButton: {
22
- className: 'confirm',
23
- label: 'Proceed',
24
- },
25
- label: 'Do you want to initiate backup procedure?',
26
- };
27
- }
28
- async run() {
29
- const cmd = this.device.getCommands();
30
- const response = await cmd.typedCall('BackupDevice', 'Success', this.params);
31
- return response.message;
32
- }
10
+ init() {
11
+ this.requiredPermissions = ['management'];
12
+ this.skipFinalReload = false;
13
+ this.useDeviceState = false;
14
+ const {
15
+ payload
16
+ } = this;
17
+ (0, schema_utils_1.Assert)(protobuf_1.MessagesSchema.BackupDevice, payload);
18
+ this.params = {
19
+ group_threshold: payload.group_threshold,
20
+ groups: payload.groups
21
+ };
22
+ }
23
+ get confirmation() {
24
+ return {
25
+ view: 'device-management',
26
+ customConfirmButton: {
27
+ className: 'confirm',
28
+ label: 'Proceed'
29
+ },
30
+ label: 'Do you want to initiate backup procedure?'
31
+ };
32
+ }
33
+ async run() {
34
+ const cmd = this.device.getCommands();
35
+ const response = await cmd.typedCall('BackupDevice', 'Success', this.params);
36
+ return response.message;
37
+ }
33
38
  }
34
39
  exports.default = BackupDevice;
35
40
  //# sourceMappingURL=backupDevice.js.map