@trezor/connect 9.7.3 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/CHANGELOG.md +68 -1334
  2. package/README.md +9 -45
  3. package/lib/api/applyFlags.d.ts +17 -14
  4. package/lib/api/applyFlags.js +19 -20
  5. package/lib/api/applySettings.d.ts +18 -15
  6. package/lib/api/applySettings.js +25 -21
  7. package/lib/api/authenticateDevice.d.ts +24 -10
  8. package/lib/api/authenticateDevice.js +149 -49
  9. package/lib/api/authorizeCoinjoin.d.ts +10 -8
  10. package/lib/api/authorizeCoinjoin.js +21 -25
  11. package/lib/api/backupDevice.d.ts +16 -14
  12. package/lib/api/backupDevice.js +20 -21
  13. package/lib/api/bitcoin/TransactionComposer.d.ts +42 -44
  14. package/lib/api/bitcoin/TransactionComposer.js +21 -21
  15. package/lib/api/bitcoin/createPendingTx.d.ts +34 -32
  16. package/lib/api/bitcoin/createPendingTx.js +8 -15
  17. package/lib/api/bitcoin/enhanceSignTx.d.ts +2 -4
  18. package/lib/api/bitcoin/enhanceSignTx.js +5 -46
  19. package/lib/api/bitcoin/index.d.ts +9 -10
  20. package/lib/api/bitcoin/index.js +9 -16
  21. package/lib/api/bitcoin/inputs.d.ts +3 -7
  22. package/lib/api/bitcoin/inputs.js +12 -34
  23. package/lib/api/bitcoin/outputs.d.ts +3 -6
  24. package/lib/api/bitcoin/outputs.js +34 -33
  25. package/lib/api/bitcoin/refTx.d.ts +16 -12
  26. package/lib/api/bitcoin/refTx.js +49 -70
  27. package/lib/api/bitcoin/signtx.d.ts +26 -21
  28. package/lib/api/bitcoin/signtx.js +47 -39
  29. package/lib/api/bitcoin/signtxLegacy.d.ts +10 -4
  30. package/lib/api/bitcoin/signtxLegacy.js +31 -32
  31. package/lib/api/bitcoin/signtxVerify.d.ts +7 -9
  32. package/lib/api/bitcoin/signtxVerify.js +35 -35
  33. package/lib/api/bitcoin/transactionBytes.d.ts +3 -5
  34. package/lib/api/bitcoin/transactionBytes.js +8 -19
  35. package/lib/api/bleUnpair.d.ts +10 -8
  36. package/lib/api/bleUnpair.js +23 -25
  37. package/lib/api/blockchainDisconnect.d.ts +12 -11
  38. package/lib/api/blockchainDisconnect.js +22 -28
  39. package/lib/api/blockchainEstimateFee.d.ts +12 -9
  40. package/lib/api/blockchainEstimateFee.js +27 -32
  41. package/lib/api/blockchainEvmRpcCall.d.ts +15 -12
  42. package/lib/api/blockchainEvmRpcCall.js +22 -27
  43. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -9
  44. package/lib/api/blockchainGetAccountBalanceHistory.js +27 -28
  45. package/lib/api/blockchainGetContractInfo.d.ts +16 -0
  46. package/lib/api/blockchainGetContractInfo.js +46 -0
  47. package/lib/api/blockchainGetCurrentFiatRates.d.ts +16 -13
  48. package/lib/api/blockchainGetCurrentFiatRates.js +22 -27
  49. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +19 -16
  50. package/lib/api/blockchainGetFiatRatesForTimestamps.js +22 -27
  51. package/lib/api/blockchainGetInfo.d.ts +11 -8
  52. package/lib/api/blockchainGetInfo.js +22 -27
  53. package/lib/api/blockchainGetTransactions.d.ts +14 -9
  54. package/lib/api/blockchainGetTransactions.js +29 -29
  55. package/lib/api/blockchainSetCustomBackend.d.ts +13 -8
  56. package/lib/api/blockchainSetCustomBackend.js +26 -28
  57. package/lib/api/blockchainSubscribe.d.ts +15 -12
  58. package/lib/api/blockchainSubscribe.js +25 -28
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +15 -11
  60. package/lib/api/blockchainSubscribeFiatRates.js +23 -27
  61. package/lib/api/blockchainUnsubscribe.d.ts +15 -12
  62. package/lib/api/blockchainUnsubscribe.js +25 -28
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -10
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +22 -27
  65. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +17 -0
  66. package/lib/api/blockchainValidateEvmRpcUrl.js +54 -0
  67. package/lib/api/cancelCoinjoinAuthorization.d.ts +11 -10
  68. package/lib/api/cancelCoinjoinAuthorization.js +15 -18
  69. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +9 -7
  70. package/lib/api/cardano/api/cardanoComposeTransaction.js +25 -27
  71. package/lib/api/cardano/api/cardanoGetAddress.d.ts +31 -24
  72. package/lib/api/cardano/api/cardanoGetAddress.js +75 -70
  73. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +11 -12
  74. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +47 -56
  75. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +19 -14
  76. package/lib/api/cardano/api/cardanoGetPublicKey.js +62 -43
  77. package/lib/api/cardano/api/cardanoSignMessage.d.ts +19 -22
  78. package/lib/api/cardano/api/cardanoSignMessage.js +34 -44
  79. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +75 -73
  80. package/lib/api/cardano/api/cardanoSignTransaction.js +64 -62
  81. package/lib/api/cardano/api/index.d.ts +6 -7
  82. package/lib/api/cardano/api/index.js +6 -50
  83. package/lib/api/cardano/cardanoAddressParameters.d.ts +3 -4
  84. package/lib/api/cardano/cardanoAddressParameters.js +17 -27
  85. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +3 -4
  86. package/lib/api/cardano/cardanoAuxiliaryData.js +16 -25
  87. package/lib/api/cardano/cardanoCertificate.d.ts +9 -10
  88. package/lib/api/cardano/cardanoCertificate.js +35 -42
  89. package/lib/api/cardano/cardanoInputs.d.ts +16 -17
  90. package/lib/api/cardano/cardanoInputs.js +19 -29
  91. package/lib/api/cardano/cardanoOutputs.d.ts +35 -35
  92. package/lib/api/cardano/cardanoOutputs.js +25 -34
  93. package/lib/api/cardano/cardanoTokenBundle.d.ts +10 -11
  94. package/lib/api/cardano/cardanoTokenBundle.js +9 -17
  95. package/lib/api/cardano/cardanoUtils.d.ts +13 -5
  96. package/lib/api/cardano/cardanoUtils.js +19 -33
  97. package/lib/api/cardano/cardanoWitnesses.d.ts +4 -5
  98. package/lib/api/cardano/cardanoWitnesses.js +6 -14
  99. package/lib/api/changeLanguage.d.ts +16 -15
  100. package/lib/api/changeLanguage.js +22 -23
  101. package/lib/api/changePin.d.ts +9 -7
  102. package/lib/api/changePin.js +18 -20
  103. package/lib/api/changeWipeCode.d.ts +10 -8
  104. package/lib/api/changeWipeCode.js +17 -19
  105. package/lib/api/cipherKeyValue.d.ts +16 -12
  106. package/lib/api/cipherKeyValue.js +35 -33
  107. package/lib/api/common/AbstractMiscGetAddress.d.ts +37 -0
  108. package/lib/api/common/AbstractMiscGetAddress.js +126 -0
  109. package/lib/api/common/Discovery.d.ts +23 -26
  110. package/lib/api/common/Discovery.js +14 -22
  111. package/lib/api/common/paramsValidator.d.ts +19 -9
  112. package/lib/api/common/paramsValidator.js +77 -71
  113. package/lib/api/common/requestExistingAccounts.d.ts +14 -0
  114. package/lib/api/common/requestExistingAccounts.js +20 -0
  115. package/lib/api/composeTransaction.d.ts +31 -39
  116. package/lib/api/composeTransaction.js +172 -108
  117. package/lib/api/discoverAccounts.d.ts +36 -29
  118. package/lib/api/discoverAccounts.js +113 -69
  119. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +27 -25
  120. package/lib/api/ethereum/api/ethereumGetAddress.js +80 -62
  121. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +49 -41
  122. package/lib/api/ethereum/api/ethereumGetPublicKey.js +54 -42
  123. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +24 -21
  124. package/lib/api/ethereum/api/ethereumSignMessage.js +40 -46
  125. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +77 -76
  126. package/lib/api/ethereum/api/ethereumSignTransaction.js +63 -77
  127. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +108 -107
  128. package/lib/api/ethereum/api/ethereumSignTypedData.js +69 -77
  129. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +11 -9
  130. package/lib/api/ethereum/api/ethereumVerifyMessage.js +23 -25
  131. package/lib/api/ethereum/api/index.d.ts +6 -7
  132. package/lib/api/ethereum/api/index.js +6 -50
  133. package/lib/api/ethereum/ethereumDefinitions.d.ts +42 -36
  134. package/lib/api/ethereum/ethereumDefinitions.js +67 -50
  135. package/lib/api/ethereum/ethereumSignTx.d.ts +15 -21
  136. package/lib/api/ethereum/ethereumSignTx.js +64 -62
  137. package/lib/api/ethereum/ethereumSignTypedData.d.ts +28 -5
  138. package/lib/api/ethereum/ethereumSignTypedData.js +95 -41
  139. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +13 -10
  140. package/lib/api/evoluGetDelegatedIdentityKey.js +20 -32
  141. package/lib/api/evoluGetNode.d.ts +11 -9
  142. package/lib/api/evoluGetNode.js +16 -20
  143. package/lib/api/evoluSignRegistrationRequest.d.ts +14 -10
  144. package/lib/api/evoluSignRegistrationRequest.js +18 -20
  145. package/lib/api/firmware/calculateFirmwareHash.d.ts +15 -10
  146. package/lib/api/firmware/calculateFirmwareHash.js +16 -21
  147. package/lib/api/firmware/calculateXPubHash.d.ts +14 -0
  148. package/lib/api/firmware/calculateXPubHash.js +16 -0
  149. package/lib/api/firmware/getBinary.d.ts +11 -8
  150. package/lib/api/firmware/getBinary.js +12 -21
  151. package/lib/api/firmware/index.d.ts +6 -6
  152. package/lib/api/firmware/index.js +6 -54
  153. package/lib/api/firmware/modifyFirmware.d.ts +2 -3
  154. package/lib/api/firmware/modifyFirmware.js +6 -14
  155. package/lib/api/firmware/parseFirmwareHeaders.d.ts +3 -4
  156. package/lib/api/firmware/parseFirmwareHeaders.js +2 -10
  157. package/lib/api/firmware/uploadFirmware.d.ts +22 -17
  158. package/lib/api/firmware/uploadFirmware.js +20 -20
  159. package/lib/api/firmware/verifyEntropy.d.ts +20 -14
  160. package/lib/api/firmware/verifyEntropy.js +22 -29
  161. package/lib/api/getAccountInfo.d.ts +17 -143
  162. package/lib/api/getAccountInfo.js +92 -184
  163. package/lib/api/getAddress.d.ts +42 -35
  164. package/lib/api/getAddress.js +76 -71
  165. package/lib/api/getCoinInfo.d.ts +144 -146
  166. package/lib/api/getCoinInfo.js +17 -25
  167. package/lib/api/getDeviceState.d.ts +7 -8
  168. package/lib/api/getDeviceState.js +11 -17
  169. package/lib/api/getFeatures.d.ts +70 -64
  170. package/lib/api/getFeatures.js +17 -17
  171. package/lib/api/getFirmwareHash.d.ts +9 -7
  172. package/lib/api/getFirmwareHash.js +20 -24
  173. package/lib/api/getNonce.d.ts +10 -9
  174. package/lib/api/getNonce.js +12 -12
  175. package/lib/api/getOwnershipId.d.ts +16 -12
  176. package/lib/api/getOwnershipId.js +54 -37
  177. package/lib/api/getOwnershipProof.d.ts +16 -12
  178. package/lib/api/getOwnershipProof.js +54 -39
  179. package/lib/api/getPublicKey.d.ts +51 -43
  180. package/lib/api/getPublicKey.js +67 -48
  181. package/lib/api/getSettings.d.ts +23 -5
  182. package/lib/api/getSettings.js +16 -14
  183. package/lib/api/index.d.ts +62 -58
  184. package/lib/api/index.js +62 -408
  185. package/lib/api/loadDevice.d.ts +14 -12
  186. package/lib/api/loadDevice.js +20 -24
  187. package/lib/api/monero/api/index.d.ts +4 -5
  188. package/lib/api/monero/api/index.js +4 -36
  189. package/lib/api/monero/api/moneroGetAddress.d.ts +29 -24
  190. package/lib/api/monero/api/moneroGetAddress.js +56 -61
  191. package/lib/api/monero/api/moneroGetWatchKey.d.ts +11 -10
  192. package/lib/api/monero/api/moneroGetWatchKey.js +26 -29
  193. package/lib/api/monero/api/moneroKeyImageSync.d.ts +13 -12
  194. package/lib/api/monero/api/moneroKeyImageSync.js +34 -37
  195. package/lib/api/monero/api/moneroSignTransaction.d.ts +13 -12
  196. package/lib/api/monero/api/moneroSignTransaction.js +52 -41
  197. package/lib/api/nostr/nostrGetPublicKey.d.ts +15 -0
  198. package/lib/api/nostr/nostrGetPublicKey.js +38 -0
  199. package/lib/api/nostr/nostrSignEvent.d.ts +13 -0
  200. package/lib/api/nostr/nostrSignEvent.js +36 -0
  201. package/lib/api/pingDevice.d.ts +11 -0
  202. package/lib/api/pingDevice.js +29 -0
  203. package/lib/api/pushTransaction.d.ts +15 -12
  204. package/lib/api/pushTransaction.js +25 -30
  205. package/lib/api/recoveryDevice.d.ts +18 -16
  206. package/lib/api/recoveryDevice.js +22 -23
  207. package/lib/api/requestLogin.d.ts +13 -11
  208. package/lib/api/requestLogin.js +24 -30
  209. package/lib/api/resetDevice.d.ts +21 -15
  210. package/lib/api/resetDevice.js +64 -48
  211. package/lib/api/ripple/api/index.d.ts +2 -3
  212. package/lib/api/ripple/api/index.js +2 -22
  213. package/lib/api/ripple/api/rippleGetAddress.d.ts +17 -27
  214. package/lib/api/ripple/api/rippleGetAddress.js +12 -101
  215. package/lib/api/ripple/api/rippleSignTransaction.d.ts +12 -10
  216. package/lib/api/ripple/api/rippleSignTransaction.js +21 -24
  217. package/lib/api/selectAccount.d.ts +15 -0
  218. package/lib/api/selectAccount.js +42 -0
  219. package/lib/api/setBrightness.d.ts +10 -7
  220. package/lib/api/setBrightness.js +19 -20
  221. package/lib/api/setBusy.d.ts +10 -8
  222. package/lib/api/setBusy.js +18 -25
  223. package/lib/api/showDeviceTutorial.d.ts +11 -10
  224. package/lib/api/showDeviceTutorial.js +11 -16
  225. package/lib/api/signMessage.d.ts +24 -18
  226. package/lib/api/signMessage.js +47 -36
  227. package/lib/api/signTransaction.d.ts +195 -227
  228. package/lib/api/signTransaction.js +84 -101
  229. package/lib/api/solana/api/index.d.ts +4 -5
  230. package/lib/api/solana/api/index.js +4 -36
  231. package/lib/api/solana/api/solanaComposeTransaction.d.ts +29 -26
  232. package/lib/api/solana/api/solanaComposeTransaction.js +47 -36
  233. package/lib/api/solana/api/solanaGetAddress.d.ts +17 -27
  234. package/lib/api/solana/api/solanaGetAddress.js +12 -101
  235. package/lib/api/solana/api/solanaGetPublicKey.d.ts +31 -26
  236. package/lib/api/solana/api/solanaGetPublicKey.js +54 -39
  237. package/lib/api/solana/api/solanaSignTransaction.d.ts +38 -36
  238. package/lib/api/solana/api/solanaSignTransaction.js +134 -133
  239. package/lib/api/solana/solanaDefinitions.d.ts +5 -4
  240. package/lib/api/solana/solanaDefinitions.js +12 -25
  241. package/lib/api/stellar/api/index.d.ts +2 -3
  242. package/lib/api/stellar/api/index.js +2 -22
  243. package/lib/api/stellar/api/stellarGetAddress.d.ts +17 -27
  244. package/lib/api/stellar/api/stellarGetAddress.js +12 -101
  245. package/lib/api/stellar/api/stellarSignTransaction.d.ts +17 -21
  246. package/lib/api/stellar/api/stellarSignTransaction.js +39 -44
  247. package/lib/api/stellar/stellarSignTx.d.ts +7 -7
  248. package/lib/api/stellar/stellarSignTx.js +37 -51
  249. package/lib/api/telemetryGet.d.ts +14 -0
  250. package/lib/api/telemetryGet.js +26 -0
  251. package/lib/api/tezos/api/index.d.ts +3 -4
  252. package/lib/api/tezos/api/index.js +3 -29
  253. package/lib/api/tezos/api/tezosGetAddress.d.ts +17 -27
  254. package/lib/api/tezos/api/tezosGetAddress.js +12 -101
  255. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +27 -20
  256. package/lib/api/tezos/api/tezosGetPublicKey.js +53 -37
  257. package/lib/api/tezos/api/tezosSignTransaction.d.ts +13 -11
  258. package/lib/api/tezos/api/tezosSignTransaction.js +20 -26
  259. package/lib/api/tezos/tezosSignTx.d.ts +66 -67
  260. package/lib/api/tezos/tezosSignTx.js +12 -19
  261. package/lib/api/thpGetCredentials.d.ts +12 -9
  262. package/lib/api/thpGetCredentials.js +21 -25
  263. package/lib/api/thpRemoveCredentials.d.ts +14 -7
  264. package/lib/api/thpRemoveCredentials.js +35 -30
  265. package/lib/api/tron/api/index.d.ts +3 -3
  266. package/lib/api/tron/api/index.js +3 -22
  267. package/lib/api/tron/api/tronComposeTransaction.d.ts +17 -0
  268. package/lib/api/tron/api/tronComposeTransaction.js +52 -0
  269. package/lib/api/tron/api/tronGetAddress.d.ts +17 -27
  270. package/lib/api/tron/api/tronGetAddress.js +12 -98
  271. package/lib/api/tron/api/tronSignTransaction.d.ts +16 -15
  272. package/lib/api/tron/api/tronSignTransaction.js +101 -27
  273. package/lib/api/tron/tronEncode.d.ts +11 -0
  274. package/lib/api/tron/tronEncode.js +157 -0
  275. package/lib/api/tron/tronProtobuf.d.ts +5 -0
  276. package/lib/api/tron/tronProtobuf.js +28 -0
  277. package/lib/api/unlockPath.d.ts +11 -9
  278. package/lib/api/unlockPath.js +18 -23
  279. package/lib/api/verifyMessage.d.ts +15 -9
  280. package/lib/api/verifyMessage.js +30 -34
  281. package/lib/api/wipeDevice.d.ts +19 -15
  282. package/lib/api/wipeDevice.js +22 -22
  283. package/lib/backend/BackendManager.d.ts +26 -20
  284. package/lib/backend/BackendManager.js +29 -29
  285. package/lib/backend/Blockchain.d.ts +78 -79
  286. package/lib/backend/Blockchain.js +34 -35
  287. package/lib/backend/BlockchainLink.d.ts +6 -6
  288. package/lib/backend/BlockchainLink.js +14 -27
  289. package/lib/backend/fees/BitcoinFeeLevels.d.ts +18 -19
  290. package/lib/backend/fees/BitcoinFeeLevels.js +11 -17
  291. package/lib/backend/fees/EthereumFeeLevels.d.ts +16 -17
  292. package/lib/backend/fees/EthereumFeeLevels.js +26 -22
  293. package/lib/backend/fees/MiscFeeLevels.d.ts +17 -18
  294. package/lib/backend/fees/MiscFeeLevels.js +13 -16
  295. package/lib/backend/fees/index.d.ts +4 -5
  296. package/lib/backend/fees/index.js +12 -21
  297. package/lib/core/AbstractMethod.d.ts +57 -72
  298. package/lib/core/AbstractMethod.js +92 -170
  299. package/lib/core/index.d.ts +25 -28
  300. package/lib/core/index.js +292 -493
  301. package/lib/core/method.d.ts +3 -4
  302. package/lib/core/method.js +9 -18
  303. package/lib/core/method.native.d.ts +2 -3
  304. package/lib/core/method.native.js +8 -19
  305. package/lib/core/onCallFirmwareUpdate.d.ts +33 -32
  306. package/lib/core/onCallFirmwareUpdate.js +103 -63
  307. package/lib/data/coinInfo.d.ts +86 -431
  308. package/lib/data/coinInfo.js +55 -57
  309. package/lib/data/config.d.ts +5 -30
  310. package/lib/data/config.js +52 -149
  311. package/lib/data/defaultFeeLevels.d.ts +10 -11
  312. package/lib/data/defaultFeeLevels.js +39 -23
  313. package/lib/data/enabledNetworksStore.d.ts +5 -0
  314. package/lib/data/enabledNetworksStore.js +20 -0
  315. package/lib/data/firmwareInfo.d.ts +39 -37
  316. package/lib/data/firmwareInfo.js +99 -167
  317. package/lib/data/firmwareReleaseStore.d.ts +10 -0
  318. package/lib/data/firmwareReleaseStore.js +16 -0
  319. package/lib/data/localFirmwareStore.d.ts +3 -0
  320. package/lib/data/localFirmwareStore.js +8 -0
  321. package/lib/data/protobufLoader.d.ts +1 -0
  322. package/lib/data/protobufLoader.js +30 -0
  323. package/lib/data/settingsStore.d.ts +6 -0
  324. package/lib/data/settingsStore.js +21 -0
  325. package/lib/device/Device.d.ts +255 -289
  326. package/lib/device/Device.js +203 -204
  327. package/lib/device/DeviceCommands.d.ts +82 -69
  328. package/lib/device/DeviceCommands.js +35 -36
  329. package/lib/device/DeviceCurrentSession.d.ts +746 -1093
  330. package/lib/device/DeviceCurrentSession.js +32 -53
  331. package/lib/device/DeviceList.d.ts +65 -59
  332. package/lib/device/DeviceList.js +80 -76
  333. package/lib/device/TransportList.d.ts +3 -9
  334. package/lib/device/TransportList.js +11 -50
  335. package/lib/device/TransportManager.d.ts +25 -22
  336. package/lib/device/TransportManager.js +15 -21
  337. package/lib/device/calculateRevisionForDevice.d.ts +8 -6
  338. package/lib/device/calculateRevisionForDevice.js +7 -15
  339. package/lib/device/checkFirmwareRevision.d.ts +20 -10
  340. package/lib/device/checkFirmwareRevision.js +43 -22
  341. package/lib/device/resolveDescriptorForTaproot.d.ts +13 -11
  342. package/lib/device/resolveDescriptorForTaproot.js +9 -15
  343. package/lib/device/thp/handshake.d.ts +3 -4
  344. package/lib/device/thp/handshake.js +27 -39
  345. package/lib/device/thp/index.d.ts +5 -6
  346. package/lib/device/thp/index.js +37 -41
  347. package/lib/device/thp/pairing.d.ts +13 -13
  348. package/lib/device/thp/pairing.js +88 -84
  349. package/lib/device/thp/session.d.ts +2 -3
  350. package/lib/device/thp/session.js +4 -12
  351. package/lib/device/thp/thpCall.d.ts +22 -32
  352. package/lib/device/thp/thpCall.js +14 -20
  353. package/lib/device/validateMessageSize.d.ts +2 -0
  354. package/lib/device/validateMessageSize.js +9 -0
  355. package/lib/device/workflow/changeLanguage.d.ts +18 -0
  356. package/lib/device/workflow/changeLanguage.js +62 -0
  357. package/lib/device/workflow/checkFirmwareHash.d.ts +10 -8
  358. package/lib/device/workflow/checkFirmwareHash.js +20 -28
  359. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +5 -6
  360. package/lib/device/workflow/checkFirmwareHashWithRetries.js +9 -17
  361. package/lib/device/workflow/handshake.d.ts +11 -8
  362. package/lib/device/workflow/handshake.js +13 -21
  363. package/lib/device/workflow/trezorPushNotification.d.ts +5 -3
  364. package/lib/device/workflow/trezorPushNotification.js +28 -36
  365. package/lib/device/workflow/validateState.d.ts +2 -3
  366. package/lib/device/workflow/validateState.js +35 -59
  367. package/lib/events/ui-promise.d.ts +14 -14
  368. package/lib/events/ui-promise.js +1 -6
  369. package/lib/exports.d.ts +3 -5
  370. package/lib/exports.js +3 -18
  371. package/lib/impl/core-in-module.d.ts +33 -35
  372. package/lib/impl/core-in-module.js +124 -146
  373. package/lib/index.browser.d.ts +7 -0
  374. package/lib/index.browser.js +34 -0
  375. package/lib/index.d.ts +3 -9
  376. package/lib/index.js +15 -178
  377. package/lib/types/idevice.d.ts +110 -0
  378. package/lib/types/idevice.js +1 -0
  379. package/lib/types/typed-call-provider.d.ts +29 -0
  380. package/lib/types/typed-call-provider.js +1 -0
  381. package/lib/types/workflow.d.ts +13 -9
  382. package/lib/types/workflow.js +1 -6
  383. package/lib/utils/accountUtils.d.ts +4 -5
  384. package/lib/utils/accountUtils.js +28 -32
  385. package/lib/utils/addressUtils.d.ts +2 -3
  386. package/lib/utils/addressUtils.js +4 -12
  387. package/lib/utils/assetUtils.d.ts +8 -5
  388. package/lib/utils/assetUtils.js +36 -28
  389. package/lib/utils/assets.browser.d.ts +1 -0
  390. package/lib/utils/assets.browser.js +1 -0
  391. package/lib/utils/assets.d.ts +2 -3
  392. package/lib/utils/assets.js +8 -17
  393. package/lib/utils/assets.native.d.ts +2 -3
  394. package/lib/utils/assets.native.js +5 -12
  395. package/lib/utils/assetsTypes.d.ts +2 -3
  396. package/lib/utils/assetsTypes.js +1 -6
  397. package/lib/utils/buildOutputDescriptor.d.ts +20 -0
  398. package/lib/utils/buildOutputDescriptor.js +67 -0
  399. package/lib/utils/deviceFeaturesUtils.d.ts +4 -5
  400. package/lib/utils/deviceFeaturesUtils.js +24 -38
  401. package/lib/utils/ethereumUtils.d.ts +2 -3
  402. package/lib/utils/ethereumUtils.js +3 -11
  403. package/lib/utils/firmwareReleaseConfigUtils.d.ts +16 -7
  404. package/lib/utils/firmwareReleaseConfigUtils.js +71 -31
  405. package/lib/utils/firmwareUtils.d.ts +7 -7
  406. package/lib/utils/firmwareUtils.js +24 -37
  407. package/lib/utils/formatUtils.d.ts +6 -8
  408. package/lib/utils/formatUtils.js +21 -60
  409. package/lib/utils/hdnodeUtils.d.ts +2 -3
  410. package/lib/utils/hdnodeUtils.js +14 -25
  411. package/lib/utils/pathUtils.d.ts +1 -21
  412. package/lib/utils/pathUtils.js +1 -172
  413. package/lib/utils/paymentRequest.d.ts +8 -0
  414. package/lib/utils/paymentRequest.js +25 -0
  415. package/lib/utils/uiPromiseManager.d.ts +8 -43
  416. package/lib/utils/uiPromiseManager.js +19 -31
  417. package/lib/workers/workers.browser.d.ts +10 -0
  418. package/lib/workers/workers.browser.js +16 -0
  419. package/lib/workers/workers.d.ts +2 -2
  420. package/lib/workers/workers.js +8 -60
  421. package/lib/workers/workers.native.d.ts +2 -3
  422. package/lib/workers/workers.native.js +7 -20
  423. package/package.json +84 -75
  424. package/lib/api/eos/api/eosGetPublicKey.d.ts +0 -23
  425. package/lib/api/eos/api/eosGetPublicKey.js +0 -69
  426. package/lib/api/eos/api/eosSignTransaction.d.ts +0 -18
  427. package/lib/api/eos/api/eosSignTransaction.js +0 -48
  428. package/lib/api/eos/api/index.d.ts +0 -3
  429. package/lib/api/eos/api/index.js +0 -22
  430. package/lib/api/eos/eosSignTx.d.ts +0 -175
  431. package/lib/api/eos/eosSignTx.js +0 -344
  432. package/lib/api/getAccountDescriptor.d.ts +0 -22
  433. package/lib/api/getAccountDescriptor.js +0 -139
  434. package/lib/api/nem/api/index.d.ts +0 -3
  435. package/lib/api/nem/api/index.js +0 -22
  436. package/lib/api/nem/api/nemGetAddress.d.ts +0 -26
  437. package/lib/api/nem/api/nemGetAddress.js +0 -129
  438. package/lib/api/nem/api/nemSignTransaction.d.ts +0 -11
  439. package/lib/api/nem/api/nemSignTransaction.js +0 -39
  440. package/lib/api/nem/nemSignTx.d.ts +0 -78
  441. package/lib/api/nem/nemSignTx.js +0 -143
  442. package/lib/api/setProxy.d.ts +0 -8
  443. package/lib/api/setProxy.js +0 -32
  444. package/lib/api/solana/additionalInfo.d.ts +0 -10
  445. package/lib/api/solana/additionalInfo.js +0 -24
  446. package/lib/api/solana/solanaUtils.d.ts +0 -49
  447. package/lib/api/solana/solanaUtils.js +0 -279
  448. package/lib/constants/cardano.d.ts +0 -14
  449. package/lib/constants/cardano.js +0 -23
  450. package/lib/constants/errors.d.ts +0 -64
  451. package/lib/constants/errors.js +0 -87
  452. package/lib/constants/firmware.d.ts +0 -4
  453. package/lib/constants/firmware.js +0 -10
  454. package/lib/constants/index.d.ts +0 -8
  455. package/lib/constants/index.js +0 -27
  456. package/lib/constants/nem.d.ts +0 -29
  457. package/lib/constants/nem.js +0 -35
  458. package/lib/constants/network.d.ts +0 -17
  459. package/lib/constants/network.js +0 -21
  460. package/lib/constants/utxo.d.ts +0 -3
  461. package/lib/constants/utxo.js +0 -8
  462. package/lib/data/DataManager.d.ts +0 -31
  463. package/lib/data/DataManager.js +0 -100
  464. package/lib/data/analyticsInfo.d.ts +0 -6
  465. package/lib/data/analyticsInfo.js +0 -43
  466. package/lib/data/connectSettings.d.ts +0 -9
  467. package/lib/data/connectSettings.js +0 -147
  468. package/lib/data/thpSettings.d.ts +0 -3
  469. package/lib/data/thpSettings.js +0 -41
  470. package/lib/data/udevInfo.d.ts +0 -11
  471. package/lib/data/udevInfo.js +0 -31
  472. package/lib/data/version.d.ts +0 -6
  473. package/lib/data/version.js +0 -14
  474. package/lib/device/StateStorage.d.ts +0 -15
  475. package/lib/device/StateStorage.js +0 -40
  476. package/lib/device/workflow/index.d.ts +0 -2
  477. package/lib/device/workflow/index.js +0 -14
  478. package/lib/events/blockchain.d.ts +0 -66
  479. package/lib/events/blockchain.js +0 -22
  480. package/lib/events/call.d.ts +0 -46
  481. package/lib/events/call.js +0 -22
  482. package/lib/events/core.d.ts +0 -24
  483. package/lib/events/core.js +0 -32
  484. package/lib/events/device.d.ts +0 -70
  485. package/lib/events/device.js +0 -42
  486. package/lib/events/iframe.d.ts +0 -46
  487. package/lib/events/iframe.js +0 -22
  488. package/lib/events/index.d.ts +0 -68
  489. package/lib/events/index.js +0 -25
  490. package/lib/events/popup.d.ts +0 -88
  491. package/lib/events/popup.js +0 -29
  492. package/lib/events/transport.d.ts +0 -51
  493. package/lib/events/transport.js +0 -26
  494. package/lib/events/ui-request.d.ts +0 -266
  495. package/lib/events/ui-request.js +0 -57
  496. package/lib/events/ui-response.d.ts +0 -104
  497. package/lib/events/ui-response.js +0 -29
  498. package/lib/events/webextension.d.ts +0 -8
  499. package/lib/events/webextension.js +0 -14
  500. package/lib/factory.d.ts +0 -20
  501. package/lib/factory.js +0 -50
  502. package/lib/impl/dynamic.d.ts +0 -39
  503. package/lib/impl/dynamic.js +0 -125
  504. package/lib/index-browser.d.ts +0 -7
  505. package/lib/index-browser.js +0 -29
  506. package/lib/tsconfig.lib.tsbuildinfo +0 -1
  507. package/lib/types/account.d.ts +0 -20
  508. package/lib/types/account.js +0 -6
  509. package/lib/types/api/applyFlags.d.ts +0 -4
  510. package/lib/types/api/applyFlags.js +0 -6
  511. package/lib/types/api/applySettings.d.ts +0 -23
  512. package/lib/types/api/applySettings.js +0 -12
  513. package/lib/types/api/authenticateDevice.d.ts +0 -65
  514. package/lib/types/api/authenticateDevice.js +0 -14
  515. package/lib/types/api/authorizeCoinjoin.d.ts +0 -17
  516. package/lib/types/api/authorizeCoinjoin.js +0 -21
  517. package/lib/types/api/backupDevice.d.ts +0 -4
  518. package/lib/types/api/backupDevice.js +0 -6
  519. package/lib/types/api/bitcoin/index.d.ts +0 -101
  520. package/lib/types/api/bitcoin/index.js +0 -23
  521. package/lib/types/api/bleUnpair.d.ts +0 -4
  522. package/lib/types/api/bleUnpair.js +0 -6
  523. package/lib/types/api/blockchainDisconnect.d.ts +0 -5
  524. package/lib/types/api/blockchainDisconnect.js +0 -6
  525. package/lib/types/api/blockchainEstimateFee.d.ts +0 -26
  526. package/lib/types/api/blockchainEstimateFee.js +0 -6
  527. package/lib/types/api/blockchainEvmRpcCall.d.ts +0 -4
  528. package/lib/types/api/blockchainEvmRpcCall.js +0 -6
  529. package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +0 -4
  530. package/lib/types/api/blockchainGetAccountBalanceHistory.js +0 -6
  531. package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +0 -4
  532. package/lib/types/api/blockchainGetCurrentFiatRates.js +0 -6
  533. package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -4
  534. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +0 -6
  535. package/lib/types/api/blockchainGetInfo.d.ts +0 -4
  536. package/lib/types/api/blockchainGetInfo.js +0 -6
  537. package/lib/types/api/blockchainGetTransactions.d.ts +0 -7
  538. package/lib/types/api/blockchainGetTransactions.js +0 -6
  539. package/lib/types/api/blockchainSetCustomBackend.d.ts +0 -8
  540. package/lib/types/api/blockchainSetCustomBackend.js +0 -6
  541. package/lib/types/api/blockchainSubscribe.d.ts +0 -8
  542. package/lib/types/api/blockchainSubscribe.js +0 -6
  543. package/lib/types/api/blockchainSubscribeFiatRates.d.ts +0 -7
  544. package/lib/types/api/blockchainSubscribeFiatRates.js +0 -6
  545. package/lib/types/api/blockchainUnsubscribe.d.ts +0 -5
  546. package/lib/types/api/blockchainUnsubscribe.js +0 -6
  547. package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +0 -5
  548. package/lib/types/api/blockchainUnsubscribeFiatRates.js +0 -6
  549. package/lib/types/api/cancel.d.ts +0 -2
  550. package/lib/types/api/cancel.js +0 -6
  551. package/lib/types/api/cancelCoinjoinAuthorization.d.ts +0 -9
  552. package/lib/types/api/cancelCoinjoinAuthorization.js +0 -11
  553. package/lib/types/api/cardano/index.d.ts +0 -784
  554. package/lib/types/api/cardano/index.js +0 -241
  555. package/lib/types/api/cardanoComposeTransaction.d.ts +0 -150
  556. package/lib/types/api/cardanoComposeTransaction.js +0 -91
  557. package/lib/types/api/cardanoGetAddress.d.ts +0 -5
  558. package/lib/types/api/cardanoGetAddress.js +0 -6
  559. package/lib/types/api/cardanoGetNativeScriptHash.d.ts +0 -4
  560. package/lib/types/api/cardanoGetNativeScriptHash.js +0 -6
  561. package/lib/types/api/cardanoGetPublicKey.d.ts +0 -5
  562. package/lib/types/api/cardanoGetPublicKey.js +0 -6
  563. package/lib/types/api/cardanoSignMessage.d.ts +0 -4
  564. package/lib/types/api/cardanoSignMessage.js +0 -6
  565. package/lib/types/api/cardanoSignTransaction.d.ts +0 -10
  566. package/lib/types/api/cardanoSignTransaction.js +0 -6
  567. package/lib/types/api/changeLanguage.d.ts +0 -15
  568. package/lib/types/api/changeLanguage.js +0 -17
  569. package/lib/types/api/changePin.d.ts +0 -4
  570. package/lib/types/api/changePin.js +0 -6
  571. package/lib/types/api/changeWipeCode.d.ts +0 -4
  572. package/lib/types/api/changeWipeCode.js +0 -6
  573. package/lib/types/api/cipherKeyValue.d.ts +0 -18
  574. package/lib/types/api/cipherKeyValue.js +0 -18
  575. package/lib/types/api/composeTransaction.d.ts +0 -74
  576. package/lib/types/api/composeTransaction.js +0 -6
  577. package/lib/types/api/device.d.ts +0 -1
  578. package/lib/types/api/device.js +0 -1
  579. package/lib/types/api/disableWebUSB.d.ts +0 -2
  580. package/lib/types/api/disableWebUSB.js +0 -6
  581. package/lib/types/api/discoverAccounts.d.ts +0 -248
  582. package/lib/types/api/discoverAccounts.js +0 -210
  583. package/lib/types/api/dispose.d.ts +0 -2
  584. package/lib/types/api/dispose.js +0 -6
  585. package/lib/types/api/eos/index.d.ts +0 -784
  586. package/lib/types/api/eos/index.js +0 -124
  587. package/lib/types/api/eosGetPublicKey.d.ts +0 -5
  588. package/lib/types/api/eosGetPublicKey.js +0 -6
  589. package/lib/types/api/eosSignTransaction.d.ts +0 -5
  590. package/lib/types/api/eosSignTransaction.js +0 -6
  591. package/lib/types/api/ethereum/index.d.ts +0 -307
  592. package/lib/types/api/ethereum/index.js +0 -101
  593. package/lib/types/api/ethereumGetAddress.d.ts +0 -4
  594. package/lib/types/api/ethereumGetAddress.js +0 -6
  595. package/lib/types/api/ethereumGetPublicKey.d.ts +0 -5
  596. package/lib/types/api/ethereumGetPublicKey.js +0 -6
  597. package/lib/types/api/ethereumSignMessage.d.ts +0 -5
  598. package/lib/types/api/ethereumSignMessage.js +0 -6
  599. package/lib/types/api/ethereumSignTransaction.d.ts +0 -4
  600. package/lib/types/api/ethereumSignTransaction.js +0 -6
  601. package/lib/types/api/ethereumSignTypedData.d.ts +0 -6
  602. package/lib/types/api/ethereumSignTypedData.js +0 -6
  603. package/lib/types/api/ethereumVerifyMessage.d.ts +0 -5
  604. package/lib/types/api/ethereumVerifyMessage.js +0 -6
  605. package/lib/types/api/evoluGetDelegatedIdentityKey.d.ts +0 -9
  606. package/lib/types/api/evoluGetDelegatedIdentityKey.js +0 -6
  607. package/lib/types/api/evoluGetNode.d.ts +0 -4
  608. package/lib/types/api/evoluGetNode.js +0 -6
  609. package/lib/types/api/evoluSignRegistrationRequest.d.ts +0 -4
  610. package/lib/types/api/evoluSignRegistrationRequest.js +0 -6
  611. package/lib/types/api/firmwareUpdate.d.ts +0 -21
  612. package/lib/types/api/firmwareUpdate.js +0 -16
  613. package/lib/types/api/getAccountDescriptor.d.ts +0 -18
  614. package/lib/types/api/getAccountDescriptor.js +0 -16
  615. package/lib/types/api/getAccountInfo.d.ts +0 -16
  616. package/lib/types/api/getAccountInfo.js +0 -6
  617. package/lib/types/api/getAddress.d.ts +0 -48
  618. package/lib/types/api/getAddress.js +0 -17
  619. package/lib/types/api/getCoinInfo.d.ts +0 -6
  620. package/lib/types/api/getCoinInfo.js +0 -6
  621. package/lib/types/api/getDeviceState.d.ts +0 -8
  622. package/lib/types/api/getDeviceState.js +0 -6
  623. package/lib/types/api/getFeatures.d.ts +0 -4
  624. package/lib/types/api/getFeatures.js +0 -6
  625. package/lib/types/api/getFirmwareHash.d.ts +0 -4
  626. package/lib/types/api/getFirmwareHash.js +0 -6
  627. package/lib/types/api/getNonce.d.ts +0 -4
  628. package/lib/types/api/getNonce.js +0 -6
  629. package/lib/types/api/getOwnershipId.d.ts +0 -41
  630. package/lib/types/api/getOwnershipId.js +0 -16
  631. package/lib/types/api/getOwnershipProof.d.ts +0 -45
  632. package/lib/types/api/getOwnershipProof.js +0 -22
  633. package/lib/types/api/getPublicKey.d.ts +0 -37
  634. package/lib/types/api/getPublicKey.js +0 -31
  635. package/lib/types/api/getSettings.d.ts +0 -4
  636. package/lib/types/api/getSettings.js +0 -6
  637. package/lib/types/api/index.d.ts +0 -203
  638. package/lib/types/api/index.js +0 -6
  639. package/lib/types/api/init.d.ts +0 -7
  640. package/lib/types/api/init.js +0 -6
  641. package/lib/types/api/loadDevice.d.ts +0 -4
  642. package/lib/types/api/loadDevice.js +0 -6
  643. package/lib/types/api/manifest.d.ts +0 -3
  644. package/lib/types/api/manifest.js +0 -6
  645. package/lib/types/api/monero/index.d.ts +0 -280
  646. package/lib/types/api/monero/index.js +0 -178
  647. package/lib/types/api/moneroGetAddress.d.ts +0 -5
  648. package/lib/types/api/moneroGetAddress.js +0 -6
  649. package/lib/types/api/moneroGetWatchKey.d.ts +0 -4
  650. package/lib/types/api/moneroGetWatchKey.js +0 -6
  651. package/lib/types/api/moneroKeyImageSync.d.ts +0 -4
  652. package/lib/types/api/moneroKeyImageSync.js +0 -6
  653. package/lib/types/api/moneroSignTransaction.d.ts +0 -4
  654. package/lib/types/api/moneroSignTransaction.js +0 -6
  655. package/lib/types/api/nem/index.d.ts +0 -842
  656. package/lib/types/api/nem/index.js +0 -99
  657. package/lib/types/api/nemGetAddress.d.ts +0 -14
  658. package/lib/types/api/nemGetAddress.js +0 -12
  659. package/lib/types/api/nemSignTransaction.d.ts +0 -5
  660. package/lib/types/api/nemSignTransaction.js +0 -6
  661. package/lib/types/api/off.d.ts +0 -11
  662. package/lib/types/api/off.js +0 -6
  663. package/lib/types/api/on.d.ts +0 -14
  664. package/lib/types/api/on.js +0 -6
  665. package/lib/types/api/pushTransaction.d.ts +0 -16
  666. package/lib/types/api/pushTransaction.js +0 -16
  667. package/lib/types/api/recoveryDevice.d.ts +0 -17
  668. package/lib/types/api/recoveryDevice.js +0 -12
  669. package/lib/types/api/removeAllListeners.d.ts +0 -3
  670. package/lib/types/api/removeAllListeners.js +0 -6
  671. package/lib/types/api/renderWebUSBButton.d.ts +0 -2
  672. package/lib/types/api/renderWebUSBButton.js +0 -6
  673. package/lib/types/api/requestLogin.d.ts +0 -25
  674. package/lib/types/api/requestLogin.js +0 -16
  675. package/lib/types/api/requestWebUSBDevice.d.ts +0 -2
  676. package/lib/types/api/requestWebUSBDevice.js +0 -6
  677. package/lib/types/api/resetDevice.d.ts +0 -4
  678. package/lib/types/api/resetDevice.js +0 -6
  679. package/lib/types/api/ripple/index.d.ts +0 -41
  680. package/lib/types/api/ripple/index.js +0 -30
  681. package/lib/types/api/rippleGetAddress.d.ts +0 -4
  682. package/lib/types/api/rippleGetAddress.js +0 -6
  683. package/lib/types/api/rippleSignTransaction.d.ts +0 -4
  684. package/lib/types/api/rippleSignTransaction.js +0 -6
  685. package/lib/types/api/setBrightness.d.ts +0 -4
  686. package/lib/types/api/setBrightness.js +0 -6
  687. package/lib/types/api/setBusy.d.ts +0 -4
  688. package/lib/types/api/setBusy.js +0 -6
  689. package/lib/types/api/setProxy.d.ts +0 -8
  690. package/lib/types/api/setProxy.js +0 -6
  691. package/lib/types/api/setTransports.d.ts +0 -4
  692. package/lib/types/api/setTransports.js +0 -6
  693. package/lib/types/api/showDeviceTutorial.d.ts +0 -4
  694. package/lib/types/api/showDeviceTutorial.js +0 -6
  695. package/lib/types/api/signMessage.d.ts +0 -5
  696. package/lib/types/api/signMessage.js +0 -6
  697. package/lib/types/api/signTransaction.d.ts +0 -4
  698. package/lib/types/api/signTransaction.js +0 -6
  699. package/lib/types/api/solana/index.d.ts +0 -113
  700. package/lib/types/api/solana/index.js +0 -76
  701. package/lib/types/api/solanaComposeTransaction.d.ts +0 -4
  702. package/lib/types/api/solanaComposeTransaction.js +0 -6
  703. package/lib/types/api/solanaGetAddress.d.ts +0 -4
  704. package/lib/types/api/solanaGetAddress.js +0 -6
  705. package/lib/types/api/solanaGetPublicKey.d.ts +0 -5
  706. package/lib/types/api/solanaGetPublicKey.js +0 -6
  707. package/lib/types/api/solanaSignTransaction.d.ts +0 -4
  708. package/lib/types/api/solanaSignTransaction.js +0 -6
  709. package/lib/types/api/stellar/index.d.ts +0 -914
  710. package/lib/types/api/stellar/index.js +0 -194
  711. package/lib/types/api/stellarGetAddress.d.ts +0 -4
  712. package/lib/types/api/stellarGetAddress.js +0 -6
  713. package/lib/types/api/stellarSignTransaction.d.ts +0 -4
  714. package/lib/types/api/stellarSignTransaction.js +0 -6
  715. package/lib/types/api/tezos/index.d.ts +0 -163
  716. package/lib/types/api/tezos/index.js +0 -67
  717. package/lib/types/api/tezosGetAddress.d.ts +0 -4
  718. package/lib/types/api/tezosGetAddress.js +0 -6
  719. package/lib/types/api/tezosGetPublicKey.d.ts +0 -4
  720. package/lib/types/api/tezosGetPublicKey.js +0 -6
  721. package/lib/types/api/tezosSignTransaction.d.ts +0 -5
  722. package/lib/types/api/tezosSignTransaction.js +0 -6
  723. package/lib/types/api/thpGetCredentials.d.ts +0 -4
  724. package/lib/types/api/thpGetCredentials.js +0 -6
  725. package/lib/types/api/thpRemoveCredentials.d.ts +0 -7
  726. package/lib/types/api/thpRemoveCredentials.js +0 -6
  727. package/lib/types/api/tron/index.d.ts +0 -130
  728. package/lib/types/api/tron/index.js +0 -62
  729. package/lib/types/api/tronGetAddress.d.ts +0 -4
  730. package/lib/types/api/tronGetAddress.js +0 -6
  731. package/lib/types/api/tronSignTransaction.d.ts +0 -4
  732. package/lib/types/api/tronSignTransaction.js +0 -6
  733. package/lib/types/api/uiResponse.d.ts +0 -3
  734. package/lib/types/api/uiResponse.js +0 -6
  735. package/lib/types/api/unlockPath.d.ts +0 -10
  736. package/lib/types/api/unlockPath.js +0 -13
  737. package/lib/types/api/verifyMessage.d.ts +0 -5
  738. package/lib/types/api/verifyMessage.js +0 -6
  739. package/lib/types/api/wipeDevice.d.ts +0 -4
  740. package/lib/types/api/wipeDevice.js +0 -6
  741. package/lib/types/coinInfo.d.ts +0 -353
  742. package/lib/types/coinInfo.js +0 -79
  743. package/lib/types/device.d.ts +0 -133
  744. package/lib/types/device.js +0 -13
  745. package/lib/types/fees.d.ts +0 -36
  746. package/lib/types/fees.js +0 -39
  747. package/lib/types/firmware.d.ts +0 -25
  748. package/lib/types/firmware.js +0 -6
  749. package/lib/types/index.d.ts +0 -25
  750. package/lib/types/index.js +0 -39
  751. package/lib/types/params.d.ts +0 -93
  752. package/lib/types/params.js +0 -38
  753. package/lib/types/settings.d.ts +0 -80
  754. package/lib/types/settings.js +0 -6
  755. package/lib/types/utils.d.ts +0 -15
  756. package/lib/types/utils.js +0 -6
  757. package/lib/utils/assets-browser.d.ts +0 -3
  758. package/lib/utils/assets-browser.js +0 -29
  759. package/lib/utils/debug.d.ts +0 -7
  760. package/lib/utils/debug.js +0 -33
  761. package/lib/utils/interactionTimeout.d.ts +0 -10
  762. package/lib/utils/interactionTimeout.js +0 -37
  763. package/lib/utils/popupPromiseManager.d.ts +0 -8
  764. package/lib/utils/popupPromiseManager.js +0 -30
  765. package/lib/utils/proxy-event-emitter.d.ts +0 -21
  766. package/lib/utils/proxy-event-emitter.js +0 -69
  767. package/lib/utils/urlUtils.d.ts +0 -13
  768. package/lib/utils/urlUtils.js +0 -31
  769. package/lib/utils/versionCheck.d.ts +0 -3
  770. package/lib/utils/versionCheck.js +0 -16
  771. package/lib/workers/workers-browser.d.ts +0 -10
  772. package/lib/workers/workers-browser.js +0 -20
@@ -1,14 +1,8 @@
1
- import { ConditionalRelease, DeviceModelInternal, FirmwareRelease, FirmwareReleaseConfig, FirmwareType, IntermediaryReleaseConfig, VersionArray } from '@trezor/device-utils';
2
- import { Features } from '../types/device';
3
- import { FirmwareReleaseConfigInfo, FirmwareUpdateSource } from '../types/firmware';
4
- interface RemoteBaseInfo {
5
- BASE_URL: string;
6
- MIDDLE_PATH: string;
7
- }
8
- type OnlineFirmwareBaseUrl = RemoteBaseInfo & {
9
- env: FirmwareUpdateSource;
10
- };
11
- export declare const getOnlineFirmwareBaseUrl: () => OnlineFirmwareBaseUrl;
1
+ import type { Features } from '@trezor/connect-common/lib/types/device';
2
+ import type { FirmwareReleaseConfigInfo } from '@trezor/connect-common/lib/types/firmware';
3
+ import type { ConditionalRelease, FirmwareRelease, FirmwareReleaseConfig, IntermediaryReleaseConfig } from '@trezor/device-utils';
4
+ import { DeviceModelInternal, FirmwareType } from '@trezor/device-utils';
5
+ import type { VersionArray } from '@trezor/utils/lib/versionUtils';
12
6
  export declare const getBundledRelease: (deviceModel: DeviceModelInternal, firmwareType: FirmwareType) => FirmwareRelease | undefined;
13
7
  export declare const getOnlineReleaseByVersion: (deviceModel: DeviceModelInternal, firmwareVersion: VersionArray, firmwareType: FirmwareType) => Promise<FirmwareRelease | undefined>;
14
8
  export declare const getReleaseConfig: (features: Features, firmwareType: FirmwareType) => ConditionalRelease | undefined;
@@ -16,38 +10,46 @@ export declare const getReleaseByVersion: (features: Features, firmwareVersion:
16
10
  export declare const createLocalFirmwareConfig: (baseConfig: FirmwareReleaseConfig) => any;
17
11
  export declare const createRemoteFirmwareConfig: (config: FirmwareReleaseConfig) => Promise<any>;
18
12
  export declare const initializeFirmwareConfig: (config: FirmwareReleaseConfig, isRemote: boolean) => Promise<{
19
- releases: any;
20
- intermediaries: Record<DeviceModelInternal, IntermediaryReleaseConfig[]>;
13
+ releases: any;
14
+ intermediaries: Record<DeviceModelInternal, IntermediaryReleaseConfig[]>;
21
15
  }>;
22
16
  export declare const getLanguage: (languageBinPath: string) => Promise<ArrayBuffer | Buffer<ArrayBufferLike>>;
23
- export type CurrentVersion = {
24
- bootloaderVersion: VersionArray | null;
25
- firmwareVersion: VersionArray | null;
26
- };
27
- export declare const getCurrentVersion: (features: Features) => CurrentVersion;
17
+ export type { CurrentVersion } from '@trezor/connect-common/lib/types/firmware';
28
18
  interface GetReleaseInfoParams {
29
- features: Features;
30
- release: FirmwareRelease;
31
- conditions: ConditionalRelease['conditions'];
32
- intermediary: IntermediaryReleaseConfig | undefined;
33
- firmwareType: FirmwareType;
34
- isBitcoinOnlyAvailable: boolean;
35
- releasesOfDevice: FirmwareRelease[];
19
+ features: Features;
20
+ release: FirmwareRelease;
21
+ conditions: ConditionalRelease['conditions'];
22
+ intermediary: IntermediaryReleaseConfig | undefined;
23
+ firmwareType: FirmwareType;
24
+ isBitcoinOnlyAvailable: boolean;
25
+ releasesOfDevice: FirmwareRelease[];
36
26
  }
37
- export declare const getReleaseInfo: ({ features, release, conditions, intermediary, firmwareType, isBitcoinOnlyAvailable, releasesOfDevice, }: GetReleaseInfoParams) => FirmwareReleaseConfigInfo;
27
+ export declare const getReleaseInfo: ({
28
+ features,
29
+ release,
30
+ conditions,
31
+ intermediary,
32
+ firmwareType,
33
+ isBitcoinOnlyAvailable,
34
+ releasesOfDevice
35
+ }: GetReleaseInfoParams) => FirmwareReleaseConfigInfo;
38
36
  export declare const getFirmwareReleaseConfigInfo: (features: Features, firmwareType: FirmwareType) => FirmwareReleaseConfigInfo | undefined;
39
- export declare const getFirmwareStatus: (features: Features, firmwareType: FirmwareType) => "valid" | "outdated" | "required" | "unknown" | "custom" | "none";
37
+ export declare const getFirmwareStatus: (features: Features, firmwareType: FirmwareType) => "custom" | "valid" | "outdated" | "required" | "unknown" | "none";
40
38
  type GetFirmwareLocationParam = {
41
- firmwareVersion: VersionArray;
42
- remotePath: string;
43
- deviceModel: DeviceModelInternal;
44
- firmwareType: FirmwareType;
45
- intermediaryVersion?: number;
39
+ firmwareVersion: VersionArray;
40
+ remotePath: string;
41
+ deviceModel: DeviceModelInternal;
42
+ firmwareType: FirmwareType;
43
+ intermediaryVersion?: number;
46
44
  };
47
45
  type FirmwareLocationPathParams = {
48
- baseUrl: string;
49
- path: string;
46
+ baseUrl: string;
47
+ path: string;
50
48
  };
51
- export declare const getFirmwareLocation: ({ firmwareVersion, remotePath, deviceModel, firmwareType, intermediaryVersion, }: GetFirmwareLocationParam) => FirmwareLocationPathParams;
52
- export {};
53
- //# sourceMappingURL=firmwareInfo.d.ts.map
49
+ export declare const getFirmwareLocation: ({
50
+ firmwareVersion,
51
+ remotePath,
52
+ deviceModel,
53
+ firmwareType,
54
+ intermediaryVersion
55
+ }: GetFirmwareLocationParam) => FirmwareLocationPathParams;
@@ -1,63 +1,14 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getFirmwareLocation = exports.getFirmwareStatus = exports.getFirmwareReleaseConfigInfo = exports.getReleaseInfo = exports.getCurrentVersion = exports.getLanguage = exports.initializeFirmwareConfig = exports.createRemoteFirmwareConfig = exports.createLocalFirmwareConfig = exports.getReleaseByVersion = exports.getReleaseConfig = exports.getOnlineReleaseByVersion = exports.getBundledRelease = exports.getOnlineFirmwareBaseUrl = void 0;
7
- const device_utils_1 = require("@trezor/device-utils");
8
- const utils_1 = require("@trezor/utils");
9
- const DataManager_1 = require("./DataManager");
10
- const assetUtils_1 = require("../utils/assetUtils");
11
- const assets_1 = require("../utils/assets");
12
- const firmwareUtils_1 = require("../utils/firmwareUtils");
13
- const RELEASES_URL_REMOTE_BASE = {
14
- BASE_URL: 'https://data.trezor.io',
15
- MIDDLE_PATH: 'firmware'
16
- };
17
- const UNSIGNED_URL_REMOTE_BASE = {
18
- BASE_URL: 'https://data.trezor.io',
19
- MIDDLE_PATH: 'dev/firmware/releases/unsigned'
20
- };
21
- const UNSIGNED_STABLE_URL_REMOTE_BASE = {
22
- BASE_URL: 'https://data.trezor.io',
23
- MIDDLE_PATH: 'dev/firmware/releases/unsigned-stable'
24
- };
25
- const SIGNED_URL_REMOTE_BASE = {
26
- BASE_URL: 'https://suite.corp.sldev.cz',
27
- MIDDLE_PATH: 'firmware/signed'
28
- };
29
- const SIGNED_LOCALHOST = {
30
- BASE_URL: 'http://localhost:3000',
31
- MIDDLE_PATH: 'firmware/signed'
32
- };
33
- const UNSIGNED_LOCALHOST = {
34
- BASE_URL: 'http://localhost:3000',
35
- MIDDLE_PATH: 'firmware/unsigned'
36
- };
37
- const FIRMWARE_REMOTE_BASE_URLS = {
38
- production: RELEASES_URL_REMOTE_BASE,
39
- 'test-unsigned': UNSIGNED_URL_REMOTE_BASE,
40
- 'test-unsigned-stable': UNSIGNED_STABLE_URL_REMOTE_BASE,
41
- 'test-signed': SIGNED_URL_REMOTE_BASE,
42
- 'localhost-unsigned': UNSIGNED_LOCALHOST,
43
- 'localhost-signed': SIGNED_LOCALHOST
44
- };
45
- const getOnlineFirmwareBaseUrl = () => {
46
- const firmwareUpdateSource = DataManager_1.DataManager.getSettings('firmwareUpdateSource');
47
- if (!firmwareUpdateSource) {
48
- return {
49
- ...FIRMWARE_REMOTE_BASE_URLS['production'],
50
- env: 'production'
51
- };
52
- }
53
- return {
54
- ...FIRMWARE_REMOTE_BASE_URLS[firmwareUpdateSource],
55
- env: firmwareUpdateSource
56
- };
57
- };
58
- exports.getOnlineFirmwareBaseUrl = getOnlineFirmwareBaseUrl;
1
+ import { DeviceModelInternal, FirmwareType, getBootloaderVersionArray, getFirmwareOrBootloaderVersionArray, getFirmwareVersionArray } from "@trezor/device-utils";
2
+ import { getIntegerInRangeFromString, isNotNull, removeTrailingSlashes, versionUtils } from "@trezor/utils";
3
+ import * as firmwareReleaseStore from "./firmwareReleaseStore.js";
4
+ import * as localFirmwareStore from "./localFirmwareStore.js";
5
+ import * as settingsStore from "./settingsStore.js";
6
+ import { getReleaseAsset, getReleasesAssetByDeviceModelAndFirmwareType } from "../utils/assetUtils.js";
7
+ import { httpRequest } from "../utils/assets.js";
8
+ import { getOnlineFirmwareBaseUrl } from "../utils/firmwareReleaseConfigUtils.js";
9
+ import { buildIntermediaryFirmwareFileName, buildLocalFirmwareFileName, buildLocalReleaseName, findBestCompatibleRelease, isFirmwareCacheUsedForSelectedSource, isProductionFirmwareChannel, isStrictFeatures } from "../utils/firmwareUtils.js";
59
10
  const getBundledFirmwareVersion = (deviceModel, firmwareType) => {
60
- const localFirmwareReleaseConfig = DataManager_1.DataManager.getLocalFirmwareReleaseConfig();
11
+ const localFirmwareReleaseConfig = firmwareReleaseStore.getLocal();
61
12
  const modelReleases = localFirmwareReleaseConfig.releases[deviceModel];
62
13
  const bundledRelease = modelReleases?.[firmwareType];
63
14
  if (!bundledRelease) {
@@ -69,52 +20,50 @@ const getBundledFirmwareVersion = (deviceModel, firmwareType) => {
69
20
  }
70
21
  return bundledVersion[0];
71
22
  };
72
- const getBundledRelease = (deviceModel, firmwareType) => {
23
+ export const getBundledRelease = (deviceModel, firmwareType) => {
73
24
  const version = getBundledFirmwareVersion(deviceModel, firmwareType);
74
25
  if (!version) {
75
26
  return;
76
27
  }
77
- const versionArray = utils_1.versionUtils.tryParse(version);
28
+ const versionArray = versionUtils.tryParse(version);
78
29
  if (!versionArray) {
79
30
  throw new Error('There was error parsing bundled release.');
80
31
  }
81
- return (0, assetUtils_1.getReleaseAsset)(deviceModel, versionArray, firmwareType);
32
+ return getReleaseAsset(deviceModel, versionArray, firmwareType);
82
33
  };
83
- exports.getBundledRelease = getBundledRelease;
84
34
  const getOnlineReleaseByPath = async releasePath => {
85
- const onlineFirmwareBaseUrl = (0, exports.getOnlineFirmwareBaseUrl)();
35
+ const onlineFirmwareBaseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
86
36
  const url = `${onlineFirmwareBaseUrl.BASE_URL}/${releasePath}`;
87
- const response = await (0, assets_1.httpRequest)(url, 'json', {
37
+ const response = await httpRequest(url, 'json', {
88
38
  signal: AbortSignal.timeout(10000),
89
39
  skipLocalForceDownload: true
90
40
  });
91
41
  return response;
92
42
  };
93
43
  const getOnlineReleasePath = (deviceModel, firmwareVersion, firmwareType) => {
94
- const onlineFirmwareBaseUrl = (0, exports.getOnlineFirmwareBaseUrl)();
95
- const firmwareTypeFileString = firmwareType === device_utils_1.FirmwareType.BitcoinOnly ? 'bitcoinonly' : 'universal';
44
+ const onlineFirmwareBaseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
45
+ const firmwareTypeFileString = firmwareType === FirmwareType.BitcoinOnly ? 'bitcoinonly' : 'universal';
96
46
  const relaseJsonFilename = `${deviceModel.toLowerCase()}-${firmwareVersion.join('.')}-${firmwareTypeFileString}.json`;
97
47
  const origin = `${onlineFirmwareBaseUrl.MIDDLE_PATH}/${deviceModel.toLowerCase()}/${firmwareTypeFileString}`;
98
48
  const releasePath = `${origin}/${relaseJsonFilename}`;
99
49
  return releasePath;
100
50
  };
101
- const getOnlineReleaseByVersion = async (deviceModel, firmwareVersion, firmwareType) => {
51
+ export const getOnlineReleaseByVersion = async (deviceModel, firmwareVersion, firmwareType) => {
102
52
  const releasePath = getOnlineReleasePath(deviceModel, firmwareVersion, firmwareType);
103
53
  const onlineRelease = await getOnlineReleaseByPath(releasePath);
104
- if (!onlineRelease || !utils_1.versionUtils.isEqual(onlineRelease.version, firmwareVersion)) {
54
+ if (!onlineRelease || !versionUtils.isEqual(onlineRelease.version, firmwareVersion)) {
105
55
  return;
106
56
  }
107
57
  return onlineRelease;
108
58
  };
109
- exports.getOnlineReleaseByVersion = getOnlineReleaseByVersion;
110
- const getReleaseConfig = (features, firmwareType) => {
59
+ export const getReleaseConfig = (features, firmwareType) => {
111
60
  const {
112
61
  internal_model
113
62
  } = features;
114
- if (internal_model === device_utils_1.DeviceModelInternal.UNKNOWN) {
63
+ if (internal_model === DeviceModelInternal.UNKNOWN) {
115
64
  return undefined;
116
65
  }
117
- const firmwareReleaseConfig = DataManager_1.DataManager.getFirmwareReleaseConfig();
66
+ const firmwareReleaseConfig = firmwareReleaseStore.getReleases();
118
67
  if (!firmwareReleaseConfig) {
119
68
  throw new Error('Firmware release config not loaded.');
120
69
  }
@@ -124,9 +73,9 @@ const getReleaseConfig = (features, firmwareType) => {
124
73
  }
125
74
  return deviceMessageRelease[firmwareType];
126
75
  };
127
- exports.getReleaseConfig = getReleaseConfig;
128
- const getReleaseByVersion = async (features, firmwareVersion, firmwareType) => {
76
+ export const getReleaseByVersion = async (features, firmwareVersion, firmwareType) => {
129
77
  const deviceModel = features.internal_model;
78
+ const firmwareChannel = settingsStore.get('firmwareChannel');
130
79
  const tryGetRelease = async getter => {
131
80
  try {
132
81
  return await getter();
@@ -134,58 +83,57 @@ const getReleaseByVersion = async (features, firmwareVersion, firmwareType) => {
134
83
  return;
135
84
  }
136
85
  };
137
- const releaseFromConfig = (0, exports.getReleaseConfig)(features, firmwareType)?.release;
138
- if (releaseFromConfig && utils_1.versionUtils.isEqual(firmwareVersion, releaseFromConfig.version)) {
86
+ const releaseFromConfig = getReleaseConfig(features, firmwareType)?.release;
87
+ if (releaseFromConfig && versionUtils.isEqual(firmwareVersion, releaseFromConfig.version)) {
139
88
  return releaseFromConfig;
140
89
  }
141
- const releaseName = (0, firmwareUtils_1.buildLocalReleaseName)(firmwareType, deviceModel, firmwareVersion);
90
+ const releaseName = buildLocalReleaseName(firmwareType, deviceModel, firmwareVersion);
142
91
  const {
143
92
  firmwareDir,
144
93
  firmwareList
145
- } = DataManager_1.DataManager.getLocalFirmwares();
146
- if ((0, firmwareUtils_1.isFirmwareCacheUsedForSelectedSource)() && firmwareList.includes(releaseName)) {
94
+ } = localFirmwareStore.get();
95
+ if (isFirmwareCacheUsedForSelectedSource(firmwareChannel) && firmwareList.includes(releaseName)) {
147
96
  const localReleasePath = `${firmwareDir}${releaseName}`;
148
- const localReleaseBuffer = await (0, assets_1.httpRequest)(localReleasePath, 'json');
97
+ const localReleaseBuffer = await httpRequest(localReleasePath, 'json');
149
98
  return JSON.parse(localReleaseBuffer.toString());
150
99
  }
151
- const release = (await tryGetRelease(() => (0, assetUtils_1.getReleaseAsset)(deviceModel, firmwareVersion, firmwareType))) || (await tryGetRelease(() => (0, exports.getOnlineReleaseByVersion)(deviceModel, firmwareVersion, firmwareType)));
152
- if (release && utils_1.versionUtils.isEqual(release.version, firmwareVersion)) {
100
+ const useBundledRelease = isProductionFirmwareChannel(firmwareChannel);
101
+ const release = (useBundledRelease ? await tryGetRelease(() => getReleaseAsset(deviceModel, firmwareVersion, firmwareType)) : undefined) || (await tryGetRelease(() => getOnlineReleaseByVersion(deviceModel, firmwareVersion, firmwareType)));
102
+ if (release && versionUtils.isEqual(release.version, firmwareVersion)) {
153
103
  return release;
154
104
  }
155
105
  return;
156
106
  };
157
- exports.getReleaseByVersion = getReleaseByVersion;
158
- const createLocalFirmwareConfig = baseConfig => {
107
+ export const createLocalFirmwareConfig = baseConfig => {
159
108
  const releaseEntries = Object.entries(baseConfig.releases).map(([deviceModel, modelReleases]) => {
160
109
  const modelKey = deviceModel;
161
- if (modelKey === device_utils_1.DeviceModelInternal.UNKNOWN) return null;
110
+ if (modelKey === DeviceModelInternal.UNKNOWN) return null;
162
111
  const {
163
112
  'bitcoin-only': bitcoinOnlyConfig,
164
113
  universal: universalConfig
165
114
  } = modelReleases ?? {};
166
115
  if (!bitcoinOnlyConfig?.releasePath || !universalConfig?.releasePath) return null;
167
- const btcOnlyRelease = (0, exports.getBundledRelease)(modelKey, device_utils_1.FirmwareType.BitcoinOnly);
168
- const universalRelease = (0, exports.getBundledRelease)(modelKey, device_utils_1.FirmwareType.Universal);
116
+ const btcOnlyRelease = getBundledRelease(modelKey, FirmwareType.BitcoinOnly);
117
+ const universalRelease = getBundledRelease(modelKey, FirmwareType.Universal);
169
118
  if (!btcOnlyRelease || !universalRelease) return null;
170
119
  const releases = {
171
- [device_utils_1.FirmwareType.BitcoinOnly]: {
120
+ [FirmwareType.BitcoinOnly]: {
172
121
  ...bitcoinOnlyConfig,
173
122
  release: btcOnlyRelease
174
123
  },
175
- [device_utils_1.FirmwareType.Universal]: {
124
+ [FirmwareType.Universal]: {
176
125
  ...universalConfig,
177
126
  release: universalRelease
178
127
  }
179
128
  };
180
129
  return [modelKey, releases];
181
- }).filter(entry => entry !== null);
130
+ }).filter(isNotNull);
182
131
  return Object.fromEntries(releaseEntries);
183
132
  };
184
- exports.createLocalFirmwareConfig = createLocalFirmwareConfig;
185
- const createRemoteFirmwareConfig = async config => {
133
+ export const createRemoteFirmwareConfig = async config => {
186
134
  const releaseEntryPromises = Object.entries(config.releases).map(async ([deviceModel, modelReleases]) => {
187
135
  const modelKey = deviceModel;
188
- if (modelKey === device_utils_1.DeviceModelInternal.UNKNOWN) return null;
136
+ if (modelKey === DeviceModelInternal.UNKNOWN) return null;
189
137
  const {
190
138
  'bitcoin-only': bitcoinOnlyConfig,
191
139
  universal: universalConfig
@@ -194,70 +142,59 @@ const createRemoteFirmwareConfig = async config => {
194
142
  const [bitcoinOnlyRelease, universalRelease] = await Promise.all([getOnlineReleaseByPath(bitcoinOnlyConfig.releasePath), getOnlineReleaseByPath(universalConfig.releasePath)]);
195
143
  if (!universalRelease || !bitcoinOnlyRelease) return null;
196
144
  const releases = {
197
- [device_utils_1.FirmwareType.BitcoinOnly]: {
145
+ [FirmwareType.BitcoinOnly]: {
198
146
  ...bitcoinOnlyConfig,
199
147
  release: bitcoinOnlyRelease
200
148
  },
201
- [device_utils_1.FirmwareType.Universal]: {
149
+ [FirmwareType.Universal]: {
202
150
  ...universalConfig,
203
151
  release: universalRelease
204
152
  }
205
153
  };
206
154
  return [modelKey, releases];
207
155
  });
208
- const validEntries = (await Promise.all(releaseEntryPromises)).filter(entry => entry !== null);
156
+ const validEntries = (await Promise.all(releaseEntryPromises)).filter(isNotNull);
209
157
  return Object.fromEntries(validEntries);
210
158
  };
211
- exports.createRemoteFirmwareConfig = createRemoteFirmwareConfig;
212
- const initializeFirmwareConfig = async (config, isRemote) => {
159
+ export const initializeFirmwareConfig = async (config, isRemote) => {
213
160
  if (isRemote) {
214
161
  try {
215
- const remoteReleases = await (0, exports.createRemoteFirmwareConfig)(config);
162
+ const remoteReleases = await createRemoteFirmwareConfig(config);
216
163
  return {
217
164
  releases: remoteReleases,
218
165
  intermediaries: config.intermediaries
219
166
  };
220
167
  } catch {}
221
168
  }
222
- const localFirmwareReleaseConfig = DataManager_1.DataManager.getLocalFirmwareReleaseConfig();
223
- const localReleases = (0, exports.createLocalFirmwareConfig)(localFirmwareReleaseConfig);
169
+ const localFirmwareReleaseConfig = firmwareReleaseStore.getLocal();
170
+ const localReleases = createLocalFirmwareConfig(localFirmwareReleaseConfig);
224
171
  return {
225
172
  releases: localReleases,
226
173
  intermediaries: localFirmwareReleaseConfig.intermediaries
227
174
  };
228
175
  };
229
- exports.initializeFirmwareConfig = initializeFirmwareConfig;
230
- const getLanguage = languageBinPath => {
231
- const baseUrl = (0, exports.getOnlineFirmwareBaseUrl)();
176
+ export const getLanguage = languageBinPath => {
177
+ const baseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
232
178
  const url = `${baseUrl.BASE_URL}/${languageBinPath}`;
233
- return (0, assets_1.httpRequest)(url, 'binary');
179
+ return httpRequest(url, 'binary');
234
180
  };
235
- exports.getLanguage = getLanguage;
236
181
  const getCurrentVersion = features => {
237
- if (!(0, firmwareUtils_1.isStrictFeatures)(features)) {
182
+ if (!isStrictFeatures(features)) {
238
183
  throw new Error('Features of unexpected shape provided.');
239
184
  }
240
- const {
241
- bootloader_mode,
242
- major_version,
243
- minor_version,
244
- patch_version,
245
- fw_major,
246
- fw_minor,
247
- fw_patch
248
- } = features;
249
- const fw_version = [fw_major, fw_minor, fw_patch];
250
- const version = [major_version, minor_version, patch_version];
251
- const bootloaderVersion = bootloader_mode ? version : null;
252
- const fwVersion = bootloader_mode ? fw_version : version;
185
+ const bootloaderVersion = getBootloaderVersionArray({
186
+ features
187
+ });
188
+ const firmwareVersion = getFirmwareVersionArray({
189
+ features
190
+ });
253
191
  return {
254
192
  bootloaderVersion,
255
- firmwareVersion: fwVersion.includes(null) ? null : fwVersion
193
+ firmwareVersion
256
194
  };
257
195
  };
258
- exports.getCurrentVersion = getCurrentVersion;
259
196
  const getIntermediaryMessageRelease = features => {
260
- const config = DataManager_1.DataManager.getFirmwareIntermediaryReleaseConfig();
197
+ const config = firmwareReleaseStore.getIntermediary();
261
198
  if (!config) {
262
199
  throw new Error('Firmware release config not loaded.');
263
200
  }
@@ -268,27 +205,27 @@ const getIntermediaryMessageRelease = features => {
268
205
  const {
269
206
  bootloaderVersion,
270
207
  firmwareVersion
271
- } = (0, exports.getCurrentVersion)(features);
208
+ } = getCurrentVersion(features);
272
209
  const currentVersion = features.bootloader_mode ? bootloaderVersion : firmwareVersion;
273
210
  const minVersionKey = features.bootloader_mode ? 'min_bootloader_version' : 'min_firmware_version';
274
211
  if (!currentVersion) {
275
212
  return undefined;
276
213
  }
277
- return deviceIntermediaryReleases.find(release => utils_1.versionUtils.isNewer(release[minVersionKey], currentVersion));
214
+ return deviceIntermediaryReleases.find(release => versionUtils.isNewer(release[minVersionKey], currentVersion));
278
215
  };
279
216
  const getIsBitcoinOnlyAvailable = features => {
280
217
  const {
281
218
  internal_model
282
219
  } = features;
283
- if (internal_model === device_utils_1.DeviceModelInternal.UNKNOWN) {
220
+ if (internal_model === DeviceModelInternal.UNKNOWN) {
284
221
  return false;
285
222
  }
286
- const firmwareReleaseConfig = DataManager_1.DataManager.getFirmwareReleaseConfig();
223
+ const firmwareReleaseConfig = firmwareReleaseStore.getReleases();
287
224
  if (!firmwareReleaseConfig) {
288
225
  throw new Error('Firmware release config not loaded.');
289
226
  }
290
227
  const deviceMessageRelease = firmwareReleaseConfig[internal_model];
291
- return !!deviceMessageRelease && !!deviceMessageRelease[device_utils_1.FirmwareType.BitcoinOnly];
228
+ return !!deviceMessageRelease && !!deviceMessageRelease[FirmwareType.BitcoinOnly];
292
229
  };
293
230
  const isValidConditionalRelease = release => !!(release.version && release.min_firmware_version && release.min_bootloader_version);
294
231
  const calculateShouldOfferRelease = (rolloutProbability, deviceId) => {
@@ -298,7 +235,7 @@ const calculateShouldOfferRelease = (rolloutProbability, deviceId) => {
298
235
  if (deviceId === null) {
299
236
  return rolloutProbability > 0;
300
237
  } else {
301
- const deterministicValueToCompare = (0, utils_1.getIntegerInRangeFromString)(deviceId, 101);
238
+ const deterministicValueToCompare = getIntegerInRangeFromString(deviceId, 101);
302
239
  return deterministicValueToCompare < rolloutProbability;
303
240
  }
304
241
  };
@@ -308,17 +245,17 @@ const getChangelog = (releases, features) => {
308
245
  return null;
309
246
  }
310
247
  if (features.firmware_present && features.major_version === 2) {
311
- return releases.filter(r => utils_1.versionUtils.isNewer(r.version, [features.fw_major, features.fw_minor, features.fw_patch]));
248
+ return releases.filter(r => versionUtils.isNewer(r.version, [features.fw_major, features.fw_minor, features.fw_patch]));
312
249
  }
313
250
  return releases;
314
251
  }
315
- return releases.filter(r => utils_1.versionUtils.isNewer(r.version, [features.major_version, features.minor_version, features.patch_version]));
252
+ return releases.filter(r => versionUtils.isNewer(r.version, getFirmwareOrBootloaderVersionArray(features)));
316
253
  };
317
254
  const isRequired = changelog => {
318
- if (!changelog || !changelog.length) return null;
255
+ if (!changelog?.length) return null;
319
256
  return changelog.some(item => item.required);
320
257
  };
321
- const getReleaseInfo = ({
258
+ export const getReleaseInfo = ({
322
259
  features,
323
260
  release,
324
261
  conditions,
@@ -327,7 +264,7 @@ const getReleaseInfo = ({
327
264
  isBitcoinOnlyAvailable,
328
265
  releasesOfDevice
329
266
  }) => {
330
- if (!(0, firmwareUtils_1.isStrictFeatures)(features)) {
267
+ if (!isStrictFeatures(features)) {
331
268
  throw new Error('Features of unexpected shape provided.');
332
269
  }
333
270
  if (!isValidConditionalRelease(release)) {
@@ -344,25 +281,25 @@ const getReleaseInfo = ({
344
281
  const {
345
282
  bootloaderVersion,
346
283
  firmwareVersion
347
- } = (0, exports.getCurrentVersion)(features);
348
- if (utils_1.versionUtils.isVersionArray(firmwareVersion)) {
349
- isNewer = utils_1.versionUtils.isNewer(release.version, firmwareVersion);
350
- requiresIntermediary = utils_1.versionUtils.isNewer(min_firmware_version, firmwareVersion);
351
- } else if (utils_1.versionUtils.isVersionArray(bootloaderVersion)) {
352
- isNewer = utils_1.versionUtils.isNewer(release.bootloader_version, bootloaderVersion);
353
- requiresIntermediary = utils_1.versionUtils.isNewer(min_bootloader_version, bootloaderVersion);
284
+ } = getCurrentVersion(features);
285
+ if (versionUtils.isVersionArray(firmwareVersion)) {
286
+ isNewer = versionUtils.isNewer(release.version, firmwareVersion);
287
+ requiresIntermediary = versionUtils.isNewer(min_firmware_version, firmwareVersion);
288
+ } else if (versionUtils.isVersionArray(bootloaderVersion)) {
289
+ isNewer = versionUtils.isNewer(release.bootloader_version, bootloaderVersion);
290
+ requiresIntermediary = versionUtils.isNewer(min_bootloader_version, bootloaderVersion);
354
291
  } else {
355
292
  throw new Error('Version is not version array.');
356
293
  }
357
294
  } else {
358
295
  const {
359
296
  firmwareVersion
360
- } = (0, exports.getCurrentVersion)(features);
361
- if (!utils_1.versionUtils.isVersionArray(firmwareVersion)) {
297
+ } = getCurrentVersion(features);
298
+ if (!versionUtils.isVersionArray(firmwareVersion)) {
362
299
  throw new Error('Firmware version is not version array.');
363
300
  }
364
- isNewer = utils_1.versionUtils.isNewer(release.version, firmwareVersion);
365
- requiresIntermediary = utils_1.versionUtils.isNewer(min_firmware_version, firmwareVersion);
301
+ isNewer = versionUtils.isNewer(release.version, firmwareVersion);
302
+ requiresIntermediary = versionUtils.isNewer(min_firmware_version, firmwareVersion);
366
303
  }
367
304
  const {
368
305
  rollout_probability
@@ -385,9 +322,8 @@ const getReleaseInfo = ({
385
322
  translations: release.translations
386
323
  };
387
324
  };
388
- exports.getReleaseInfo = getReleaseInfo;
389
- const getFirmwareReleaseConfigInfo = (features, firmwareType) => {
390
- const deviceMessageRelease = (0, exports.getReleaseConfig)(features, firmwareType);
325
+ export const getFirmwareReleaseConfigInfo = (features, firmwareType) => {
326
+ const deviceMessageRelease = getReleaseConfig(features, firmwareType);
391
327
  if (!deviceMessageRelease?.release) {
392
328
  return;
393
329
  }
@@ -396,7 +332,7 @@ const getFirmwareReleaseConfigInfo = (features, firmwareType) => {
396
332
  conditions,
397
333
  firmware_type
398
334
  } = deviceMessageRelease;
399
- const currentVersion = (0, exports.getCurrentVersion)(features);
335
+ const currentVersion = getCurrentVersion(features);
400
336
  const inBootloaderMode = features.bootloader_mode && !!currentVersion.bootloaderVersion;
401
337
  const versionContext = inBootloaderMode ? {
402
338
  version: currentVersion.bootloaderVersion,
@@ -405,18 +341,18 @@ const getFirmwareReleaseConfigInfo = (features, firmwareType) => {
405
341
  version: currentVersion.firmwareVersion,
406
342
  minVersionKey: 'min_firmware_version'
407
343
  };
408
- const isCompatible = versionContext.version && utils_1.versionUtils.isNewerOrEqual(versionContext.version, release[versionContext.minVersionKey]);
409
- const releasesOfDevice = (0, assetUtils_1.getReleasesAssetByDeviceModelAndFirmwareType)(features.internal_model, firmwareType);
344
+ const isCompatible = versionContext.version && versionUtils.isNewerOrEqual(versionContext.version, release[versionContext.minVersionKey]);
345
+ const releasesOfDevice = getReleasesAssetByDeviceModelAndFirmwareType(features.internal_model, firmwareType);
410
346
  let suitableRelease = release;
411
347
  if (!isCompatible) {
412
- const alternativeRelease = (0, firmwareUtils_1.findBestCompatibleRelease)(releasesOfDevice, currentVersion, versionContext.minVersionKey);
348
+ const alternativeRelease = findBestCompatibleRelease(releasesOfDevice, currentVersion, versionContext.minVersionKey);
413
349
  if (alternativeRelease) {
414
350
  suitableRelease = alternativeRelease;
415
351
  }
416
352
  }
417
353
  const intermediary = getIntermediaryMessageRelease(features);
418
354
  const finalTargetRelease = intermediary ? release : suitableRelease;
419
- return (0, exports.getReleaseInfo)({
355
+ return getReleaseInfo({
420
356
  isBitcoinOnlyAvailable: getIsBitcoinOnlyAvailable(features),
421
357
  features,
422
358
  release: finalTargetRelease,
@@ -426,31 +362,29 @@ const getFirmwareReleaseConfigInfo = (features, firmwareType) => {
426
362
  releasesOfDevice
427
363
  });
428
364
  };
429
- exports.getFirmwareReleaseConfigInfo = getFirmwareReleaseConfigInfo;
430
- const getFirmwareStatus = (features, firmwareType) => {
365
+ export const getFirmwareStatus = (features, firmwareType) => {
431
366
  if (features.firmware_present === false) {
432
367
  return 'none';
433
368
  }
434
369
  if (features.major_version === 1 && features.bootloader_mode) {
435
370
  return 'unknown';
436
371
  }
437
- const releaseInfo = (0, exports.getFirmwareReleaseConfigInfo)(features, firmwareType);
372
+ const releaseInfo = getFirmwareReleaseConfigInfo(features, firmwareType);
438
373
  if (!releaseInfo) return 'custom';
439
374
  if (releaseInfo.isRequired) return 'required';
440
375
  if (releaseInfo.isNewer) return 'outdated';
441
376
  return 'valid';
442
377
  };
443
- exports.getFirmwareStatus = getFirmwareStatus;
444
- const getFirmwareLocation = ({
378
+ export const getFirmwareLocation = ({
445
379
  firmwareVersion,
446
380
  remotePath,
447
381
  deviceModel,
448
382
  firmwareType,
449
383
  intermediaryVersion
450
384
  }) => {
451
- const firmwareName = intermediaryVersion ? (0, firmwareUtils_1.buildIntermediaryFirmwareFileName)(deviceModel, intermediaryVersion) : (0, firmwareUtils_1.buildLocalFirmwareFileName)(firmwareType, deviceModel, firmwareVersion);
385
+ const firmwareName = intermediaryVersion ? buildIntermediaryFirmwareFileName(deviceModel, intermediaryVersion) : buildLocalFirmwareFileName(firmwareType, deviceModel, firmwareVersion);
452
386
  const versionString = firmwareVersion.join('.');
453
- const bundledBaseUrl = (0, utils_1.removeTrailingSlashes)(DataManager_1.DataManager.getSettings('binFilesBaseUrl'));
387
+ const bundledBaseUrl = removeTrailingSlashes(settingsStore.get('binFilesBaseUrl'));
454
388
  const isRealBundled = !bundledBaseUrl.includes('data.trezor.io');
455
389
  const bundledVersion = getBundledFirmwareVersion(deviceModel, firmwareType);
456
390
  const isIntermediary = bundledBaseUrl && intermediaryVersion;
@@ -464,18 +398,16 @@ const getFirmwareLocation = ({
464
398
  const {
465
399
  firmwareDir,
466
400
  firmwareList
467
- } = DataManager_1.DataManager.getLocalFirmwares();
468
- if ((0, firmwareUtils_1.isFirmwareCacheUsedForSelectedSource)() && firmwareList.includes(firmwareName)) {
401
+ } = localFirmwareStore.get();
402
+ if (isFirmwareCacheUsedForSelectedSource(settingsStore.get('firmwareChannel')) && firmwareList.includes(firmwareName)) {
469
403
  return {
470
404
  baseUrl: firmwareDir,
471
405
  path: firmwareName
472
406
  };
473
407
  }
474
- const onlineBaseUrl = (0, exports.getOnlineFirmwareBaseUrl)();
408
+ const onlineBaseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
475
409
  return {
476
410
  baseUrl: onlineBaseUrl.BASE_URL,
477
411
  path: remotePath
478
412
  };
479
- };
480
- exports.getFirmwareLocation = getFirmwareLocation;
481
- //# sourceMappingURL=firmwareInfo.js.map
413
+ };
@@ -0,0 +1,10 @@
1
+ import type { FirmwareChannel } from '@trezor/connect-common/lib/types/firmware';
2
+ import type { ConditionalRelease, DeviceModelInternal, FirmwareReleaseConfig, FirmwareType, IntermediaryReleaseConfig, ReleasesConfig } from '@trezor/device-utils';
3
+ export type InitializeFirmwareConfig = (config: FirmwareReleaseConfig, isRemote: boolean) => Promise<{
4
+ releases: ReleasesConfig;
5
+ intermediaries: Record<DeviceModelInternal, IntermediaryReleaseConfig[]>;
6
+ }>;
7
+ export declare const init: (firmwareChannel: FirmwareChannel | undefined, onlyLocal: boolean, initializeFirmwareConfig: InitializeFirmwareConfig) => Promise<void>;
8
+ export declare const getLocal: () => FirmwareReleaseConfig;
9
+ export declare const getReleases: () => Partial<Record<"T1B1" | "T2T1" | "T3T1" | "T2B1" | "T3B1" | "T3W1" | "UNKNOWN", Record<FirmwareType, ConditionalRelease>>> | undefined;
10
+ export declare const getIntermediary: () => Record<"T1B1" | "T2T1" | "T3T1" | "T2B1" | "T3B1" | "T3W1" | "UNKNOWN", IntermediaryReleaseConfig[]> | undefined;
@@ -0,0 +1,16 @@
1
+ import { getFirmwareReleaseConfig, getOnlyLocalFirmwareReleaseConfig } from "../utils/firmwareReleaseConfigUtils.js";
2
+ const local = getOnlyLocalFirmwareReleaseConfig().config;
3
+ let releases;
4
+ let intermediary;
5
+ export const init = async (firmwareChannel, onlyLocal, initializeFirmwareConfig) => {
6
+ const firmwareReleaseConfig = onlyLocal ? {
7
+ config: local,
8
+ isRemote: false
9
+ } : await getFirmwareReleaseConfig(firmwareChannel);
10
+ const result = await initializeFirmwareConfig(firmwareReleaseConfig.config, firmwareReleaseConfig.isRemote);
11
+ releases = result.releases;
12
+ intermediary = result.intermediaries;
13
+ };
14
+ export const getLocal = () => local;
15
+ export const getReleases = () => releases;
16
+ export const getIntermediary = () => intermediary;