@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,22 +1,13 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.httpRequest = httpRequest;
7
- const tslib_1 = require("tslib");
8
- const cross_fetch_1 = tslib_1.__importDefault(require("cross-fetch"));
9
- const fs_1 = require("fs");
10
- const assetUtils_1 = require("./assetUtils");
11
- const assets_browser_1 = require("./assets-browser");
1
+ import fetch from "cross-fetch";
2
+ import { promises as fs } from "fs";
3
+ import { httpRequest as browserHttpRequest, tryLocalAssetRequire } from "./assetUtils.js";
12
4
  if (global && typeof global.fetch !== 'function') {
13
- global.fetch = cross_fetch_1.default;
5
+ global.fetch = fetch;
14
6
  }
15
- function httpRequest(url, type, options) {
16
- const asset = options?.skipLocalForceDownload ? null : (0, assetUtils_1.tryLocalAssetRequire)(url);
7
+ export function httpRequest(url, type, options) {
8
+ const asset = options?.skipLocalForceDownload ? null : tryLocalAssetRequire(url);
17
9
  if (!asset) {
18
- return /^https?/.test(url) ? (0, assets_browser_1.httpRequest)(url, type, options) : fs_1.promises.readFile(url);
10
+ return /^https?/.test(url) ? browserHttpRequest(url, type, options) : fs.readFile(url);
19
11
  }
20
12
  return asset;
21
- }
22
- //# sourceMappingURL=assets.js.map
13
+ }
@@ -1,3 +1,2 @@
1
- import { HttpRequestOptions, HttpRequestReturnType, HttpRequestType } from './assetsTypes';
2
- export declare function httpRequest<T extends HttpRequestType>(url: string, type: T, options?: HttpRequestOptions): Promise<HttpRequestReturnType<T>>;
3
- //# sourceMappingURL=assets.native.d.ts.map
1
+ import type { HttpRequestOptions, HttpRequestReturnType, HttpRequestType } from "./assetsTypes.js";
2
+ export declare function httpRequest<T extends HttpRequestType>(url: string, type: T, options?: HttpRequestOptions): Promise<HttpRequestReturnType<T>>;
@@ -1,18 +1,12 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.httpRequest = httpRequest;
7
- const assetUtils_1 = require("./assetUtils");
8
- function httpRequest(url, type, options) {
9
- const asset = options?.skipLocalForceDownload ? null : (0, assetUtils_1.tryLocalAssetRequire)(url);
1
+ import { HttpRequestError, tryLocalAssetRequire } from "./assetUtils.js";
2
+ export function httpRequest(url, type, options) {
3
+ const asset = options?.skipLocalForceDownload ? null : tryLocalAssetRequire(url);
10
4
  if (!asset) {
11
5
  return fetch(url, {
12
6
  ...options
13
7
  }).then(response => {
14
8
  if (!response.ok) {
15
- throw new assetUtils_1.HttpRequestError(response);
9
+ throw new HttpRequestError(response);
16
10
  }
17
11
  if (type === 'binary') {
18
12
  return response.arrayBuffer();
@@ -26,5 +20,4 @@ function httpRequest(url, type, options) {
26
20
  });
27
21
  }
28
22
  return asset;
29
- }
30
- //# sourceMappingURL=assets.native.js.map
23
+ }
@@ -1,6 +1,5 @@
1
1
  export type HttpRequestType = 'text' | 'binary' | 'json';
2
2
  export type HttpRequestReturnType<T extends HttpRequestType> = T extends 'text' ? string : T extends 'binary' ? ArrayBuffer | Buffer : T extends 'json' ? Record<string, any> : never;
3
3
  export interface HttpRequestOptions extends RequestInit {
4
- skipLocalForceDownload?: boolean;
5
- }
6
- //# sourceMappingURL=assetsTypes.d.ts.map
4
+ skipLocalForceDownload?: boolean;
5
+ }
@@ -1,6 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=assetsTypes.js.map
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { MessagesSchema as PROTO } from '@trezor/protobuf';
2
+ type BuildOutputDescriptorBip380Params = {
3
+ coin?: string;
4
+ account: number;
5
+ purpose?: number;
6
+ scriptType?: PROTO.InternalInputScriptType;
7
+ xpub: string;
8
+ rootFingerprint?: number;
9
+ descriptor?: string;
10
+ };
11
+ export declare const buildOutputDescriptor: ({
12
+ coin,
13
+ account,
14
+ purpose,
15
+ scriptType,
16
+ xpub,
17
+ rootFingerprint,
18
+ descriptor
19
+ }: BuildOutputDescriptorBip380Params) => string | undefined;
20
+ export {};
@@ -0,0 +1,67 @@
1
+ import { addDescriptorChecksum } from "@trezor/utxo-lib";
2
+ const PURPOSE_BIP44 = 44;
3
+ const PURPOSE_BIP49 = 49;
4
+ const PURPOSE_BIP84 = 84;
5
+ const PURPOSE_BIP86 = 86;
6
+ const PURPOSE_SLIP25 = 10025;
7
+ const SCRIPT_TYPE_TO_PURPOSES = {
8
+ SPENDADDRESS: [PURPOSE_BIP44],
9
+ SPENDP2SHWITNESS: [PURPOSE_BIP49],
10
+ SPENDWITNESS: [PURPOSE_BIP84],
11
+ SPENDTAPROOT: [PURPOSE_BIP86, PURPOSE_SLIP25]
12
+ };
13
+ const PURPOSE_TO_SCRIPT_TYPE = {
14
+ [PURPOSE_BIP44]: 'SPENDADDRESS',
15
+ [PURPOSE_BIP49]: 'SPENDP2SHWITNESS',
16
+ [PURPOSE_BIP84]: 'SPENDWITNESS',
17
+ [PURPOSE_BIP86]: 'SPENDTAPROOT',
18
+ [PURPOSE_SLIP25]: 'SPENDTAPROOT'
19
+ };
20
+ export const buildOutputDescriptor = ({
21
+ coin,
22
+ account,
23
+ purpose,
24
+ scriptType,
25
+ xpub,
26
+ rootFingerprint,
27
+ descriptor
28
+ }) => {
29
+ if (descriptor !== undefined) return descriptor;
30
+ if (purpose === undefined) {
31
+ scriptType ??= 'SPENDADDRESS';
32
+ purpose = SCRIPT_TYPE_TO_PURPOSES[scriptType]?.[0];
33
+ if (purpose === undefined) return undefined;
34
+ } else if (scriptType === undefined) {
35
+ scriptType = PURPOSE_TO_SCRIPT_TYPE[purpose];
36
+ if (!scriptType) return undefined;
37
+ } else if (!SCRIPT_TYPE_TO_PURPOSES[scriptType]?.includes(purpose)) {
38
+ return undefined;
39
+ }
40
+ const COIN_TYPE = {
41
+ Bitcoin: 0,
42
+ Testnet: 1,
43
+ Regtest: 1
44
+ };
45
+ const coinType = COIN_TYPE[coin ?? 'Bitcoin'];
46
+ if (coinType === undefined) {
47
+ return undefined;
48
+ }
49
+ let path = `m/${purpose}h/${coinType}h/${account}h`;
50
+ if (purpose === PURPOSE_SLIP25) {
51
+ if (scriptType === 'SPENDTAPROOT') {
52
+ path += '/1h';
53
+ } else {
54
+ return undefined;
55
+ }
56
+ }
57
+ const fmtMap = {
58
+ SPENDADDRESS: 'pkh({})',
59
+ SPENDP2SHWITNESS: 'sh(wpkh({}))',
60
+ SPENDWITNESS: 'wpkh({})',
61
+ SPENDTAPROOT: 'tr({})'
62
+ };
63
+ const fmt = fmtMap[scriptType];
64
+ const fingerprint = rootFingerprint ?? 0;
65
+ const inner = `[${fingerprint.toString(16).padStart(8, '0')}${path.slice(1)}]${xpub}/<0;1>/*`;
66
+ return addDescriptorChecksum(fmt.replace('{}', inner));
67
+ };
@@ -1,8 +1,7 @@
1
+ import type { CoinInfo, Features } from '@trezor/connect-common';
1
2
  import { DeviceModelInternal } from '@trezor/device-utils';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import { CoinInfo, Features, UnavailableCapabilities } from '../types';
3
+ import type { MessagesSchema as PROTO } from '@trezor/protobuf';
4
4
  export declare const parseCapabilities: (features?: Features) => PROTO.Capability[];
5
- export declare const getUnavailableCapabilities: (features: Features, coins: CoinInfo[]) => UnavailableCapabilities;
5
+ export declare const getUnavailableCapabilities: (features: Features, coins: CoinInfo[]) => Partial<Record<import("@trezor/connect-common").FirmwareCapability | (string & {}), import("@trezor/connect-common").UnavailableCapability>>;
6
6
  export declare const parseRevision: (features: Features) => string | null;
7
- export declare const ensureInternalModelFeature: (model: Features["model"]) => DeviceModelInternal;
8
- //# sourceMappingURL=deviceFeaturesUtils.d.ts.map
7
+ export declare const ensureInternalModelFeature: (model: Features["model"]) => DeviceModelInternal;
@@ -1,29 +1,23 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ensureInternalModelFeature = exports.parseRevision = exports.getUnavailableCapabilities = exports.parseCapabilities = void 0;
7
- const device_utils_1 = require("@trezor/device-utils");
8
- const utils_1 = require("@trezor/utils");
9
- const config_1 = require("../data/config");
10
- const DEFAULT_CAPABILITIES_T1 = ['Capability_Bitcoin', 'Capability_Bitcoin_like', 'Capability_Crypto', 'Capability_Ethereum', 'Capability_NEM', 'Capability_Stellar', 'Capability_U2F'];
11
- const DEFAULT_CAPABILITIES_TT = ['Capability_Bitcoin', 'Capability_Bitcoin_like', 'Capability_Binance', 'Capability_Cardano', 'Capability_Crypto', 'Capability_EOS', 'Capability_Ethereum', 'Capability_Monero', 'Capability_NEM', 'Capability_Ripple', 'Capability_Stellar', 'Capability_Tezos', 'Capability_U2F'];
12
- const parseCapabilities = features => {
1
+ import { DeviceModelInternal, getFirmwareOrBootloaderVersionArray } from "@trezor/device-utils";
2
+ import { isArrayMember, versionUtils } from "@trezor/utils";
3
+ import { isDebugFirmware } from "./firmwareUtils.js";
4
+ import { config } from "../data/config.js";
5
+ const DEFAULT_CAPABILITIES_T1 = ['Capability_Bitcoin', 'Capability_Bitcoin_like', 'Capability_Crypto', 'Capability_Ethereum', 'Capability_Stellar', 'Capability_U2F'];
6
+ const DEFAULT_CAPABILITIES_TT = ['Capability_Bitcoin', 'Capability_Bitcoin_like', 'Capability_Cardano', 'Capability_Crypto', 'Capability_Ethereum', 'Capability_Monero', 'Capability_Ripple', 'Capability_Solana', 'Capability_Stellar', 'Capability_Tezos', 'Capability_U2F'];
7
+ export const parseCapabilities = features => {
13
8
  if (!features || features.firmware_present === false) return [];
14
- if (!features.capabilities || !features.capabilities.length) {
9
+ if (!features.capabilities?.length) {
15
10
  return features.major_version === 1 ? DEFAULT_CAPABILITIES_T1 : DEFAULT_CAPABILITIES_TT;
16
11
  }
17
12
  return features.capabilities;
18
13
  };
19
- exports.parseCapabilities = parseCapabilities;
20
- const getUnavailableCapabilities = (features, coins) => {
14
+ export const getUnavailableCapabilities = (features, coins) => {
21
15
  const {
22
16
  capabilities
23
17
  } = features;
24
18
  const list = {};
25
19
  if (!capabilities) return list;
26
- const fw = [features.major_version, features.minor_version, features.patch_version].join('.');
20
+ const fw = getFirmwareOrBootloaderVersionArray(features).join('.');
27
21
  const key = features.internal_model;
28
22
  const supported = coins.filter(info => {
29
23
  if (!info.support || info.support[key] === false) {
@@ -47,15 +41,9 @@ const getUnavailableCapabilities = (features, coins) => {
47
41
  if (info.type === 'ethereum') {
48
42
  return !capabilities.includes('Capability_Ethereum');
49
43
  }
50
- if (info.type === 'nem') {
51
- return !capabilities.includes('Capability_NEM');
52
- }
53
- if (info.shortcut === 'TRX' && info.type === 'misc') {
44
+ if ((info.shortcut === 'TRX' || info.shortcut === 'tTRX') && info.type === 'misc') {
54
45
  return !capabilities.includes('Capability_Tron');
55
46
  }
56
- if (info.shortcut === 'BNB' && info.type === 'misc') {
57
- return !capabilities.includes('Capability_Binance');
58
- }
59
47
  if (info.shortcut === 'ADA' || info.shortcut === 'tADA') {
60
48
  return !capabilities.includes('Capability_Cardano');
61
49
  }
@@ -68,29 +56,31 @@ const getUnavailableCapabilities = (features, coins) => {
68
56
  if (info.shortcut === 'SOL' || info.shortcut === 'DSOL') {
69
57
  return !capabilities.includes('Capability_Solana');
70
58
  }
71
- return !(0, utils_1.isArrayMember)(`Capability_${info.name}`, capabilities);
59
+ return !isArrayMember(`Capability_${info.name}`, capabilities);
72
60
  });
73
61
  unavailable.forEach(info => {
74
62
  list[info.shortcut.toLowerCase()] = 'no-capability';
75
63
  });
76
64
  supported.filter(info => !unavailable.includes(info)).forEach(info => {
77
65
  const supportVersion = info.support[key];
78
- if (typeof supportVersion === 'string' && utils_1.versionUtils.isNewer(supportVersion, fw)) {
66
+ if (typeof supportVersion === 'string' && versionUtils.isNewer(supportVersion, fw)) {
79
67
  list[info.shortcut.toLowerCase()] = 'update-required';
80
68
  unavailable.push(info);
81
69
  }
82
70
  });
83
- config_1.config.supportedFirmware.forEach(s => {
71
+ const isDebug = isDebugFirmware(features);
72
+ config.supportedFirmware.forEach(s => {
84
73
  if (!s.capabilities) return;
74
+ if (s.firmwareType && s.firmwareType === 'debug' !== isDebug) return;
85
75
  const min = s.min ? s.min[key] : null;
86
76
  const max = s.max ? s.max[key] : null;
87
- if (min && (min === '0' || utils_1.versionUtils.isNewer(min, fw))) {
77
+ if (min && (min === '0' || versionUtils.isNewer(min, fw))) {
88
78
  const value = min === '0' ? 'no-support' : 'update-required';
89
79
  s.capabilities.forEach(m => {
90
80
  list[m] = value;
91
81
  });
92
82
  }
93
- if (max && !utils_1.versionUtils.isNewerOrEqual(max, fw)) {
83
+ if (max && !versionUtils.isNewerOrEqual(max, fw)) {
94
84
  s.capabilities.forEach(m => {
95
85
  list[m] = 'trezor-connect-outdated';
96
86
  });
@@ -98,8 +88,7 @@ const getUnavailableCapabilities = (features, coins) => {
98
88
  });
99
89
  return list;
100
90
  };
101
- exports.getUnavailableCapabilities = getUnavailableCapabilities;
102
- const parseRevision = features => {
91
+ export const parseRevision = features => {
103
92
  const {
104
93
  revision
105
94
  } = features;
@@ -108,16 +97,13 @@ const parseRevision = features => {
108
97
  const revisionUtf8 = Buffer.from(revision, 'hex').toString('utf-8');
109
98
  return /^([a-f0-9])*$/gi.test(revisionUtf8) ? revisionUtf8 : revision;
110
99
  };
111
- exports.parseRevision = parseRevision;
112
- const ensureInternalModelFeature = model => {
100
+ export const ensureInternalModelFeature = model => {
113
101
  switch (model.toUpperCase()) {
114
102
  case 'T':
115
- return device_utils_1.DeviceModelInternal.T2T1;
103
+ return DeviceModelInternal.T2T1;
116
104
  case '1':
117
- return device_utils_1.DeviceModelInternal.T1B1;
105
+ return DeviceModelInternal.T1B1;
118
106
  default:
119
- return device_utils_1.DeviceModelInternal.UNKNOWN;
107
+ return DeviceModelInternal.UNKNOWN;
120
108
  }
121
- };
122
- exports.ensureInternalModelFeature = ensureInternalModelFeature;
123
- //# sourceMappingURL=deviceFeaturesUtils.js.map
109
+ };
@@ -1,4 +1,3 @@
1
1
  export declare const getNetworkLabel: (label: string, network?: {
2
- name: string;
3
- }) => string;
4
- //# sourceMappingURL=ethereumUtils.d.ts.map
2
+ name: string;
3
+ }) => string;
@@ -1,15 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getNetworkLabel = void 0;
7
- const getNetworkLabel = (label, network) => {
1
+ export const getNetworkLabel = (label, network) => {
8
2
  if (network) {
9
- const name = network.name.toLowerCase().indexOf('testnet') >= 0 ? 'Testnet' : network.name;
3
+ const name = network.name.toLowerCase().includes('testnet') ? 'Testnet' : network.name;
10
4
  return label.replace('#NETWORK', name);
11
5
  }
12
6
  return label.replace('#NETWORK', '');
13
- };
14
- exports.getNetworkLabel = getNetworkLabel;
15
- //# sourceMappingURL=ethereumUtils.js.map
7
+ };
@@ -1,10 +1,19 @@
1
- import { FirmwareReleaseConfig } from '@trezor/device-utils';
2
- export declare const getFirmwareReleaseConfig: () => Promise<{
3
- config: any;
4
- isRemote: boolean;
1
+ import type { FirmwareChannel } from '@trezor/connect-common/lib/types/firmware';
2
+ import type { FirmwareReleaseConfig } from '@trezor/device-utils';
3
+ interface RemoteBaseInfo {
4
+ BASE_URL: string;
5
+ MIDDLE_PATH: string;
6
+ }
7
+ type OnlineFirmwareBaseUrl = RemoteBaseInfo & {
8
+ firmwareChannel: FirmwareChannel;
9
+ };
10
+ export declare const getOnlineFirmwareBaseUrl: (firmwareChannel?: FirmwareChannel) => OnlineFirmwareBaseUrl;
11
+ export declare const getFirmwareReleaseConfig: (firmwareChannel?: FirmwareChannel) => Promise<{
12
+ config: FirmwareReleaseConfig;
13
+ isRemote: boolean;
5
14
  }>;
6
15
  export declare const getOnlyLocalFirmwareReleaseConfig: () => {
7
- config: FirmwareReleaseConfig;
8
- isRemote: false;
16
+ config: FirmwareReleaseConfig;
17
+ isRemote: false;
9
18
  };
10
- //# sourceMappingURL=firmwareReleaseConfigUtils.d.ts.map
19
+ export {};
@@ -1,26 +1,69 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getOnlyLocalFirmwareReleaseConfig = exports.getFirmwareReleaseConfig = void 0;
7
- const jws_1 = require("jws");
8
- const env_utils_1 = require("@trezor/env-utils");
9
- const assetUtils_1 = require("./assetUtils");
10
- const firmwareInfo_1 = require("../data/firmwareInfo");
1
+ import { decode, verify } from "jws";
2
+ import { getFirmwareReleaseJwsPublicKey } from "@trezor/connect-data";
3
+ import { firmwareReleaseConfigAssets } from "./assetUtils.js";
4
+ const RELEASES_URL_REMOTE_BASE = {
5
+ BASE_URL: 'https://data.trezor.io',
6
+ MIDDLE_PATH: 'firmware'
7
+ };
8
+ const UNSIGNED_URL_REMOTE_BASE = {
9
+ BASE_URL: 'https://data.trezor.io',
10
+ MIDDLE_PATH: 'dev/firmware/releases/unsigned'
11
+ };
12
+ const UNSIGNED_STABLE_URL_REMOTE_BASE = {
13
+ BASE_URL: 'https://data.trezor.io',
14
+ MIDDLE_PATH: 'dev/firmware/releases/unsigned-stable'
15
+ };
16
+ const SIGNED_URL_REMOTE_BASE = {
17
+ BASE_URL: 'https://suite.corp.sldev.cz',
18
+ MIDDLE_PATH: 'firmware/signed'
19
+ };
20
+ const SIGNED_LOCALHOST = {
21
+ BASE_URL: 'http://localhost:3000',
22
+ MIDDLE_PATH: 'firmware/signed'
23
+ };
24
+ const UNSIGNED_LOCALHOST = {
25
+ BASE_URL: 'http://localhost:3000',
26
+ MIDDLE_PATH: 'firmware/unsigned'
27
+ };
28
+ const FIRMWARE_REMOTE_BASE_URLS = {
29
+ production: RELEASES_URL_REMOTE_BASE,
30
+ 'production-early-access': RELEASES_URL_REMOTE_BASE,
31
+ 'test-unsigned': UNSIGNED_URL_REMOTE_BASE,
32
+ 'test-unsigned-stable': UNSIGNED_STABLE_URL_REMOTE_BASE,
33
+ 'test-signed': SIGNED_URL_REMOTE_BASE,
34
+ 'localhost-unsigned': UNSIGNED_LOCALHOST,
35
+ 'localhost-signed': SIGNED_LOCALHOST
36
+ };
37
+ export const getOnlineFirmwareBaseUrl = firmwareChannel => {
38
+ if (!firmwareChannel) {
39
+ return {
40
+ ...FIRMWARE_REMOTE_BASE_URLS['production'],
41
+ firmwareChannel: 'production'
42
+ };
43
+ }
44
+ return {
45
+ ...FIRMWARE_REMOTE_BASE_URLS[firmwareChannel],
46
+ firmwareChannel
47
+ };
48
+ };
11
49
  const JWS_CONFIG = {
12
50
  SIGN_ALGORITHM: 'ES256',
13
51
  VERSION: 1,
14
52
  REMOTE_FILENAME: 'releases.v1.json',
15
53
  REQUEST_TIMEOUT_MS: 5000
16
54
  };
17
- const fetchRemoteJws = async () => {
55
+ const CONFIG_PATH_BY_CHANNEL = {
56
+ production: 'config/',
57
+ 'production-early-access': 'config-early-access/'
58
+ };
59
+ const fetchRemoteJws = async firmwareChannel => {
18
60
  const {
19
61
  BASE_URL,
20
62
  MIDDLE_PATH,
21
- env
22
- } = (0, firmwareInfo_1.getOnlineFirmwareBaseUrl)();
23
- const path = `${MIDDLE_PATH}/${env === 'production' ? 'config/' : ''}${JWS_CONFIG.REMOTE_FILENAME}`;
63
+ firmwareChannel: resolvedChannel
64
+ } = getOnlineFirmwareBaseUrl(firmwareChannel);
65
+ const configPath = CONFIG_PATH_BY_CHANNEL[resolvedChannel] ?? '';
66
+ const path = `${MIDDLE_PATH}/${configPath}${JWS_CONFIG.REMOTE_FILENAME}`;
24
67
  const remoteReleasesUrl = new URL(path, BASE_URL);
25
68
  try {
26
69
  const controller = new AbortController();
@@ -38,15 +81,15 @@ const fetchRemoteJws = async () => {
38
81
  }
39
82
  return {
40
83
  jws: data.jws,
41
- env
84
+ firmwareChannel: resolvedChannel
42
85
  };
43
86
  } catch (error) {
44
87
  throw new Error(`Failed to fetch remote JWS: ${error instanceof Error ? error.message : String(error)}`);
45
88
  }
46
89
  };
47
90
  const verifyAndDecodeJws = (jws, publicKey) => {
48
- const decoded = (0, jws_1.decode)(jws);
49
- if (!decoded || !decoded.payload || !decoded.header) {
91
+ const decoded = decode(jws);
92
+ if (!decoded?.payload || !decoded.header) {
50
93
  throw new Error('Invalid JWS structure.');
51
94
  }
52
95
  const parsedPayload = JSON.parse(decoded.payload);
@@ -56,21 +99,21 @@ const verifyAndDecodeJws = (jws, publicKey) => {
56
99
  if (parsedPayload.version !== JWS_CONFIG.VERSION) {
57
100
  throw new Error('Config version mismatch.');
58
101
  }
59
- if (!(0, jws_1.verify)(jws, JWS_CONFIG.SIGN_ALGORITHM, publicKey)) {
102
+ if (!verify(jws, JWS_CONFIG.SIGN_ALGORITHM, publicKey)) {
60
103
  throw new Error('JWS signature is invalid.');
61
104
  }
62
105
  return parsedPayload;
63
106
  };
64
- const getFirmwareReleaseConfig = async () => {
107
+ export const getFirmwareReleaseConfig = async firmwareChannel => {
65
108
  try {
66
109
  const {
67
110
  jws,
68
- env
69
- } = await fetchRemoteJws();
70
- const useProductionKey = ['test-signed', 'production'].includes(env);
71
- const publicKey = (0, env_utils_1.getFirmwareReleaseJwsPublicKey)(useProductionKey);
111
+ firmwareChannel: resolvedChannel
112
+ } = await fetchRemoteJws(firmwareChannel);
113
+ const useProductionKey = ['test-signed', 'production-early-access', 'production'].includes(resolvedChannel);
114
+ const publicKey = getFirmwareReleaseJwsPublicKey(useProductionKey);
72
115
  const remoteConfig = verifyAndDecodeJws(jws, publicKey);
73
- if (remoteConfig.sequence > assetUtils_1.firmwareReleaseConfigAssets.sequence) {
116
+ if (remoteConfig.sequence > firmwareReleaseConfigAssets.sequence) {
74
117
  return {
75
118
  config: remoteConfig,
76
119
  isRemote: true
@@ -78,14 +121,11 @@ const getFirmwareReleaseConfig = async () => {
78
121
  }
79
122
  } catch {}
80
123
  return {
81
- config: assetUtils_1.firmwareReleaseConfigAssets,
124
+ config: firmwareReleaseConfigAssets,
82
125
  isRemote: false
83
126
  };
84
127
  };
85
- exports.getFirmwareReleaseConfig = getFirmwareReleaseConfig;
86
- const getOnlyLocalFirmwareReleaseConfig = () => ({
87
- config: assetUtils_1.firmwareReleaseConfigAssets,
128
+ export const getOnlyLocalFirmwareReleaseConfig = () => ({
129
+ config: firmwareReleaseConfigAssets,
88
130
  isRemote: false
89
- });
90
- exports.getOnlyLocalFirmwareReleaseConfig = getOnlyLocalFirmwareReleaseConfig;
91
- //# sourceMappingURL=firmwareReleaseConfigUtils.js.map
131
+ });
@@ -1,7 +1,6 @@
1
- import { FirmwareType } from '@trezor/device-utils';
2
- import type { DeviceModelInternal, FirmwareRelease, VersionArray } from '@trezor/device-utils';
3
- import type { CurrentVersion } from '../data/firmwareInfo';
4
- import type { Features, StrictFeatures } from '../types/device';
1
+ import type { CurrentVersion, Features, FirmwareChannel, StrictFeatures } from '@trezor/connect-common';
2
+ import { type DeviceModelInternal, type FirmwareRelease, FirmwareType } from '@trezor/device-utils';
3
+ import { type VersionArray } from '@trezor/utils';
5
4
  export declare const isStrictFeatures: (extFeatures: Features) => extFeatures is StrictFeatures;
6
5
  type VersionCheckProperty = 'min_firmware_version' | 'min_bootloader_version';
7
6
  export declare const findBestCompatibleRelease: (availableFirmwares: FirmwareRelease[], currentVesion: CurrentVersion, checkProperty: VersionCheckProperty) => FirmwareRelease | undefined;
@@ -9,7 +8,8 @@ export declare const buildLocalReleaseName: (firmwareType: FirmwareType, deviceM
9
8
  export declare const buildLocalFirmwareFileName: (firmwareType: FirmwareType, deviceModel: DeviceModelInternal, version: VersionArray) => string;
10
9
  export declare const buildIntermediaryFirmwareFileName: (internalModel: DeviceModelInternal, version: number) => string;
11
10
  export declare const getFirmwareMode: (features: Features) => "normal" | "bootloader" | "initialize" | "seedless";
11
+ export declare const isDebugFirmware: (features: Features) => boolean;
12
12
  export declare const getFirmwareType: (features: Features) => FirmwareType;
13
- export declare const isFirmwareCacheUsedForSelectedSource: () => boolean;
14
- export {};
15
- //# sourceMappingURL=firmwareUtils.d.ts.map
13
+ export declare const isProductionFirmwareChannel: (firmwareChannel?: FirmwareChannel) => firmwareChannel is "production" | "production-early-access" | undefined;
14
+ export declare const isFirmwareCacheUsedForSelectedSource: (firmwareChannel?: FirmwareChannel) => firmwareChannel is "production" | "production-early-access" | undefined;
15
+ export {};
@@ -1,15 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isFirmwareCacheUsedForSelectedSource = exports.getFirmwareType = exports.getFirmwareMode = exports.buildIntermediaryFirmwareFileName = exports.buildLocalFirmwareFileName = exports.buildLocalReleaseName = exports.findBestCompatibleRelease = exports.isStrictFeatures = void 0;
7
- const device_utils_1 = require("@trezor/device-utils");
8
- const utils_1 = require("@trezor/utils");
9
- const DataManager_1 = require("../data/DataManager");
10
- const isStrictFeatures = extFeatures => [1, 2].includes(extFeatures.major_version) && (extFeatures.firmware_present === false || extFeatures.bootloader_mode == null || extFeatures.bootloader_mode === true);
11
- exports.isStrictFeatures = isStrictFeatures;
12
- const findBestCompatibleRelease = (availableFirmwares, currentVesion, checkProperty) => {
1
+ import { FirmwareType } from "@trezor/device-utils";
2
+ import { versionUtils } from "@trezor/utils";
3
+ export const isStrictFeatures = extFeatures => [1, 2].includes(extFeatures.major_version) && (extFeatures.firmware_present === false || extFeatures.bootloader_mode == null || extFeatures.bootloader_mode === true);
4
+ export const findBestCompatibleRelease = (availableFirmwares, currentVesion, checkProperty) => {
13
5
  if (!availableFirmwares || availableFirmwares.length === 0) {
14
6
  return;
15
7
  }
@@ -19,7 +11,7 @@ const findBestCompatibleRelease = (availableFirmwares, currentVesion, checkPrope
19
11
  if (checkProperty === 'min_bootloader_version' && currentBootloaderVersion) {
20
12
  versionToCompare = currentBootloaderVersion;
21
13
  } else if (checkProperty === 'min_bootloader_version' && currentFirmwareVersion) {
22
- const currentRelease = availableFirmwares.find(fw => utils_1.versionUtils.isEqual(currentFirmwareVersion, fw.version));
14
+ const currentRelease = availableFirmwares.find(fw => versionUtils.isEqual(currentFirmwareVersion, fw.version));
23
15
  if (!currentRelease?.bootloader_version) {
24
16
  return;
25
17
  }
@@ -27,44 +19,39 @@ const findBestCompatibleRelease = (availableFirmwares, currentVesion, checkPrope
27
19
  if (!versionToCompare) {
28
20
  return;
29
21
  }
30
- const sortedFirmwares = availableFirmwares.sort((a, b) => utils_1.versionUtils.isNewer(b.version, a.version) ? 1 : -1);
31
- const compatibleFirmware = sortedFirmwares.find(fw => utils_1.versionUtils.isNewerOrEqual(versionToCompare, fw[checkProperty]));
22
+ const sortedFirmwares = availableFirmwares.sort((a, b) => versionUtils.isNewer(b.version, a.version) ? 1 : -1);
23
+ const compatibleFirmware = sortedFirmwares.find(fw => versionUtils.isNewerOrEqual(versionToCompare, fw[checkProperty]));
32
24
  return compatibleFirmware;
33
25
  };
34
- exports.findBestCompatibleRelease = findBestCompatibleRelease;
35
26
  const buildLocalFileBaseName = (firmwareType, deviceModel, version) => {
36
- const firmwareSuffix = firmwareType === device_utils_1.FirmwareType.BitcoinOnly ? '-bitcoinonly' : '';
27
+ const firmwareSuffix = firmwareType === FirmwareType.BitcoinOnly ? '-bitcoinonly' : '';
37
28
  const model = deviceModel.toLowerCase();
38
29
  const versionString = version.join('.');
39
30
  return `trezor-${model}-${versionString}${firmwareSuffix}`;
40
31
  };
41
- const buildLocalReleaseName = (firmwareType, deviceModel, version) => `${buildLocalFileBaseName(firmwareType, deviceModel, version)}.json`;
42
- exports.buildLocalReleaseName = buildLocalReleaseName;
43
- const buildLocalFirmwareFileName = (firmwareType, deviceModel, version) => `${buildLocalFileBaseName(firmwareType, deviceModel, version)}.bin`;
44
- exports.buildLocalFirmwareFileName = buildLocalFirmwareFileName;
45
- const buildIntermediaryFirmwareFileName = (internalModel, version) => `trezor-${internalModel.toLowerCase()}-inter-v${version}.bin`;
46
- exports.buildIntermediaryFirmwareFileName = buildIntermediaryFirmwareFileName;
47
- const getFirmwareMode = features => {
32
+ export const buildLocalReleaseName = (firmwareType, deviceModel, version) => `${buildLocalFileBaseName(firmwareType, deviceModel, version)}.json`;
33
+ export const buildLocalFirmwareFileName = (firmwareType, deviceModel, version) => `${buildLocalFileBaseName(firmwareType, deviceModel, version)}.bin`;
34
+ export const buildIntermediaryFirmwareFileName = (internalModel, version) => `trezor-${internalModel.toLowerCase()}-inter-v${version}.bin`;
35
+ export const getFirmwareMode = features => {
48
36
  if (features.bootloader_mode) return 'bootloader';
49
37
  if (!features.initialized) return 'initialize';
50
38
  if (features.no_backup) return 'seedless';
51
39
  return 'normal';
52
40
  };
53
- exports.getFirmwareMode = getFirmwareMode;
54
- const getFirmwareType = features => {
55
- let type = device_utils_1.FirmwareType.Universal;
41
+ const PRODUCTION_FIRMWARE_VENDORS = new Set(['Trezor', 'Trezor Bitcoin-only']);
42
+ export const isDebugFirmware = features => !PRODUCTION_FIRMWARE_VENDORS.has(features.fw_vendor ?? '');
43
+ export const getFirmwareType = features => {
44
+ let type = FirmwareType.Universal;
56
45
  if (features.fw_vendor === 'Trezor Bitcoin-only') {
57
- type = device_utils_1.FirmwareType.BitcoinOnly;
46
+ type = FirmwareType.BitcoinOnly;
58
47
  } else if (features.fw_vendor === 'Trezor') {
59
- type = device_utils_1.FirmwareType.Universal;
60
- } else if ((0, exports.getFirmwareMode)(features) !== 'bootloader') {
61
- type = features.capabilities && features.capabilities.length > 0 && !features.capabilities.includes('Capability_Bitcoin_like') ? device_utils_1.FirmwareType.BitcoinOnly : device_utils_1.FirmwareType.Universal;
62
- } else if ((0, exports.getFirmwareMode)(features) === 'bootloader' && features.unit_btconly) {
63
- type = device_utils_1.FirmwareType.BitcoinOnly;
48
+ type = FirmwareType.Universal;
49
+ } else if (getFirmwareMode(features) !== 'bootloader') {
50
+ type = features.capabilities && features.capabilities.length > 0 && !features.capabilities.includes('Capability_Bitcoin_like') ? FirmwareType.BitcoinOnly : FirmwareType.Universal;
51
+ } else if (getFirmwareMode(features) === 'bootloader' && features.unit_btconly) {
52
+ type = FirmwareType.BitcoinOnly;
64
53
  }
65
54
  return type;
66
55
  };
67
- exports.getFirmwareType = getFirmwareType;
68
- const isFirmwareCacheUsedForSelectedSource = () => DataManager_1.DataManager.getSettings('firmwareUpdateSource') === 'production';
69
- exports.isFirmwareCacheUsedForSelectedSource = isFirmwareCacheUsedForSelectedSource;
70
- //# sourceMappingURL=firmwareUtils.js.map
56
+ export const isProductionFirmwareChannel = firmwareChannel => firmwareChannel === undefined || firmwareChannel === 'production' || firmwareChannel === 'production-early-access';
57
+ export const isFirmwareCacheUsedForSelectedSource = firmwareChannel => isProductionFirmwareChannel(firmwareChannel);