@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,90 +0,0 @@
1
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
- import { fromHardenedPathPart, toHardenedPathPart } from "@trezor/crypto-utils";
3
- import { getCoinName } from "../data/coinInfo.js";
4
- export const getAccountAddressN = (coinInfo, accountIndex, bip44) => {
5
- if (!coinInfo) {
6
- throw ERRORS.TypedError('Method_UnknownCoin');
7
- }
8
- const index = typeof accountIndex === 'number' ? accountIndex : 0;
9
- const options = {
10
- purpose: 44,
11
- coinType: coinInfo.slip44,
12
- ...bip44
13
- };
14
- if (coinInfo.type === 'bitcoin') {
15
- return [toHardenedPathPart(options.purpose), toHardenedPathPart(options.coinType), toHardenedPathPart(index)];
16
- }
17
- if (coinInfo.shortcut === 'ADA' || coinInfo.shortcut === 'tADA') {
18
- return [toHardenedPathPart(1852), toHardenedPathPart(options.coinType), toHardenedPathPart(index)];
19
- }
20
- if (coinInfo.type === 'ethereum') {
21
- return [toHardenedPathPart(options.purpose), toHardenedPathPart(options.coinType), toHardenedPathPart(0), 0, index];
22
- }
23
- if (coinInfo.shortcut === 'tXRP') {
24
- return [toHardenedPathPart(options.purpose), toHardenedPathPart(144), toHardenedPathPart(index), 0, 0];
25
- }
26
- return [toHardenedPathPart(options.purpose), toHardenedPathPart(options.coinType), toHardenedPathPart(index), 0, 0];
27
- };
28
- export const getAccountLabel = (path, coinInfo) => {
29
- if (coinInfo.type === 'bitcoin') {
30
- const path0 = path[0];
31
- const path2 = path[2];
32
- const accountType = fromHardenedPathPart(path0);
33
- const account = fromHardenedPathPart(path2);
34
- let prefix = '';
35
- if (accountType === 48) {
36
- prefix = 'multisig';
37
- } else if (accountType === 49 && coinInfo.segwit) {
38
- prefix = 'segwit';
39
- } else if (accountType === 44 && coinInfo.segwit) {
40
- prefix = 'legacy';
41
- }
42
- return `${prefix} account #${account + 1}`;
43
- }
44
- const path4 = path[4];
45
- const account = fromHardenedPathPart(path4);
46
- return `account #${account + 1}`;
47
- };
48
- export const getPublicKeyLabel = (path, coinInfo) => {
49
- let hasSegwit = false;
50
- let coinLabel = 'Unknown coin';
51
- if (coinInfo) {
52
- coinLabel = coinInfo.label;
53
- hasSegwit = coinInfo.segwit;
54
- } else {
55
- coinLabel = getCoinName(path);
56
- }
57
- const pubKeyPath0 = path[0];
58
- const p1 = fromHardenedPathPart(pubKeyPath0);
59
- const pubKeyPath2 = path[2];
60
- let account = path.length >= 3 ? fromHardenedPathPart(pubKeyPath2) : -1;
61
- let realAccountId = account + 1;
62
- let prefix = 'Export public key';
63
- let accountType = '';
64
- if (p1 === 45342) {
65
- const pubKeyPath1 = path[1];
66
- const p2 = fromHardenedPathPart(pubKeyPath1);
67
- const pubKeyPath3 = path[3];
68
- account = fromHardenedPathPart(pubKeyPath3);
69
- realAccountId = account + 1;
70
- prefix = 'Export Copay ID of';
71
- if (p2 === 48) {
72
- accountType = 'multisig';
73
- } else if (p2 === 44) {
74
- accountType = 'legacy';
75
- }
76
- } else if (p1 === 48) {
77
- accountType = `${coinLabel} multisig`;
78
- } else if (p1 === 44 && hasSegwit) {
79
- accountType = `${coinLabel} legacy`;
80
- } else if (p1 === 84 && hasSegwit) {
81
- accountType = `${coinLabel} native segwit`;
82
- } else {
83
- accountType = coinLabel;
84
- }
85
- if (realAccountId > 0) {
86
- return `${prefix} of ${accountType} account #${realAccountId}`;
87
- }
88
- return prefix;
89
- };
90
- export const isUtxoBased = coinInfo => coinInfo.type === 'bitcoin' || coinInfo.shortcut === 'ADA' || coinInfo.shortcut === 'tADA';
@@ -1,2 +0,0 @@
1
- import type { BitcoinNetworkInfo } from '@trezor/connect-common';
2
- export declare const isValidAddress: (address: string, coinInfo: BitcoinNetworkInfo) => boolean;
@@ -1,24 +0,0 @@
1
- import { address as BitcoinJSAddress } from "@trezor/utxo-lib";
2
- const isValidBase58Address = (address, network) => {
3
- try {
4
- const decoded = BitcoinJSAddress.fromBase58Check(address, network);
5
- if (decoded.version !== network.pubKeyHash && decoded.version !== network.scriptHash) {
6
- return false;
7
- }
8
- } catch {
9
- return false;
10
- }
11
- return true;
12
- };
13
- const isValidBech32Address = (address, network) => {
14
- try {
15
- const decoded = BitcoinJSAddress.fromBech32(address);
16
- if (decoded.prefix !== network.bech32) {
17
- return false;
18
- }
19
- } catch {
20
- return false;
21
- }
22
- return true;
23
- };
24
- export const isValidAddress = (address, coinInfo) => isValidBase58Address(address, coinInfo.network) || isValidBech32Address(address, coinInfo.network);
@@ -1,13 +0,0 @@
1
- import type { DeviceModelInternal, FirmwareRelease, FirmwareReleaseConfig } from '@trezor/device-utils';
2
- import { FirmwareType } from '@trezor/device-utils';
3
- import type { VersionArray } from '@trezor/utils/lib/versionUtils';
4
- import type { HttpRequestOptions, HttpRequestReturnType, HttpRequestType } from "./assetsTypes.js";
5
- export declare class HttpRequestError extends Error {
6
- response: Response;
7
- constructor(response: Response);
8
- }
9
- export declare const getReleasesAssetByDeviceModelAndFirmwareType: (deviceModel: DeviceModelInternal, firmwareType: FirmwareType) => FirmwareRelease[];
10
- export declare const getReleaseAsset: (deviceModel: DeviceModelInternal, version: VersionArray, firmwareType: FirmwareType) => FirmwareRelease;
11
- export declare const firmwareReleaseConfigAssets: FirmwareReleaseConfig;
12
- export declare const tryLocalAssetRequire: (url: string) => unknown;
13
- export declare const httpRequest: <T extends HttpRequestType>(url: string, type?: T, options?: HttpRequestOptions) => Promise<HttpRequestReturnType<T>>;
@@ -1,55 +0,0 @@
1
- import { firmwareAssets } from "@trezor/connect-data";
2
- import connectDataCoinsEth from "@trezor/connect-data/files/coins-eth.json" with { type: "json" };
3
- import connectDataCoins from "@trezor/connect-data/files/coins.json" with { type: "json" };
4
- import firmwareReleaseConfigAssetsJson from "@trezor/connect-data/files/firmware/release/releases.v1.json" with { type: "json" };
5
- import { FirmwareType } from "@trezor/device-utils";
6
- import { versionUtils } from "@trezor/utils";
7
- export class HttpRequestError extends Error {
8
- response;
9
- constructor(response) {
10
- const message = `${response.status} while fetching ${response.url}`;
11
- super(message);
12
- this.response = response;
13
- }
14
- }
15
- export const getReleasesAssetByDeviceModelAndFirmwareType = (deviceModel, firmwareType) => {
16
- const firmwareTypeInFileName = firmwareType === FirmwareType.BitcoinOnly ? 'bitcoinonly' : 'universal';
17
- const availableReleasesRecord = firmwareAssets?.[deviceModel.toLowerCase()]?.[firmwareTypeInFileName] ?? {};
18
- return Object.values(availableReleasesRecord).sort((a, b) => versionUtils.isNewer(b.version, a.version) ? 1 : -1);
19
- };
20
- export const getReleaseAsset = (deviceModel, version, firmwareType) => {
21
- const firmwareTypeInFileName = firmwareType === FirmwareType.BitcoinOnly ? 'bitcoinonly' : 'universal';
22
- const fileName = `${deviceModel.toLowerCase()}-${version.join('.')}-${firmwareTypeInFileName}`;
23
- const deviceModelLower = deviceModel.toLowerCase();
24
- const asset = firmwareAssets?.[deviceModelLower]?.[firmwareTypeInFileName]?.[fileName];
25
- return asset;
26
- };
27
- export const firmwareReleaseConfigAssets = firmwareReleaseConfigAssetsJson;
28
- export const tryLocalAssetRequire = url => {
29
- const fileUrl = url.split('?')[0];
30
- switch (fileUrl) {
31
- case './data/coins.json':
32
- return connectDataCoins;
33
- case './data/coins-eth.json':
34
- return connectDataCoinsEth;
35
- }
36
- return null;
37
- };
38
- export const httpRequest = async (url, type = 'text', options) => {
39
- const init = {
40
- ...options,
41
- credentials: 'same-origin'
42
- };
43
- const response = await fetch(url, init);
44
- if (response.ok) {
45
- if (type === 'json') {
46
- const txt = await response.text();
47
- return JSON.parse(txt);
48
- }
49
- if (type === 'binary') {
50
- return response.arrayBuffer();
51
- }
52
- return response.text();
53
- }
54
- throw new HttpRequestError(response);
55
- };
@@ -1 +0,0 @@
1
- export { httpRequest } from "./assetUtils.js";
@@ -1 +0,0 @@
1
- export { httpRequest } from "./assetUtils.js";
@@ -1,2 +0,0 @@
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,13 +0,0 @@
1
- import fetch from "cross-fetch";
2
- import { promises as fs } from "fs";
3
- import { httpRequest as browserHttpRequest, tryLocalAssetRequire } from "./assetUtils.js";
4
- if (global && typeof global.fetch !== 'function') {
5
- global.fetch = fetch;
6
- }
7
- export function httpRequest(url, type, options) {
8
- const asset = options?.skipLocalForceDownload ? null : tryLocalAssetRequire(url);
9
- if (!asset) {
10
- return /^https?/.test(url) ? browserHttpRequest(url, type, options) : fs.readFile(url);
11
- }
12
- return asset;
13
- }
@@ -1,2 +0,0 @@
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,23 +0,0 @@
1
- import { HttpRequestError, tryLocalAssetRequire } from "./assetUtils.js";
2
- export function httpRequest(url, type, options) {
3
- const asset = options?.skipLocalForceDownload ? null : tryLocalAssetRequire(url);
4
- if (!asset) {
5
- return fetch(url, {
6
- ...options
7
- }).then(response => {
8
- if (!response.ok) {
9
- throw new HttpRequestError(response);
10
- }
11
- if (type === 'binary') {
12
- return response.arrayBuffer();
13
- }
14
- if (type === 'json') {
15
- return response.json();
16
- }
17
- return response.text();
18
- }).catch(error => {
19
- throw error;
20
- });
21
- }
22
- return asset;
23
- }
@@ -1,5 +0,0 @@
1
- export type HttpRequestType = 'text' | 'binary' | 'json';
2
- export type HttpRequestReturnType<T extends HttpRequestType> = T extends 'text' ? string : T extends 'binary' ? ArrayBuffer | Buffer : T extends 'json' ? Record<string, any> : never;
3
- export interface HttpRequestOptions extends RequestInit {
4
- skipLocalForceDownload?: boolean;
5
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,20 +0,0 @@
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 {};
@@ -1,67 +0,0 @@
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,7 +0,0 @@
1
- import type { CoinInfo, Features } from '@trezor/connect-common';
2
- import { DeviceModelInternal } from '@trezor/device-utils';
3
- import type { MessagesSchema as PROTO } from '@trezor/protobuf';
4
- export declare const parseCapabilities: (features?: Features) => PROTO.Capability[];
5
- export declare const getUnavailableCapabilities: (features: Features, coins: CoinInfo[]) => Partial<Record<import("@trezor/connect-common").FirmwareCapability | (string & {}), import("@trezor/connect-common").UnavailableCapability>>;
6
- export declare const parseRevision: (features: Features) => string | null;
7
- export declare const ensureInternalModelFeature: (model: Features["model"]) => DeviceModelInternal;
@@ -1,109 +0,0 @@
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 => {
8
- if (!features || features.firmware_present === false) return [];
9
- if (!features.capabilities?.length) {
10
- return features.major_version === 1 ? DEFAULT_CAPABILITIES_T1 : DEFAULT_CAPABILITIES_TT;
11
- }
12
- return features.capabilities;
13
- };
14
- export const getUnavailableCapabilities = (features, coins) => {
15
- const {
16
- capabilities
17
- } = features;
18
- const list = {};
19
- if (!capabilities) return list;
20
- const fw = getFirmwareOrBootloaderVersionArray(features).join('.');
21
- const key = features.internal_model;
22
- const supported = coins.filter(info => {
23
- if (!info.support || info.support[key] === false) {
24
- const shortcut = info.shortcut.toLowerCase();
25
- const occurrences = coins.filter(coin => shortcut == coin.shortcut.toLowerCase());
26
- const allUnsupported = occurrences.every(info2 => !info2.support || info2.support[key] === false);
27
- if (allUnsupported) {
28
- list[shortcut] = 'no-support';
29
- }
30
- return false;
31
- }
32
- return true;
33
- });
34
- const unavailable = supported.filter(info => {
35
- if (info.type === 'bitcoin') {
36
- if (info.name === 'Bitcoin' || info.name === 'Testnet' || info.name === 'Regtest') {
37
- return !capabilities.includes('Capability_Bitcoin');
38
- }
39
- return !capabilities.includes('Capability_Bitcoin_like');
40
- }
41
- if (info.type === 'ethereum') {
42
- return !capabilities.includes('Capability_Ethereum');
43
- }
44
- if ((info.shortcut === 'TRX' || info.shortcut === 'tTRX') && info.type === 'misc') {
45
- return !capabilities.includes('Capability_Tron');
46
- }
47
- if (info.shortcut === 'ADA' || info.shortcut === 'tADA') {
48
- return !capabilities.includes('Capability_Cardano');
49
- }
50
- if (info.shortcut === 'XRP' || info.shortcut === 'tXRP') {
51
- return !capabilities.includes('Capability_Ripple');
52
- }
53
- if (info.shortcut === 'XLM' || info.shortcut === 'tXLM') {
54
- return !capabilities.includes('Capability_Stellar');
55
- }
56
- if (info.shortcut === 'SOL' || info.shortcut === 'DSOL') {
57
- return !capabilities.includes('Capability_Solana');
58
- }
59
- return !isArrayMember(`Capability_${info.name}`, capabilities);
60
- });
61
- unavailable.forEach(info => {
62
- list[info.shortcut.toLowerCase()] = 'no-capability';
63
- });
64
- supported.filter(info => !unavailable.includes(info)).forEach(info => {
65
- const supportVersion = info.support[key];
66
- if (typeof supportVersion === 'string' && versionUtils.isNewer(supportVersion, fw)) {
67
- list[info.shortcut.toLowerCase()] = 'update-required';
68
- unavailable.push(info);
69
- }
70
- });
71
- const isDebug = isDebugFirmware(features);
72
- config.supportedFirmware.forEach(s => {
73
- if (!s.capabilities) return;
74
- if (s.firmwareType && s.firmwareType === 'debug' !== isDebug) return;
75
- const min = s.min ? s.min[key] : null;
76
- const max = s.max ? s.max[key] : null;
77
- if (min && (min === '0' || versionUtils.isNewer(min, fw))) {
78
- const value = min === '0' ? 'no-support' : 'update-required';
79
- s.capabilities.forEach(m => {
80
- list[m] = value;
81
- });
82
- }
83
- if (max && !versionUtils.isNewerOrEqual(max, fw)) {
84
- s.capabilities.forEach(m => {
85
- list[m] = 'trezor-connect-outdated';
86
- });
87
- }
88
- });
89
- return list;
90
- };
91
- export const parseRevision = features => {
92
- const {
93
- revision
94
- } = features;
95
- if (!revision) return null;
96
- if (/^(?=.*[a-f])([a-f0-9]*)$/gi.test(revision)) return revision;
97
- const revisionUtf8 = Buffer.from(revision, 'hex').toString('utf-8');
98
- return /^([a-f0-9])*$/gi.test(revisionUtf8) ? revisionUtf8 : revision;
99
- };
100
- export const ensureInternalModelFeature = model => {
101
- switch (model.toUpperCase()) {
102
- case 'T':
103
- return DeviceModelInternal.T2T1;
104
- case '1':
105
- return DeviceModelInternal.T1B1;
106
- default:
107
- return DeviceModelInternal.UNKNOWN;
108
- }
109
- };
@@ -1,3 +0,0 @@
1
- export declare const getNetworkLabel: (label: string, network?: {
2
- name: string;
3
- }) => string;
@@ -1,7 +0,0 @@
1
- export const getNetworkLabel = (label, network) => {
2
- if (network) {
3
- const name = network.name.toLowerCase().includes('testnet') ? 'Testnet' : network.name;
4
- return label.replace('#NETWORK', name);
5
- }
6
- return label.replace('#NETWORK', '');
7
- };
@@ -1,19 +0,0 @@
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;
14
- }>;
15
- export declare const getOnlyLocalFirmwareReleaseConfig: () => {
16
- config: FirmwareReleaseConfig;
17
- isRemote: false;
18
- };
19
- export {};
@@ -1,131 +0,0 @@
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
- };
49
- const JWS_CONFIG = {
50
- SIGN_ALGORITHM: 'ES256',
51
- VERSION: 1,
52
- REMOTE_FILENAME: 'releases.v1.json',
53
- REQUEST_TIMEOUT_MS: 5000
54
- };
55
- const CONFIG_PATH_BY_CHANNEL = {
56
- production: 'config/',
57
- 'production-early-access': 'config-early-access/'
58
- };
59
- const fetchRemoteJws = async firmwareChannel => {
60
- const {
61
- BASE_URL,
62
- MIDDLE_PATH,
63
- firmwareChannel: resolvedChannel
64
- } = getOnlineFirmwareBaseUrl(firmwareChannel);
65
- const configPath = CONFIG_PATH_BY_CHANNEL[resolvedChannel] ?? '';
66
- const path = `${MIDDLE_PATH}/${configPath}${JWS_CONFIG.REMOTE_FILENAME}`;
67
- const remoteReleasesUrl = new URL(path, BASE_URL);
68
- try {
69
- const controller = new AbortController();
70
- const timeoutId = setTimeout(() => controller.abort('Request timed out'), JWS_CONFIG.REQUEST_TIMEOUT_MS);
71
- const response = await fetch(remoteReleasesUrl.toString(), {
72
- signal: controller.signal
73
- });
74
- clearTimeout(timeoutId);
75
- if (!response.ok) {
76
- throw new Error(`HTTP error! Status: ${response.status}`);
77
- }
78
- const data = await response.json();
79
- if (typeof data.jws !== 'string') {
80
- throw new Error('Invalid response format: "jws" property missing or not a string.');
81
- }
82
- return {
83
- jws: data.jws,
84
- firmwareChannel: resolvedChannel
85
- };
86
- } catch (error) {
87
- throw new Error(`Failed to fetch remote JWS: ${error instanceof Error ? error.message : String(error)}`);
88
- }
89
- };
90
- const verifyAndDecodeJws = (jws, publicKey) => {
91
- const decoded = decode(jws);
92
- if (!decoded?.payload || !decoded.header) {
93
- throw new Error('Invalid JWS structure.');
94
- }
95
- const parsedPayload = JSON.parse(decoded.payload);
96
- if (decoded.header.alg !== JWS_CONFIG.SIGN_ALGORITHM) {
97
- throw new Error('Invalid JWS algorithm');
98
- }
99
- if (parsedPayload.version !== JWS_CONFIG.VERSION) {
100
- throw new Error('Config version mismatch.');
101
- }
102
- if (!verify(jws, JWS_CONFIG.SIGN_ALGORITHM, publicKey)) {
103
- throw new Error('JWS signature is invalid.');
104
- }
105
- return parsedPayload;
106
- };
107
- export const getFirmwareReleaseConfig = async firmwareChannel => {
108
- try {
109
- const {
110
- jws,
111
- firmwareChannel: resolvedChannel
112
- } = await fetchRemoteJws(firmwareChannel);
113
- const useProductionKey = ['test-signed', 'production-early-access', 'production'].includes(resolvedChannel);
114
- const publicKey = getFirmwareReleaseJwsPublicKey(useProductionKey);
115
- const remoteConfig = verifyAndDecodeJws(jws, publicKey);
116
- if (remoteConfig.sequence > firmwareReleaseConfigAssets.sequence) {
117
- return {
118
- config: remoteConfig,
119
- isRemote: true
120
- };
121
- }
122
- } catch {}
123
- return {
124
- config: firmwareReleaseConfigAssets,
125
- isRemote: false
126
- };
127
- };
128
- export const getOnlyLocalFirmwareReleaseConfig = () => ({
129
- config: firmwareReleaseConfigAssets,
130
- isRemote: false
131
- });
@@ -1,15 +0,0 @@
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';
4
- export declare const isStrictFeatures: (extFeatures: Features) => extFeatures is StrictFeatures;
5
- type VersionCheckProperty = 'min_firmware_version' | 'min_bootloader_version';
6
- export declare const findBestCompatibleRelease: (availableFirmwares: FirmwareRelease[], currentVesion: CurrentVersion, checkProperty: VersionCheckProperty) => FirmwareRelease | undefined;
7
- export declare const buildLocalReleaseName: (firmwareType: FirmwareType, deviceModel: DeviceModelInternal, version: VersionArray) => string;
8
- export declare const buildLocalFirmwareFileName: (firmwareType: FirmwareType, deviceModel: DeviceModelInternal, version: VersionArray) => string;
9
- export declare const buildIntermediaryFirmwareFileName: (internalModel: DeviceModelInternal, version: number) => string;
10
- export declare const getFirmwareMode: (features: Features) => "normal" | "bootloader" | "initialize" | "seedless";
11
- export declare const isDebugFirmware: (features: Features) => boolean;
12
- export declare const getFirmwareType: (features: Features) => FirmwareType;
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 {};