@trezor/connect 10.0.0-beta.1 → 10.0.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 (429) hide show
  1. package/CHANGELOG.md +56 -9
  2. package/README.md +4 -2
  3. package/lib/exports.d.ts +1 -3
  4. package/lib/exports.js +1 -3
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.js +2 -26
  12. package/lib/index.js +1 -11
  13. package/lib/index.native.d.ts +4 -0
  14. package/lib/index.native.js +5 -0
  15. package/package.json +16 -67
  16. package/lib/api/applyFlags.d.ts +0 -20
  17. package/lib/api/applyFlags.js +0 -38
  18. package/lib/api/applySettings.d.ts +0 -20
  19. package/lib/api/applySettings.js +0 -57
  20. package/lib/api/authenticateDevice.d.ts +0 -25
  21. package/lib/api/authenticateDevice.js +0 -195
  22. package/lib/api/authorizeCoinjoin.d.ts +0 -11
  23. package/lib/api/authorizeCoinjoin.js +0 -44
  24. package/lib/api/backupDevice.d.ts +0 -19
  25. package/lib/api/backupDevice.js +0 -39
  26. package/lib/api/bitcoin/TransactionComposer.d.ts +0 -46
  27. package/lib/api/bitcoin/TransactionComposer.js +0 -147
  28. package/lib/api/bitcoin/createPendingTx.d.ts +0 -37
  29. package/lib/api/bitcoin/createPendingTx.js +0 -55
  30. package/lib/api/bitcoin/enhanceSignTx.d.ts +0 -2
  31. package/lib/api/bitcoin/enhanceSignTx.js +0 -23
  32. package/lib/api/bitcoin/index.d.ts +0 -9
  33. package/lib/api/bitcoin/index.js +0 -9
  34. package/lib/api/bitcoin/inputs.d.ts +0 -4
  35. package/lib/api/bitcoin/inputs.js +0 -63
  36. package/lib/api/bitcoin/outputs.d.ts +0 -5
  37. package/lib/api/bitcoin/outputs.js +0 -128
  38. package/lib/api/bitcoin/refTx.d.ts +0 -23
  39. package/lib/api/bitcoin/refTx.js +0 -249
  40. package/lib/api/bitcoin/signtx.d.ts +0 -30
  41. package/lib/api/bitcoin/signtx.js +0 -229
  42. package/lib/api/bitcoin/signtxLegacy.d.ts +0 -10
  43. package/lib/api/bitcoin/signtxLegacy.js +0 -186
  44. package/lib/api/bitcoin/signtxVerify.d.ts +0 -12
  45. package/lib/api/bitcoin/signtxVerify.js +0 -95
  46. package/lib/api/bitcoin/transactionBytes.d.ts +0 -3
  47. package/lib/api/bitcoin/transactionBytes.js +0 -65
  48. package/lib/api/bleUnpair.d.ts +0 -11
  49. package/lib/api/bleUnpair.js +0 -37
  50. package/lib/api/blockchainDisconnect.d.ts +0 -16
  51. package/lib/api/blockchainDisconnect.js +0 -37
  52. package/lib/api/blockchainEstimateFee.d.ts +0 -16
  53. package/lib/api/blockchainEstimateFee.js +0 -102
  54. package/lib/api/blockchainEvmRpcCall.d.ts +0 -19
  55. package/lib/api/blockchainEvmRpcCall.js +0 -57
  56. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +0 -16
  57. package/lib/api/blockchainGetAccountBalanceHistory.js +0 -60
  58. package/lib/api/blockchainGetContractInfo.d.ts +0 -16
  59. package/lib/api/blockchainGetContractInfo.js +0 -46
  60. package/lib/api/blockchainGetCurrentFiatRates.d.ts +0 -20
  61. package/lib/api/blockchainGetCurrentFiatRates.js +0 -49
  62. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -23
  63. package/lib/api/blockchainGetFiatRatesForTimestamps.js +0 -55
  64. package/lib/api/blockchainGetInfo.d.ts +0 -15
  65. package/lib/api/blockchainGetInfo.js +0 -37
  66. package/lib/api/blockchainGetTransactions.d.ts +0 -18
  67. package/lib/api/blockchainGetTransactions.js +0 -47
  68. package/lib/api/blockchainSetCustomBackend.d.ts +0 -17
  69. package/lib/api/blockchainSetCustomBackend.js +0 -43
  70. package/lib/api/blockchainSubscribe.d.ts +0 -19
  71. package/lib/api/blockchainSubscribe.js +0 -66
  72. package/lib/api/blockchainSubscribeFiatRates.d.ts +0 -19
  73. package/lib/api/blockchainSubscribeFiatRates.js +0 -43
  74. package/lib/api/blockchainUnsubscribe.d.ts +0 -19
  75. package/lib/api/blockchainUnsubscribe.js +0 -66
  76. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +0 -17
  77. package/lib/api/blockchainUnsubscribeFiatRates.js +0 -37
  78. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +0 -17
  79. package/lib/api/blockchainValidateEvmRpcUrl.js +0 -54
  80. package/lib/api/cancelCoinjoinAuthorization.d.ts +0 -11
  81. package/lib/api/cancelCoinjoinAuthorization.js +0 -33
  82. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +0 -10
  83. package/lib/api/cardano/api/cardanoComposeTransaction.js +0 -84
  84. package/lib/api/cardano/api/cardanoGetAddress.d.ts +0 -34
  85. package/lib/api/cardano/api/cardanoGetAddress.js +0 -130
  86. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +0 -12
  87. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +0 -66
  88. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +0 -22
  89. package/lib/api/cardano/api/cardanoGetPublicKey.js +0 -92
  90. package/lib/api/cardano/api/cardanoSignMessage.d.ts +0 -22
  91. package/lib/api/cardano/api/cardanoSignMessage.js +0 -90
  92. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +0 -81
  93. package/lib/api/cardano/api/cardanoSignTransaction.js +0 -301
  94. package/lib/api/cardano/api/index.d.ts +0 -6
  95. package/lib/api/cardano/api/index.js +0 -6
  96. package/lib/api/cardano/cardanoAddressParameters.d.ts +0 -6
  97. package/lib/api/cardano/cardanoAddressParameters.js +0 -79
  98. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +0 -4
  99. package/lib/api/cardano/cardanoAuxiliaryData.js +0 -74
  100. package/lib/api/cardano/cardanoCertificate.d.ts +0 -13
  101. package/lib/api/cardano/cardanoCertificate.js +0 -142
  102. package/lib/api/cardano/cardanoInputs.d.ts +0 -25
  103. package/lib/api/cardano/cardanoInputs.js +0 -39
  104. package/lib/api/cardano/cardanoOutputs.d.ts +0 -40
  105. package/lib/api/cardano/cardanoOutputs.js +0 -70
  106. package/lib/api/cardano/cardanoTokenBundle.d.ts +0 -12
  107. package/lib/api/cardano/cardanoTokenBundle.js +0 -21
  108. package/lib/api/cardano/cardanoUtils.d.ts +0 -17
  109. package/lib/api/cardano/cardanoUtils.js +0 -100
  110. package/lib/api/cardano/cardanoWitnesses.d.ts +0 -4
  111. package/lib/api/cardano/cardanoWitnesses.js +0 -47
  112. package/lib/api/changeLanguage.d.ts +0 -18
  113. package/lib/api/changeLanguage.js +0 -49
  114. package/lib/api/changePin.d.ts +0 -11
  115. package/lib/api/changePin.js +0 -27
  116. package/lib/api/changeWipeCode.d.ts +0 -11
  117. package/lib/api/changeWipeCode.js +0 -29
  118. package/lib/api/cipherKeyValue.d.ts +0 -17
  119. package/lib/api/cipherKeyValue.js +0 -58
  120. package/lib/api/common/AbstractMiscGetAddress.d.ts +0 -37
  121. package/lib/api/common/AbstractMiscGetAddress.js +0 -126
  122. package/lib/api/common/Discovery.d.ts +0 -33
  123. package/lib/api/common/Discovery.js +0 -119
  124. package/lib/api/common/paramsValidator.d.ts +0 -24
  125. package/lib/api/common/paramsValidator.js +0 -136
  126. package/lib/api/common/requestExistingAccounts.d.ts +0 -14
  127. package/lib/api/common/requestExistingAccounts.js +0 -20
  128. package/lib/api/composeTransaction.d.ts +0 -36
  129. package/lib/api/composeTransaction.js +0 -404
  130. package/lib/api/discoverAccounts.d.ts +0 -40
  131. package/lib/api/discoverAccounts.js +0 -360
  132. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +0 -30
  133. package/lib/api/ethereum/api/ethereumGetAddress.js +0 -150
  134. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +0 -52
  135. package/lib/api/ethereum/api/ethereumGetPublicKey.js +0 -100
  136. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +0 -27
  137. package/lib/api/ethereum/api/ethereumSignMessage.js +0 -64
  138. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +0 -83
  139. package/lib/api/ethereum/api/ethereumSignTransaction.js +0 -148
  140. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +0 -117
  141. package/lib/api/ethereum/api/ethereumSignTypedData.js +0 -203
  142. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +0 -12
  143. package/lib/api/ethereum/api/ethereumVerifyMessage.js +0 -35
  144. package/lib/api/ethereum/api/index.d.ts +0 -6
  145. package/lib/api/ethereum/api/index.js +0 -6
  146. package/lib/api/ethereum/ethereumDefinitions.d.ts +0 -53
  147. package/lib/api/ethereum/ethereumDefinitions.js +0 -135
  148. package/lib/api/ethereum/ethereumSignTx.d.ts +0 -16
  149. package/lib/api/ethereum/ethereumSignTx.js +0 -144
  150. package/lib/api/ethereum/ethereumSignTypedData.d.ts +0 -32
  151. package/lib/api/ethereum/ethereumSignTypedData.js +0 -175
  152. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +0 -14
  153. package/lib/api/evoluGetDelegatedIdentityKey.js +0 -29
  154. package/lib/api/evoluGetNode.d.ts +0 -13
  155. package/lib/api/evoluGetNode.js +0 -29
  156. package/lib/api/evoluSignRegistrationRequest.d.ts +0 -16
  157. package/lib/api/evoluSignRegistrationRequest.js +0 -33
  158. package/lib/api/firmware/calculateFirmwareHash.d.ts +0 -18
  159. package/lib/api/firmware/calculateFirmwareHash.js +0 -56
  160. package/lib/api/firmware/calculateXPubHash.d.ts +0 -14
  161. package/lib/api/firmware/calculateXPubHash.js +0 -16
  162. package/lib/api/firmware/getBinary.d.ts +0 -14
  163. package/lib/api/firmware/getBinary.js +0 -33
  164. package/lib/api/firmware/index.d.ts +0 -6
  165. package/lib/api/firmware/index.js +0 -6
  166. package/lib/api/firmware/modifyFirmware.d.ts +0 -3
  167. package/lib/api/firmware/modifyFirmware.js +0 -13
  168. package/lib/api/firmware/parseFirmwareHeaders.d.ts +0 -4
  169. package/lib/api/firmware/parseFirmwareHeaders.js +0 -26
  170. package/lib/api/firmware/uploadFirmware.d.ts +0 -27
  171. package/lib/api/firmware/uploadFirmware.js +0 -99
  172. package/lib/api/firmware/verifyEntropy.d.ts +0 -25
  173. package/lib/api/firmware/verifyEntropy.js +0 -110
  174. package/lib/api/getAccountInfo.d.ts +0 -21
  175. package/lib/api/getAccountInfo.js +0 -253
  176. package/lib/api/getAddress.d.ts +0 -45
  177. package/lib/api/getAddress.js +0 -153
  178. package/lib/api/getCoinInfo.d.ts +0 -148
  179. package/lib/api/getCoinInfo.js +0 -25
  180. package/lib/api/getDeviceState.d.ts +0 -8
  181. package/lib/api/getDeviceState.js +0 -18
  182. package/lib/api/getFeatures.d.ts +0 -71
  183. package/lib/api/getFeatures.js +0 -22
  184. package/lib/api/getFirmwareHash.d.ts +0 -11
  185. package/lib/api/getFirmwareHash.js +0 -29
  186. package/lib/api/getNonce.d.ts +0 -10
  187. package/lib/api/getNonce.js +0 -18
  188. package/lib/api/getOwnershipId.d.ts +0 -17
  189. package/lib/api/getOwnershipId.js +0 -88
  190. package/lib/api/getOwnershipProof.d.ts +0 -17
  191. package/lib/api/getOwnershipProof.js +0 -95
  192. package/lib/api/getPublicKey.d.ts +0 -54
  193. package/lib/api/getPublicKey.js +0 -106
  194. package/lib/api/getSettings.d.ts +0 -24
  195. package/lib/api/getSettings.js +0 -21
  196. package/lib/api/index.d.ts +0 -62
  197. package/lib/api/index.js +0 -62
  198. package/lib/api/loadDevice.d.ts +0 -16
  199. package/lib/api/loadDevice.js +0 -46
  200. package/lib/api/monero/api/index.d.ts +0 -4
  201. package/lib/api/monero/api/index.js +0 -4
  202. package/lib/api/monero/api/moneroGetAddress.d.ts +0 -32
  203. package/lib/api/monero/api/moneroGetAddress.js +0 -117
  204. package/lib/api/monero/api/moneroGetWatchKey.d.ts +0 -14
  205. package/lib/api/monero/api/moneroGetWatchKey.js +0 -45
  206. package/lib/api/monero/api/moneroKeyImageSync.d.ts +0 -17
  207. package/lib/api/monero/api/moneroKeyImageSync.js +0 -128
  208. package/lib/api/monero/api/moneroSignTransaction.d.ts +0 -17
  209. package/lib/api/monero/api/moneroSignTransaction.js +0 -218
  210. package/lib/api/nostr/nostrGetPublicKey.d.ts +0 -15
  211. package/lib/api/nostr/nostrGetPublicKey.js +0 -38
  212. package/lib/api/nostr/nostrSignEvent.d.ts +0 -13
  213. package/lib/api/nostr/nostrSignEvent.js +0 -36
  214. package/lib/api/pingDevice.d.ts +0 -11
  215. package/lib/api/pingDevice.js +0 -29
  216. package/lib/api/pushTransaction.d.ts +0 -19
  217. package/lib/api/pushTransaction.js +0 -39
  218. package/lib/api/recoveryDevice.d.ts +0 -20
  219. package/lib/api/recoveryDevice.js +0 -52
  220. package/lib/api/requestLogin.d.ts +0 -14
  221. package/lib/api/requestLogin.js +0 -53
  222. package/lib/api/resetDevice.d.ts +0 -22
  223. package/lib/api/resetDevice.js +0 -133
  224. package/lib/api/ripple/api/index.d.ts +0 -2
  225. package/lib/api/ripple/api/index.js +0 -2
  226. package/lib/api/ripple/api/rippleGetAddress.d.ts +0 -17
  227. package/lib/api/ripple/api/rippleGetAddress.js +0 -22
  228. package/lib/api/ripple/api/rippleSignTransaction.d.ts +0 -13
  229. package/lib/api/ripple/api/rippleSignTransaction.js +0 -52
  230. package/lib/api/selectAccount.d.ts +0 -15
  231. package/lib/api/selectAccount.js +0 -42
  232. package/lib/api/setBrightness.d.ts +0 -12
  233. package/lib/api/setBrightness.js +0 -28
  234. package/lib/api/setBusy.d.ts +0 -11
  235. package/lib/api/setBusy.js +0 -31
  236. package/lib/api/showDeviceTutorial.d.ts +0 -11
  237. package/lib/api/showDeviceTutorial.js +0 -21
  238. package/lib/api/signMessage.d.ts +0 -25
  239. package/lib/api/signMessage.js +0 -75
  240. package/lib/api/signTransaction.d.ts +0 -199
  241. package/lib/api/signTransaction.js +0 -331
  242. package/lib/api/solana/api/index.d.ts +0 -4
  243. package/lib/api/solana/api/index.js +0 -4
  244. package/lib/api/solana/api/solanaComposeTransaction.d.ts +0 -33
  245. package/lib/api/solana/api/solanaComposeTransaction.js +0 -73
  246. package/lib/api/solana/api/solanaGetAddress.d.ts +0 -17
  247. package/lib/api/solana/api/solanaGetAddress.js +0 -22
  248. package/lib/api/solana/api/solanaGetPublicKey.d.ts +0 -32
  249. package/lib/api/solana/api/solanaGetPublicKey.js +0 -86
  250. package/lib/api/solana/api/solanaSignTransaction.d.ts +0 -41
  251. package/lib/api/solana/api/solanaSignTransaction.js +0 -204
  252. package/lib/api/solana/solanaDefinitions.d.ts +0 -9
  253. package/lib/api/solana/solanaDefinitions.js +0 -33
  254. package/lib/api/stellar/api/index.d.ts +0 -2
  255. package/lib/api/stellar/api/index.js +0 -2
  256. package/lib/api/stellar/api/stellarGetAddress.d.ts +0 -17
  257. package/lib/api/stellar/api/stellarGetAddress.js +0 -22
  258. package/lib/api/stellar/api/stellarSignTransaction.d.ts +0 -20
  259. package/lib/api/stellar/api/stellarSignTransaction.js +0 -65
  260. package/lib/api/stellar/stellarSignTx.d.ts +0 -7
  261. package/lib/api/stellar/stellarSignTx.js +0 -183
  262. package/lib/api/telemetryGet.d.ts +0 -14
  263. package/lib/api/telemetryGet.js +0 -26
  264. package/lib/api/tezos/api/index.d.ts +0 -3
  265. package/lib/api/tezos/api/index.js +0 -3
  266. package/lib/api/tezos/api/tezosGetAddress.d.ts +0 -17
  267. package/lib/api/tezos/api/tezosGetAddress.js +0 -22
  268. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +0 -28
  269. package/lib/api/tezos/api/tezosGetPublicKey.js +0 -84
  270. package/lib/api/tezos/api/tezosSignTransaction.d.ts +0 -14
  271. package/lib/api/tezos/api/tezosSignTransaction.js +0 -30
  272. package/lib/api/tezos/tezosSignTx.d.ts +0 -71
  273. package/lib/api/tezos/tezosSignTx.js +0 -204
  274. package/lib/api/thpGetCredentials.d.ts +0 -13
  275. package/lib/api/thpGetCredentials.js +0 -30
  276. package/lib/api/thpRemoveCredentials.d.ts +0 -15
  277. package/lib/api/thpRemoveCredentials.js +0 -44
  278. package/lib/api/tron/api/index.d.ts +0 -3
  279. package/lib/api/tron/api/index.js +0 -3
  280. package/lib/api/tron/api/tronComposeTransaction.d.ts +0 -17
  281. package/lib/api/tron/api/tronComposeTransaction.js +0 -52
  282. package/lib/api/tron/api/tronGetAddress.d.ts +0 -17
  283. package/lib/api/tron/api/tronGetAddress.js +0 -22
  284. package/lib/api/tron/api/tronSignTransaction.d.ts +0 -20
  285. package/lib/api/tron/api/tronSignTransaction.js +0 -137
  286. package/lib/api/tron/tronEncode.d.ts +0 -11
  287. package/lib/api/tron/tronEncode.js +0 -157
  288. package/lib/api/tron/tronProtobuf.d.ts +0 -5
  289. package/lib/api/tron/tronProtobuf.js +0 -28
  290. package/lib/api/unlockPath.d.ts +0 -12
  291. package/lib/api/unlockPath.js +0 -33
  292. package/lib/api/verifyMessage.d.ts +0 -16
  293. package/lib/api/verifyMessage.js +0 -46
  294. package/lib/api/wipeDevice.d.ts +0 -21
  295. package/lib/api/wipeDevice.js +0 -49
  296. package/lib/backend/BackendManager.d.ts +0 -30
  297. package/lib/backend/BackendManager.js +0 -145
  298. package/lib/backend/Blockchain.d.ts +0 -81
  299. package/lib/backend/Blockchain.js +0 -235
  300. package/lib/backend/BlockchainLink.d.ts +0 -10
  301. package/lib/backend/BlockchainLink.js +0 -19
  302. package/lib/backend/fees/BitcoinFeeLevels.d.ts +0 -19
  303. package/lib/backend/fees/BitcoinFeeLevels.js +0 -44
  304. package/lib/backend/fees/EthereumFeeLevels.d.ts +0 -17
  305. package/lib/backend/fees/EthereumFeeLevels.js +0 -63
  306. package/lib/backend/fees/MiscFeeLevels.d.ts +0 -18
  307. package/lib/backend/fees/MiscFeeLevels.js +0 -30
  308. package/lib/backend/fees/index.d.ts +0 -5
  309. package/lib/backend/fees/index.js +0 -31
  310. package/lib/core/AbstractMethod.d.ts +0 -63
  311. package/lib/core/AbstractMethod.js +0 -189
  312. package/lib/core/index.d.ts +0 -29
  313. package/lib/core/index.js +0 -805
  314. package/lib/core/method.d.ts +0 -3
  315. package/lib/core/method.js +0 -19
  316. package/lib/core/method.native.d.ts +0 -2
  317. package/lib/core/method.native.js +0 -29
  318. package/lib/core/onCallFirmwareUpdate.d.ts +0 -42
  319. package/lib/core/onCallFirmwareUpdate.js +0 -436
  320. package/lib/data/coinInfo.d.ts +0 -101
  321. package/lib/data/coinInfo.js +0 -195
  322. package/lib/data/config.d.ts +0 -8
  323. package/lib/data/config.js +0 -273
  324. package/lib/data/defaultFeeLevels.d.ts +0 -18
  325. package/lib/data/defaultFeeLevels.js +0 -200
  326. package/lib/data/enabledNetworksStore.d.ts +0 -5
  327. package/lib/data/enabledNetworksStore.js +0 -20
  328. package/lib/data/firmwareInfo.d.ts +0 -55
  329. package/lib/data/firmwareInfo.js +0 -413
  330. package/lib/data/firmwareReleaseStore.d.ts +0 -10
  331. package/lib/data/firmwareReleaseStore.js +0 -16
  332. package/lib/data/localFirmwareStore.d.ts +0 -3
  333. package/lib/data/localFirmwareStore.js +0 -8
  334. package/lib/data/protobufLoader.d.ts +0 -1
  335. package/lib/data/protobufLoader.js +0 -30
  336. package/lib/data/settingsStore.d.ts +0 -6
  337. package/lib/data/settingsStore.js +0 -21
  338. package/lib/device/Device.d.ts +0 -259
  339. package/lib/device/Device.js +0 -765
  340. package/lib/device/DeviceCommands.d.ts +0 -87
  341. package/lib/device/DeviceCommands.js +0 -248
  342. package/lib/device/DeviceCurrentSession.d.ts +0 -750
  343. package/lib/device/DeviceCurrentSession.js +0 -239
  344. package/lib/device/DeviceList.d.ts +0 -75
  345. package/lib/device/DeviceList.js +0 -243
  346. package/lib/device/TransportList.d.ts +0 -3
  347. package/lib/device/TransportList.js +0 -13
  348. package/lib/device/TransportManager.d.ts +0 -33
  349. package/lib/device/TransportManager.js +0 -144
  350. package/lib/device/calculateRevisionForDevice.d.ts +0 -10
  351. package/lib/device/calculateRevisionForDevice.js +0 -19
  352. package/lib/device/checkFirmwareRevision.d.ts +0 -22
  353. package/lib/device/checkFirmwareRevision.js +0 -104
  354. package/lib/device/resolveDescriptorForTaproot.d.ts +0 -17
  355. package/lib/device/resolveDescriptorForTaproot.js +0 -27
  356. package/lib/device/thp/handshake.d.ts +0 -3
  357. package/lib/device/thp/handshake.js +0 -100
  358. package/lib/device/thp/index.d.ts +0 -5
  359. package/lib/device/thp/index.js +0 -65
  360. package/lib/device/thp/pairing.d.ts +0 -16
  361. package/lib/device/thp/pairing.js +0 -242
  362. package/lib/device/thp/session.d.ts +0 -2
  363. package/lib/device/thp/session.js +0 -27
  364. package/lib/device/thp/thpCall.d.ts +0 -31
  365. package/lib/device/thp/thpCall.js +0 -58
  366. package/lib/device/validateMessageSize.d.ts +0 -2
  367. package/lib/device/validateMessageSize.js +0 -9
  368. package/lib/device/workflow/changeLanguage.d.ts +0 -18
  369. package/lib/device/workflow/changeLanguage.js +0 -62
  370. package/lib/device/workflow/checkFirmwareHash.d.ts +0 -12
  371. package/lib/device/workflow/checkFirmwareHash.js +0 -86
  372. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +0 -8
  373. package/lib/device/workflow/checkFirmwareHashWithRetries.js +0 -36
  374. package/lib/device/workflow/handshake.d.ts +0 -13
  375. package/lib/device/workflow/handshake.js +0 -55
  376. package/lib/device/workflow/trezorPushNotification.d.ts +0 -5
  377. package/lib/device/workflow/trezorPushNotification.js +0 -73
  378. package/lib/device/workflow/validateState.d.ts +0 -2
  379. package/lib/device/workflow/validateState.js +0 -152
  380. package/lib/events/ui-promise.d.ts +0 -20
  381. package/lib/events/ui-promise.js +0 -1
  382. package/lib/impl/core-in-module.d.ts +0 -33
  383. package/lib/impl/core-in-module.js +0 -194
  384. package/lib/types/idevice.d.ts +0 -110
  385. package/lib/types/idevice.js +0 -1
  386. package/lib/types/typed-call-provider.d.ts +0 -29
  387. package/lib/types/typed-call-provider.js +0 -1
  388. package/lib/types/workflow.d.ts +0 -16
  389. package/lib/types/workflow.js +0 -1
  390. package/lib/utils/accountUtils.d.ts +0 -10
  391. package/lib/utils/accountUtils.js +0 -90
  392. package/lib/utils/addressUtils.d.ts +0 -2
  393. package/lib/utils/addressUtils.js +0 -24
  394. package/lib/utils/assetUtils.d.ts +0 -13
  395. package/lib/utils/assetUtils.js +0 -55
  396. package/lib/utils/assets.browser.d.ts +0 -1
  397. package/lib/utils/assets.browser.js +0 -1
  398. package/lib/utils/assets.d.ts +0 -2
  399. package/lib/utils/assets.js +0 -13
  400. package/lib/utils/assets.native.d.ts +0 -2
  401. package/lib/utils/assets.native.js +0 -23
  402. package/lib/utils/assetsTypes.d.ts +0 -5
  403. package/lib/utils/assetsTypes.js +0 -1
  404. package/lib/utils/buildOutputDescriptor.d.ts +0 -20
  405. package/lib/utils/buildOutputDescriptor.js +0 -67
  406. package/lib/utils/deviceFeaturesUtils.d.ts +0 -7
  407. package/lib/utils/deviceFeaturesUtils.js +0 -109
  408. package/lib/utils/ethereumUtils.d.ts +0 -3
  409. package/lib/utils/ethereumUtils.js +0 -7
  410. package/lib/utils/firmwareReleaseConfigUtils.d.ts +0 -19
  411. package/lib/utils/firmwareReleaseConfigUtils.js +0 -131
  412. package/lib/utils/firmwareUtils.d.ts +0 -15
  413. package/lib/utils/firmwareUtils.js +0 -57
  414. package/lib/utils/formatUtils.d.ts +0 -13
  415. package/lib/utils/formatUtils.js +0 -45
  416. package/lib/utils/hdnodeUtils.d.ts +0 -6
  417. package/lib/utils/hdnodeUtils.js +0 -62
  418. package/lib/utils/pathUtils.d.ts +0 -1
  419. package/lib/utils/pathUtils.js +0 -1
  420. package/lib/utils/paymentRequest.d.ts +0 -8
  421. package/lib/utils/paymentRequest.js +0 -25
  422. package/lib/utils/uiPromiseManager.d.ts +0 -8
  423. package/lib/utils/uiPromiseManager.js +0 -51
  424. package/lib/workers/workers.browser.d.ts +0 -10
  425. package/lib/workers/workers.browser.js +0 -16
  426. package/lib/workers/workers.d.ts +0 -10
  427. package/lib/workers/workers.js +0 -8
  428. package/lib/workers/workers.native.d.ts +0 -7
  429. package/lib/workers/workers.native.js +0 -7
@@ -1,20 +0,0 @@
1
- import { isCoinSymbol } from "@trezor/connect-common";
2
- let networks = new Map();
3
- const sanitize = input => Array.isArray(input) ? input.flatMap(entry => {
4
- const coin = entry?.coin;
5
- if (typeof coin !== 'string') return [];
6
- const symbol = coin.toLowerCase();
7
- return isCoinSymbol(symbol) ? [{
8
- coin: symbol
9
- }] : [];
10
- }) : [];
11
- export const get = () => [...networks.values()];
12
- export const has = coin => networks.has(coin.toLowerCase());
13
- export const set = next => {
14
- networks = new Map(sanitize(next).map(network => [network.coin, network]));
15
- };
16
- export const add = extra => {
17
- const next = new Map(networks);
18
- sanitize(extra).forEach(network => next.set(network.coin, network));
19
- networks = next;
20
- };
@@ -1,55 +0,0 @@
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';
6
- export declare const getBundledRelease: (deviceModel: DeviceModelInternal, firmwareType: FirmwareType) => FirmwareRelease | undefined;
7
- export declare const getOnlineReleaseByVersion: (deviceModel: DeviceModelInternal, firmwareVersion: VersionArray, firmwareType: FirmwareType) => Promise<FirmwareRelease | undefined>;
8
- export declare const getReleaseConfig: (features: Features, firmwareType: FirmwareType) => ConditionalRelease | undefined;
9
- export declare const getReleaseByVersion: (features: Features, firmwareVersion: VersionArray, firmwareType: FirmwareType) => Promise<FirmwareRelease | undefined>;
10
- export declare const createLocalFirmwareConfig: (baseConfig: FirmwareReleaseConfig) => any;
11
- export declare const createRemoteFirmwareConfig: (config: FirmwareReleaseConfig) => Promise<any>;
12
- export declare const initializeFirmwareConfig: (config: FirmwareReleaseConfig, isRemote: boolean) => Promise<{
13
- releases: any;
14
- intermediaries: Record<DeviceModelInternal, IntermediaryReleaseConfig[]>;
15
- }>;
16
- export declare const getLanguage: (languageBinPath: string) => Promise<ArrayBuffer | Buffer<ArrayBufferLike>>;
17
- export type { CurrentVersion } from '@trezor/connect-common/lib/types/firmware';
18
- interface GetReleaseInfoParams {
19
- features: Features;
20
- release: FirmwareRelease;
21
- conditions: ConditionalRelease['conditions'];
22
- intermediary: IntermediaryReleaseConfig | undefined;
23
- firmwareType: FirmwareType;
24
- isBitcoinOnlyAvailable: boolean;
25
- releasesOfDevice: FirmwareRelease[];
26
- }
27
- export declare const getReleaseInfo: ({
28
- features,
29
- release,
30
- conditions,
31
- intermediary,
32
- firmwareType,
33
- isBitcoinOnlyAvailable,
34
- releasesOfDevice
35
- }: GetReleaseInfoParams) => FirmwareReleaseConfigInfo;
36
- export declare const getFirmwareReleaseConfigInfo: (features: Features, firmwareType: FirmwareType) => FirmwareReleaseConfigInfo | undefined;
37
- export declare const getFirmwareStatus: (features: Features, firmwareType: FirmwareType) => "custom" | "valid" | "outdated" | "required" | "unknown" | "none";
38
- type GetFirmwareLocationParam = {
39
- firmwareVersion: VersionArray;
40
- remotePath: string;
41
- deviceModel: DeviceModelInternal;
42
- firmwareType: FirmwareType;
43
- intermediaryVersion?: number;
44
- };
45
- type FirmwareLocationPathParams = {
46
- baseUrl: string;
47
- path: string;
48
- };
49
- export declare const getFirmwareLocation: ({
50
- firmwareVersion,
51
- remotePath,
52
- deviceModel,
53
- firmwareType,
54
- intermediaryVersion
55
- }: GetFirmwareLocationParam) => FirmwareLocationPathParams;
@@ -1,413 +0,0 @@
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";
10
- const getBundledFirmwareVersion = (deviceModel, firmwareType) => {
11
- const localFirmwareReleaseConfig = firmwareReleaseStore.getLocal();
12
- const modelReleases = localFirmwareReleaseConfig.releases[deviceModel];
13
- const bundledRelease = modelReleases?.[firmwareType];
14
- if (!bundledRelease) {
15
- return;
16
- }
17
- const bundledVersion = bundledRelease.releasePath.match(/(\d+\.\d+\.\d+)/);
18
- if (!bundledVersion) {
19
- throw new Error('Fimrware bundled version was not found.');
20
- }
21
- return bundledVersion[0];
22
- };
23
- export const getBundledRelease = (deviceModel, firmwareType) => {
24
- const version = getBundledFirmwareVersion(deviceModel, firmwareType);
25
- if (!version) {
26
- return;
27
- }
28
- const versionArray = versionUtils.tryParse(version);
29
- if (!versionArray) {
30
- throw new Error('There was error parsing bundled release.');
31
- }
32
- return getReleaseAsset(deviceModel, versionArray, firmwareType);
33
- };
34
- const getOnlineReleaseByPath = async releasePath => {
35
- const onlineFirmwareBaseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
36
- const url = `${onlineFirmwareBaseUrl.BASE_URL}/${releasePath}`;
37
- const response = await httpRequest(url, 'json', {
38
- signal: AbortSignal.timeout(10000),
39
- skipLocalForceDownload: true
40
- });
41
- return response;
42
- };
43
- const getOnlineReleasePath = (deviceModel, firmwareVersion, firmwareType) => {
44
- const onlineFirmwareBaseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
45
- const firmwareTypeFileString = firmwareType === FirmwareType.BitcoinOnly ? 'bitcoinonly' : 'universal';
46
- const relaseJsonFilename = `${deviceModel.toLowerCase()}-${firmwareVersion.join('.')}-${firmwareTypeFileString}.json`;
47
- const origin = `${onlineFirmwareBaseUrl.MIDDLE_PATH}/${deviceModel.toLowerCase()}/${firmwareTypeFileString}`;
48
- const releasePath = `${origin}/${relaseJsonFilename}`;
49
- return releasePath;
50
- };
51
- export const getOnlineReleaseByVersion = async (deviceModel, firmwareVersion, firmwareType) => {
52
- const releasePath = getOnlineReleasePath(deviceModel, firmwareVersion, firmwareType);
53
- const onlineRelease = await getOnlineReleaseByPath(releasePath);
54
- if (!onlineRelease || !versionUtils.isEqual(onlineRelease.version, firmwareVersion)) {
55
- return;
56
- }
57
- return onlineRelease;
58
- };
59
- export const getReleaseConfig = (features, firmwareType) => {
60
- const {
61
- internal_model
62
- } = features;
63
- if (internal_model === DeviceModelInternal.UNKNOWN) {
64
- return undefined;
65
- }
66
- const firmwareReleaseConfig = firmwareReleaseStore.getReleases();
67
- if (!firmwareReleaseConfig) {
68
- throw new Error('Firmware release config not loaded.');
69
- }
70
- const deviceMessageRelease = firmwareReleaseConfig[internal_model];
71
- if (!deviceMessageRelease) {
72
- return;
73
- }
74
- return deviceMessageRelease[firmwareType];
75
- };
76
- export const getReleaseByVersion = async (features, firmwareVersion, firmwareType) => {
77
- const deviceModel = features.internal_model;
78
- const firmwareChannel = settingsStore.get('firmwareChannel');
79
- const tryGetRelease = async getter => {
80
- try {
81
- return await getter();
82
- } catch {
83
- return;
84
- }
85
- };
86
- const releaseFromConfig = getReleaseConfig(features, firmwareType)?.release;
87
- if (releaseFromConfig && versionUtils.isEqual(firmwareVersion, releaseFromConfig.version)) {
88
- return releaseFromConfig;
89
- }
90
- const releaseName = buildLocalReleaseName(firmwareType, deviceModel, firmwareVersion);
91
- const {
92
- firmwareDir,
93
- firmwareList
94
- } = localFirmwareStore.get();
95
- if (isFirmwareCacheUsedForSelectedSource(firmwareChannel) && firmwareList.includes(releaseName)) {
96
- const localReleasePath = `${firmwareDir}${releaseName}`;
97
- const localReleaseBuffer = await httpRequest(localReleasePath, 'json');
98
- return JSON.parse(localReleaseBuffer.toString());
99
- }
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)) {
103
- return release;
104
- }
105
- return;
106
- };
107
- export const createLocalFirmwareConfig = baseConfig => {
108
- const releaseEntries = Object.entries(baseConfig.releases).map(([deviceModel, modelReleases]) => {
109
- const modelKey = deviceModel;
110
- if (modelKey === DeviceModelInternal.UNKNOWN) return null;
111
- const {
112
- 'bitcoin-only': bitcoinOnlyConfig,
113
- universal: universalConfig
114
- } = modelReleases ?? {};
115
- if (!bitcoinOnlyConfig?.releasePath || !universalConfig?.releasePath) return null;
116
- const btcOnlyRelease = getBundledRelease(modelKey, FirmwareType.BitcoinOnly);
117
- const universalRelease = getBundledRelease(modelKey, FirmwareType.Universal);
118
- if (!btcOnlyRelease || !universalRelease) return null;
119
- const releases = {
120
- [FirmwareType.BitcoinOnly]: {
121
- ...bitcoinOnlyConfig,
122
- release: btcOnlyRelease
123
- },
124
- [FirmwareType.Universal]: {
125
- ...universalConfig,
126
- release: universalRelease
127
- }
128
- };
129
- return [modelKey, releases];
130
- }).filter(isNotNull);
131
- return Object.fromEntries(releaseEntries);
132
- };
133
- export const createRemoteFirmwareConfig = async config => {
134
- const releaseEntryPromises = Object.entries(config.releases).map(async ([deviceModel, modelReleases]) => {
135
- const modelKey = deviceModel;
136
- if (modelKey === DeviceModelInternal.UNKNOWN) return null;
137
- const {
138
- 'bitcoin-only': bitcoinOnlyConfig,
139
- universal: universalConfig
140
- } = modelReleases ?? {};
141
- if (!bitcoinOnlyConfig?.releasePath || !universalConfig?.releasePath) return null;
142
- const [bitcoinOnlyRelease, universalRelease] = await Promise.all([getOnlineReleaseByPath(bitcoinOnlyConfig.releasePath), getOnlineReleaseByPath(universalConfig.releasePath)]);
143
- if (!universalRelease || !bitcoinOnlyRelease) return null;
144
- const releases = {
145
- [FirmwareType.BitcoinOnly]: {
146
- ...bitcoinOnlyConfig,
147
- release: bitcoinOnlyRelease
148
- },
149
- [FirmwareType.Universal]: {
150
- ...universalConfig,
151
- release: universalRelease
152
- }
153
- };
154
- return [modelKey, releases];
155
- });
156
- const validEntries = (await Promise.all(releaseEntryPromises)).filter(isNotNull);
157
- return Object.fromEntries(validEntries);
158
- };
159
- export const initializeFirmwareConfig = async (config, isRemote) => {
160
- if (isRemote) {
161
- try {
162
- const remoteReleases = await createRemoteFirmwareConfig(config);
163
- return {
164
- releases: remoteReleases,
165
- intermediaries: config.intermediaries
166
- };
167
- } catch {}
168
- }
169
- const localFirmwareReleaseConfig = firmwareReleaseStore.getLocal();
170
- const localReleases = createLocalFirmwareConfig(localFirmwareReleaseConfig);
171
- return {
172
- releases: localReleases,
173
- intermediaries: localFirmwareReleaseConfig.intermediaries
174
- };
175
- };
176
- export const getLanguage = languageBinPath => {
177
- const baseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
178
- const url = `${baseUrl.BASE_URL}/${languageBinPath}`;
179
- return httpRequest(url, 'binary');
180
- };
181
- const getCurrentVersion = features => {
182
- if (!isStrictFeatures(features)) {
183
- throw new Error('Features of unexpected shape provided.');
184
- }
185
- const bootloaderVersion = getBootloaderVersionArray({
186
- features
187
- });
188
- const firmwareVersion = getFirmwareVersionArray({
189
- features
190
- });
191
- return {
192
- bootloaderVersion,
193
- firmwareVersion
194
- };
195
- };
196
- const getIntermediaryMessageRelease = features => {
197
- const config = firmwareReleaseStore.getIntermediary();
198
- if (!config) {
199
- throw new Error('Firmware release config not loaded.');
200
- }
201
- const deviceIntermediaryReleases = config[features.internal_model];
202
- if (!deviceIntermediaryReleases || deviceIntermediaryReleases.length === 0) {
203
- return;
204
- }
205
- const {
206
- bootloaderVersion,
207
- firmwareVersion
208
- } = getCurrentVersion(features);
209
- const currentVersion = features.bootloader_mode ? bootloaderVersion : firmwareVersion;
210
- const minVersionKey = features.bootloader_mode ? 'min_bootloader_version' : 'min_firmware_version';
211
- if (!currentVersion) {
212
- return undefined;
213
- }
214
- return deviceIntermediaryReleases.find(release => versionUtils.isNewer(release[minVersionKey], currentVersion));
215
- };
216
- const getIsBitcoinOnlyAvailable = features => {
217
- const {
218
- internal_model
219
- } = features;
220
- if (internal_model === DeviceModelInternal.UNKNOWN) {
221
- return false;
222
- }
223
- const firmwareReleaseConfig = firmwareReleaseStore.getReleases();
224
- if (!firmwareReleaseConfig) {
225
- throw new Error('Firmware release config not loaded.');
226
- }
227
- const deviceMessageRelease = firmwareReleaseConfig[internal_model];
228
- return !!deviceMessageRelease && !!deviceMessageRelease[FirmwareType.BitcoinOnly];
229
- };
230
- const isValidConditionalRelease = release => !!(release.version && release.min_firmware_version && release.min_bootloader_version);
231
- const calculateShouldOfferRelease = (rolloutProbability, deviceId) => {
232
- if (rolloutProbability < 0 || rolloutProbability > 100) {
233
- throw new Error('Probability must be between 0 and 100.');
234
- }
235
- if (deviceId === null) {
236
- return rolloutProbability > 0;
237
- } else {
238
- const deterministicValueToCompare = getIntegerInRangeFromString(deviceId, 101);
239
- return deterministicValueToCompare < rolloutProbability;
240
- }
241
- };
242
- const getChangelog = (releases, features) => {
243
- if (features.bootloader_mode) {
244
- if (features.firmware_present && features.major_version === 1) {
245
- return null;
246
- }
247
- if (features.firmware_present && features.major_version === 2) {
248
- return releases.filter(r => versionUtils.isNewer(r.version, [features.fw_major, features.fw_minor, features.fw_patch]));
249
- }
250
- return releases;
251
- }
252
- return releases.filter(r => versionUtils.isNewer(r.version, getFirmwareOrBootloaderVersionArray(features)));
253
- };
254
- const isRequired = changelog => {
255
- if (!changelog?.length) return null;
256
- return changelog.some(item => item.required);
257
- };
258
- export const getReleaseInfo = ({
259
- features,
260
- release,
261
- conditions,
262
- intermediary,
263
- firmwareType,
264
- isBitcoinOnlyAvailable,
265
- releasesOfDevice
266
- }) => {
267
- if (!isStrictFeatures(features)) {
268
- throw new Error('Features of unexpected shape provided.');
269
- }
270
- if (!isValidConditionalRelease(release)) {
271
- throw new Error(`Release object in unexpected shape.`);
272
- }
273
- const {
274
- min_firmware_version,
275
- min_bootloader_version
276
- } = release;
277
- const changelog = getChangelog(releasesOfDevice, features);
278
- let isNewer = false;
279
- let requiresIntermediary = false;
280
- if (features.bootloader_mode && release.bootloader_version) {
281
- const {
282
- bootloaderVersion,
283
- firmwareVersion
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);
291
- } else {
292
- throw new Error('Version is not version array.');
293
- }
294
- } else {
295
- const {
296
- firmwareVersion
297
- } = getCurrentVersion(features);
298
- if (!versionUtils.isVersionArray(firmwareVersion)) {
299
- throw new Error('Firmware version is not version array.');
300
- }
301
- isNewer = versionUtils.isNewer(release.version, firmwareVersion);
302
- requiresIntermediary = versionUtils.isNewer(min_firmware_version, firmwareVersion);
303
- }
304
- const {
305
- rollout_probability
306
- } = conditions;
307
- const shouldBeOffered = calculateShouldOfferRelease(rollout_probability, features.device_id);
308
- if (requiresIntermediary && intermediary) {
309
- isNewer = true;
310
- }
311
- return {
312
- firmwareType,
313
- isBitcoinOnlyAvailable,
314
- releaseConditions: {
315
- ...conditions,
316
- shouldBeOffered
317
- },
318
- release,
319
- intermediary: requiresIntermediary ? intermediary : undefined,
320
- isRequired: isRequired(changelog),
321
- isNewer,
322
- translations: release.translations
323
- };
324
- };
325
- export const getFirmwareReleaseConfigInfo = (features, firmwareType) => {
326
- const deviceMessageRelease = getReleaseConfig(features, firmwareType);
327
- if (!deviceMessageRelease?.release) {
328
- return;
329
- }
330
- const {
331
- release,
332
- conditions,
333
- firmware_type
334
- } = deviceMessageRelease;
335
- const currentVersion = getCurrentVersion(features);
336
- const inBootloaderMode = features.bootloader_mode && !!currentVersion.bootloaderVersion;
337
- const versionContext = inBootloaderMode ? {
338
- version: currentVersion.bootloaderVersion,
339
- minVersionKey: 'min_bootloader_version'
340
- } : {
341
- version: currentVersion.firmwareVersion,
342
- minVersionKey: 'min_firmware_version'
343
- };
344
- const isCompatible = versionContext.version && versionUtils.isNewerOrEqual(versionContext.version, release[versionContext.minVersionKey]);
345
- const releasesOfDevice = getReleasesAssetByDeviceModelAndFirmwareType(features.internal_model, firmwareType);
346
- let suitableRelease = release;
347
- if (!isCompatible) {
348
- const alternativeRelease = findBestCompatibleRelease(releasesOfDevice, currentVersion, versionContext.minVersionKey);
349
- if (alternativeRelease) {
350
- suitableRelease = alternativeRelease;
351
- }
352
- }
353
- const intermediary = getIntermediaryMessageRelease(features);
354
- const finalTargetRelease = intermediary ? release : suitableRelease;
355
- return getReleaseInfo({
356
- isBitcoinOnlyAvailable: getIsBitcoinOnlyAvailable(features),
357
- features,
358
- release: finalTargetRelease,
359
- conditions,
360
- intermediary,
361
- firmwareType: firmware_type,
362
- releasesOfDevice
363
- });
364
- };
365
- export const getFirmwareStatus = (features, firmwareType) => {
366
- if (features.firmware_present === false) {
367
- return 'none';
368
- }
369
- if (features.major_version === 1 && features.bootloader_mode) {
370
- return 'unknown';
371
- }
372
- const releaseInfo = getFirmwareReleaseConfigInfo(features, firmwareType);
373
- if (!releaseInfo) return 'custom';
374
- if (releaseInfo.isRequired) return 'required';
375
- if (releaseInfo.isNewer) return 'outdated';
376
- return 'valid';
377
- };
378
- export const getFirmwareLocation = ({
379
- firmwareVersion,
380
- remotePath,
381
- deviceModel,
382
- firmwareType,
383
- intermediaryVersion
384
- }) => {
385
- const firmwareName = intermediaryVersion ? buildIntermediaryFirmwareFileName(deviceModel, intermediaryVersion) : buildLocalFirmwareFileName(firmwareType, deviceModel, firmwareVersion);
386
- const versionString = firmwareVersion.join('.');
387
- const bundledBaseUrl = removeTrailingSlashes(settingsStore.get('binFilesBaseUrl'));
388
- const isRealBundled = !bundledBaseUrl.includes('data.trezor.io');
389
- const bundledVersion = getBundledFirmwareVersion(deviceModel, firmwareType);
390
- const isIntermediary = bundledBaseUrl && intermediaryVersion;
391
- const isMatchingBundledVersion = bundledBaseUrl && isRealBundled && bundledVersion === versionString;
392
- if (isIntermediary || isMatchingBundledVersion) {
393
- return {
394
- baseUrl: bundledBaseUrl,
395
- path: `firmware/${deviceModel.toLowerCase()}/${firmwareName}`
396
- };
397
- }
398
- const {
399
- firmwareDir,
400
- firmwareList
401
- } = localFirmwareStore.get();
402
- if (isFirmwareCacheUsedForSelectedSource(settingsStore.get('firmwareChannel')) && firmwareList.includes(firmwareName)) {
403
- return {
404
- baseUrl: firmwareDir,
405
- path: firmwareName
406
- };
407
- }
408
- const onlineBaseUrl = getOnlineFirmwareBaseUrl(settingsStore.get('firmwareChannel'));
409
- return {
410
- baseUrl: onlineBaseUrl.BASE_URL,
411
- path: remotePath
412
- };
413
- };
@@ -1,10 +0,0 @@
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;
@@ -1,16 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- import type { LocalFirmwares } from '@trezor/connect-common';
2
- export declare const set: (next: LocalFirmwares) => void;
3
- export declare const get: () => LocalFirmwares;
@@ -1,8 +0,0 @@
1
- let firmwares = {
2
- firmwareDir: '',
3
- firmwareList: []
4
- };
5
- export const set = next => {
6
- firmwares = next;
7
- };
8
- export const get = () => firmwares;
@@ -1 +0,0 @@
1
- export declare const loadProtobufModules: () => Promise<void>;
@@ -1,30 +0,0 @@
1
- import { protobufManager } from "@trezor/protobuf";
2
- import * as bitcoinProto from "@trezor/protobuf/lib/definitions/messages-bitcoin_pb.js";
3
- import * as bleProto from "@trezor/protobuf/lib/definitions/messages-ble_pb.js";
4
- import * as bootloaderProto from "@trezor/protobuf/lib/definitions/messages-bootloader_pb.js";
5
- import * as cardanoProto from "@trezor/protobuf/lib/definitions/messages-cardano_pb.js";
6
- import * as commonProto from "@trezor/protobuf/lib/definitions/messages-common_pb.js";
7
- import * as cryptoProto from "@trezor/protobuf/lib/definitions/messages-crypto_pb.js";
8
- import * as debugProto from "@trezor/protobuf/lib/definitions/messages-debug_pb.js";
9
- import * as definitionsProto from "@trezor/protobuf/lib/definitions/messages-definitions_pb.js";
10
- import * as eosProto from "@trezor/protobuf/lib/definitions/messages-eos_pb.js";
11
- import * as ethereumEip712Proto from "@trezor/protobuf/lib/definitions/messages-ethereum-eip712_pb.js";
12
- import * as ethereumProto from "@trezor/protobuf/lib/definitions/messages-ethereum_pb.js";
13
- import * as evoluProto from "@trezor/protobuf/lib/definitions/messages-evolu_pb.js";
14
- import * as managementProto from "@trezor/protobuf/lib/definitions/messages-management_pb.js";
15
- import * as moneroProto from "@trezor/protobuf/lib/definitions/messages-monero_pb.js";
16
- import * as nostrProto from "@trezor/protobuf/lib/definitions/messages-nostr_pb.js";
17
- import * as rippleProto from "@trezor/protobuf/lib/definitions/messages-ripple_pb.js";
18
- import * as solanaProto from "@trezor/protobuf/lib/definitions/messages-solana_pb.js";
19
- import * as stellarProto from "@trezor/protobuf/lib/definitions/messages-stellar_pb.js";
20
- import * as telemetryProto from "@trezor/protobuf/lib/definitions/messages-telemetry_pb.js";
21
- import * as tezosProto from "@trezor/protobuf/lib/definitions/messages-tezos_pb.js";
22
- import * as thpProto from "@trezor/protobuf/lib/definitions/messages-thp_pb.js";
23
- import * as tronProto from "@trezor/protobuf/lib/definitions/messages-tron_pb.js";
24
- import * as messagesProto from "@trezor/protobuf/lib/definitions/messages_pb.js";
25
- import * as optionsProto from "@trezor/protobuf/lib/definitions/options_pb.js";
26
- export const loadProtobufModules = () => {
27
- const definitionModules = [bitcoinProto, bleProto, bootloaderProto, cardanoProto, commonProto, cryptoProto, debugProto, definitionsProto, eosProto, ethereumEip712Proto, ethereumProto, evoluProto, managementProto, moneroProto, nostrProto, rippleProto, solanaProto, stellarProto, telemetryProto, tezosProto, thpProto, tronProto, messagesProto, optionsProto];
28
- protobufManager.load(definitionModules);
29
- return Promise.resolve();
30
- };
@@ -1,6 +0,0 @@
1
- import type { ConnectSettings } from '@trezor/connect-common';
2
- export declare const set: (next: ConnectSettings) => void;
3
- export declare const update: (partial: Partial<ConnectSettings>) => void;
4
- export declare const isLoaded: () => boolean;
5
- export declare function get(): ConnectSettings;
6
- export declare function get<T extends keyof ConnectSettings>(key: T): ConnectSettings[T];
@@ -1,21 +0,0 @@
1
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
- let settings;
3
- export const set = next => {
4
- settings = next;
5
- };
6
- export const update = partial => {
7
- if (!settings) {
8
- throw ERRORS.TypedError('Runtime', 'settingsStore.update called before set()');
9
- }
10
- settings = {
11
- ...settings,
12
- ...partial
13
- };
14
- };
15
- export const isLoaded = () => settings != null;
16
- export function get(key) {
17
- if (!settings) {
18
- throw ERRORS.TypedError('Runtime', 'settingsStore.get called before set()');
19
- }
20
- return key === undefined ? settings : settings[key];
21
- }