@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,52 +1,13 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createTransportList = void 0;
7
- const transport_1 = require("@trezor/transport");
8
- const constants_1 = require("../constants");
9
- const tryGetTransport = (transports, name) => transports.find(t => t.name === name);
10
- const getOrCreateTransport = (transports, transportType, params) => {
11
- if (transportType === 'BridgeTransport') {
12
- const existing = transports.filter(t => t.name === transportType);
13
- return existing.length ? existing : [new transport_1.BridgeTransport({
14
- ...params,
15
- port: 21328
16
- }), new transport_1.BridgeTransport(params)];
1
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
+ import { isTransportInstance } from "@trezor/transport-common";
3
+ const reuseOrUse = (existing, candidate) => existing.find(t => t.name === candidate.name) ?? candidate;
4
+ const resolveOne = (existing, arg) => {
5
+ if (!isTransportInstance(arg)) {
6
+ throw ERRORS.TypedError('Runtime', `init({ transports }) entry is not a valid Transport instance`);
17
7
  }
18
- if (typeof transportType === 'string') {
19
- const existing = tryGetTransport(transports, transportType);
20
- if (existing) return existing;
21
- switch (transportType) {
22
- case 'WebUsbTransport':
23
- return new transport_1.WebUsbTransport(params);
24
- case 'NodeUsbTransport':
25
- return new transport_1.NodeUsbTransport(params);
26
- case 'UdpTransport':
27
- return new transport_1.UdpTransport(params);
28
- }
29
- } else if (typeof transportType === 'function' && 'prototype' in transportType) {
30
- const transportInstance = new transportType(params);
31
- if ((0, transport_1.isTransportInstance)(transportInstance)) {
32
- return tryGetTransport(transports, transportInstance.name) ?? transportInstance;
33
- }
34
- } else if ((0, transport_1.isTransportInstance)(transportType)) {
35
- const existing = tryGetTransport(transports, transportType.name);
36
- if (existing) {
37
- return existing;
38
- }
39
- if (!transportType.getMessage()) {
40
- transportType.updateMessages(params.messages);
41
- }
42
- return transportType;
43
- }
44
- throw constants_1.ERRORS.TypedError('Runtime', `DeviceList.init: transports[] of unexpected type: ${transportType}`);
45
- };
46
- const createTransports = (existing, transports = [], params) => {
47
- const transportTypes = transports?.length ? transports : ['BridgeTransport'];
48
- return transportTypes.flatMap(type => getOrCreateTransport(existing, type, params));
8
+ return reuseOrUse(existing, arg);
49
9
  };
50
- const createTransportList = params => (existing, transports) => createTransports(existing, transports, params);
51
- exports.createTransportList = createTransportList;
52
- //# sourceMappingURL=TransportList.js.map
10
+ export const createTransportList = (existing, transports) => {
11
+ if (!transports?.length) return [];
12
+ return transports.map(transport => resolveOne(existing, transport));
13
+ };
@@ -1,30 +1,33 @@
1
- import { TRANSPORT, Transport } from '@trezor/transport';
1
+ import { TRANSPORT, type Transport } from '@trezor/transport-common';
2
2
  import { TypedEmitter } from '@trezor/utils';
3
3
  type TransportManagerEvents = {
4
- [TRANSPORT.START]: Transport;
5
- [TRANSPORT.ERROR]: string;
4
+ [TRANSPORT.START]: Transport;
5
+ [TRANSPORT.ERROR]: string;
6
6
  };
7
7
  type StartTransport = (transport: Transport, pendingTransportEvent: boolean, signal: AbortSignal) => Promise<void>;
8
8
  type InitParams = {
9
- transports: Transport[];
10
- transportReconnect?: boolean;
11
- pendingTransportEvent?: boolean;
9
+ transports: Transport[];
10
+ transportReconnect?: boolean;
11
+ pendingTransportEvent?: boolean;
12
12
  };
13
13
  export declare class TransportManager extends TypedEmitter<TransportManagerEvents> {
14
- private lock;
15
- private transports;
16
- private activeTransport?;
17
- private transportReconnect;
18
- private upgradeTimeout?;
19
- private readonly startTransport;
20
- constructor(startTransport: StartTransport);
21
- pending(): Promise<void> | undefined;
22
- get(): Transport | undefined;
23
- init({ transports, transportReconnect, pendingTransportEvent }: InitParams): Promise<void>;
24
- dispose(): Promise<void>;
25
- private selectTransport;
26
- private scheduleUpgradeCheck;
27
- private createInitPromise;
14
+ private lock;
15
+ private transports;
16
+ private activeTransport?;
17
+ private transportReconnect;
18
+ private upgradeTimeout?;
19
+ private readonly startTransport;
20
+ constructor(startTransport: StartTransport);
21
+ pending(): Promise<void> | undefined;
22
+ get(): Transport | undefined;
23
+ init({
24
+ transports,
25
+ transportReconnect,
26
+ pendingTransportEvent
27
+ }: InitParams): Promise<void>;
28
+ dispose(): Promise<void>;
29
+ private selectTransport;
30
+ private scheduleUpgradeCheck;
31
+ private createInitPromise;
28
32
  }
29
- export {};
30
- //# sourceMappingURL=TransportManager.d.ts.map
33
+ export {};
@@ -1,11 +1,5 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TransportManager = void 0;
7
- const transport_1 = require("@trezor/transport");
8
- const utils_1 = require("@trezor/utils");
1
+ import { TRANSPORT } from "@trezor/transport-common";
2
+ import { TypedEmitter, resolveAfter } from "@trezor/utils";
9
3
  const createOverrideLock = () => {
10
4
  let promise;
11
5
  let sequence = 0;
@@ -32,7 +26,7 @@ const createOverrideLock = () => {
32
26
  getPending
33
27
  };
34
28
  };
35
- class TransportManager extends utils_1.TypedEmitter {
29
+ export class TransportManager extends TypedEmitter {
36
30
  lock = createOverrideLock();
37
31
  transports = [];
38
32
  activeTransport;
@@ -72,13 +66,15 @@ class TransportManager extends utils_1.TypedEmitter {
72
66
  return Promise.resolve();
73
67
  });
74
68
  }
75
- async selectTransport([transport, ...rest], signal) {
69
+ async selectTransport(transports, signal) {
76
70
  if (signal.aborted) throw new Error(signal.reason);
71
+ const transport = transports[0];
72
+ const rest = transports.slice(1);
77
73
  if (transport === this.activeTransport) return transport;
78
74
  const result = await transport.init({
79
75
  signal
80
76
  });
81
- if (result.success) return transport;else if (rest.length) return this.selectTransport(rest, signal);else throw new Error(result.error);
77
+ if (result.success) return transport;else if (rest.length) return this.selectTransport(rest, signal);else throw new Error(result.error.code);
82
78
  }
83
79
  scheduleUpgradeCheck(pendingTransportEvent) {
84
80
  clearTimeout(this.upgradeTimeout);
@@ -114,37 +110,35 @@ class TransportManager extends utils_1.TypedEmitter {
114
110
  transport.stop();
115
111
  throw err;
116
112
  }
117
- transport.on(transport_1.TRANSPORT.ERROR, error => {
118
- this.emit(transport_1.TRANSPORT.ERROR, error);
113
+ transport.on(TRANSPORT.ERROR, error => {
114
+ this.emit(TRANSPORT.ERROR, error);
119
115
  clearTimeout(this.upgradeTimeout);
120
116
  this.lock.override('Transport error', async signal => {
121
117
  delete this.activeTransport;
122
118
  transport.stop();
123
119
  if (this.transportReconnect) {
124
- await (0, utils_1.resolveAfter)(1000, signal);
120
+ await resolveAfter(1000, signal);
125
121
  await this.createInitPromise(pendingTransportEvent, signal);
126
122
  }
127
123
  }).catch(() => {});
128
124
  });
129
125
  this.activeTransport = transport;
130
- this.emit(transport_1.TRANSPORT.START, transport);
126
+ this.emit(TRANSPORT.START, transport);
131
127
  } else {
132
- this.emit(transport_1.TRANSPORT.ERROR, 'Transport disabled');
128
+ this.emit(TRANSPORT.ERROR, 'Transport disabled');
133
129
  }
134
130
  }
135
131
  if (transport && transport !== transports[0]) {
136
132
  this.scheduleUpgradeCheck(pendingTransportEvent);
137
133
  }
138
134
  } catch (error) {
139
- this.emit(transport_1.TRANSPORT.ERROR, error?.message);
135
+ this.emit(TRANSPORT.ERROR, error?.message);
140
136
  if (this.transportReconnect && !abortSignal.aborted) {
141
137
  this.lock.override('Reconnecting', async signal => {
142
- await (0, utils_1.resolveAfter)(1000, signal);
138
+ await resolveAfter(1000, signal);
143
139
  await this.createInitPromise(pendingTransportEvent, signal);
144
140
  }).catch(() => {});
145
141
  }
146
142
  }
147
143
  }
148
- }
149
- exports.TransportManager = TransportManager;
150
- //# sourceMappingURL=TransportManager.js.map
144
+ }
@@ -1,8 +1,10 @@
1
- import { VersionArray } from '@trezor/device-utils';
1
+ import type { VersionArray } from '@trezor/utils/lib/versionUtils';
2
2
  type calculateRevisionForDeviceParams = {
3
- commitRevision: string;
4
- version: VersionArray;
3
+ commitRevision: string;
4
+ version: VersionArray;
5
5
  };
6
- export declare const calculateRevisionForDevice: ({ commitRevision, version, }: calculateRevisionForDeviceParams) => string;
7
- export {};
8
- //# sourceMappingURL=calculateRevisionForDevice.d.ts.map
6
+ export declare const calculateRevisionForDevice: ({
7
+ commitRevision,
8
+ version
9
+ }: calculateRevisionForDeviceParams) => string;
10
+ export {};
@@ -1,27 +1,19 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.calculateRevisionForDevice = void 0;
7
- const versionUtils_1 = require("@trezor/utils/lib/versionUtils");
8
- const calculateRevisionForDevice = ({
1
+ import { isNewer } from "@trezor/utils/lib/versionUtils.js";
2
+ export const calculateRevisionForDevice = ({
9
3
  commitRevision,
10
4
  version
11
5
  }) => {
12
- if ((0, versionUtils_1.isNewer)(version, '2.4.0')) {
6
+ if (isNewer(version, '2.4.0')) {
13
7
  return commitRevision;
14
8
  }
15
- if ((0, versionUtils_1.isNewer)(version, '2.2.0')) {
9
+ if (isNewer(version, '2.2.0')) {
16
10
  return commitRevision.slice(0, 9);
17
11
  }
18
- if ((0, versionUtils_1.isNewer)(version, '2.1.8')) {
12
+ if (isNewer(version, '2.1.8')) {
19
13
  return commitRevision;
20
14
  }
21
- if ((0, versionUtils_1.isNewer)(version, '2.0.0')) {
15
+ if (isNewer(version, '2.0.0')) {
22
16
  return commitRevision.slice(0, 8);
23
17
  }
24
18
  return commitRevision;
25
- };
26
- exports.calculateRevisionForDevice = calculateRevisionForDevice;
27
- //# sourceMappingURL=calculateRevisionForDevice.js.map
19
+ };
@@ -1,12 +1,22 @@
1
- import type { FirmwareType, VersionArray } from '@trezor/device-utils';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import { FirmwareRevisionCheckResult } from '../types/device';
1
+ import type { FirmwareRevisionCheckResult } from '@trezor/connect-common/lib/types/device';
2
+ import type { FirmwareType } from '@trezor/device-utils';
3
+ import type { MessagesSchema as PROTO } from '@trezor/protobuf';
4
+ import type { VersionArray } from '@trezor/utils/lib/versionUtils';
4
5
  export type CheckFirmwareRevisionParams = {
5
- firmwareVersion: VersionArray;
6
- internalModel: PROTO.DeviceModelInternal;
7
- deviceRevision: string | null;
8
- expectedRevision: string | undefined;
9
- firmwareType: FirmwareType;
6
+ firmwareVersion: VersionArray;
7
+ internalModel: PROTO.DeviceModelInternal;
8
+ deviceRevision?: string | null;
9
+ expectedRevision: string | undefined;
10
+ deviceBootloaderHash?: string | null;
11
+ expectedBootloaderHash: string | undefined;
12
+ firmwareType: FirmwareType;
10
13
  };
11
- export declare const checkFirmwareRevision: ({ firmwareVersion, internalModel, deviceRevision, expectedRevision, firmwareType, }: CheckFirmwareRevisionParams) => Promise<FirmwareRevisionCheckResult>;
12
- //# sourceMappingURL=checkFirmwareRevision.d.ts.map
14
+ export declare const checkFirmwareRevision: ({
15
+ firmwareVersion,
16
+ internalModel,
17
+ deviceRevision,
18
+ expectedRevision,
19
+ deviceBootloaderHash,
20
+ expectedBootloaderHash,
21
+ firmwareType
22
+ }: CheckFirmwareRevisionParams) => Promise<FirmwareRevisionCheckResult>;
@@ -1,20 +1,34 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.checkFirmwareRevision = void 0;
7
- const utils_1 = require("@trezor/utils");
8
- const calculateRevisionForDevice_1 = require("./calculateRevisionForDevice");
9
- const firmwareInfo_1 = require("../data/firmwareInfo");
10
- const assetUtils_1 = require("../utils/assetUtils");
11
- const isNotFoundError = e => e instanceof assetUtils_1.HttpRequestError && e.response.status === 404;
12
- const isNodeJSOfflineError = e => ['FetchError', 'AbortError'].includes(e.name);
1
+ import { serializeError, versionUtils } from "@trezor/utils";
2
+ import { calculateRevisionForDevice } from "./calculateRevisionForDevice.js";
3
+ import { getOnlineReleaseByVersion } from "../data/firmwareInfo.js";
4
+ import { HttpRequestError } from "../utils/assetUtils.js";
5
+ const isNotFoundError = e => e instanceof HttpRequestError && e.response.status === 404;
6
+ const NODEJS_NETWORK_ERROR_CODES = ['ENOTFOUND', 'ECONNREFUSED', 'ECONNRESET', 'EAI_AGAIN', 'ENETUNREACH', 'EHOSTUNREACH', 'ETIMEDOUT'];
7
+ const getNodeJSErrorCode = e => {
8
+ if (typeof e !== 'object' || e === null) {
9
+ return undefined;
10
+ }
11
+ if ('code' in e && typeof e.code === 'string') {
12
+ return e.code;
13
+ }
14
+ if ('cause' in e) {
15
+ return getNodeJSErrorCode(e.cause);
16
+ }
17
+ return undefined;
18
+ };
19
+ const isNodeJSOfflineError = e => {
20
+ if (e instanceof TypeError && e.message.includes('fetch failed')) {
21
+ return true;
22
+ }
23
+ const code = getNodeJSErrorCode(e);
24
+ return code !== undefined && NODEJS_NETWORK_ERROR_CODES.includes(code);
25
+ };
13
26
  const isReactNativeOfflineError = e => e.name === 'TypeError' && e.message.includes('Network request failed');
27
+ const isBrowserOfflineError = e => e instanceof TypeError && e.message.includes('Failed to fetch');
14
28
  const isAbortControllerTimeout = e => e.message.includes('Aborted') || e.name === 'AbortError' || e.name === 'TimeoutError' && e.message.includes('signal timed out');
15
29
  const isOfflineError = e => {
16
30
  if (!(e instanceof Error)) return false;
17
- return isNodeJSOfflineError(e) || isReactNativeOfflineError(e) || isAbortControllerTimeout(e);
31
+ return isNodeJSOfflineError(e) || isReactNativeOfflineError(e) || isBrowserOfflineError(e) || isAbortControllerTimeout(e);
18
32
  };
19
33
  const failFirmwareRevisionCheck = (error, errorPayload) => ({
20
34
  success: false,
@@ -28,31 +42,40 @@ const doRevisionsMatch = ({
28
42
  expectedCommitRevision,
29
43
  firmwareVersion
30
44
  }) => {
31
- if (deviceRevision === null) {
45
+ if (!deviceRevision) {
32
46
  return false;
33
47
  }
34
- const adjustedExpected = (0, calculateRevisionForDevice_1.calculateRevisionForDevice)({
48
+ const adjustedExpected = calculateRevisionForDevice({
35
49
  commitRevision: expectedCommitRevision,
36
50
  version: firmwareVersion
37
51
  });
38
52
  return adjustedExpected === deviceRevision;
39
53
  };
40
- const checkFirmwareRevision = async ({
54
+ export const checkFirmwareRevision = async ({
41
55
  firmwareVersion,
42
56
  internalModel,
43
57
  deviceRevision,
44
58
  expectedRevision,
59
+ deviceBootloaderHash,
60
+ expectedBootloaderHash,
45
61
  firmwareType
46
62
  }) => {
63
+ if (expectedBootloaderHash && deviceBootloaderHash !== expectedBootloaderHash) {
64
+ return failFirmwareRevisionCheck('bootloader-hash-mismatch');
65
+ }
47
66
  if (expectedRevision === undefined) {
48
- if (!utils_1.versionUtils.isVersionArray(firmwareVersion)) {
67
+ if (!versionUtils.isVersionArray(firmwareVersion)) {
49
68
  return failFirmwareRevisionCheck('firmware-version-unknown');
50
69
  }
51
70
  try {
52
- const onlineRelease = await (0, firmwareInfo_1.getOnlineReleaseByVersion)(internalModel, firmwareVersion, firmwareType);
71
+ const onlineRelease = await getOnlineReleaseByVersion(internalModel, firmwareVersion, firmwareType);
53
72
  if (onlineRelease?.firmware_revision === undefined) {
54
73
  return failFirmwareRevisionCheck('firmware-version-unknown');
55
74
  }
75
+ const expectedOnlineBootloaderHash = onlineRelease.bootloader_hash;
76
+ if (expectedOnlineBootloaderHash && deviceBootloaderHash !== expectedOnlineBootloaderHash) {
77
+ return failFirmwareRevisionCheck('bootloader-hash-mismatch');
78
+ }
56
79
  if (!doRevisionsMatch({
57
80
  deviceRevision,
58
81
  expectedCommitRevision: onlineRelease.firmware_revision,
@@ -65,7 +88,7 @@ const checkFirmwareRevision = async ({
65
88
  };
66
89
  } catch (e) {
67
90
  if (isNotFoundError(e)) return failFirmwareRevisionCheck('firmware-version-unknown');
68
- return isOfflineError(e) ? failFirmwareRevisionCheck('cannot-perform-check-offline') : failFirmwareRevisionCheck('other-error', (0, utils_1.serializeError)(e));
91
+ return isOfflineError(e) ? failFirmwareRevisionCheck('cannot-perform-check-offline') : failFirmwareRevisionCheck('other-error', serializeError(e));
69
92
  }
70
93
  }
71
94
  if (!doRevisionsMatch({
@@ -78,6 +101,4 @@ const checkFirmwareRevision = async ({
78
101
  return {
79
102
  success: true
80
103
  };
81
- };
82
- exports.checkFirmwareRevision = checkFirmwareRevision;
83
- //# sourceMappingURL=checkFirmwareRevision.js.map
104
+ };
@@ -1,15 +1,17 @@
1
- import { MessagesSchema as Messages } from '@trezor/protobuf';
2
- import { HDNodeResponse } from '../types/api/getPublicKey';
1
+ import type { HDNodeResponse } from '@trezor/connect-common/lib/types/api/account/getPublicKey';
2
+ import type { MessagesSchema as Messages } from '@trezor/protobuf';
3
3
  interface ResolveDescriptorForTaprootParams {
4
- response: HDNodeResponse;
5
- publicKey: Messages.PublicKey;
4
+ response: HDNodeResponse;
5
+ publicKey: Messages.PublicKey;
6
6
  }
7
- export declare const resolveDescriptorForTaproot: ({ response, publicKey, }: ResolveDescriptorForTaprootParams) => {
8
- xpub: string;
9
- checksum: string;
7
+ export declare const resolveDescriptorForTaproot: ({
8
+ response,
9
+ publicKey
10
+ }: ResolveDescriptorForTaprootParams) => {
11
+ xpub: string;
12
+ checksum: string;
10
13
  } | {
11
- xpub: string;
12
- checksum: undefined;
14
+ xpub: string;
15
+ checksum: undefined;
13
16
  };
14
- export {};
15
- //# sourceMappingURL=resolveDescriptorForTaproot.d.ts.map
17
+ export {};
@@ -1,21 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.resolveDescriptorForTaproot = void 0;
7
- const utils_1 = require("@trezor/utils");
8
- const resolveDescriptorForTaproot = ({
1
+ import { convertTaprootXpub, isNotNull, isNotNullOrUndefined } from "@trezor/utils";
2
+ export const resolveDescriptorForTaproot = ({
9
3
  response,
10
4
  publicKey
11
5
  }) => {
12
- if (publicKey.descriptor !== null && publicKey.descriptor !== undefined) {
13
- const [xpub, checksum] = publicKey.descriptor.split('#');
14
- const correctedXpub = (0, utils_1.convertTaprootXpub)({
6
+ if (isNotNullOrUndefined(publicKey.descriptor)) {
7
+ const splittedDescriptor = publicKey.descriptor.split('#');
8
+ const xpub = splittedDescriptor[0];
9
+ const checksum = splittedDescriptor[1];
10
+ const correctedXpub = convertTaprootXpub({
15
11
  xpub,
16
12
  direction: 'h-to-apostrophe'
17
13
  });
18
- if (correctedXpub !== null) {
14
+ if (isNotNull(correctedXpub)) {
19
15
  return {
20
16
  xpub: correctedXpub,
21
17
  checksum
@@ -28,6 +24,4 @@ const resolveDescriptorForTaproot = ({
28
24
  xpub: `tr([${descriptorPath}]${response.xpub}/<0;1>/*)`,
29
25
  checksum: undefined
30
26
  };
31
- };
32
- exports.resolveDescriptorForTaproot = resolveDescriptorForTaproot;
33
- //# sourceMappingURL=resolveDescriptorForTaproot.js.map
27
+ };
@@ -1,4 +1,3 @@
1
- import type { Device } from '../Device';
2
- export declare const createThpChannel: (device: Device) => Promise<void>;
3
- export declare const thpHandshake: (device: Device, unlockPin?: boolean) => Promise<void>;
4
- //# sourceMappingURL=handshake.d.ts.map
1
+ import type { IDevice } from "../../types/idevice.js";
2
+ export declare const createThpChannel: (device: IDevice) => Promise<void>;
3
+ export declare const thpHandshake: (device: IDevice, unlockPin?: boolean) => Promise<void>;
@@ -1,28 +1,22 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.thpHandshake = exports.createThpChannel = void 0;
7
- const crypto_1 = require("crypto");
8
- const protobuf_1 = require("@trezor/protobuf");
9
- const protocol_1 = require("@trezor/protocol");
10
- const thpCall_1 = require("./thpCall");
11
- const constants_1 = require("../../constants");
12
- const DataManager_1 = require("../../data/DataManager");
1
+ import { randomBytes } from "@noble/hashes/utils.js";
2
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
+ import { protobufManager } from "@trezor/protobuf";
4
+ import { thp as protocolThp } from "@trezor/protocol";
5
+ import { thpCall } from "./thpCall.js";
6
+ import * as settingsStore from "../../data/settingsStore.js";
13
7
  const getPairingMethods = (deviceMethods, settingsMethods) => deviceMethods?.flatMap(dm => {
14
- const value = protocol_1.thp.getThpPairingMethod(dm);
15
- const isRequested = settingsMethods && settingsMethods.find(sm => value === protocol_1.thp.getThpPairingMethod(sm));
8
+ const value = protocolThp.getThpPairingMethod(dm);
9
+ const isRequested = settingsMethods?.find(sm => value === protocolThp.getThpPairingMethod(sm));
16
10
  return isRequested ? value : [];
17
11
  });
18
- const createThpChannel = async device => {
12
+ export const createThpChannel = async device => {
19
13
  const thpState = device.getThpState();
20
14
  if (!thpState) {
21
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
15
+ throw ERRORS.TypedError('Device_ThpStateMissing');
22
16
  }
23
- thpState.setChannel(protocol_1.thp.constants.THP_DEFAULT_CHANNEL);
24
- const nonce = (0, crypto_1.randomBytes)(8);
25
- const createChannel = await (0, thpCall_1.thpCall)(device, 'ThpCreateChannelRequest', {
17
+ thpState.setChannel(protocolThp.constants.THP_DEFAULT_CHANNEL);
18
+ const nonce = Buffer.from(randomBytes(8));
19
+ const createChannel = await thpCall(device, 'ThpCreateChannelRequest', {
26
20
  nonce
27
21
  });
28
22
  const {
@@ -32,10 +26,10 @@ const createThpChannel = async device => {
32
26
  if (nonce.compare(resp.nonce) !== 0) {
33
27
  throw new Error('Nonce not meet' + nonce.toString('hex') + ' ' + resp.nonce.toString('hex'));
34
28
  }
35
- const settings = DataManager_1.DataManager.getSettings('thp');
29
+ const settings = settingsStore.get('thp');
36
30
  const pairingMethods = getPairingMethods(properties.pairing_methods, settings?.pairingMethods);
37
31
  if (!pairingMethods?.length) {
38
- throw constants_1.ERRORS.TypedError('Device_ThpPairingMethodsException');
32
+ throw ERRORS.TypedError('Device_ThpPairingMethodsException');
39
33
  }
40
34
  thpState.setThpProperties(properties);
41
35
  thpState.setChannel(resp.channel);
@@ -44,33 +38,29 @@ const createThpChannel = async device => {
44
38
  handshakeHash: resp.handshakeHash
45
39
  });
46
40
  };
47
- exports.createThpChannel = createThpChannel;
48
- const thpHandshake = async (device, unlockPin = false) => {
41
+ export const thpHandshake = async (device, unlockPin = false) => {
49
42
  const thpState = device.getThpState();
50
43
  if (!thpState?.handshakeCredentials) {
51
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
44
+ throw ERRORS.TypedError('Device_ThpStateMissing');
52
45
  }
53
- const settings = DataManager_1.DataManager.getSettings('thp');
54
- const staticKey = settings?.staticKey ? Buffer.from(settings.staticKey, 'hex') : (0, crypto_1.randomBytes)(32);
55
- const hostStaticKeys = protocol_1.thp.getCurve25519KeyPair(staticKey);
46
+ const settings = settingsStore.get('thp');
56
47
  const knownCredentials = (settings?.knownCredentials || []).sort(cre => cre.autoconnect ? -1 : 1);
57
48
  const tryToUnlock = unlockPin ? 1 : 0;
58
- const hostEphemeralKeys = protocol_1.thp.getCurve25519KeyPair((0, crypto_1.randomBytes)(32));
59
- const handshakeInit = await (0, thpCall_1.thpCall)(device, 'ThpHandshakeInitRequest', {
49
+ const hostEphemeralKeys = protocolThp.getCurve25519KeyPair(Buffer.from(randomBytes(32)));
50
+ const handshakeInit = await thpCall(device, 'ThpHandshakeInitRequest', {
60
51
  key: hostEphemeralKeys.publicKey,
61
52
  tryToUnlock
62
53
  });
63
54
  const {
64
55
  trezorEncryptedStaticPubkey
65
56
  } = handshakeInit.message;
66
- const handshakeCredentials = protocol_1.thp.handleHandshakeInit({
57
+ const handshakeCredentials = protocolThp.handleHandshakeInit({
67
58
  handshakeInitResponse: handshakeInit.message,
68
59
  thpState,
69
- hostStaticKeys,
70
60
  hostEphemeralKeys,
71
61
  knownCredentials,
72
62
  tryToUnlock,
73
- protobufEncoder: (name, data) => (0, protobuf_1.encodeMessage)(device.transport.getMessages(), name, data)
63
+ protobufEncoder: (name, data) => protobufManager.encode(name, data)
74
64
  });
75
65
  const {
76
66
  hostKey,
@@ -83,11 +73,11 @@ const thpHandshake = async (device, unlockPin = false) => {
83
73
  handshakeHash: handshakeCredentials.handshakeHash,
84
74
  trezorKey,
85
75
  hostKey,
86
- staticKey,
87
- hostStaticPublicKey: hostStaticKeys.publicKey
76
+ staticKey: handshakeCredentials.staticKey,
77
+ hostStaticPublicKey: handshakeCredentials.hostStaticKeys.publicKey
88
78
  });
89
79
  thpState.setPairingCredentials(handshakeCredentials.allCredentials);
90
- const handshakeCompletion = await (0, thpCall_1.thpCall)(device, 'ThpHandshakeCompletionRequest', {
80
+ const handshakeCompletion = await thpCall(device, 'ThpHandshakeCompletionRequest', {
91
81
  hostPubkey: hostEncryptedStaticPubkey,
92
82
  encryptedPayload: handshakeCredentials.encryptedPayload
93
83
  });
@@ -104,9 +94,7 @@ const thpHandshake = async (device, unlockPin = false) => {
104
94
  thpState.setIsPaired(handshakeCompletion.message.state !== 0);
105
95
  thpState.setPhase('pairing');
106
96
  if (thpState.isAutoconnectPaired || handshakeCompletion.message.state === 2) {
107
- await (0, thpCall_1.thpCall)(device, 'ThpEndRequest', {});
97
+ await thpCall(device, 'ThpEndRequest', {});
108
98
  thpState.setPhase('paired');
109
99
  }
110
- };
111
- exports.thpHandshake = thpHandshake;
112
- //# sourceMappingURL=handshake.js.map
100
+ };
@@ -1,6 +1,5 @@
1
- import type { Device } from '../Device';
2
- export { abortThpWorkflow } from './thpCall';
3
- export { getThpCredentials } from './pairing';
4
- export { createThpSession } from './session';
5
- export declare const getThpChannel: (device: Device, withInteraction?: boolean) => Promise<"pin-locked" | "thp-locked" | undefined>;
6
- //# sourceMappingURL=index.d.ts.map
1
+ import type { IDevice } from "../../types/idevice.js";
2
+ export { abortThpWorkflow } from "./thpCall.js";
3
+ export { getThpCredentials } from "./pairing.js";
4
+ export { createThpSession } from "./session.js";
5
+ export declare const getThpChannel: (device: IDevice, withInteraction?: boolean) => Promise<"pin-locked" | "thp-locked" | undefined>;